Zum Inhalt springen

Google Authenticator: Unterschied zwischen den Versionen

5.822 Bytes hinzugefügt ,  24. Mai 2018
keine Bearbeitungszusammenfassung
K (kategorisiert)
Keine Bearbeitungszusammenfassung
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung Visuelle Bearbeitung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Der Google Authenticator ist eine App von Google zur Generierung sogenannter ''Schlüssel'' zur Verwendung während einer Zwei-Faktor-Authentifizierung. Die App generiert zeitbasierte Einmalpasswörter ('''T'''ime-'''B'''ased '''O'''ne-'''T'''ime '''P'''assword, kurz '''TOTP''') nach dem [[Wikipedia:de:Request_for_Comments|RfC-Standard]] [https://tools.ietf.org/html/rfc6238 6238]. Verfügbar ist die der Google Authenticator als App für die Betriebssysteme Android, iOS und Blackberry, sowie als [[Wikipedia:de:Pluggable_Authentication_Modules|PAM]]-Modul (''libpam''), bspw. für Linux-basierte Systeme. Der Quellcode ist Open Source und steht unter der Apache 2.0 Lizenz. <ref>https://github.com/google/google-authenticator</ref>
Der '''Google Authenticator''' ist eine App von Google zur Generierung sogenannter ''Schlüssel'' zur Verwendung während einer Zwei-Faktor-Authentifizierung. Die App generiert zeitbasierte Einmalpasswörter ('''T'''ime-'''B'''ased '''O'''ne-'''T'''ime '''P'''assword, kurz '''TOTP''') nach dem [[Wikipedia:de:Request_for_Comments|RfC-Standard]] [https://tools.ietf.org/html/rfc6238 6238]. Verfügbar ist der Authenticator als App für die Betriebssysteme Android, iOS und Blackberry, sowie als [[Wikipedia:de:Pluggable_Authentication_Modules|PAM]]-Modul (''libpam''), bspw. für Linux-basierte Systeme. Der Quellcode ist Open Source und steht unter der Apache 2.0 Lizenz. <ref>https://github.com/google/google-authenticator</ref>


== Verwendung ==
== Verwendung ==
Zeile 17: Zeile 17:
=== Schlüssel eingeben ===
=== Schlüssel eingeben ===
Als Alternative (bspw. weil das Smartphone keine Kamera hat, oder die Anwendung keinen QR-Code zur Verfügung stellt) kann die manuelle Einrichtung durch Eingabe des geheimen Schlüssels erfolgen. Dieser sollte nicht aufgeschrieben oder anderweitig aufbewahrt werden, da somit eine erneute (ggf. unberechtigte) Einrichtung auf einem anderen Gerät vereinfacht werden würde. Für Notfälle stehen i.d.R. Notfallcodes zur Verfügung.
Als Alternative (bspw. weil das Smartphone keine Kamera hat, oder die Anwendung keinen QR-Code zur Verfügung stellt) kann die manuelle Einrichtung durch Eingabe des geheimen Schlüssels erfolgen. Dieser sollte nicht aufgeschrieben oder anderweitig aufbewahrt werden, da somit eine erneute (ggf. unberechtigte) Einrichtung auf einem anderen Gerät vereinfacht werden würde. Für Notfälle stehen i.d.R. Notfallcodes zur Verfügung.
== Codes plötzlich falsch ==
Unter gewissen Umständen kann es möglich sein, dass die generierten Codes nicht mehr als korrekt angesehen werden, obwohl es vorher funktioniert hat. Die häufigste Ursache hierfür ist eine Diskrepanz der Server- und der Clientzeit. Da die Codes auf dem TOTP-Standard basieren (und damit zeitbasiert sind), wird zur Generierung eines Codes der hinterlegte Schlüssel, sowie die aktuelle Zeit genutzt. Ist die Zeit auf dem Client eine andere, als die auf dem Server, stimmen die Codes nicht mehr überein. Um dieses Problem zu lösen (welches meist auf dem Client-Gerät (mit der installierten App) vorhanden ist), stellt die Authenticator-App selbst die Möglichkeit bereit, die aktuell Zeit zu korrigieren. Der Menüpunkt versteckt sich in den Einstellungen unter ''Zeitkorrektur für Codes''.
In einigen Fällen scheint die App-eigene Funktion keine Zeitabweichung festzustellen, die behoben werden müsste, sodass die Codes weiterhin als falsch erkannt werden. Hier hilft es ggf. andere Apps, bspw. auf dem Google Play Store, zu nutzen, um die aktuell Zeit mit einer Referenzzeit zu vergleichen und zu korrigieren. Eine dieser Apps ist bspw. die Android-App {{PlayStore|ru.org.amip.ClockSync|ClockSync}}, die die [[Wikipedia:de:Atomzeit|Atomzeit]] als Referenzzeit verwendet. Aufgrund der Android-Sicherheitsrichtlinien benötigen solche Apps allerdings Root-Zugang.<ref>https://code.google.com/p/android/issues/detail?id=4581</ref>
== Sichern (Backup) der Google Authenticator ''Konten'' ==
Es kann nötig sein, die eingerichteten Konten, bspw. bei einem Wechsel des Gerätes, zu sichern (also ein [[Backup]] zu erstellen) und auf einem anderen wiederherzustellen, insbesondere, wenn mehrere Konten vorhanden sind, die ggf. auf verschiedenen Geräten eingerichtet sind, sodass das neu Erstellen der Schlüssel nicht praktikabel ist (wenngleich dies die bevorzugte Variante sein sollte). Hierfür gibt es, aus nahelegenden Sicherheitsgründen, allerdings keine eingebaute Funktion in der App. Die eingerichteten Konten können allerdings mit Hilfe des [[Root]]-Zugangs recht einfach gesichert und wiederhergestellt werden. Root-Zugang ist mindestens auf dem Gerät benötigt, auf welchem die Konten aktuell eingerichtet sind. Eine Wiederherstellung auf dem Zielgerät ist prinzipiell (mit erhöhtem Arbeitsaufwand) auch ohne Root möglich. Der Hintergrund ist, dass die Konten in einer [[SQLite]]-Datenbank gespeichert werden. Da SQLite keine Benutzersteuerung oder anderweitige Zugriffsbeschränkung aufweist, kann jeder, der Zugriff auf die Datenbankdatei hat, diese auch lesen und verändern. Grundsätzlich hat bei einem Androidgerät nur die App selbst (als eigenständiger Benutzer im System), sowie der root-Benutzer Zugriff auf diese Datenbank.
Die Datenbank, in der die Konten gespeichert sind, befindet sich auf der Daten-[[Partition]] (''/data'') mit dem Pfad ''/data/data/com.google.android.apps.authenticator2/databases/'' und dem Dateinamen ''databases''.<ref>http://www.howtogeek.com/130755/how-to-move-your-google-authenticator-credentials-to-a-new-android-phone-or-tablet/</ref>
=== Root auf '''beiden''' Geräten ===
Ist auf beiden Geräten (dem Quell- und Zielgerät) der Root-Zugriff möglich, ist der einfachste Weg, die Datei ''databases'' auf dem Quellgerät zu kopieren und auf die externe SD-Karte oder einem PC abzulegen. Auf dem Zielgerät genügt nun das Einfügen der Datei an der selben Stelle (die vorhandene Datei überschreiben). Beim Start der App erscheinen nun die ''alten'' Konten.
=== Root auf dem Quell-Gerät ===
Ist nur auf dem Quellgerät ein Root-Zugang möglich, müssen die Konten manuell übertragen werden. Hierfür wird die ausführbare SQLite-Datei auf dem Quellgerät benötigt (siehe [[SQLite#Die_Android_Binary|SQLite im Abschnitt Die Android Binary]]). Mit dieser kann die Datenbank-Datei geöffnet werden, indem folgender Befehl im Terminal ausgeführt wird (entweder über den {{PlayStore|jackpal.androidterm|Terminal Emulator}} oder mit Hilfe der [[Android_Debug_Bridge#Shell_betreten|ADB]]):
<pre>
sqlite3 /data/data/com.google.android.apps.authenticator2/databases/databases
</pre>
SQLite3 begrüßt uns nun mit der eigenen Version, einigen kurzen Hinweisen zur Verwendung und einer Eingabeaufforderung. Durch folgenden Befehl werden alle gespeicherten Konten und Zusatzdaten angezeigt, darunter auch die, die zur Neu-Einrichtung benötigt werden:
<pre>
select email, secret from accounts;
</pre>
Die Ausgabe wird in etwa folgender entsprechen (Daten abgeändert):
<pre>
sqlite> select email, secret from accounts;
select email, secret from accounts;
Google:email@gmail.com|tweb53ojvrqm3ltwxfz5k63wk3icvrjn
test2|G4QKUONUWGGOWKIG
sqlite>
</pre>
Auf dem Zielgerät müssen alle angezeigten Konten nun manuell eingerichtet werden. Hierfür gibt es im Menü (oben rechts das ''Drei-Punkte-Menü'') der App den Punkte ''Konto einrichten''. Als Methode kann ausschließlich ''Schlüssel eingeben'' verwendet werden. Der Name ist hier prinzipiell irrelevant, sinnvoll ist es aber, den gleichen zu nutzen, wie auf dem Quellgerät. Der Name ist der Wert vor dem '''|''' der auf dem Quellgerät ausgegebenen Daten. Als Schlüssel dient die Zeichenfolge nach dem '''|'''. Diese muss exakt abgetippt werden, Groß- und Kleinschreibung muss allerdings nicht beachtet werden. Es ist ratsam nach der Einrichtung eines Kontos die generierten Codes des Quell- und Zielgerätes zu vergleichen um Tippfehler zu identifizieren und das Konto ggf. zu löschen und erneut einzurichten. Das Ändern des Schlüssels ist nicht (ohne Root-Zugang) möglich.
Zum Verlassen der Shell auf dem Quellgerät genügt es, folgende Befehle nacheinander einzugeben und jeweils mit einem ''Enter'' zu bestätigen:
<pre>
.exit
exit
exit
</pre>


== Einzelnachweise ==
== Einzelnachweise ==
Zeile 23: Zeile 63:
[[Kategorie:Google]]
[[Kategorie:Google]]
[[Kategorie:Apps]]
[[Kategorie:Apps]]
[[Kategorie:HowTo]]
11.008

Bearbeitungen

Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.