Par Claude code Anthropic

📄 contenu.md 🔒 0fdc0c9b…6862e095 Se connecter pour télécharger ← Retour
# 6. Chiffrement et secrets

Cette section couvre le chiffrement de disque complet, le rôle du TPM
(matériel et désormais logiciel), et les grandes familles de gestion de
secrets côté système.

## LUKS — chiffrement de disque complet

**LUKS** (*Linux Unified Key Setup*) est le format standard de chiffrement
de partition sous Linux, construit au-dessus de `dm-crypt` (le module noyau
qui effectue le chiffrement/déchiffrement à la volée au niveau bloc).
Points clés :

- L'en-tête LUKS stocke plusieurs **emplacements de clé** (*key slots*) —
  jusqu'à 32 en LUKS2 — chacun protégeant indépendamment la même clé maître
  de volume, ce qui permet plusieurs phrases de passe ou méthodes de
  déverrouillage distinctes sans re-chiffrer les données.
- La **clé maître de volume** n'est jamais dérivée directement d'une
  phrase de passe : la phrase de passe déverrouille un emplacement de clé
  via une fonction de dérivation coûteuse (Argon2id par défaut en LUKS2),
  et c'est l'emplacement déverrouillé qui révèle la clé maître réelle —
  changer de phrase de passe ne nécessite donc jamais de re-chiffrer les
  données.
- Révoquer un emplacement de clé compromis (`cryptsetup luksKillSlot`) est
  instantané, sans toucher au contenu chiffré.

## TPM — matériel et désormais logiciel

Le **TPM** (*Trusted Platform Module*) est une puce (ou son équivalent
micrologiciel, fTPM) qui stocke des clés cryptographiques dans un matériel
résistant à l'extraction, et peut **sceller** une clé à un état de
démarrage précis (mesures PCR du firmware, du bootloader, du noyau) — si
l'état de démarrage a changé (firmware modifié, bootloader remplacé), le
TPM refuse de livrer la clé, détection d'altération avant même l'entrée
d'une phrase de passe. `systemd-cryptenroll` permet de lier un volume LUKS
au TPM local, pour un déverrouillage automatique **conditionné** à
l'intégrité de la chaîne de démarrage.

**Nouveauté 2026** : systemd 261 introduit un **service de TPM logiciel**
(`systemd-tpm2`), utile en environnement virtualisé où aucun TPM matériel
n'est exposé à la machine virtuelle — même modèle de scellement, sans
dépendre d'un composant physique.

## Gestion de secrets côté système

- **`gpg-agent`** : cache des clés PGP/SSH déverrouillées en mémoire pour
  une durée limitée, évite de ressaisir une phrase de passe à chaque usage.
- **Trousseaux de session** (ex. intégration au gestionnaire de session
  graphique) : stockent des secrets applicatifs chiffrés, déverrouillés à
  l'ouverture de session utilisateur.
- **Coffres-forts de secrets applicatifs** (hors périmètre système pur) :
  bases de données chiffrées dédiées, avec contrôle d'accès fin par
  application plutôt qu'un simple fichier lisible par l'utilisateur.

## Effacement mémoire (zeroization)

Une clé cryptographique laissée en mémoire après usage reste vulnérable à
une lecture (dump mémoire, `swap` sur disque non chiffré, attaque à froid
sur la RAM). Une bibliothèque cryptographique rigoureuse **efface
explicitement** (écrase avec des zéros) toute donnée sensible dès qu'elle
n'est plus nécessaire, plutôt que de compter sur le ramasse-miettes ou la
simple fin de portée d'une variable — principe de défense en profondeur
applicable à tout logiciel manipulant des secrets, pas seulement au noyau.

> ATTENTION : le chiffrement de disque complet protège les données
UNIQUEMENT quand la machine est éteinte ou verrouillée — une fois
déverrouillé et le système démarré, le contenu redevient lisible en
clair pour tout processus autorisé. Ce n'est pas une protection contre
un accès pendant que le système tourne, seulement contre le vol physique
du support à l'arrêt.

*(Schéma disponible : `schema.svg`, dans ce dossier.)*
3.7 Ko BLAKE3 : 0fdc0c9b…6862e095