Moderne Linux Distributionen mit systemd Version 2.48+ können auch PKCS#11 Token zum Entsperren von LUKS Containern verwenden, wenn das Token die PIV Erweiterung unterstützt.
Zuerst ist das PKCS#11 Token vorzubereiten (RSA Schlüsselpaar erzeugen, PINs ändern…)
Im nächsten Schritt erstellt man den LUKS2(!) Container (USB-Stick, verschlüsselte Partition oder Containerdatei) und schützt ihn mit einer echt knackigen, starken Passphrase:
> sudo cryptsetup luksFormat --type luks2 <device>Hinweis: Container im älteren LUKS1 Format können nicht mit FIDO2 Token geöffnet werden. Man könnte versuchen, einen vorhandenen LUKS1 Container nach LUKS2 zu konvertieren:
> sudo cryptsetup convert --type luks2 <device>Im nächsten Schritt wird ein PKCS#11 Token zum Öffnen des Containers hinzugefügt. Das Token muss dabei eingesteckt sein:
> sudo systemd-cryptenroll --pkcs11-token-uri=auto <device> Es können nacheinander mehrere Token hinzugefügt werden oder alle gleichzeitig mit: > sudo systemd-cryptenroll --pkcs11-token-uri=list <device>Wenn man eine im Laptop oder PC fest eingebaute verschlüsselte Festplatte standardmäßig mit einem FIDO2 Token öffnen möchte, kann man in der Datei /etc/crypttab für das Device in der vierten Spalte die Option "pkcs11-uri" einfügen:
<Name> <Gerät> - luks,pkcs11-uri=auto...Wenn es sich dabei um die verschlüsselte root Partition handelt, muss abschließend noch das Bootimage neu gebaut werden:
> sudo update-initramfs -uZukünftig muss man keine hochkomplizierte Passphrase mehr eintippen sondern steckt beim Booten einfach das PKCS#11 Token rein, das man natürlich nicht verlieren darf.
Wenn ein Token verloren geht, muss man es natürlich entfernen. Das folgende Kommando löscht alle PKCS#11 Token. die für den LUKS2 Container authorisiert wurden:
> sudo systemd-cryptenroll --wipe-slot=pkcs11 <device> Die weiterhin gültigen Token kann man danach wieder hinzufügen. Das Löschen und Hinzufügen der weiterhin gültigen PKCS\#11 Token kann auch hier mit einem Kommando erfolgen. Die gültigen Token müssen dabei angeschlossen sein: > sudo systemd-cryptenroll --wipe-slot=pkcs11 --pkcs11-token-uri=list <device>