Anleitung zum Entsperren der LUKS Boot Partition mit einem FIDO2 Stick auf einer Fedora Silverblue Installation.>
Jeder Rechner sollte verschlüsselt sein, nur autorisierte Personen sollen Zugriff haben. Doch was ist der Schlüssel? Bisher arbeitete ich mit einem Passwort, welches ich zu Bootzeit eingebe. Die Länge ist dabei auf den menschlichen Faktor begrenzt:
- Ich kann mir nur eine begrenzte Folge an Ziffern merken
- Ich habe nicht die Geduld lange Passwörter einzugeben
- Ich bin faul
Gut geschützt kann man das dabei nicht nennen.
Aktuell verwende ich meinen YubiKey zum Entsperren meines Rechners, wie ich das umgesetzt habe zeige ich im folgenden Beitrag.
Zuerst benötigt die Anwenderin das Paket: fido2-tools
Sollte der FIDO2-Stick noch keinen Pin besitzen, so muss dieser zuerst gesetzt werden. Ohne Pin wird dieser auch nicht abgefragt. Möchte man einen anderen Pin setzen muss der FIDO2-Stick zurückgesetzt werden.
Zuerst wird der Pfad des FIDO-2Sticks mit sudo fido2-token -L abgefragt:
/dev/hidraw3: Hersteller=0xXXXX, Produkt=0xXXXX (Yubico YubiKey OTP+FIDO+CCID)
Mit dem Befehl sudo fido2-token -S /dev/hidraw3 wird der Pin gespeichert. Dieser wird zwar nicht benötigt, sollte aber der Rechner und der Token entwendet oder verloren gehen, so besitzt die Angreiferin alle notwendigen Mittel.
Am einfachsten ist es, dass nur der FIDO2-Stick angeschlossen ist, der verwendet werden soll. Mit dem folgenden Befehl werden:
- --wipe-slot=fido2: Bestehende FIDO2 Sticks werden aus dem LUKS Datenträger gelöscht
- --fido2-device=auto: Nur ein Token darf angeschlossen sein, dieser wird automatisch selektiert
- --fido2-with-user-presence yes: Man muss mit dem Stick interagieren (die Präsenztaste betätigen)
- --fido2-with-client-pin yes: Ein Pin wird zusätzlich beim Booten verlangt
- --fido2-with-user-verification no: Kein zusätzliches Passwort wird benötigt
sudo systemd-cryptenroll --wipe-slot=fido2 --fido2-device=auto --fido2-with-user-presence yes --fido2-with-client-pin yes --fido2-with-user-verification no /dev/sdYX
Der abschließende Parameter beschreibt die Partition X auf dem Laufwerk Y, die zum Bootzeitpunkt entsperrt werden muss.
Vollständige Auflistung aller Eingaben
Anschließend muss in der Datei /etc/crypttab die Verwendung des FIDO2-Sticks aktiviert werden:
Auszug aus meinem crypttab:
luks-xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxx-xxxxxxxxxxxx none discard,fido2-device=auto
Damit lässt sich die Festplatte nicht nur durch das Passwort öffnen, sondern auch nur den FIDO2-Stick. Soll dies nur noch durch den FIDO2-Stick möglich sein, so muss zusätzlich der LUKS-Container darüber informiert werden:
sudo cryptsetup open --type luks --token-only DEVICE NAME
Schlußendlich muß das Initramfs die Informationen übernehmen, sonst funktioniert der nächste Start nicht mehr bzw. nur mit dem bisherigen Passwort.
Da ich ein Fedora-Silverblue Nutzer bin, muss ich das Initramfs mit FIDO2 Unterstützung ausstatten:
echo "add_dracutmodules+=" fido2 "" | sudo tee /etc/dracut.conf.d/fido2.conf
Das Initramfs muss (einmalig) darüber informiert werden, dass es jetzt FIDO2-Sticks zu unterstützen hat:
sudo rpm-ostree initramfs --enable --arg=f
Ich habe festgestellt, dass für die Nutzung des FIDO2-Sticks dieser vor dem Starten angeschlossen werden muss. Fehlt dieser, so wird er bei der Abfrage nicht mehr gefunden. Statt dem Passwort wird die Pin eingegeben, danach kommt die Prä:senzerkennung durch den YubiKey.
Hauptbild: Silberfuchs
Quelle: Handbuch zum Datenschutz
 
				
