YubiKey 5 NFC und Keepass DX (Android)

Oli_P

Commodore
Registriert
Mai 2006
Beiträge
4.913
Hi,

Nach und nach möchte ich mich verabschieden von Passwörter und Keyfiles (für KeePass 2) und vermehrt auf Hardware-Schlüssel setzen. Aktuell probier ich mal nen YubiKey 5 NFC aus. Der Schlüssel an sich verbindet sich problemlos mit meinem Handy (Android 13) über NFC.
Nun habe ich kdbx-Dateien auf Dropbox liegen, welche ich mit KeePass DX auf dem Handy öffnen will. Eine der Datenbanken ist aktuell mit Master-Passwort und Keyfile verschlüsselt. Möchte die Verschlüsselung ändern in Challenge-Response, um die Datenbank mit dem YubiKey zu öffnen. Das funktioniert sogar, also die Datenbank wird geöffnet. Wenn ich nun dieselbe Datenbank über Dropbox auf meinem PC öffnen will, dann verweigert KeePass 2 den YubiKey.
Ich nehme dieselbe Datenbank auf dem Handy und setz die Verschlüsselung wieder um in Passwort + Keyfile. Danach kann ich diese Datei wieder auf dem Rechner öffnen von Dropbox aus.
Jetzt mach ich dasselbe Spiel auf dem Rechner. Also verschlüssele die gewünschte Datenbank neu mit meinem YubiKey. Die Datenbank lässt sich dann auch so öffnen. Aber dann gehts auf dem Handy nicht mehr :) Der YubiKey wird verweigert (welcher ne Minute vorher am PC noch funktionierte).
Es ist nur challenge-response aktiv für die Datenbank, also kein Master-Passwort (auch kein "leeres"), kein Keyfile... Ich hab den Eindruck, als ob KeePass 2 und KeePass DX nicht 100% kompatibel sind? Oder klappt das synchen irgendwie nicht richtig? Hatte mich schon gefreut, als ich erfuhr dass KeePass DX mit YubiKeys zusammenarbeitet. Bekomm ich mit Keepass2Android nicht hin, da wird noch nicht mal der Schlüssel erkannt. Aber KeePass DX kann das und grundsätzlich funktioniert es auch. Was noch nicht funktioniert, scheint das synchen zu sein? Aber da wurde was gemacht, man sieht dass der Zeitstempel der Datei auf Dropbox sich geändert hat.

Also damit ich die Datenbanken überhaupt öffnen kann in KeePass DX muss ich die Dropbox-App auf dem Handy haben. Die hatt ich vorher noch gar nicht. Man installiert ja die App und kann auf Dropbox zugreifen. So kann ich dann in KeePass DX den Dropbox-Ordner auf dem Handy öffnen, in welchem die Dateien synchronisiert werden, damit man auch offline Zugriff hat.
 
Zuletzt bearbeitet:
Ich habe mich jetzt einmal innerhalb der letzten Stunde durch die GitHub Page und das zugehörige Wiki von KeePassDX gewühlt.

So wie es aussieht, funktioniert es nur mit KeePassXC. KeePass2 dürfte in Verbindung mit dem YubiKey eine andere Methode verwenden, welche lt. KeepassDX Author nicht kompatibel ist.

Hardware Key KeyPassDX Wiki

D.h. mit KeePassXC funktioniert es, mit KeyPass2 nicht.

Ich starte hier jetzt jedoch keine Diskussion über „was ist besser KeePassXC oder KeePass2“. Das funktioniert in etwas gleich gut wie „Intel ist besser als AMD“ oder umgekehrt.
Ohne mich, das muss jeder selbst wissen.
 
Nee, geht sich mir um keine "was ist besser-diskussion". KeePass DX und KeePass 2 können mit YubiKeys umgehen, man muss eine zusätzliche App auf dem Handy vomselben Hersteller installieren (Key Driver). Bei KeePass 2 braucht man spezielle Plugins. Ich hab das probiert und eine Datenbank auf dem Handy in KeePass DX geöffnet, indem ich den YubiKey unten ans Handy hielt. Und auf dem PC hab ich mit KeePass 2 Datenbanken mit YubiKeys und Challenge Response und HOTP geöffnet.
Ich glaub, das Problem ist nicht die App oder der YubiKey. Etwas funktioniert nicht richtig mit dem synchen.
Ich öffne die Datei auf dem Rechner in KeePass 2, aber direkt von Dropbox. Nun ändere ich die Verschlüsselung in Challenge-Response und hinterlege den Secret Key. Danach kann ich die Datenbank am Rechner so öffnen. Am Handy aber nicht. Am Handy muss ich trotz, dass die Datei mit Dropbox synchronisiert sein sollte (ich öffne die Datei ja lokal auf dem Handy), weiterhin Keyfile und Master-Passwort haben. Er hat nicht synchronisiert. Ich muss mir das nochmal genauer anschauen.
Und ja, mit KeePass XC funktionieren auch YubiKeys. Alles schon getestet :) Aber ich mag KeePass XC im allgemeinen weniger als KeePass 2 ;)
 
Zuletzt bearbeitet:
Ich komme zum Schluss, dass in KeePass 2 mit dem YubiKey verschlüsselten Datenbanken sich nicht in KeePass DX öffnen lassen. Ich kann aber Datetnbanken in KeePass DX öffnen mit dem YubiKey, wenn diese auch mit KeePass DX verschlüsselt wurden. Das funktioniert perfekt. Aber das bringt mir ja nix. Ich möchte dieselben Datenbanken geräteunabhängig öffnen können mit demselben YubiKey. Denn bisher wars so, dass wenn ich auf dem Handy eine Änderung in meiner Datenbank mache, dann kann ich später auf dem PC dieselbe Datenbank öffnen und sehe dann auch die Änderungen. Aber bisher hatte ich die Datenbanken auch nicht mit dem YubiKey verschlüsselt. Es funktioniert aktuell nur, wenn ich getrennte Datenbanken für Handy und PC nutze, welche nicht synchronisiert werden. Find ich jetzt blöd. Aber kann auch nicht verstehen, warum das nicht funktioniert. Wird sicherlich eine Erklärung bzw. Lösung dafür geben. Hab mich auch nur ein paar Stunden bisher damit beschäftigt.
Was aber auch komisch ist, diese Datenbank lässt sich von Dropbox auf PC (KeePass 2) und Handy (KeePass DX) öffnen, wenn ich Master-Passwort und Keyfile nutze. So wirds auch aktuell erstmal bleiben. Aber ich versuch natürlich, das Maximum aus dem YubiKey 5 NFC rauszuholen. Ich vermute nun wieder, dass es nix mit dem synchen unter Dropbox zu tun hat, es ist tatsächlich die App schuld. Ich hab noch andere kdbx-Dateien, welche nur mit Challenge-Response verschlüsselt sind und sich alle in KeePass 2 öffnen lassen. Aber diese Datenbanken wurden auch verschlüsselt mit KeePass 2. Aber KeePass DX will diese nicht öffnen. Da ist irgendein Unterschied zwischen KeePass 2 und DX. Hatte noch nen anderen KeePass-Fork für Android gesehen, Kpass oder so. Den schau ich mir als nächstes an.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: taucher65
Okay, habs geschafft :) Aber nicht mit KeePass DX, sondern mit KeePass2Android. Aber auch hier gibst eine kleine Zusatzapp fürs Handy, damit man einen YubiKey nutzen kann. Die App nennt sich ykDroid.
Um eine Datenbank über Dropbox in KeePass2Android zu öffnen, wähl ich für Hauptschlüssel "Passwort und Challenge-Response". Dann Master-Passwort eingeben und unter dem Passwort-Feld ist ein Button "OTP-Hilfsdatei laden". Wenn ich darauf tippe, verlangt KeePass2Android den YubiKey. Man hält den ans Gehäuse, das Smartphone vibriert, zieht den YubiKey weg, drückt ok und ist wieder im Anmeldebildschirm. Nun entsperren drücken und Datenbank ist offen. Jetzt kann ich auch auf dem PC genau dieselbe Datenbank über Dropbox öffnen und mit dem YubiKey + Master-Passwort entsperren. Hab also jetzt 2 Faktoren für meine Handy-Datenbank. Hatte ich aber auch vorher, nur vorher wars ein Keyfile.
Es war tatsächlich die App schuld vorher, das ging echt nicht. Bin jetzt überrascht, dass es KeePass2Android ist, mit welchem ich das Problem schlussendlich doch gelöst hatte. Hatte nicht gedacht dass das geht. Aber die Zusatzapp ykDroid ist wichtig.
Okay, jetzt krieg ich auch andere Dateien aus Dropbox in Keepass2Android geöffnet und nutze den YubiKey zum entsperren. Und diese Dateien sind nur mit Challenge-Response verschlüsselt. Ich vesteh grad nicht, warum das vorher nicht ging. Aber es geht ja jetzt und mein Ziel ist erreicht. Kann kdbx-Dateien von Dropbox auf dem Handy entsperren mit dem YubiKey und dieselbe Datei auch hinterher mit KeePass 2 auf dem Rechner entsperren mit demselben YubiKey :)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: taucher65
Danke für Deinen Beitrag. Ich habe genau dasselbe probiert (KeePass 2, KeePass2Android, neuer Yubikey 5), und kam nicht weiter. Die Lösung war ykDroid: installiert, Handy neu gestartet, und es ging, wie Du beschrieben hast. :) Ich bin nur nicht sicher, ob ich mich darauf verlassen will. Morgen ändert einer was in der Toolchain, und dann?
 
Also solange es funktioniert, nutz ich es auch. Alternative wäre KeePass DX. Da gibts auch ne spezielle App, nur für Yubikeys. Leider ist dieses Feature nicht standardmäßig integriert. Wenn man KeePass XC auf dem Rechner nutzt, dann ist der Yubikey-Support bereits enthalten. In KeePass 1/2 aber nicht. Da muss man dann ein Plugin nachrüsten.
Wie entsperrst du denn die Datenbank? Mit Challenge Response? Ich glaube du hast Bedenken, dass ykDroid plötzlich nicht mehr funktioniert und du deine Datenbank nicht mehr öffnen kannst. Aber wenn du KeePass 2 auf dem Rechner nutzt, dann kannste deine Datenbank dort öffnen und wenn nötig neu verschlüsseln. Da brauchste dann das Plugin KeeChallenge.
Und es gibt noch ne andere Option, hatt ich ganz vergessen... ich glaub, du kannst in KeePass2Android den Secret Key (den für Challenge Response) eingeben um die Datenbank zu öffnen. Diesen Code musste natürlich irgendwo zusätzlich (an sicherer Stelle) notieren, bevor dieser für immer im Yubikey verschwindet ;) Es gibt in KeePass2Android den Recovery Mode, da muss der Secret Key rein und die Datenbank ist auf. Unter KeePass 2 geht das auch. Also du brauchst nicht zwangsläuftig den Yubikey und das Plugin ykDroid.
 
Zuletzt bearbeitet:
Ich werde mir erstmal eine Kopie der Keepass-Datei auf einen Stick machen, und die händisch synchronisiert halten, also nie live benutzen. Und dann mal das Original mit Yubikey ausprobieren. Mal sehen.
Ja, es ist Challenge Response.

ykDroid ist z.B. eine Sache, die mich sorgt. Vielleicht wirklich unfair, es ging ja nur damit!! Thanks to Yussuf Khalil.
Die Toolchain von Yubikey (deren AuthenticatorApp will auch die Kontrolle) über Keypass (welcher fork), KeyPass2Android (welche Android-App genau), ykDroid und Windows und Android ist schon komplex. Das sorgt mich.
Mir ist es schon mal passiert, dass ich eine Windows-Anwendung einstampfen musste, weil ein Android-Update oder die App selber die Synchronisierung einer Datei zwischen Android und Windows via FTP nicht mehr unterstützt hat. Das hatte mit GTD (Getting Things Done) zu tun, ich wollte dafür ein Windows GUI für bauen. Dann wurden die Android-Apps nicht mehr unterstützt, also wen soll ich fragen, ob SFTP vielleicht ginge.

Aber Du hast schon recht: im Notfall kann ich's auf Android einfach vergessen, und auf Windows weiter benutzen. Oder erstmal diesen Recovery-Mode ausprobieren.
 
Ja, immer mit Kopien experimentieren. Mach ich auch :) Manchmal erstelle ich auch ne kdbx-Datei nur zum experimentieren.
Es wäre schön, wenn KeePass2Android den Yubikey-Support integrieren würde. Vielleicht kommt das ja noch. Ich nutz auch ungern noch Zusatztools. Nur wie du schon bemerkt hast, ohne ykDroid ist der Yubikey-Einsatz nicht möglich in KeePass2Android.
Bei KeePass können die individuellen Konfigurationen schnell ausarten. Ist eher für IT-affine Menschen gemacht. Aber du weisst immer, warum etwas funktioniert oder nicht. Weil du alles selber machst.

Wichtig ist, dass du immer an deine Daten rankommst. Auch wenn plötzlich mal der Yubikey nicht verfügbar ist.

Du kannst natürlich deine Datenbank auch über Handy weiter nutzen. Wenn diese aus irgendeinem Grund nicht mehr mit dem YubiKey funktioniert, dann mit KeePass 2 die Datenbank entschlüsseln mit dem Yubikey und dann neu verschlüsseln ohne den Yubikey. Musste dann halt mit Master Passwort und/oder Keyfile auf dem Handy hantieren. Das ist aber natürlich weit weniger elegant und wenn man schon den Yubikey hat, will man den auch nutzen :) Ich würd mir jetzt erstmal nicht zu viel Sorgen machen, dass die App ykDroid plötzlich nicht mehr funktioniert und diese einfach nutzen. Und vielleicht auch hoffen, dass bei kommenden Versionen von KeePass2Android der Yubikey-Support kommt.
 
Zuletzt bearbeitet:
Zurück
Oben