secure-os.org

LUKS : chiffrement de disque complet sur Linux — guide complet (2026)

published 12 juin 2026 · #luks #chiffrement #linux #dm-crypt

Diagramme de la structure de partition LUKS2 avec couche dm-crypt et commandes cryptsetup sur terminal sombre

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 :

  1. 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.
  2. Les emplacements de clés : chaque emplacement contient une copie chiffrée de façon indépendante de la clé maître.
  3. 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éLUKS2VeraCryptBitLocker
PlateformeLinux uniquementLinux/Win/macOSWindows uniquement
Volumes cachésNonOuiNon
Intégration TPMOui (systemd-cryptenroll)NonOui (natif)
Emplacements multi-clés32512Limité
KDFArgon2id / PBKDF2PBKDF2 / Argon2PBKDF2

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.