Prehľad
Dvojfaktorová autentifikácia (známa aj ako 2FA) je mechanizmus, ktorý kombinuje dve rôzne autentifikačné metódy na autentifikáciu používateľov. V marci 2011 Google oznámil používanie dvojfaktorovej autentifikácie online, nasledovali MSN a Yahoo.
Okrem overenia používateľského mena a hesla vyžaduje dvojfaktorová autentifikácia aj kombináciu iného fyzického zariadenia, ako je RSA token alebo mobilný telefón. Produkty s dvojfaktorovou certifikáciou možno všeobecne rozdeliť do dvoch kategórií:
Hardvérové zariadenia, ktoré dokážu generovať tokeny Aplikácia pre smartfón
OTP
Heslo používané pri dvojstupňovom overovaní je jednorazové heslo (OTP), známe aj ako dynamické heslo. Ide o silnú autentifikačnú technológiu, ktorá využíva kryptografickú technológiu na zdieľanie kľúčov medzi klientmi a servermi, a je veľmi pohodlným technickým prostriedkom na zlepšenie súčasnej statickej autentifikácie hesiel, pričom je dôležitou dvojstupňovou overovacou technológiou.
OTP je skratka pre jednorazové heslo, čo znamená jednorazové heslo. Je rozdelený na nasledujúce dva typy:
HOTP (algoritmus jednorazového hesla založený na HMAC)
HOTP je jednorazové heslo generované na základe algoritmu HMAC, známeho aj ako dynamické heslo pre synchronizáciu udalostí, čo je špecifikácia algoritmu publikovaná spoločnosťou ITEF, a pseudokód je nasledovný:
Klient a server si vopred dohodnú kľúč K na vytvorenie jednorazového hesla. Klient aj server majú každý čítač udalostí C a synchronizujú hodnoty počtu udalostí vopred. Trunkate je algoritmus, ktorý prevádza 20-bajtový reťazec generovaný pomocou HMAC-SHA-1 na niekoľko desatinných číslic.
TOTP (Algoritmus jednorazového hesla založený na čase)
TOTP je vylepšená verzia HOTP, ktorá využíva čas na nahradenie čítača udalostí C v HOTP, známeho aj ako dynamická šifra pre synchronizáciu času. Pseudokód:
T0 je počiatočný testovací čas, ktorý je predvolene nastavený na 0 X je časový krok, ktorý je predvolene 30 sekúnd Oficiálna dokumentácia uvádza jasný výsledok, predpokladajúc aktuálny unixový čas = 59, T0 = 0, X = 30, potom T=1 Za predpokladu aktuálneho unixového času=60, T0=0, X=30, potom T=2 To znamená, že hodnota T sa zaokrúhľuje nadol a desatinné číslo sa zahodí
Z vyššie uvedeného obrázka vidíme, že vstupný algoritmus má dva hlavné prvky, jeden je zdieľaný kľúč (známy aj ako semeno) a druhý je počítanie (alebo časový faktor), ktorý sa počíta špecifickým algoritmom. Ak sú oba prvky konzistentné, serverová aj klientská strana vypočítajú rovnaký výsledok, čím sa umožní autentifikačná funkcionalita.
|