Apžvalga
Dviejų veiksnių autentifikavimas (taip pat žinomas kaip 2FA) yra mechanizmas, sujungiantis du skirtingus autentifikavimo metodus vartotojams autentifikuoti. 2011 m. kovo mėn. "Google" paskelbė apie dviejų veiksnių autentifikavimą internete, po to MSN ir "Yahoo".
Dviejų veiksnių autentifikavimui reikia ne tik patikrinti vartotojo vardą ir slaptažodį, bet ir derinti kitą fizinį įrenginį, pvz., RSA raktą arba mobilųjį telefoną. Dviejų veiksnių sertifikuotus produktus galima suskirstyti į dvi kategorijas:
Aparatūros įrenginiai, galintys generuoti atpažinimo ženklus Išmaniojo telefono programėlė
OTP
Patvirtinant dviem veiksmais naudojamas slaptažodis yra vienkartinis slaptažodis (OTP), taip pat žinomas kaip dinaminis slaptažodis. Tai stipri autentifikavimo technologija, kuri naudoja kriptografijos technologiją dalytis raktais tarp klientų ir serverių, ir yra labai patogi techninė priemonė dabartiniam statiniam slaptažodžio autentifikavimui pagerinti.
OTP yra vienkartinio slaptažodžio trumpinys, o tai reiškia vienkartinį slaptažodį. Jis skirstomas į šiuos du tipus:
HOTP (HMAC pagrįstas vienkartinio slaptažodžio algoritmas)
HOTP yra vienkartinis slaptažodis, sugeneruotas remiantis HMAC algoritmu, taip pat žinomas kaip dinaminis įvykių sinchronizavimo slaptažodis, kuris yra ITEF paskelbta algoritmo specifikacija, o pseudokodas yra toks:
Klientas ir serveris iš anksto derasi dėl rakto K, kad sugeneruotų vienkartinį slaptažodį. Klientas ir serveris turi įvykių skaitiklį C ir iš anksto sinchronizuoja skaičiavimo reikšmes. "Truncate" yra algoritmas, kuris konvertuoja HMAC-SHA-1 sugeneruotą 20 baitų eilutę į kelis dešimtainius skaitmenis.
TOTP (laiku pagrįstas vienkartinio slaptažodžio algoritmas)
TOTP yra patobulinta HOTP versija, kuri naudoja laiką, kad pakeistų HOTP įvykių skaitiklį C, taip pat žinomą kaip dinaminis laiko sinchronizavimo šifras. Pseudokodas:
T0 yra pradinis bandymo laikas, kuris numatytasis yra 0 X yra laiko žingsnis, kuris numatytasis yra 30 sekundžių Oficialiuose dokumentuose pateikiamas kaštonas, darant prielaidą, kad dabartinis unix laikas = 59, T0 = 0, X = 30, tada T=1 Darant prielaidą, kad dabartinis unix laikas = 60, T0 = 0, X = 30, tada T = 2 Tai yra, T vertė suapvalinama žemyn, o dešimtainė dalis atmetama
Iš aukščiau pateikto paveikslėlio matome, kad yra du pagrindiniai įvesties algoritmo elementai: vienas yra bendras raktas (taip pat žinomas kaip sėkla), o kitas yra skaičiavimas (arba laiko faktorius), kuris apskaičiuojamas pagal konkretų algoritmą. Jei abu elementai yra nuoseklūs, serverio ir kliento pusės apskaičiuos tą patį rezultatą ir įgalins autentifikavimo funkciją.
|