Der Yubikey im Praxiseinsatz


Seit ein paar Jahren besitze ich einen Yubikey Neo - einen USB- und NFC-kompatiblen Hardware Security Token, den ich in Kombination mit regul├Ąren Passw├Ârtern zum Schutz von Zugangsdaten und Account einsetze. In einem fr├╝heren Beitrag habe ich bereits die verschiedenen Betriebsmodi des Yubikeys beschrieben. In diesem Beitrag will ich einen kleinen Einblick geben, wie ich mit dem Yubikey arbeite und wof├╝r ich ihn einsetze.

Einsatzzwecke

In der letzten Jahren haben sich die Einsatzm├Âglichkeiten f├╝r Yubikeys im speziellen und Hardwaretokens im allgemeinen etwas verbessert. W├Ąhrend Zwei-Faktor-Authentifizierung vor allem im Consumer-Bereich so gut wie gar nicht zu finden war, kann man sich bei gr├Â├čeren Softwarekonzernen und einigen Security-Tools mittlerweile sicher anmelden.

Absicherung Logins

Mit U2F

U2F ist vor allem f├╝r das Web entwickelt. Die Verbreitung l├Ąsst zwar immer noch zu W├╝nschen ├╝brig (man sagt, die Implementierung sei wohl recht komplex), aber ein paar der von mir genutzten Services unterst├╝tzen das moderne, einfach zu nutzende Verfahren bereits. Dazu geh├Ârt neben GitHub und Google auch die frei verf├╝gbare Git-Hostingsoftware “Gitea”.

Mit TOTP

Der von mir am meisten eingesetzte Mechanismus ist TOTP: Einfach deshalb, weil er von viel mehr Diensten unterst├╝tzt wird, als das neuere U2F. Zu den von mir genutzten Anbietern geh├Âren core-networks.de, Hetzner Online, bitcoin.de, servercow.de und Mastodon. Auch Google und GitHub habe ich zus├Ątzlich ├╝ber TOTP abgesichert - wer wei├č schon, wann ich das n├Ąchste mal vor einem Rechner sitze, der kein U2F versteht … ;-)

Absicherung Passwortdatenbank

Die Absicherung meines Passwortsafes geschieht ├╝ber den Challenge-Response-Mechanismus des Yubikeys. ├ťber USB oder NFC wird eine sog. “Challenge” an den Key ├╝bertragen. Der Key tr├Ągt ein Secret in sich, und ist damit in der Lage, die Challenge zu beantworten und das korrekte Ergebnis zur├╝ckzusenden.

Unter Linux nutze ich den Yubikey-kompatiblen Passwortmanager KeePassXC. Er ist eine Neuimplementierung von KeePass und verf├╝gt im Vergleich zu seinem Vorg├Ąnger ├╝ber einige erweiterte Funktionen. Meine vorherige KeePassX-Datenbank konnte ich in KeePassXC ├Âffnen und einen neuen Masterschl├╝ssel festlegen: Eine Kombination aus Passwort und Challenge-Reponse-Verfahren mit dem Yubikey. Die Einrichtung ist selberkl├Ąrend.

Damit ich auch unterwegs Zugriff auf wichtige Zugangsdaten habe, nutze ich auf meinem Android-Smartphone die App “Keepass2Android. Sie unterst├╝tzt ebenfalls das Challenge-Reponse-Verfahren. In der neuesten Beta-Version (Stand Juli 2018) auch ├╝ber NFC mit dem Yubikey. Erw├Ąhnenswert bzgl. der Einrichtung ist, dass die Schl├╝sselableitung mittels Argon2-Verfahren durchgef├╝hrt werden muss. Die Einstellung kann in der KeePassXC-Anwendung in den Verschl├╝sselungseinstellungen der Datenbank festgelegt werden. Wird ein anderer Algorithmus genutzt, ist KeePass2Android nicht in der Lage, mittels Yubikey/NFC zu entschl├╝sseln.

KeePassXC Screenshot

Ein Backup des Yubikeys erstellen

Da eine der wichtigsten Eingenschaften eines Hardware Security Tokens ist, nicht kopierbar zu sein, muss man ein paar Umwege gehen, wenn man bei Verlust ein weiteres Exemplar in der Hinterhand haben will.

Bei U2F und TOTP gilt: Man registriert sich einfach mit beiden Keys. Bei U2f ist das einfacher, weil man beim Anbieter einfach einen weiteren Key hinterlegt. Bei TOTP meistens etwas aufw├Ąndiger, denn normalerweise wird hier nur ein Secret einmalig herausgegeben und die Einrichtung eines weiteren Ger├Ąts wird nicht unterst├╝tzt. Das bedeutet, man muss wie folgt vorgehen:

  1. Bei dem betreffenden Service einloggen.
  2. Evtl. vorhandene 2-Faktor-Authentifizierung deaktivieren
  3. 2FA neu einrichten: Secret als Zeichenkette oder QR-Code auf beiden Keys simultan einrichten

Was die Challenge-Response-Funktion angeht, ist der Prozess je nach aktueller Nutzung mehr oder weniger aufwendig. Die schlechte Nachricht vorweg: Wer bereits einen Yubikey mit Challenge Response im Einsatz hat, muss den Mechanismus zuvor ├╝berall deaktivieren - zumindest gilt das f├╝r die meisten Anwendungen, da sie nur einen Key unterst├╝tzen.

Damit man beide Keys nutzen kann, muss das interne Secret bei beiden Keys n├Ąmlich dasselbe sein. Nun hat man nat├╝rlich nicht die M├Âglichkeit, einfach zu kopieren - das hei├čt: Wir m├╝ssen ein neues Secret f├╝r beide Schl├╝ssel setzen. (Und deshalb kann man sich mit einem evtl. vorher genutzten Key nicht mehr einloggen!)

Das Yubikey Personalization Tool unterst├╝tzt die Einrichtung ein und desselben Secrets auf mehreren Schl├╝sseln. Eine Anleitung gibt es hier: https://www.yubico.com/wp-content/uploads/2016/06/YubiKey_Identical_Credentials_ConfigGuide_en.pdf

Sobald auf beiden Keys dasselbe Secret vorhanden ist, kann einer der Keys wieder mit allen Anwendungen verkn├╝pft werden, die mit dem Challenge-Response-Verfahren arbeiten. Der zweite Key wird danach ebenso funktionieren.

Fazit

Mit meinem Yubikey kann ich mittlerweile meine wichtigsten Zug├Ąnge absichern. Vor allem die Kombination von KeePassXC und dem Yubikey im Challenge-Response-Modus gef├Ąllt mir gut. Ich w├╝rde mir jedoch noch mehr Support f├╝r die U2F-Anmeldung im Web w├╝nschen. Alle modernen Browser sind bereits kompatibel - jetzt liegt es nur noch an den Web Services, U2F in ihren Loginsystem zu verankern.