Skip to content

Disk Encryption ​

WARNING

This page is work in progress and more details are needed. There is no open issue regarding encryption on GitLab.

Encryption ​

Disk encryption protects data when the device is off. LUKS2 is used to encrypt disks, allowing full-disk encryption (FDE).

Setting up LUKS2 FDE ​

Kickstart is a config file, which works with Anaconda to instal the system. The kickstart config file (config.toml) partitions the disks and sets up FDE (the /boot partition remains unencrypted).

Unlocking LUKS2 volumes ​

LUKS2 volumes can be unlocked by a passphrase or hardware security tokens. By default, it can be unlocked using a passphrase. The default passpharse of the LUKS2 volume is euos. The default LUKS2 passphrase can be changed after installation, however as the project progresses, a strong passphrase could be generated during partitioning. Hadware security keys serve as an alternative to passphrases and are very convenient. systemd-cryptenroll is used to enroll hardware security tokens, such as TPM, FIDO2 and PKCS#11 devices. Currently, FIDO2 is supported to unlock the LUKS2 FDE volume at boot.

Enroll your FIDO2 device: ​

sudo systemd-cryptenroll --fido2-device auto /dev/<device, i.e. nvme0n1p3>

Add kernel argument to tell the initrd to use FIDO2: ​

sudo rpm-ostree kargs --append rd.luks.options=<LUKS device ID>=discard,fido2-device=auto