In einem älteren Beitrag hatte ich bereits beschrieben, wie ich mittels systemd-ukify sogenannte Unified Kernel Images (UKIs) zum Booten meines Arch-Linux-Systems erstelle. Die so generierten UKIs wurden dabei mit meinem eigenen UEFI-Secure-Boot-Schlüssel signiert. Dabei befand sich der private Secure-Boot-Schlüssel jedoch auf meinem System selbst, wobei dieser aber natürlich nur für den Root-Benutzer lesbar ist.
Eine andere Möglichkeit ist es, den privaten Secure-Boot-Schlüssel (konkret geht es um den Signature Database Key) auf einem Hardware-Security-Token, wie z.B. einem YubiKey, zu speichern. Der Vorteil besteht darin, dass der private Schlüssel sich nicht direkt auf dem eigentlichen System befindet und ein Zugriff auf den privaten Schlüssel erschwert wird bzw. ein Auslesen generell beim YubiKey nicht möglich ist. Die Kommunikation zwischen systemd-ukify (intern eigentlich sbsign) und YubiKey findet über die PKCS#11-Schnittstelle statt.