Passwort-Manager KeePassXC (Linux) und KeePassDX (Android) mit YubiKey verwenden

Der Passwort-Manager KeePassXC hatte schon länger die Möglichkeit angeboten, die Passwort-Datenbank zusätzlich zum Passwort mittels YubiKey abzusichern. Hierbei kommt das YubiKey-Challenge-Response-Verfahren auf Basis von HMAC-SHA1 zum Einsatz. Leider unterstützte das die mobile Android-Variante KeePassDX lange Zeit nicht. Seit Version 3.5.0 kann nun auch KeePassDX mit YubiKey abgesicherten Datenbanken umgehen. Allerdings wird hierfür eine weitere App namens Key Driver benötigt. Derzeit ist diese anscheinend nicht über F-Droid, sondern nur über den Google Play Store verfügbar. Wie eine neue oder bestehende Datenbank mit YubiKey-Challenge-Response erstellt bzw. angepasst werden kann, zeige ich euch in diesem Beitrag.

Folgende Software bzw. Hardware wurde verwendet:
  • VM mit Debian v11 (Bullseye)
  • KeePassXC v2.6.2
  • YubiKey 5C NFC (Firmware: v5.4.3)
  • Sony Xperia XA2 mit LineageOS v19.1
  • KeePassDX v3.5.0 (F-Droid-Version)
  • Kee Driver v0.1.7

Voraussetzungen

Euer YubiKey sollte die HMAC-SHA1-Challenge-Response-Funktion in "Slot 1" oder "Slot 2" aktiviert haben. Des Weiteren solltet ihr auf eurem Rechner KeePassXC und auf eurem Android-Gerät KeePassDX inkl. Key Driver installiert haben.

Passwort-Datenbank mit YubiKey absichern

Die folgenden Beschreibungen beziehen sich auf KeePassDX, welches ich zum Erstellen/Anpassen einer neuen/bestehenden Datenbank verwendet habe.

Neue Datenbank erstellen

Solltet ihr noch keine KeePassDX/XC-Datenbank haben, erstellt euch eine neue Datenbank. Folgt den Anweisungen von KeePassDX bis zum Schritt "Datenbank-Anmeldedaten". Nachdem ihr euer Passwort eingegeben habt, klickt auf Zusätzlichen Schutz hinzufügen und weiter unten dann auf YubiKey-Challenge-Response hinzufügen. Wenn euer YubiKey entsprechend eingesteckt und konfiguriert ist, solltet dieser hier zur Auswahl stehen. Anschließend klickt auf Fertig um die Datenbankerstellung abzuschließen.

KeePassDX: Datenbank mit YubiKey-Challenge-Response erstellen

Für den Fall, dass ihr euren YubiKey so konfiguriert habt, dass die Aktion mit einer Berührung des Touch-Sensors des YubiKeys bestätigt werden muss, zeigt euch KeePassDX das an:

KeePassDX: Datenbank mit YubiKey-Challenge-Response absichern

Bestehende Datenbank anpassen

Möchtet ihr eine bestehende Datenbank mit eurem YubiKey absichern, dann öffnet als erstes eure Passwort-Datenbank. Danach klickt im Menü auf Datenbank - Datenbank-Einstellungen. Hier wählt den Reiter Sicherheit und fügt euren YubiKey hinzu:

KeePassDX: Datenbank um YubiKey-Challenge-Response erweitern

Datenbank mit Passwort & YubiKey öffnen

Von nun an müsst ihr beim Öffnen eurer Datenbank nebst Passwort euren YubiKey als Hardwareschlüssel auswählen:

KeePassDX: Datenbank mit Passwort & YubiKey entsperren

Datenbank unter Android mit KeePassDX öffnen

Ihr könnt nun eure mit eurem YubiKey abgesicherte Passwort-Datenbank auf euer Android-Gerät (z.B. Smartphone) übertragen.

Hinweis Datenbank zw. Rechner und Android-Gerät synchroniseren

Zum sicheren Synchronisieren der Passwort-Datenbank eignet sich bspw. Syncthing.

Öffnet KeePassDX und wählt eure Passwort-Datenbank aus:

KeePassDX: Passwort-Datenbank auswählen

Wie auf eurem Rechner mit KeePassXC gebt ihr nun auch hier euer Passwort an und aktiivert die Hardwareschlüssel-Option mit der Auswahl YubiKey challenge-response:

KeePassDX: Datenbank mit Passwort & YubiKey öffnen

Nach einem Klick auf Öffnen, werdet ihr aufgefordert euren YubiKey - entweder per USB oder per NFC - mit eurem Gerät zu verbinden.

KeePassDX: Datenbank mit Passwort & YubiKey öffnen

Anschließend entsperrt KeePassDX eure Datenbank und ihr könnt sie ganz normal verwenden.

Fazit

Eine mit KeePassXC erzeugte Datenbank, die ihr mit eurem YubiKey abgesichert habt, könnt ihr nun auch unter Android mit KeePassDX verwenden und entsperrren.

Feedback

Für Feedback zum Beitrag, seien es Fragen, Korrigierungen und/oder Anregungen, könnt ihr mir gerne eine Nachricht per E-Mail oder Mastodon schreiben (siehe Kontakt).