YubiKey 5C NFC für Challenge-Response

YubiKey 5C NFC für Challenge-Response

6. Juni 2026 19:03 · Security


Der YubiKey 5C NFC kann sehr viel: Passkeys, FIDO2, PIV, OpenPGP, OTP, Zertifikate und noch ein paar Spezialfälle.

Für den Einstieg würde ich trotzdem nicht alles gleichzeitig anfassen. Der praktischste erste Schritt ist aus meiner Sicht:

  • KeePassXC am Rechner mit YubiKey absichern
  • dieselbe Datenbank auf dem iPhone mit KeePassium öffnen können
  • mindestens einen zweiten YubiKey als echtes Backup vorbereiten

Es geht hier also bewusst nur um HMAC-SHA1 Challenge-Response für KeePassXC und KeePassium. Nicht um Passkeys, nicht um SSH, nicht um PIV und nicht um OpenPGP.

Warum mindestens zwei YubiKeys Pflicht sind

Bei KeePassXC Challenge-Response wird deine Datenbank nicht einfach nur mit Passwort geöffnet. KeePassXC erzeugt zusätzlich eine Challenge, der YubiKey berechnet daraus eine Antwort, und diese Antwort fließt in das Öffnen der Datenbank ein.

Das ist ein guter zusätzlicher Schutz. Eine kopierte .kdbx-Datei reicht dann nicht mehr aus.

Der Preis ist aber klar: Wenn der einzige passende YubiKey weg ist, defekt ist oder überschrieben wurde, kommst du an die Datenbank nicht mehr heran.

Deshalb ist ein einzelner YubiKey für dieses Setup keine gute Idee. Mein Mindeststandard wäre:

  • Key A: Alltag, am Schlüsselbund
  • Key B: Backup, sicher gelagert
  • optional Key C: zweites Backup an einem getrennten Ort

Wichtig ist: Der Backup-Key muss nicht nur herumliegen. Er muss mit demselben Challenge-Response-Secret eingerichtet und mit derselben Datenbank getestet sein.

Was KeePassXC und KeePassium wirklich brauchen

KeePassXC und KeePassium nutzen den YubiKey hier nicht als Passkey und auch nicht als klassische Zwei-Faktor-Anmeldung bei einem Server. Es geht um die OTP-Anwendung des YubiKey, genauer um einen Slot im Modus:

HMAC-SHA1 Challenge-Response

Pragmatische Slot-Regel:

  • Slot 2 für KeePassXC/KeePassium reservieren
  • Require touch aktivieren
  • dasselbe Secret auf alle Backup-Keys schreiben
  • nach der Einrichtung jeden Key mit derselben Datenbank testen

Slot 2 ist keine magische Pflicht, aber er ist eine gute Konvention. Slot 1 ist bei manchen Setups schon belegt oder historisch für andere OTP-Nutzung vorgesehen.

Vorbereitung

Du brauchst am Rechner:

  • KeePassXC
  • YubiKey Manager oder ykman
  • mindestens zwei YubiKeys aus der 5er-Serie, hier konkret YubiKey 5C NFC

Unter macOS mit Homebrew:

brew install ykman

Unter Debian oder Ubuntu:

sudo apt install yubikey-manager

Danach pro Stick einmal prüfen:

ykman info

Notiere dir dabei mindestens:

  • Seriennummer
  • Rolle, also Key A oder Key B
  • wo der Backup-Key liegt
  • welcher Slot für KeePassXC verwendet wurde

Das muss keine große Inventarlösung sein. Eine saubere Notiz reicht.

Das gemeinsame Secret erzeugen

Der wichtigste Punkt: Für mehrere austauschbare YubiKeys darfst du nicht auf jedem Stick separat ein neues Secret erzeugen.

Du erzeugst einmal ein Secret und schreibst exakt dieses Secret auf alle vorgesehenen YubiKeys. Nur dann können alle Keys dieselbe KeePassXC-Datenbank öffnen.

Ein mögliches Secret mit 20 Byte:

head -c 20 /dev/urandom > yubikey-secret.bin
xxd -p -c 256 yubikey-secret.bin

Die Ausgabe sieht zum Beispiel so aus:

0123456789abcdef0123456789abcdef01234567

Das ist nur ein Beispiel. Den echten Wert nicht veröffentlichen, nicht in Screenshots zeigen und nicht in dieselbe KeePass-Datenbank legen, die später genau von diesem Secret abhängt.

Key A beschreiben

Stecke zuerst nur den ersten YubiKey ein. Dann schreibst du das Secret in Slot 2:

ykman otp chalresp --touch 2 0123456789abcdef0123456789abcdef01234567

Wenn du direkt aus der Datei schreiben willst:

ykman otp chalresp --touch 2 "$(xxd -p -c 256 yubikey-secret.bin)"

--touch ist wichtig. Damit muss der YubiKey bei jeder Nutzung berührt werden. Das verhindert, dass eine App im Hintergrund unbemerkt mit dem Key sprechen kann.

Key B mit demselben Secret beschreiben

Jetzt Key A abziehen, Key B einstecken und denselben Befehl mit demselben Secret ausführen:

ykman otp chalresp --touch 2 "$(xxd -p -c 256 yubikey-secret.bin)"

Bei einem dritten Key wiederholst du genau das.

Wenn mehrere YubiKeys gleichzeitig angeschlossen sind, arbeite besser gezielt über die Seriennummer:

ykman --device <SERIENNUMMER> otp chalresp --touch 2 "$(xxd -p -c 256 yubikey-secret.bin)"

Der relevante Punkt ist nicht der konkrete Befehl. Der relevante Punkt ist:

  • gleicher Slot
  • gleicher Secret-Wert
  • Touch aktiviert
  • jeder Key wird danach wirklich getestet

OTP für NFC nicht vergessen

Für KeePassium auf dem iPhone ist beim YubiKey 5C NFC die NFC-Seite wichtig. Prüfe deshalb im YubiKey Manager unter den Interfaces, dass die OTP-Anwendung für NFC aktiviert ist.

Sonst kann es passieren, dass der Key am Rechner funktioniert, aber KeePassium auf dem iPhone nichts damit anfangen kann.

Wichtig außerdem: Die YubiKey Security Key Serie und die YubiKey Bio Serie sind für dieses konkrete Challenge-Response-Setup nicht geeignet, weil ihnen diese Funktion fehlt. Für diesen Beitrag geht es ausdrücklich um die 5er-Serie.

KeePassXC mit dem YubiKey verknüpfen

Jetzt öffnest du deine KeePassXC-Datenbank und gehst zu:

Datenbank -> Datenbanksicherheit -> Zusätzlichen Schutz hinzufügen -> Challenge-Response

Dort wählst du den YubiKey beziehungsweise den passenden Slot aus, bestätigst und speicherst die Datenbank.

Ab diesem Moment reicht das Master-Passwort allein nicht mehr. Zum Öffnen brauchst du zusätzlich einen passenden YubiKey mit demselben Challenge-Response-Secret.

Sofort mit allen Keys testen

Nach der Einrichtung nicht raten, sondern testen:

  1. Datenbank schließen
  2. mit Key A öffnen
  3. KeePassXC wieder schließen
  4. mit Key B öffnen
  5. optional mit Key C wiederholen

Erst wenn das funktioniert, hast du ein echtes Backup. Vorher hast du nur einen zweiten Stick, von dem du hoffst, dass er funktioniert.

KeePassium auf iOS testen

KeePassium ist für dieses Setup interessant, weil es mit der KeePassXC-Variante von YubiKey Challenge-Response kompatibel ist.

Auf dem iPhone läuft das mit dem YubiKey 5C NFC praktisch über NFC:

  1. .kdbx in KeePassium öffnen
  2. Master-Passwort eingeben
  3. bei der YubiKey-Abfrage den Key an die NFC-Position des iPhones halten
  4. den YubiKey berühren, wenn KeePassium danach fragt

Danach denselben Test mit dem Backup-Key machen. Auch hier gilt: Ein Backup-Key, der nur am Desktop getestet wurde, ist noch kein vollständig getestetes mobiles Backup.

Bei USB-C auf iPhone und iPad sollte man die KeePassium-Kompatibilitätsmatrix prüfen. Challenge-Response über die USB-Seite eines YubiKeys ist unter iOS/iPadOS nicht pauschal dasselbe wie am Desktop. Mit dem 5C NFC ist NFC auf dem iPhone der naheliegende Weg.

Was mit yubikey-secret.bin passieren sollte

Die Datei yubikey-secret.bin ist extrem sensibel. Wer diesen Wert kennt, kann einen weiteren YubiKey für dieselbe Datenbank vorbereiten.

Du hast nach erfolgreichem Test zwei sinnvolle Optionen:

  • Secret sicher getrennt als Recovery-Information aufbewahren
  • Secret nach dem Einrichten und Testen aller Keys löschen

Nicht sinnvoll ist:

  • Secret unverschlüsselt im Arbeitsverzeichnis liegen lassen
  • Secret in Screenshots zeigen
  • Secret nur in genau der KeePass-Datenbank speichern, die ohne YubiKey nicht mehr aufgeht

Wenn du das Secret aufbewahrst, dann getrennt und nachvollziehbar geschützt. Wenn du es löschst, dann erst nachdem Key A und Key B wirklich mit KeePassXC und KeePassium getestet wurden.

Mein schlanker Mindeststandard

Für dieses Setup würde ich am Ende genau diese Punkte abhaken:

  • mindestens zwei YubiKey 5C NFC vorhanden
  • Slot 2 auf allen Keys mit demselben Secret eingerichtet
  • Touch ist aktiv
  • OTP ist für NFC aktiv
  • KeePassXC-Datenbank öffnet mit Key A und Key B
  • KeePassium auf dem iPhone öffnet die Datenbank mit Key A und Key B
  • Lagerort und Rolle der Keys sind dokumentiert
  • Entscheidung zum Secret ist dokumentiert

Mehr braucht es für den ersten Schritt nicht.

Fazit

YubiKeys werden schnell kompliziert, wenn man direkt alle Funktionen gleichzeitig konfigurieren will. Für den Anfang reicht ein enger, sauber getesteter Anwendungsfall:

KeePassXC am Desktop und KeePassium auf dem iPhone mit YubiKey Challenge-Response absichern.

Der eigentliche Sicherheitsgewinn entsteht dabei nicht durch möglichst viele YubiKey-Features. Er entsteht durch ein schlichtes, robustes Setup: mehrere identisch vorbereitete Keys, Touch-Pflicht, NFC-Test auf iOS und eine klare Recovery-Entscheidung.

Danach kann man immer noch Passkeys, SSH, PIV oder OpenPGP angehen. Aber der Passworttresor steht dann schon auf einem deutlich besseren Fundament.

Quellen und weiterführende Hinweise

  • KeePassXC-Dokumentation zu YubiKey/Challenge-Response: https://keepassxc.org/docs/
  • KeePassium YubiKey Setup Guide: https://support.keepassium.com/kb/yubikey-setup/
  • KeePassium Kompatibilität mit YubiKeys und Apple-Geräten: https://support.keepassium.com/kb/yubikey-compatibility/
0 💬 0 🔁 0 ⭐