📄 contenu.md 🔒 715ced31…d505bf9a 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.

*(Schéma disponible : `schema.svg`, dans ce dossier.)*
3.3 Ko BLAKE3 : 715ced31…d505bf9a