Google Authenticator

Google Authenticator

Beschreibung des Bildes Google authentulator.png. Information
Entwickelt von Google
Letzte Version 1,02 (9. November 2016)
Anzahlung github.com/google/google-authenticator und github.com/google/google-authenticator-android
Betriebssystem Android
Art Authenticator ( in )
Lizenz Lizenzierung proprietärer Software ( in )
Webseite play.google.com/store/apps/details?id=com.google.android.apps.authenticator2

Google Authenticator ist eine von Google entwickelte Softwaregenerierung von Passwörtern zur einmaligen Verwendung für die Zwei-Faktor-Authentifizierung . Die Software bietet eine 6-stellige Nummer, die der Benutzer während seiner Authentifizierung zusätzlich zu seinem Benutzernamen und Passwort eingeben muss. Die Software wurde ursprünglich für Google-Dienste (wie Google Mail ) entwickelt und ermöglicht die Authentifizierung bei Diensten von Drittanbietern wie LastPass , Discord oder Dropbox .

Implementierung

Google bietet die mobile App für Android , BlackBerry , iOS- Systeme und kompatible Ports , die unter anderem für Pebble entwickelt wurden.

Frühere Versionen der Software waren Open Source , aktuelle Versionen stehen jedoch unter einer proprietären Lizenz.

Technische Beschreibung

Es geht darum, einen kurzlebigen Code zu erstellen, der aus einem für den Benutzer spezifischen numerischen Schlüssel berechnet wird. Bei der erstmaligen Verwendung generiert Google einen geheimen 80-Bit-Digitalschlüssel, der für jeden Nutzer eindeutig ist. Dieser Schlüssel wird in Form einer 16-Zeichen-Basis-32-Zeichenfolge oder über einen QR-Code übertragen . Die mobile Anwendung wird bei jeder Verbindung berechnen eine HMAC - SHA1 digitale Signatur auf der Basis dieses Schlüssel fixierte, durch Codieren die Anzahl von 30 Sekunden verstrichen Perioden seit dem  Unix „  Epoche “. Ein Teil dieser Signatur wird genommen und in eine 6-stellige Nummer umgewandelt, die von der Anwendung angezeigt wird und die der Benutzer zusätzlich zu seinem Passwort auf der Website kopieren muss.

Technologie

Google Authenticator implementiert den in IETF RFC  6238 definierten Einmalkennwortalgorithmus und den in IETF RFC  4226 definierten HMAC-basierten Einmalkennwortgenerierungsalgorithmus .

Pseudocode des RFC  6238- Algorithmus

Der RFC  6238 ist hinsichtlich der Größe der an HMAC-SHA1 übergebenen Nachricht lückenhaft. Es wird einfach geschrieben, dass Größen größer als 32 Bit unterstützt werden müssen. Die 64-Bit-Größe wird daher von den üblichen gefundenen Implementierungen abgeleitet. Ebenso für den Big Endian Charakter der verwendeten Zahlen.

function GoogleAuthenticatorCode(string secret) key := base32decode(secret) message := floor(current Unix time / 30) // message is seen by HMAC-SHA1 as a BigEndian 64bits number (8 chars) hash := HMAC-SHA1(key, message) offset := last nibble of hash truncatedHash := hash[offset..offset+3] //4 bytes starting at the offset Set the first bit of truncatedHash to zero //remove the most significant bit // truncatedHash is seen as a BigEndian 32bits number (4 chars) code := truncatedHash mod 1000000 pad code with 0 until length of code is 6 return code

Open Source Software Status für Android

In dem Staat von Januar 2019Für die im Google Play Store verfügbare Google Authenticator-Anwendung gilt eine proprietäre Lizenz. Google hat frühere Versionen der Authenticator-App in seinem GitHub-Repository verfügbar gemacht. Auf der Projektseite heißt es:

„Mit  diesem Open Source-Projekt können Sie den Code herunterladen, der Version 2.21 der Anwendung unterstützt. Nachfolgende Versionen enthalten Google-spezifische Workflows, die nicht Teil des Projekts sind.  ""

Als Reaktion auf den Übergang von Google Authenticator zu einer proprietären Lizenz wurde ein Open-Source-Klon namens FreeOTP erstellt, der Teile des ursprünglichen Authenticator-Codes, jedoch größtenteils neu geschriebenen Code enthält. Eine weniger beliebte Variante namens OTP Authenticator ist auch bei Google Play verfügbar.

Verweise

  1. Release 1.02  " ,9. November 2016(abgerufen am 20. Juli 2018 )
  2. Android-Version von Google Authenticator
  3. iOS-Version von Google Authenticator
  4. (in) "  Wie Sie Ihre zweistufigen Bestätigungscodes erhalten, ist Ihr Pebble  "
  5. (in) Willis Nathan, "  FreeOTP-Multi-Faktor-Authentifizierung  " ,22. Januar 2014(abgerufen am 7. Januar 2019 )
  6. (in) Antrag auf Kommentare n o  6238 .
  7. (in) Antrag auf Kommentare n o  4226 .
  8. (in) "  Wiki Google Authenticator auf GitHub  " (abgerufen am 9. Januar 2019 )
  9. "  FreeOTP  "
  10. "  kaie / otp-authentifikator-android  " , GitHub

Externe Links