LUKS : chiffrement de disque complet sur Linux — guide complet (2026)
published 12 juin 2026 · #luks #chiffrement #linux #dm-crypt
LUKS (Linux Unified Key Setup) est le format de chiffrement de disque standard pour Linux, construit sur le module noyau dm-crypt. C’est la couche de chiffrement utilisée par défaut quand vous sélectionnez “chiffrer le disque” lors de l’installation sur Fedora, Ubuntu, Debian, et la plupart des distributions majeures.
Ce guide couvre LUKS2, la version de format actuelle (introduite dans cryptsetup 2.0.0, 2018). LUKS1 reste supporté pour la compatibilité mais ne dispose pas de la dérivation de clés Argon2id de LUKS2, ni de la flexibilité d’en-tête améliorée. Les nouvelles installations doivent toujours utiliser LUKS2.
Fonctionnement de LUKS
LUKS crée une structure sur disque composée de :
- Un en-tête contenant les métadonnées : l’algorithme de chiffrement, la configuration de la fonction de dérivation de clés (KDF), et jusqu’à 32 emplacements de clés.
- Les emplacements de clés : chaque emplacement contient une copie chiffrée de façon indépendante de la clé maître.
- La zone de données volumineuses : les données chiffrées réelles.
L’implication critique : l’en-tête LUKS est le point de défaillance unique pour la récupération des données. Si l’en-tête est corrompu ou écrasé, les données chiffrées sont irrécupérables — quelle que soit votre connaissance de la phrase de passe. La sauvegarde de l’en-tête n’est pas optionnelle.
Créer un conteneur LUKS2
# Formater une partition en LUKS2 avec AES-XTS-512 et KDF Argon2id
sudo cryptsetup luksFormat --type luks2 \
--cipher aes-xts-plain64 \
--key-size 512 \
--hash sha256 \
--pbkdf argon2id \
--pbkdf-memory 1048576 \
--pbkdf-time 5000 \
/dev/sdX2
Ouvrir et utiliser le conteneur
sudo cryptsetup open /dev/sdX2 cryptdata
sudo mkfs.ext4 /dev/mapper/cryptdata
sudo mount /dev/mapper/cryptdata /mnt/data
Fermer le conteneur
sudo umount /mnt/data
sudo cryptsetup close cryptdata
Critique : sauvegarde et restauration de l’en-tête
La sauvegarde de l’en-tête LUKS est l’étape opérationnelle la plus importante de ce guide.
# Créer une sauvegarde d'en-tête
sudo cryptsetup luksHeaderBackup /dev/sdX2 \
--header-backup-file luks-header-backup-$(date +%Y%m%d).bin
Stockez ce fichier de sauvegarde dans au moins deux emplacements : une copie hors ligne et une copie cloud avec chiffrement indépendant.
Restaurer un en-tête endommagé
sudo cryptsetup luksHeaderRestore /dev/sdX2 \
--header-backup-file luks-header-backup-20260612.bin
Gestion des emplacements de clés
# Ajouter une nouvelle phrase de passe
sudo cryptsetup luksAddKey /dev/sdX2
# Ajouter un fichier de clés
sudo cryptsetup luksAddKey /dev/sdX2 /chemin/vers/keyfile.bin
# Supprimer par phrase de passe
sudo cryptsetup luksRemoveKey /dev/sdX2
# Voir les emplacements actifs
sudo cryptsetup luksDump /dev/sdX2 | grep -A3 "Keyslot"
Déverrouillage automatique par TPM
Sur les systèmes avec une puce TPM2, configurez le déverrouillage automatique sans phrase de passe au démarrage avec systemd-cryptenroll :
sudo systemd-cryptenroll --tpm2-device=auto /dev/sdX2
# Optionnellement lier aux valeurs PCR (ajout de la mesure du démarrage)
sudo systemd-cryptenroll --tpm2-device=auto \
--tpm2-pcrs=0+7 \
/dev/sdX2
Benchmarks de performances
Sur un SSD NVMe moderne avec un processeur supportant les instructions matérielles AES-NI, AES-XTS-512 via dm-crypt ajoute environ 2–8% de surcharge pour les charges de travail séquentielles.
Testez votre matériel spécifique :
sudo cryptsetup benchmark
LUKS2 vs VeraCrypt vs BitLocker
| Fonctionnalité | LUKS2 | VeraCrypt | BitLocker |
|---|---|---|---|
| Plateforme | Linux uniquement | Linux/Win/macOS | Windows uniquement |
| Volumes cachés | Non | Oui | Non |
| Intégration TPM | Oui (systemd-cryptenroll) | Non | Oui (natif) |
| Emplacements multi-clés | 32 | 512 | Limité |
| KDF | Argon2id / PBKDF2 | PBKDF2 / Argon2 | PBKDF2 |
Pour une comparaison détaillée, voir le guide VeraCrypt. Pour le cadre de décision plus large incluant l’approche du chiffrement de disque de Tails, voir la comparaison Qubes vs Tails vs Whonix.
FAQ
Q : Si j’oublie ma phrase de passe LUKS, les données sont-elles irrécupérables ? R : Oui — c’est la conception. Si aucun emplacement de clé n’a une phrase de passe valide et qu’aucun fichier de clés n’existe, la clé maître est inaccessible. C’est pourquoi maintenir un emplacement de clé de récupération (avec une seconde phrase de passe robuste stockée hors ligne) est essentiel.
Q : Comment ajouter le chiffrement LUKS à une partition existante non chiffrée sans perte de données ?
R : L’outil cryptsetup-reencrypt supporte le chiffrement en place des données existantes. Il est stable depuis cryptsetup 2.4.0 mais nécessite une préparation minutieuse : une sauvegarde complète avant de commencer.
Q : Le chiffrement LUKS protège-t-il un système Linux en hibernation ? R : Partiellement. Si la partition swap est également chiffrée par LUKS, l’image d’hibernation sur disque est chiffrée. Consultez le guide de durcissement Linux pour la configuration du chiffrement du swap.