Linux : Full Disk Encryption - fit-PC wiki
▻https://www.fit-pc.com/wiki/index.php?title=Linux:_Full_Disk_Encryption
The idea is to encrypt a partition with root filesystem using LUKS and store the keys in the TPM.
During boot user does not have to enter a decryption password, partition will be automatically decrypted using the keys from TPM.
It’s a open-source alternative to Windows BitLocker.
LUKS (Linux Unified Key Setup) - is a full volume encryption feature, the standard for Linux hard disk encryption
TPM (Trusted Platform Module) - is dedicated micro-controller designed to secure hardware through integrated cryptographic keys
Dans le cadre d’une recherche pour parvenir à automatiser le chiffrage d’un système Linux pour un serveur, c’est le seul site qui m’a permis d’aboutir. Je suis surpris que ça ne soit pas plus recherché/publié, comme solution. Sans doute parce qu’en définitive, c’est trivial. Quoique.
Mon besoin précis est de permettre que le système démarre sans nécessité de taper une passphrase sur la console, tout en s’assurant néanmoins que les données sont toutes bien chiffrées.
Là, nous travaillons sur une Debian Buster, la version stable. Et l’article cité travaille avec Buster, quand celle-ci était encore en testing. Il y a donc au moins un an. Depuis, la nécessité de patcher un fichier de clevis reste impérative.
De plus, la nécessité de disposer d’un système installé en anglais reste impérative, ça n’est pas indiqué dans cet article, mais c’est le fait que j’ai commencé à tenter d’utiliser tpm sur un système en français, et que la commande « clevis luks bind » me renvoyait systématiquement une erreur qui fait que je le sais et que donc, je vous le dis... à priori c’est corrigé dans les dernières versions de clevis... mais... pas sur Debian stable.
En résumé, si vous avez exécuté l’installation de votre Debian en demandant à ce que la partition racine / soit chiffrée, vous n’avez alors plus qu’à exécuter ces lignes de commande :
apt-get install -y tpm2-tools clevis-tpm2 clevis-luks clevis-dracut
wget https://fit-iot.com/files/download/fitlet2/sw/tools/Linux-ftpm2.0/module-setup.sh.diff
patch -p1 /usr/lib/dracut/modules.d/60clevis/module-setup.sh module-setup.sh.diff
clevis luks bind -d /dev/md1 tpm2 '{"pcr_ids":"7"}'
dracut -f /boot/initrd.img-$(uname -r)
Sur mon système, la partition / est bien sur /dev/md1.