Šta je dvofaktorska autentifikacija? Vodič jednostavnim jezikom
Dvofaktorska autentifikacija (2FA) je prijava koja traži dvije različite vrste dokaza da ste to što tvrdite — obično nešto što znate, poput lozinke, plus nešto što imate, poput telefona ili sigurnosnog 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 važne račune.
Zašto je važno kada gradite uz AI
Kada od AI alata za izradu zatražite „prijavu“, obično dobijete email i lozinku. To je dobar početak, ali se lozinke ponavljaju, kradu putem phishinga i curе. Ako vaša aplikacija čuva bilo šta vrijedno — podatke o kupcima, fakture, administratorske kontrole, postavke plaćanja — jedna ukradena lozinka mogla bi otkriti sve to.
2FA utiče i na odluke na koje možda ne mislite odmah:
- Ko mora da je koristi. Opciono za sve, obavezno za administratore ili obavezno za sve?
- Koje metode podržavate. Kodovi iz aplikacije, tekstualne poruke, passkey-evi, sigurnosni ključevi.
- Šta se dešava kada je neko zaključan. Izgubljeni telefoni su najčešći zahtjev za podršku za svaku aplikaciju sa 2FA.
- Gdje se provjera sprovodi. Provjera mora da se dešava na serveru. Ekran za 2FA koji samo skriva stranicu u pregledaču može se zaobići.
Ne morate sami praviti kriptografiju — dobro testirane biblioteke i provajderi autentifikacije to rade umjesto vas. Ali morate znati šta tražiti.
Svakodnevna analogija
Zamislite sef u banci. Da biste ga otvorili, potrebna vam je lična karta (nešto što vas banka provjerava da jeste ili znate) i fizički ključ (nešto što imate). Lopov koji kopira vaš potpis i dalje nema ključ. Lopov koji ukrade ključ i dalje ne može da prođe provjeru identiteta.
2FA funkcioniše 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 o digitalnom identitetu američkog Nacionalnog instituta za standarde i tehnologiju (NIST), grupišu faktore u tri vrste:
| Faktor | Primjeri |
|---|---|
| Nešto što znate | Lozinka, PIN |
| Nešto što imate | Telefon sa aplikacijom za autentifikaciju, sigurnosni ključ, uređaj koji čuva passkey |
| Nešto što jeste | Otisak prsta, lice — obično se koristi za otključavanje uređaja koji zatim vrši pravu provjeru |
Ključna riječ je različit. 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 poređenju
| Metoda | Kako funkcioniše | Jačina | Napomene |
|---|---|---|---|
| SMS kod | Kod se šalje tekstualnom porukom na vaš broj telefona | Najslabija | Ranjiva na zamjenu SIM kartice i phishing, ali mnogo bolja od bez 2FA |
| Kod putem emaila | Kod se šalje na vaš email | Slaba | Sigurna onoliko koliko i email nalog |
| Aplikacija za autentifikaciju (TOTP) | Aplikacija poput Google Authenticator generiše novi šestocifreni kod, obično svakih 30 sekundi | Dobra | Radi offline; i dalje podložna phishingu ako lažni sajt traži kod |
| Odobrenje putem notifikacije | Aplikacija pita „Jeste li to vi?“ i vi dodirnete odobri | Dobra | Pazite na „zamor od odobravanja“, kada korisnici potvrđuju da bi prestali sa ponovljenim upitima |
| Passkey ili sigurnosni ključ | Kriptografski ključ na uređaju potvrđuje da ste na pravom sajtu | Najjača | Otporan na phishing jer ne reaguje na sličan domen |
NIST smjernice tretiraju metode u kojima kucate kod (SMS, email, aplikacije za autentifikaciju) kao nekako otporne na phishing, i označavaju slanje kodova preko telefonske mreže kao „ograničeno“. Passkey-evi i hardverski sigurnosni ključevi, zasnovani na WebAuthn/FIDO2 standardima, su oni koje smatra otpornim na phishing.
Praktičan zaključak: aplikacija za autentifikaciju je jaka i laka podrazumijevana opcija za većinu aplikacija, a passkey-eve vrijedi ponuditi ako su vaši korisnici spremni za njih.
Praktičan primjer: 2FA za klijentski portal
Recimo da ste napravili portal u kojem mala računovodstvena firma dijeli poreske dokumente sa klijentima. Evo kako izgleda razumno 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 aplikacijom za autentifikaciju, koja počinje da prikazuje šestocifrene kodove. Upisuje trenutni kod nazad u portal da dokaže da je podešavanje uspjelo. Aplikacija prikazuje deset kodova za oporavak i traži da ih sačuva na sigurnom mjestu.
Prijava nakon toga.
- Priya unosi email i lozinku. Server ih provjerava.
- Umjesto da je odmah prijavi, server označava sesiju kao „lozinka u redu, drugi faktor na čekanju“ i prikazuje ekran za kod.
- Ona upisuje kod iz aplikacije. Server ga provjerava u odnosu na njen sačuvani tajni ključ, uz malu toleranciju na pomak sata.
- Tek tada server kreira punu sesiju i omogućava joj da vidi dokumente.
Šta napadač vidi. Ako je Priyina lozinka procurila sa drugog sajta, napadač ostaje zaglavljen na koraku 3. Svaki neuspješan pokušaj koda se broji, a nakon nekoliko pogrešnih pokušaja nalog se privremeno zaključava i Priya dobija email.
Gubitak telefona. Priya koristi jedan od kodova za oporavak da se prijavi, isključi i ponovo uključi 2FA sa novim telefonom i dobije nove kodove za oporavak. Iskorišćeni kod se nikada ne može ponovo upotrijebiti.
Za zaposlene. Računovođe firme mogu vidjeti sve fajlove svakog klijenta, pa portal zahtijeva 2FA za naloge zaposlenih; ne mogu doći do kontrolne table dok se ne registruju.
Osnovni pojmovi objašnjeni
| Pojam | Šta znači |
|---|---|
| 2FA / MFA | Dvofaktorska / višefaktorska autentifikacija: prijava sa više od jedne vrste dokaza. |
| Faktor | Jedna vrsta dokaza: nešto što znate, imate ili jeste. |
| TOTP | Jednokratna lozinka zasnovana na vremenu — rotirajući kodovi u aplikacijama za autentifikaciju. |
| Dijeljeni tajni ključ | Skrivena vrijednost, postavljena putem QR koda, koju i aplikacija i vaš telefon koriste za generisanje istih kodova. |
| Kodovi za oporavak (rezervni) | Jednokratni kodovi za ulazak kada ste izgubili drugi faktor. |
| Passkey | Vjerodajnica za prijavu sačuvana na 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 passkey. |
| Zamjena SIM kartice | Prevara u kojoj se broj nečijeg telefona prebacuje na novu SIM karticu kako bi tekstualne poruke stizale napadaču. |
| Phishing | Lažni sajt ili poruka koja navodi ljude da predaju lozinke ili kodove. |
| Autentifikacija pri koraku više | Ponovno traženje drugog faktora prije osjetljive radnje, poput promjene podataka za isplatu. |
Česte greške i zablude
- „2FA čini nalog nehakabilnim.“ Čini ga mnogo težim za napad. Lažni sajtovi za phishing i dalje mogu u realnom vremenu uhvatiti unesene kodove, zato i postoje passkey-evi.
- Provjera koda samo u pregledaču. Ako server nakon lozinke izda punu sesiju, ekran za kod je ukras. Server mora odbiti pristup dok drugi faktor ne prođe.
- Nema ograničenja broja pokušaja kodova. Šestocifreni kod ima milion mogućnosti. Bez ograničavanja učestalosti zahtjeva i zaključavanja, napadač jednostavno može da nastavi da pogađa.
- Zaboravljen oporavak. Bez kodova za oporavak, svaki izgubljen telefon postaje zahtjev za podršku ili zaključan kupac.
- Nemaran čuvar TOTP tajnog ključa. Dijeljeni tajni ključ treba biti šifrovan u bazi podataka i nikada se ne prikazuje ponovo nakon podešavanja.
- Dozvoljavanje korisnicima da isključe 2FA bez ponovne provjere. Isključivanje 2FA ili promjena emaila treba zahtijevati lozinku i tekući kod.
- Lozinka plus sigurnosno pitanje se računa kao 2FA. Ne računa se — oba su stvari koje znate.
Šta tražiti od vašeg AI alata
- „Dodaj opcionu dvofaktorsku autentifikaciju koristeći aplikaciju za autentifikaciju (TOTP), sa QR kodom za podešavanje i potvrdnim kodom prije uključivanja.“
- „Kada je 2FA uključena, prikaži deset jednokratnih kodova za oporavak. Čuvaj ih heširane, kao lozinke.“
- „Sprovedi 2FA na serveru: nema pune sesije dok drugi faktor ne prođe.“
- „Ograniči pokušaje kodova i zaključaj prijavu na 15 minuta nakon ponovljenih grešaka. Pošalji korisniku email kada se to desi.“
- „Zahtijevaj 2FA za administratorske naloge.“
- „Traži lozinku i tekući kod prije isključivanja 2FA ili promjene emaila naloga.“
- „Koristi poznatu biblioteku ili ugrađenu 2FA našeg provajdera autentifikacije — ne piši kriptografiju sam.“
- „Objasni koju metodu si koristio i gdje se tajni ključevi čuvaju.“
Ako koristite hostovanog provajdera autentifikacije, provjerite da li već nudi 2FA ili passkey-eve; uključivanje ugrađene funkcije je obično sigurnije od prilagođenog koda. Verzija korak po korak je u kako dodati dvofaktorsku autentifikaciju, a šta je autentifikacija objašnjava osnove prijave ispod toga.
Dvofaktorska autentifikacija u Mythexu
Mythex ne uključuje ugrađen sistem prijave za korisnike vaše aplikacije, pa je 2FA dio bilo kojeg pristupa autentifikaciji koji izaberete — vaša sopstvena prijava emailom i lozinkom, podržana bazom podataka projekta, ili hostovani provajder koji nudi 2FA. Agenta zamolite da je doda u chatu, a svi ključevi provajdera idu u tajne projekta, a ne u sam chat. Recept u dokumentaciji za dodavanje prijave u vašu aplikaciju ima početni upit koji možete prilagoditi, a sigurnost za aplikacije koje gradite pokriva navike oko ključeva. Prije lansiranja prođite kroz listu za sigurnost AI izgrađenih aplikacija.
Pitanja
Šta je dvofaktorska autentifikacija jednostavnim riječima?
Dvofaktorska autentifikacija (2FA) znači da prijava zahtijeva dvije različite vrste dokaza, obično lozinku plus kod sa telefona ili sigurnosni ključ. Ko ukrade samo vašu lozinku i dalje ne može da uđe.
Da li je 2FA isto što i MFA?
Gotovo. 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 se pojmovi koriste naizmjenično.
Da li je SMS dvofaktorska autentifikacija sigurna?
Mnogo je bolja od same lozinke, ali je najslabija uobičajena opcija. Tekstualne poruke mogu biti presretnute ili preusmjerene zamjenom SIM kartice, a lažna stranica za prijavu može navesti ljude da upišu kod. Aplikacije za autentifikaciju su jače, a passkey-evi ili sigurnosni ključevi su jači još više.
Da li moja aplikacija treba dvofaktorsku autentifikaciju?
Ako računi čuvaju novac, privatne podatke ili administratorsku moć nad drugim korisnicima, ponuda 2FA je dobra ideja, a zahtijevanje za administratore je uobičajeno. Za jednostavnu hobi aplikaciju može biti opciona ili ostavljena za kasnije.
Šta se desi ako korisnik izgubi telefon?
Za to služe kodovi za oporavak: kratka lista jednokratnih rezervnih kodova prikazuje se kada se 2FA uključi. Bez njih, oporavak obično znači ručnu provjeru identiteta od strane vlasnika aplikacije, pa to isplanirajte prije lansiranja.