Áttekintés
A kétfaktoros hitelesítés (más néven 2FA) egy olyan mechanizmus, amely két különböző hitelesítési módszert ötvözi a felhasználók hitelesítéséhez. 2011 márciusában a Google bejelentette a kétfaktoros hitelesítés alkalmazását online, ezt követte az MSN és a Yahoo.
A felhasználónév és jelszó ellenőrzése mellett a kétfaktoros hitelesítéshez más fizikai eszköz, például RSA token vagy mobiltelefon kombinációja is szükséges. A kétfaktoros tanúsított termékek nagyjából két kategóriába sorolhatók:
Olyan hardvereszközök, amelyek tokeneket generálhatnak Okostelefon alkalmazás
OTP
A kétlépéses ellenőrzésnél használt jelszó egyszeri jelszó (OTP), más néven dinamikus jelszó. Ez egy erős hitelesítési technológia, amely kriptográfia technológiát használ kulcsok megosztására kliens és szerverek között, és nagyon kényelmes technikai eszköz a jelenlegi statikus jelszóhitelesítés javítására, valamint egy fontos, kétlépéses verifikációs hitelesítési technológia.
Az OTP az "One-Once Password" rövidítése, ami egyszeri jelszót jelent. A következő két típusra oszlik:
HOTP (HMAC-alapú egyszeri jelszóalgoritmus)
A HOTP egy egyszeri jelszó, amelyet a HMAC algoritmus, más néven dinamikus jelszó eseményszinkronizációhoz használ, az ITEF által kiadott algoritmusspecifikáció alapján generált, és a pszeudokód a következő:
Az ügyfél és a szerver előre tárgyalnak egy kulcs K-ról az egyszeri jelszó generálásához. Az ügyfélnek és a szervernek is van egy C eseményszámlálója, amely előre szinkronizálja a számértékeket. A Truncate egy olyan algoritmus, amely a HMAC-SHA-1 által generált 20 bájtos stringet több tizedes számjegyre alakít át.
TOTP (Időalapú Egyszeri Jelszóalgoritmus)
A TOTP egy továbbfejlesztett változata, amely időt használ a HOTP eseményszámlálójának, C-nek, más néven a dinamikus titkosítónak az idő szinkronizációhoz. Pseudocode:
A T0 a kezdeti tesztidő, amely alapértelmezettként 0 X az időlépés, amely alapértelmezett 30 másodperc A hivatalos dokumentáció egy gesztenyét ad, feltételezve, hogy a jelenlegi unix idő = 59, T0 = 0, X = 30, majd T=1 Feltételezve, hogy a jelenlegi unix idő=60, T0=0, X=30, majd T=2 Vagyis a T értékét lefelé kerekítik, és a tizedes számot eldobjuk
A fenti ábrából látható, hogy a bemeneti algoritmusnak két fő eleme van: az egyik a közös kulcs (más néven mag), a másik pedig a számlálás (vagy időfaktor), amelyet egy adott algoritmus számít. Ha mindkét elem konzisztens, a szerver és kliens oldal ugyanazt az eredményt számítja ki, lehetővé téve a hitelesítési funkciót.
|