Proprietăți (versiunile anterioare au fost lansate sub licența Apache 2.0)
Authenticatorul reprezintă o parolă digitală digitală de 6 sau 8 cifre pe care utilizatorul trebuie să o furnizeze în plus față de numele de utilizator și parola pentru a vă conecta la serviciile Google sau la alte servicii. Authenticator poate genera, de asemenea, coduri pentru aplicații de la terțe părți, cum ar fi managerii de parole sau serviciile de găzduire a fișierelor. Versiunile anterioare ale programului erau disponibile cu open source pe GitHub. dar cele mai recente probleme sunt proprietatea privată a Google. [3]
De obicei, utilizatorii trebuie să instaleze mai întâi aplicația pe dispozitivul mobil. Pentru a intra pe site sau pentru a utiliza serviciile serviciului, trebuie să introduceți un nume de utilizator și o parolă, să rulați aplicația Authenticator și să introduceți o parolă generată unică într-un câmp special.
Pentru a face acest lucru, site-ul oferă un secret partajat utilizatorului, care trebuie să fie stocat în aplicația Google Authenticator. Această cheie secretă va fi utilizată pentru toate conectările ulterioare la site.
Cu verificarea în doi pași, o cunoaștere simplă de conectare / parolă nu este suficientă pentru hacking un cont. Un atacator trebuie, de asemenea, să cunoască cheia secretă sau să aibă acces fizic la dispozitiv cu Authenticatorul Google. Alternativ, atacul MITM: dacă computerul utilizatorului este infectat cu un troian. atunci numele de utilizator, parola și codul unic pot fi interceptate pentru a iniția propria sesiune de conectare pe site sau pentru a urmări și a modifica informațiile dintre utilizator și site.
Google Authenticator este furnizat pe Android. [4] BlackBerry. și iOS [5]. Sunt disponibile și câteva implementări ale unor terțe părți:
- Windows Phone 7.5 / 8 / 8.1 / 10: Microsoft Authenticator [6] Virtual TokenFactor [7]
- Windows Mobile: Google Authenticator pentru Windows Mobile [8]
- Java CLI: Authenticator.jar [9]
- GUI Java: JAuth [10] FXAuth [11]
- J2ME: gauthj2me [12] lwuitgauthj2me [13] Mobile-OTP (numai în chineză) [14] totp-me [15]
- Palm OS: gauthj2me [16]
- Python: onetimepass [17]
- PHP: GoogleAuthenticator.php [18]
- Ruby: rotp, [19] doifu [20]
- Rails: active_model_otp [21] (implementare terță parte)
- webOS: GAuth [22]
- Windows: gauth4win [23] Authenticator MOS [24] WinAuth [25]
- .NET: TwoStepsAuthenticator [26]
- HTML5: html5-google-autenator [27]
- MeeGo / Harmattan (Nokia N9): GAUT [28]
- Sailfish OS: SGAuth, [29] SailOTP [30]
- Apache: Apache Module Google Authenticator [31]
- PAM: Modul de autentificare plug-in Google [32] oauth-pam [33]
- Backend: LinOTP (Management Backend implementat în Python)
- Sistem de operare Chrome / Chrome: Authenticator [34]
- iOS: autentificare OTP [35]
Furnizorul de servicii generează o cheie secretă pe 80 de biți pentru fiecare utilizator (deși RFC 4226 §4 necesită minimum 128 de biți și recomandă 160 de biți). [36] Acesta este furnizat ca cod 16, 26, 32 de cifre în codare Base32 sau folosind cod QR. Clientul creează HMAC -SHA1 utilizând această cheie privată. Mesajul HMAC poate fi:
- numeric cu perioada de 30 de secunde (TOTP)
- contra, care crește cu fiecare cod nou (HOTP).
Apoi, o parte din HMAC este extrasă și transformată într-un cod de 6 cifre.