PKI: Backup & Restore des YubiHSM
Im vorherigen Artikel PKI: Verwenden eines HSM wurde eine vollständige PKI inkl. des YubiHSM eingerichtet. Damit ist der HSM-Stick natürlich der sog. „Single Point of Failure“ und sollte zumindest mal sicher aufbewahrt werden (bspw. in einem brandsicheren Safe). Zudem wird empfohlen ein Backup des Sticks zu erstellen.
Es gibt eine Hersteller-Anleitung hierfür, welche drei mögliche Wege beschreibt:
- YubiHSM Shell: zum Sichern und Wiederherstellen
- YubiHSM Setup: zum Sichern und Wiederherstellen
- YubiHSM Key Storage Provider: zum Sichern und Wiederherstellen der Zertifikate und Privaten-Schlüssel
Für mich sieht die Variante über das „YubiHSM Setup“ am einfachsten aus, daher werde ich diese hier kurz an meinem YubiHSM durchführen.
Leider ist die Anleitung aber etwas ungenau bzw. unvollständig. Zur Lösung hat in der weiteren Anleitung Backup and Restore Key Material — YubiHSM 2 User Guide documentation (yubico.com) der Hinweis bei Schritt 7 geholfen:
If the initial authentication key (by default available as ID 0x0001) has been deleted, the new authentication application key is identified with the flag
yubihsm-setup --authkey
.
For example:$ yubihsm-setup --authkey 0x0003 dump
Der Key mit der ID „0x0003“ ist in den Yubico-Anleitungen der „Authentication Application Key“ und somit konnte ich dann wieder den Zusammenhang zu meinen verwendeten Keys herstellen 😉
Zudem hat mir dieser Artikel ebenfalls stark geholfen, zu verstehen, wie ein Backup und Restore funktioniert: Securing cryptographic keys as a case study of the YubiHSM 2 FIPS Hardware Security Module (euro-linux.com)
Backup / Sichern
Der Vorgang zum Sichern ist folgender:
- Starten einer administrativen Eingabeaufforderung und navigieren zum Pfad der Datei „yubihsm-setup.exe“ – bei mir liegt diese im Pfad „C:\Users\Administrator\Downloads\yubihsm2-sdk-2023-11c-windows-amd64\yubihsm2-sdk\bin“
- Mithilfe meines „Authentication Application Key“ zum YubiHSM verbinden und den „dump“-Befehl ausführen:
yubihsm-setup --authkey 0xfa63 dump
- Jetzt das Kennwort für den „Authentication Application Key“ eintragen
- Eintragen welche ID der „wrapped key“ hat; in meinem Fall „0x2261“
- Es werden Objekte gefunden und direkt in den Pfad exportiert, in dem die „yubihsm-setup.exe“ liegt.
Reset des HSM-Moduls
Ein Zurücksetzen auf Werkeinstellungen über die „YubiHSM-Shell“ als Soft-Reset klappt leider nicht, daher musste wie in der Hersteller-Anleitung beschrieben ein Hard-Reset gemacht werden.
Der Soft-Reset hat bei mir nicht funktioniert, weil kein Key bzw. „Account“ mit genügend Rechten vorhanden war. Der Hard-Reset erfolgte durch erneutes Eisntecken des Sticks und dabei dauerhaft auf den Stick hinten draufdrücken (min. 10 Skeunden).
Restore
Für den Restore…
Prüfung
Da beim Restore mit Argument „-d“ aufgerufen wurde, ist der Default-Key nicht gelöscht worden. D.h. als nächstes sollte ein neue Masterkey angelegt und der Default-Key gelöscht werden.