Šta je dvofaktorska autentifikacija? Vodič običnim jezikom
Dvofaktorska autentifikacija (2FA) je prijava koja traži dve različite vrste dokaza da ste ono što tvrdite — obično nešto što znate, poput lozinke, plus nešto što imate, poput telefona ili bezbednosnog ključa. Ako kriminalac ukrade ili pogodi vašu lozinku, i dalje ne može da uđe bez drugog faktora. To je jedan od najjednostavnijih načina da zaštitite naloge koji su važni.
Zašto je to važno kada pravite uz AI
Kada od AI alata zatražite „prijavu“, obično dobijete e-mail i lozinku. To je dobar početak, ali se lozinke ponovo koriste, izvlače i kradu. Ako vaša aplikacija čuva nešto vredno — podatke klijenata, fakture, administratorske kontrole, podešavanja plaćanja — jedna ukradena lozinka mogla bi da otkrije sve.
2FA utiče i na odluke na koje možda u početku ne mislite:
- Ko mora da ga koristi. Opciono za sve, obavezno za administratore ili obavezno za sve?
- Koje metode podržavate. Kodovi iz aplikacije, tekstualne poruke, passkey-evi, bezbednosni ključevi.
- Šta se dešava kada je neko zaključan napolju. Izgubljeni telefoni su najčešći zahtev za podršku za svaku aplikaciju sa 2FA.
- Gde se nameće. Provera mora da se odvija na serveru. Ekran za 2FA koji samo skriva stranicu u browseru može da se zaobiđe.
Ne morate sami da pravite kriptografiju — dobro testirane biblioteke i provajderi autentifikacije to rade. Ali morate znati šta da tražite.
Svakodnevna analogija
Zamislite bankarski sef. Da biste ga otvorili, potrebni su vam lična karta (nešto što bankar proverava da jeste ili znate) i fizički ključ (nešto što imate). Lopov koji iskopira vaš potpis i dalje nema ključ. Lopov koji ukrade ključ i dalje ne može da prođe proveru identiteta.
2FA radi na isti način. Lozinka je potpis; telefon ili bezbednosni ključ je fizički ključ. Svaki sam po sebi nije dovoljan.
Tri vrste faktora
Bezbednosni standardi, poput smernica o digitalnom identitetu američkog Nacionalnog instituta za standarde i tehnologiju (NIST), grupišu faktore u tri vrste:
| Faktor | Primeri |
|---|---|
| Nešto što znate | Lozinka, PIN |
| Nešto što imate | Telefon sa aplikacijom za autentifikaciju, bezbednosni ključ, uređaj koji čuva passkey |
| Nešto što jeste | Otisak prsta, lice — obično se koristi za otključavanje uređaja koji zatim obavlja pravu proveru |
Ključna reč je različit. Lozinka plus bezbednosno pitanje su dve stvari koje znate, pa to nije prava dvofaktorska autentifikacija. Ako jedno curenje može da otkrije oba, računa se kao jedan faktor.
Uobičajene 2FA metode u poređenju
| Metoda | Kako radi | Snaga | Napomene |
|---|---|---|---|
| SMS kod | Kod se šalje tekstualnom porukom na vaš broj telefona | Najslabija | Ranjiva na SIM zamenu i pecanje, ali mnogo bolja nego bez 2FA |
| Kod na e-mail | Kod se šalje na vaš e-mail | Slaba | Bezbedna koliko i e-mail nalog |
| Aplikacija za autentifikaciju (TOTP) | Aplikacija poput Google Authenticator generiše novi šestocifreni kod, obično svakih 30 sekundi | Dobra | Radi offline; i dalje može da se pecka ako lažna stranica traži kod |
| Odobravanje putem notifikacije | Aplikacija pita „Jeste li to vi?“ i vi dodirnete odobri | Dobra | Pazite na „zamor od odobravanja“, kada korisnici tapkaju da potvrde samo da bi prestali ponovljeni upiti |
| Passkey ili bezbednosni ključ | Kriptografski ključ na uređaju dokazuje da ste na pravom sajtu | Najjača | Otporan na pecanje jer ne reaguje na lažni domen |
NIST-ove smernice tretiraju metode u kojima unosite kod (SMS, e-mail, aplikacije za autentifikaciju) kao ne otporne na pecanje, a slanje kodova preko telefonske mreže označava kao „ograničeno“. Passkey-evi i hardverski bezbednosni ključevi, zasnovani na WebAuthn/FIDO2 standardima, jesu oni koje smatra otpornim na pecanje.
Praktičan zaključak: aplikacija za autentifikaciju je jaka i laka podrazumevana opcija za većinu aplikacija, a passkey-evi vredi da se ponude ako su vaši korisnici spremni da ih koriste.
Radni primer: 2FA za klijentski portal
Recimo da ste napravili portal na kome mala računovodstvena firma deli poreske dokumente sa klijentima. Evo kako izgleda pametno podešavanje 2FA, korak po korak.
Uključivanje (registracija). Priya, klijentkinja, otvara Podešavanja i klikne „Uključi dvofaktorsku autentifikaciju“. Aplikacija generiše tajni ključ i prikazuje ga kao QR kod. Ona ga skenira svojom aplikacijom za autentifikaciju, koja počinje da prikazuje šestocifrene kodove. Unosi trenutni kod nazad u portal da dokaže da je podešavanje uspelo. Aplikacija prikazuje deset kodova za oporavak i traži da ih sačuva na bezbednom mestu.
Prijava posle toga.
- Priya unosi e-mail i lozinku. Server ih proverava.
- Umesto da je odmah prijavi, server beleži sesiju kao „lozinka u redu, drugi faktor čeka“ i prikazuje ekran za kod.
- Ona unosi kod iz svoje aplikacije. Server ga proverava u odnosu na sačuvani tajni ključ, uz malu toleranciju na pomeranje sata.
- Tek sada server kreira punu sesiju i dozvoljava joj da vidi dokumente.
Šta napadač vidi. Ako je Priyina lozinka procurela sa nekog drugog sajta, napadač se zaglavi na koraku 3. Svaki neuspešan pokušaj unosa koda se beleži, a posle nekoliko pogrešnih pokušaja nalog se privremeno zaključava i Priya dobija e-mail.
Gubitak telefona. Priya koristi jedan od kodova za oporavak da se prijavi, isključi 2FA pa ponovo uključi sa novim telefonom i dobija nove kodove za oporavak. Iskorišćeni kod nikada više ne može da se koristi.
Za zaposlene. Zaposleni u firmi mogu da vide sve fajlove svakog klijenta, pa portal zahteva 2FA za zaposlene naloge; ne mogu da dođu do kontrolne table dok se ne registruju.
Uobičajeni pojmovi objašnjeni
| Pojam | Značenje |
|---|---|
| 2FA / MFA | Dvofaktorska / višefaktorska autentifikacija: prijava sa više vrsta dokaza. |
| Faktor | Jedna vrsta dokaza: nešto što znate, imate ili jeste. |
| TOTP | Vremenski zasnovana jednokratna lozinka — rotirajući kodovi u aplikacijama za autentifikaciju. |
| Deljeni tajni ključ | Skrivena vrednost, postavljena putem QR koda, koju i aplikacija i vaš telefon koriste za generisanje istih kodova. |
| Kodovi za oporavak (rezervni) | Kodovi za jednokratnu upotrebu za ulazak kada ste izgubili drugi faktor. |
| Passkey | Akreditiv za prijavu sačuvan na vašem uređaju koji koristi kriptografiju javnog ključa umesto lozinke. |
| Bezbednosni ključ | Mali fizički uređaj (USB ili NFC) koji obavlja isti posao kao passkey. |
| SIM zamena | Prevara mobilnog operatera da prebaci nečiji broj na novu SIM karticu, pa poruke stižu napadaču. |
| Pecanje (phishing) | Lažni sajt ili poruka koja navodi ljude da predaju lozinke ili kodove. |
| Step-up autentifikacija | Ponovno traženje drugog faktora pre osetljive radnje, poput promene podataka za isplatu. |
Uobičajene greške i pogrešna shvatanja
- „2FA čini nalog nepropustljivim.“ Čini ga mnogo težim za upad. Lažni sajtovi za pecanje i dalje mogu da uhvate unesene kodove u realnom vremenu, zato postoje passkey-evi.
- Provera koda samo u browseru. Ako server posle lozinke izda punu sesiju, ekran za kod je samo dekoracija. Server mora da odbije pristup dok drugi faktor ne prođe.
- Nema ograničenja pokušaja pogađanja koda. Šestocifreni kod ima milion mogućnosti. Bez ograničenja učestalosti i zaključavanja, napadač može jednostavno da nastavi da pogađa.
- Zaboravljen oporavak. Bez kodova za oporavak, svaki izgubljen telefon postaje zahtev za podršku ili zaključan klijent.
- Nepažljivo čuvanje TOTP tajnog ključa. Deljeni tajni ključ treba da bude šifrovan u bazi podataka i nikada ponovo prikazan posle podešavanja.
- Dozvoliti korisnicima da isključe 2FA bez ponovne provere. Isključivanje 2FA ili promena e-mail adrese treba da zahteva lozinku i trenutni kod.
- Lozinka plus bezbednosno pitanje računa se kao 2FA. Ne računa se — oba su stvari koje znate.
Šta tražiti od AI alata
- „Dodaj opcionu dvofaktorsku autentifikaciju koristeći aplikaciju za autentifikaciju (TOTP), sa QR kodom za podešavanje i potvrdnim kodom pre uključivanja.“
- „Prikaži deset jednokratnih kodova za oporavak kada je 2FA uključena. Čuvaj ih heširane, kao lozinke.“
- „Primeni 2FA na serveru: bez pune sesije dok drugi faktor ne prođe.“
- „Ograniči broj pokušaja unosa koda i zaključaj prijavu na 15 minuta posle uzastopnih neuspeha. Pošalji korisniku e-mail kada se to dogodi.“
- „Zahtevaj 2FA za administratorske naloge.“
- „Traži lozinku i trenutni kod pre isključivanja 2FA ili promene e-mail adrese naloga.“
- „Koristi poznatu biblioteku ili ugrađenu 2FA našeg provajdera autentifikacije — nemoj sam pisati kriptografiju.“
- „Objasni koju metodu si koristio i gde se čuvaju tajne vrednosti.“
Ako koristite hostovanog provajdera autentifikacije, proverite da li već nudi 2FA ili passkey-eve; uključivanje ugrađene funkcije je obično bezbednije od prilagođenog koda. Korak po korak verzija nalazi se u vodiču kako dodati dvofaktorsku autentifikaciju, a šta je autentifikacija objašnjava osnove prijave ispod toga.
Dvofaktorska autentifikacija u Mythex-u
Mythex ne uključuje ugrađen sistem prijave za korisnike vaše aplikacije, pa je 2FA deo onog pristupa autentifikaciji koji izaberete — vaša sopstvena prijava preko e-maila i lozinke oslonjena na bazu podataka projekta, ili hostovani provajder koji nudi 2FA. Agentu to tražite u chatu, a ključevi provajdera idu u tajne projekta, a ne u sam chat. Recept u dokumentaciji o dodavanju prijave u aplikaciju sadrži početni upit koji možete prilagoditi, a bezbednost za aplikacije koje pravite pokriva navike oko ključeva. Pre objavljivanja, prođite kroz bezbednosnu listu za aplikacije napravljene uz AI.
Pitanja
Šta je dvofaktorska autentifikacija jednostavnim rečima?
Dvofaktorska autentifikacija (2FA) znači da prijava zahteva dve različite vrste dokaza, obično vašu lozinku i kod sa telefona ili bezbednosni ključ. Neko ko ukrade samo vašu lozinku i dalje ne može da uđe.
Da li je 2FA isto što i MFA?
Skoro. Višefaktorska autentifikacija (MFA) znači dva ili više faktora; dvofaktorska autentifikacija je najčešći slučaj sa tačno dva. U svakodnevnoj upotrebi ti pojmovi se koriste međusobno zamenljivo.
Da li je SMS dvofaktorska autentifikacija bezbedna?
Mnogo je bolja od same lozinke, ali je najslabija uobičajena opcija. SMS poruke mogu biti presretnute ili preusmerene SIM zamenom, a lažna stranica za prijavu može da navede ljude da unesu kod. Aplikacije sa autentifikatorom su jače, a passkey-evi ili bezbednosni ključevi su još jači.
Da li moja aplikacija treba dvofaktorsku autentifikaciju?
Ako nalozi čuvaju novac, privatne podatke ili administratorsku moć nad drugim korisnicima, ponuda 2FA je dobra ideja, a često se zahteva za administratore. Za jednostavnu hobi aplikaciju može biti opciona ili ostavljena za kasnije.
Šta se dešava ako korisnik izgubi telefon?
Za to služe kodovi za oporavak: kratka lista jednokratnih rezervnih kodova prikazana kada se 2FA uključi. Bez njih, oporavak obično znači ručnu proveru identiteta od strane vlasnika aplikacije, zato to isplanirajte pre objavljivanja.