Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 12357|Válasz: 0

Dinamikus token OTP, TOTP és HOTP különbségek

[Linket másol]
Közzétéve 2020. 07. 25. 16:41:17 | | | |
Á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.





Előző:Az Angular 9 sorozat (XII) dinamikus tokeneket generál OTP-k alapján
Következő:A .NET/C# egyszeri jelszavakat generál a TOTP alapján
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com