Što je dvofaktorska autentifikacija? Vodič običnim jezikom
Dvofaktorska autentifikacija (2FA) je prijava koja traži dvije različite vrste dokaza da ste onaj za koga se predstavljate — obično nešto što znate, poput lozinke, i nešto što imate, poput telefona ili sigurnosnog ključa. Ako kriminalac ukrade ili pogodi vašu lozinku, bez drugog faktora i dalje ne može ući. Jedan je od najjednostavnijih načina zaštite računa koji su važni.
Zašto je to važno kad gradite uz AI
Kad od AI graditelja zatražite „prijavu“, obično dobijete e-poštu i lozinku. To je dobar početak, ali lozinke se ponavljaju, kradu putem phishinga i procure. Ako vaša aplikacija čuva nešto vrijedno — podatke kupaca, račune, administratorske kontrole, postavke plaćanja — jedna ukradena lozinka mogla bi sve to izložiti.
2FA utječe i na odluke na koje možda isprva ne mislite:
- Tko mora koristiti. Opcionalno za sve, obavezno za administratore ili obavezno za sve?
- Koje metode podržavate. Kodovi iz aplikacije, tekstualne poruke, pristupni ključevi, sigurnosni ključevi.
- Što se događa kad je netko zaključan. Izgubljeni telefoni najčešći su zahtjev za podršku za svaku aplikaciju s 2FA.
- Gdje se provodi. Provjera mora biti na poslužitelju. Zaslon za 2FA koji samo skriva stranicu u pregledniku može se zaobići.
Ne morate sami graditi kriptografiju — dobro testirane biblioteke i pružatelji autentifikacije to rade. Ali morate znati što tražiti.
Svakodnevna usporedba
Zamislite sef u banci. Da biste ga otvorili, trebate osobnu iskaznicu (nešto što banka provjerava da jeste ili znate) i fizički ključ (nešto što imate). Lopov koji je iskopirao vaš potpis i dalje nema ključ. Lopov koji je ukrao ključ i dalje ne prolazi provjeru identiteta.
2FA radi isto. Lozinka je potpis; telefon ili sigurnosni ključ je fizički ključ. Svaki sam po sebi nije dovoljan.
Tri vrste faktora
Sigurnosni standardi, poput smjernica američkog Nacionalnog instituta za standarde i tehnologiju (NIST) za digitalni identitet, grupiraju faktore u tri vrste:
| Faktor | Primjeri |
|---|---|
| Nešto što znate | Lozinka, PIN |
| Nešto što imate | Telefon s aplikacijom za autentifikaciju, sigurnosni ključ, uređaj s pristupnim ključem |
| Nešto što jeste | Otisak prsta, lice — obično se koristi za otključavanje uređaja koji zatim obavlja pravu provjeru |
Ključna riječ je različiti. Lozinka plus sigurnosno pitanje su dvije stvari koje znate, pa to nije prava dvofaktorska autentifikacija. Ako jedno curenje može otkriti oboje, računa se kao jedan faktor.
Uobičajene 2FA metode u usporedbi
| Metoda | Kako radi | Snaga | Napomene |
|---|---|---|---|
| SMS kod | Kod se šalje tekstualnom porukom na vaš broj | Najslabija | Ranjiva na zamjenu SIM kartice i phishing, ali mnogo bolja od bez 2FA |
| Kod e-poštom | Kod vam se šalje e-poštom | Slaba | Sigurna onoliko koliko i e-pošta račun |
| Aplikacija za autentifikaciju (TOTP) | Aplikacija poput Google Authenticatora generira novi šesteroznamenkasti kod, obično svakih 30 sekundi | Dobra | Radi bez interneta; i dalje se može phishati ako lažna stranica traži kod |
| Odobrenje putem obavijesti | Aplikacija pita „Jeste li to vi?“ i vi dodirnete odobri | Dobra | Pazite na „umor od odobravanja“, kad korisnici kliknu da bi prestali s ponovljenim upitima |
| Pristupni ili sigurnosni ključ | Kriptografski ključ na uređaju dokazuje da ste na pravoj stranici | Najjača | Otporan na phishing jer ne reagira na lažnu domenu sličnog naziva |
NIST-ove smjernice tretiraju metode u kojima upisujete kod (SMS, e-pošta, aplikacije za autentifikaciju) kao nisu otporne na phishing, a slanje kodova preko telefonske mreže označavaju kao „ograničeno“. Pristupni ključevi i hardverski sigurnosni ključevi, utemeljeni na WebAuthn/FIDO2 standardima, oni su koje smatraju otpornima na phishing.
Praktična poruka: aplikacija za autentifikaciju je jaka, jednostavna zadana opcija za većinu aplikacija, a pristupne ključeve vrijedi ponuditi ako su vaši korisnici s njima upoznati.
Radni primjer: 2FA za klijentski portal
Recimo da ste izgradili portal na kojem mali računovodstveni ured dijeli porezne dokumente s klijentima. Evo kako izgleda razumno postavljen 2FA, korak po korak.
Uključivanje (registracija). Priya, klijentica, otvara Postavke i klikne „Uključi dvofaktorsku autentifikaciju“. Aplikacija generira tajni ključ i prikazuje ga kao QR kod. Ona ga skenira svojom aplikacijom za autentifikaciju, koja počinje prikazivati šesteroznamenkaste kodove. Ona upisuje trenutni kod natrag u portal da dokaže da je postavka uspjela. Aplikacija prikazuje deset kodova za oporavak i traži da ih spremi na sigurno mjesto.
Prijava nakon toga.
- Priya upisuje e-poštu i lozinku. Poslužitelj ih provjerava.
- Umjesto da je odmah prijavi, poslužitelj označava sesiju kao „lozinka u redu, drugi faktor na čekanju“ i prikazuje zaslon za kod.
- Ona upisuje kod iz aplikacije. Poslužitelj ga provjerava prema pohranjenom tajnom ključu, uz malu toleranciju na odstupanje sata.
- Tek tada poslužitelj stvara punu sesiju i dopušta joj da vidi dokumente.
Što vidi napadač. Ako je Priyina lozinka procurila s druge stranice, napadač zapinje na koraku 3. Svaki neuspjeli pokušaj koda se bilježi, a nakon nekoliko pogrešnih pokušaja račun se privremeno zaključava i Priya dobije e-poruku.
Gubitak telefona. Priya se prijavljuje jednim od kodova za oporavak, isključuje i ponovno uključuje 2FA s novim telefonom te dobije nove kodove za oporavak. Iskorišteni kod se nikad više ne može upotrijebiti.
Za zaposlenike. Računovođe tvrtke vide sve datoteke svakog klijenta, pa portal zahtijeva 2FA za zaposlene račune; ne mogu doći do nadzorne ploče dok se ne registriraju.
Uobičajeni pojmovi objašnjeni
| Pojam | Značenje |
|---|---|
| 2FA / MFA | Dvofaktorska / višefaktorska autentifikacija: prijava s više od jedne vrste dokaza. |
| Faktor | Jedna vrsta dokaza: nešto što znate, imate ili jeste. |
| TOTP | Jednokratna lozinka temeljena na vremenu — rotirajući kodovi u aplikacijama za autentifikaciju. |
| Zajednički tajni ključ | Skrivena vrijednost, postavljena putem QR koda, koju i aplikacija i vaš telefon koriste za generiranje podudarnih kodova. |
| Kodovi za oporavak (rezervni) | Jednokratni kodovi za ulazak kad ste izgubili drugi faktor. |
| Pristupni ključ (passkey) | Vjerodajnica za prijavu pohranjena na vašem uređaju koja koristi kriptografiju javnog ključa umjesto lozinke. |
| Sigurnosni ključ | Mali fizički uređaj (USB ili NFC) koji obavlja isti posao kao pristupni ključ. |
| Zamjena SIM kartice | Prevara kojom se mobilnog operatera navodi da prebaci nečiji broj na novu SIM karticu, pa poruke idu napadaču. |
| Phishing | Lažna stranica ili poruka koja ljude navodi da predaju lozinke ili kodove. |
| Autentifikacija pojačane razine | Ponovno traženje drugog faktora prije osjetljive radnje, poput promjene podataka za isplatu. |
Uobičajene greške i zablude
- „2FA čini račun nehakabilnim.“ Čini ga mnogo težim za upad. Lažne stranice i dalje mogu u stvarnom vremenu uhvatiti upisane kodove, zato postoje pristupni ključevi.
- Provjera koda samo u pregledniku. Ako poslužitelj nakon lozinke izda punu sesiju, zaslon za kod je dekoracija. Poslužitelj mora odbiti pristup dok drugi faktor ne prođe.
- Nema ograničenja pokušaja pogađanja koda. Šesteroznamenkasti kod ima milijun mogućnosti. Bez ograničavanja broja zahtjeva i zaključavanja, napadač može jednostavno nastaviti pogađati.
- Zaboravljen oporavak. Bez kodova za oporavak svaki izgubljeni telefon postaje zahtjev za podršku ili zaključan kupac.
- Nepažljivo pohranjivanje TOTP tajnog ključa. Zajednički tajni ključ treba biti šifriran u bazi podataka i nikad se ne smije ponovno prikazati nakon postavljanja.
- Dopuštanje korisnicima da isključe 2FA bez ponovne provjere. Isključivanje 2FA ili promjena e-pošte računa treba zahtijevati lozinku i trenutni kod.
- Lozinka plus sigurnosno pitanje računa se kao 2FA. Ne računa se — oboje su stvari koje znate.
Što tražiti od AI graditelja
- „Dodaj opcionalnu dvofaktorsku autentifikaciju pomoću aplikacije za autentifikaciju (TOTP), s QR kodom za postavljanje i potvrdnim kodom prije uključivanja.“
- „Kad je 2FA uključen, prikaži deset jednokratnih kodova za oporavak. Pohrani ih hashirane, kao lozinke.“
- „Provedi 2FA na poslužitelju: nema pune sesije dok drugi faktor ne prođe.“
- „Ograniči pokušaje unosa koda i zaključaj prijavu na 15 minuta nakon ponovljenih neuspjeha. U tom slučaju pošalji korisniku e-poruku.“
- „Zahtijevaj 2FA za administratorske račune.“
- „Prije isključivanja 2FA ili promjene e-pošte računa traži lozinku i trenutni kod.“
- „Koristi poznatu biblioteku ili ugrađeni 2FA našeg pružatelja autentifikacije — nemoj sam pisati kriptografiju.“
- „Objasni koju metodu si koristio i gdje se tajni ključevi pohranjuju.“
Ako koristite hostirani pružatelj autentifikacije, provjerite nudi li već 2FA ili pristupne ključeve; uključivanje ugrađene značajke obično je sigurnije od prilagođenog koda. Verziju korak po korak nalazite u kako dodati dvofaktorsku autentifikaciju, a što je autentifikacija pokriva osnove prijave ispod toga.
Dvofaktorska autentifikacija u Mythexu
Mythex ne uključuje ugrađeni sustav prijave za korisnike vaše aplikacije, pa je 2FA dio pristupa autentifikaciji koji odaberete — vlastite prijave e-poštom i lozinkom uz bazu podataka projekta ili hostirani pružatelj koji nudi 2FA. U chatu zatražite od agenta da ga doda, a ključevi pružatelja idu u tajne projekta, a ne u sam chat. Recept u dokumentaciji o dodavanju prijave u aplikaciju ima početni upit koji možete prilagoditi, a sigurnost za aplikacije koje gradite pokriva navike oko ključeva. Prije objave prođite sigurnosnu kontrolnu listu za aplikacije izgrađene uz AI.
Pitanja
Što je dvofaktorska autentifikacija jednostavnim riječima?
Dvofaktorska autentifikacija (2FA) znači da prijava traži dvije različite vrste dokaza, obično vašu lozinku i kod s telefona ili sigurnosni ključ. Tko ukrade samo vašu lozinku i dalje ne može ući.
Je li 2FA isto što i MFA?
Gotovo. Višefaktorska autentifikacija (MFA) znači dva ili više faktora; dvofaktorska je najčešći slučaj s točno dva. U svakodnevnoj uporabi pojmovi se koriste zamjenjivo.
Je li SMS dvofaktorska autentifikacija sigurna?
Puno je bolja od same lozinke, ali je najslabija uobičajena opcija. Tekstualne poruke mogu se presresti ili preusmjeriti zamjenom SIM kartice (SIM swapping), a lažna stranica za prijavu može prevariti ljude da upišu kod. Aplikacije za autentifikaciju su jače, a pristupni ili sigurnosni ključevi još jači.
Treba li moja aplikacija dvofaktorsku autentifikaciju?
Ako računi čuvaju novac, privatne podatke ili administratorske ovlasti nad drugim korisnicima, ponuditi 2FA je dobra ideja, a traženje za administratore je uobičajeno. Za jednostavnu hobi aplikaciju može biti opcionalna ili ostavljena za kasnije.
Što se događa ako korisnik izgubi telefon?
Za to služe kodovi za oporavak: kratak popis jednokratnih rezervnih kodova koji se prikažu kad se 2FA uključi. Bez njih oporavak obično znači ručnu provjeru identiteta od strane vlasnika aplikacije, pa to isplanirajte prije objave.