YubiKey: TOTP-Schlüssel für 2FA sicher speichern
Im Rahmen einer 2-Faktor-Authentisierung bieten viele Online-Dienste das weit verbreitete TOTP-Verfahren zur Absicherung des Benutzerkontos an. Die meisten Benutzer speichern den zum Generieren der Einmalkennwörter (OTPs) notwendigen geheim sowie sicher aufzubewahrenden TOTP-Schlüssel auf Ihrem mobilen Endgerät und nutzen hierfür OTP-Apps, wie z.B. Google Authenticator, FreeOTP etc. Im Gegensatz dazu speichere ich meine TOTP-Schlüssel auf meinem YubiKey. Für mich hat das den Vorteil, dass ich meine TOTP-Schlüssel nicht auf all meinen (mobilen) Endgeräten, wie z.B. Notebook, Smartphone und Tablet synchroniseren bzw. speichern muss und trotzdem auf all meinen Geräten Zugriff auf die TOTP-Schlüssel habe. Zudem lassen sich die auf dem YubiKey gespeicherten TOTP-Schlüssel nachträglich nicht mehr auslesen (Funktionsweise siehe Yubico-Doku: OATH). In diesem Beitrag zeige ich euch, wie das Ganze funktioniert.
Yubico Authenticator installieren
Für Android-Geräte gibt es die quelloffene Yubico Authenticator-App, die es zu installieren gilt. Ich verwende hierfür immer die Version aus dem quelloffenen F-Droid-App-Store.
Startet dann die App:

Passwortschutz einrichten
Standardmäßig könnte jeder der im Besitz meines YubiKeys ist, sich mithilfe des Yubico Authenticators Einmalkennwörter für die gespeicherten TOTP-Schlüssel generieren lassen. Aus Sicherheitsgründen ist es deshalb ratsam den Zugriff per Passwort zu schützen. Dazu verbindet euren YubiKey mit eurem Android-Gerät. Ich nutze hierfür immer NFC, wobei alternativ auch eine Verbindung per USB möglich ist, und halte meinen YubiKey einfach an mein Smartphone. Nachdem die App den YubiKey erkannt hat, klickt in der App oben rechts auf das YubiKey-Menü-Icon und klickt dann auf Set password
:

In dem folgenden Dialog vergebt nun ein sicheres Passwort:

Klickt auf Save
und verbindet dann entsprechend der Aufforderung euren YubiKey wieder mit der App bzw. mit eurem Android-Gerät:

Anschließend ist der Passwortschutz aktiv. Jedes mal wenn ihr euch zukünftig Einmalkennwörter generieren lassen möchtet und euren YubiKey mit der App verbindet, werdet ihr zuerst nach dem gerade eingerichteten Passwort gefragt. Das Passwort selbst ist auch auf dem YubiKey gespeichert und wird unabhängig vom jeweiligen Gerät, mit dem ihr auf die TOTP-Schlüssel zugreifen wollt, immer abgefragt.
TOTP-Schlüssel speichern
Zum Speichern eines TOTP-Schlüssels klickt in der App wieder auf das YubiKey-Menü-Icon und dann auf Add account
. Die App ermöglicht es euch nun einen QR-Code, der den geheimen TOTP-Schlüssel repräsentiert, einzuscannen. Alternativ könnt ihr diesen aber auch manuell eingeben. Als Beispiel verwende ich hierfür die Webseite https://otptest.de.

Bei Bedarf könmnt ihr jetzt noch die Einstellungen des TOTP-Schlüssels bzw. der dazugehörigen Daten anpassen:

Klickt dann auf Save
und verbindet wieder euren YubiKey:

Wenn alles geklappt hat, ist der TOTP-Schlüssel nun sicher auf eurem YubiKey gespeichert.
TOTP-Einmalkennwörter generieren
Beendet und startet die App erneut, so dass wieder der bekannte leere Startbildschirm der App zu sehen ist. Zum Generieren der Einmalkennwörter für eure auf eurem YubiKey gespeicherten TOTP-Schlüssel, verbindet den YubiKey wieder mit eurem Android-Gerät. Ihr solltet nun aufgerfordert werden, euer Passwort einzugeben:

Nach Eingabe des korrekten Passworts werden euch für alle gespeicherten TOTP-Schlüssel die zum Zeitpunkt des Abrufs geültigen Einmalkennwörter angezeigt:

Klickt ihr auf einen Eintrag, gelangt ihr zu erweiterten Optionen, wie z.B. der Möglichkeit zum Löschen eines TOTP-Schlüssels.

Fazit
Ein Hardware-Security-Token, wie z.B. einen YubiKey, eignet sich als portable und sichere Alternative zum Aufbewahren von TOTP-Schlüsseln.