Google Authenticator
A Google Authenticator egy olyan alkalmazás, amely a Google LLC időalapú egyszeri jelszóalgoritmusát ( TOTP ) és HMAC-alapú egyszeri jelszóalgoritmusát (HOTP) használja kétlépcsős hitelesítéshez . A szolgáltatás az RFC 6238 és RFC 4226 szabványban meghatározott algoritmusokat valósítja meg . [2]
A Hitelesítő egy 6 vagy 8 számjegyből álló, egyszeri numerikus jelszó, amelyet a felhasználónak a felhasználónév és a jelszó mellett meg kell adnia a Google-ba vagy más szolgáltatásokba való bejelentkezéshez. A Hitelesítő kódokat is generálhat harmadik féltől származó alkalmazásokhoz, például jelszókezelőkhöz vagy fájltárhely-szolgáltatásokhoz. A program korábbi verziói nyílt forráskódúak voltak a GitHubon , de a legújabb kiadások a Google tulajdonát képezik. [3]
Használati példa
Általában a felhasználóknak először telepíteniük kell az alkalmazást mobileszközükre. Az oldalra való belépéshez vagy a szolgáltatás szolgáltatásainak igénybevételéhez meg kell adnia a felhasználónevet és a jelszót, el kell indítania a Hitelesítő alkalmazást, és egy speciális mezőbe be kell írnia a generált egyszeri jelszót.
Ehhez a webhely biztosítja a megosztott titkos kulcsot a felhasználó számára, amelyet a Google Authenticator alkalmazásban kell tárolni. Ezt a titkos kulcsot használjuk a webhelyre való minden jövőbeni bejelentkezéshez.
A kétlépcsős hitelesítésnél a felhasználónév/jelszó pusztán ismerete nem elegendő a fiók feltöréséhez . A támadónak ismernie kell a titkos kulcsot, vagy fizikai hozzáféréssel kell rendelkeznie az eszközhöz a Google Hitelesítő segítségével. Egy másik lehetőség a MITM támadás: ha a felhasználó számítógépét megfertőzte egy trójai , akkor a felhasználónév, a jelszó és az egyszeri kód lefogható, hogy aztán saját bejelentkezési munkamenetet kezdeményezzen a webhelyen, vagy figyelje és módosítsa az információkat a felhasználó és az oldal.
Megvalósítások
A Google Authenticator elérhető Androidon , [4] BlackBerryn és iOS -en [5] . Számos harmadik féltől származó megvalósítás is elérhető:
- Windows Phone 7.5/8/8.1/10: Microsoft Authenticator [6] Virtual TokenFactor [7]
- Windows Mobile: Google Authenticator Windows Mobile rendszerhez [8]
- Java CLI: Authenticator.jar [9]
- Java GUI: JAuth [10] FXAuth [11]
- J2ME: gauthj2me [12] lwuitgauthj2me [13] Mobile-OTP (csak kínai) [14] totp-me [15]
- Palm OS: gauthj2me [16]
- Python: onetimepass [17]
- PHP: GoogleAuthenticator.php [18]
- Rubin: rotp, [19] twofu [20]
- Sínek: active_model_otp [21] (harmadik féltől származó megvalósítás)
- webOS: GAuth [22]
- Windows: gauth4win [23] MOS Authenticator [24] WinAuth [25]
- .NET: TwoStepsAuthenticator [26]
- HTML5: html5-google-authenticator [27]
- MeeGo/Harmattan (Nokia N9): GAuth [28]
- Sailfish operációs rendszer: SGAuth, [29] SailOTP [30]
- Apache: Google Authenticator Apache Module [31]
- PAM: Google Pluggable Authentication Module [32] oauth-pam [33]
- Háttér: LinOTP (Pythonban implementált felügyeleti háttérrendszer)
- Chrome/Chrome OS: Hitelesítő [34]
- iOS: OTP Auth [35]
Műszaki leírás
A szolgáltató minden felhasználó számára generál egy 80 bites titkos kulcsot (bár az RFC 4226 § 4 minimum 128 bitet ír elő, és 160 bitet ajánl). [36] A kulcs 16, 26, 32 számjegyű Base32 kódolású karakterláncként vagy QR-kódként érhető el . A titkos kulcs használatával az ügyfél létrehoz egy HMAC - SHA1 -et a következőkből:
A HMAC részt ezután kivonják és 6 számjegyű kóddá alakítják.
Pszeudokód időalapú OTP-hez
függvény GoogleAuthenticatorCode ( string secret ) // RFC 4226
kulcs alapján := base32decode ( secret ) // kulcs: uint8
üzenet tömbje := htobe64 ( jelenlegi Unix idő / 30 ) // üzenet: uint64, csináld big-endian
hash : = HMAC - SHA1 ( kulcs , üzenet ) // hash: uint8
offset tömb := hash utolsó nibble // offset : = hash[hash.size() - 1] & 0x0F csonkaHash : = ( hash [ offset ] << 24 ) | ( hash [ offset + 1 ] << 16 ) // csonkoltHash: uint32 big-endian | ( hash [ offset + 2 ] << 8 ) | hash [ offset + 3 ] truncatedHash = truncatedHash & 0 x7FFFFFFF // MSB kód visszaállítása := csonkoltHash mod 1000000 pad kód 0 - val, amíg a kód hossza 6 visszatérési kód // kód: string
Esemény/számláló OTP pszeudokódja
függvény GoogleAuthenticatorCode ( karakterlánc titkos )
kulcs := base32dekódolás ( titkos )
üzenet := számláló 8 bájton kódolva hash : = HMAC - SHA1 ( kulcs , üzenet ) offset : = utolsó hash csonkításaHash : = hash [ offset .. offset + 3 ] //4 bájt az eltolástól kezdődően A truncatedHash első bitjének nullára állítása // a legjelentősebb bitkód eltávolítása : = truncatedHash mod 1000000 pad kód 0 - val , amíg a kód hossza 6 lesz .
Fiókok átvitele
A felhasználók kiválaszthatják, hogy mely fiókokat szeretnének exportálni, majd az eszköz PIN-kódjával vagy biometrikus hitelesítéssel történő ellenőrzést követően megjeleníthetnek egy QR-kódot, amelyet egy másik telefon is beolvashat a Hitelesítő segítségével importálás módban.
Jegyzetek
- ↑ A Google jelentősen biztonságosabbá teszi fiókját a kétlépcsős azonosítással – TechCrunch . TechCrunch (2010. szeptember 20.). Letöltve: 2016. március 12. Az eredetiből archiválva : 2016. március 12. (határozatlan)
- ↑ GitHub – google/google-authenticator: A Google Hitelesítő nyílt forráskódú verziója (kivéve az Android-alkalmazást ) . GitHub . Google. — "Ezek a megvalósítások támogatják az RFC 4226 - ban meghatározott HMAC-alapú egyszeri jelszó (HOTP) algoritmust és az RFC 6238 -ban meghatározott időalapú egyszeri jelszó (TOTP) algoritmust ." Letöltve: 2016. július 27. Az eredetiből archiválva : 2021. január 26.
- ↑ Willis, Nathan (2014. január 22.). " FreeOTP többtényezős hitelesítés archiválva 2020. október 31-én a Wayback Machine -nél ". LWN.net . Letöltve: 2015. augusztus 10.
- ↑ https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 Archiválva : 2021. február 2. a Wayback Machine A -nál
- ↑ Google Hitelesítő . App Store . Letöltve: 2016. július 27. Az eredetiből archiválva : 2015. december 22. (határozatlan)
- ↑ Authenticator (2013. április 4.). Letöltve: 2016. július 27. Az eredetiből archiválva : 2019. október 17. (határozatlan)
- ↑ Virtuális TokenFactor (nem elérhető link) (2012. február 26.). Letöltve: 2016. július 27. Az eredetiből archiválva : 2013. szeptember 8.. (határozatlan)
- ↑ [APP Google Authenticator for Windows Mobile] . XDA fejlesztők . Letöltve: 2016. július 27. Az eredetiből archiválva : 2019. április 19. (határozatlan)
- ↑ http://blog dot jamesdotcuff dot net (downlink) . Letöltve: 2016. július 27. Az eredetiből archiválva : 2014. augusztus 1.. (határozatlan)
- ↑ mclamp/JAuth . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2015. augusztus 4.. (határozatlan)
- ↑ kamenitxan/FXAuth . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. szeptember 5.. (határozatlan)
- ↑ gauthj2me – Google hitelesítés Java Mobile-ban, j2me – Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2016. január 6.. (határozatlan)
- ↑ lwuitgauthj2me – Google Authenticator J2ME telefonokhoz – Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2016. március 16. (határozatlan)
- ↑ chunlinyao / mobile-otp - Bitbucket (lefelé irányuló kapcsolat) . Letöltve: 2016. július 27. Az eredetiből archiválva : 2017. október 15. (határozatlan)
- ↑ totp-me - TOTP Java ME-hez - Google hitelesítő . Letöltve: 2016. július 27. Az eredetiből archiválva : 2018. január 5.. (határozatlan)
- ↑ gauth.prc - gauthj2me - Google Authenticator for Palm OS (java-ból konvertálva) - Google hitelesítés Java Mobile-ban, j2me - Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2016. január 6.. (határozatlan)
- ↑ tadeck/onetimepass . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. október 27. (határozatlan)
- ↑ chregu/GoogleAuthenticator.php . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. szeptember 29. (határozatlan)
- ↑ rotp - RubyGems.org - a közösségi drágakő házigazdája . Letöltve: 2016. július 27. Az eredetiből archiválva : 2019. július 11. (határozatlan)
- ↑ ukazap/twofu . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. szeptember 12. (határozatlan)
- ↑ heapsource/active_model_otp . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. december 5.. (határozatlan)
- ↑ GAuth . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. október 20. (határozatlan)
- ↑ gauth4win - Google Authenticator for Windows - Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2016. január 11.. (határozatlan)
- ↑ MOS Authenticator főoldal . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. február 17. (határozatlan)
- ↑ winauth - Windows Authenticator a Battle.nethez / World of Warcraft / Guild Wars 2 / Glyph / WildStar / Google / Bitcoin - Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2015. május 17. (határozatlan)
- ↑ glacasa/TwoStepsAuthenticator . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2020. december 5.. (határozatlan)
- ↑ gbraad/html5-google-authenticator . GitHub . Letöltve: 2016. július 27. Az eredetiből archiválva : 2014. július 5.. (határozatlan)
- ↑ Techtransit. Nokia Áruház: Töltse le a GAuth-ot és sok más játékot, háttérképet, csengőhangokat és mobilalkalmazásokat Nokia telefonjára (a hivatkozás nem érhető el) . Letöltve: 2016. július 27. Az eredetiből archiválva : 2014. július 12.. (határozatlan)
- ↑ SGAuth . Letöltve: 2016. július 27. Az eredetiből archiválva : 2019. július 11. (határozatlan)
- ↑ SailOTP . Letöltve: 2016. július 27. Az eredetiből archiválva : 2021. január 10. (határozatlan)
- ↑ google-authenticator-apache-module - Apache modul a kéttényezős hitelesítéshez a Google Authenticator segítségével - Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2015. november 19.. (határozatlan)
- ↑ google-hitelesítő – Kétlépcsős ellenőrzés – Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2015. február 10. (határozatlan)
- ↑ oauth-pam – PAM az OAuth-webhelyekkel való használatra – Google Project Hosting . Letöltve: 2016. július 27. Az eredetiből archiválva : 2016. augusztus 8.. (határozatlan)
- ↑ Hitelesítő . Letöltve: 2016. július 27. Az eredetiből archiválva : 2019. október 17. (határozatlan)
- ↑ OTP Auth . App Store . Letöltve: 2016. július 27. Az eredetiből archiválva : 2019. április 12. (határozatlan)
- ↑ RFC 4226 - HOTP: HMAC-alapú egyszeri jelszóalgoritmus . Letöltve: 2018. január 17. Az eredetiből archiválva : 2019. április 6.. (határozatlan)
Linkek