Enveloppe cryptographique (envelope encryption)
L'envelope encryption est un pattern d'architecture où chaque blob de données est chiffré par une clé unique (DEK), elle-même protégée par une clé maîtresse (KEK) gérée par un HSM ou un KMS. Recommandé par NIST SP 800-57 et l'ANSSI, ce modèle découple le cycle de vie des données et celui des clés, permet une rotation des KEK sans re-chiffrer toutes les données, et limite le rayon de compromission. Mis en œuvre par AWS KMS, Google Cloud KMS, Azure Key Vault, HashiCorp Vault et MAFATE. Pourquoi ce détour plutôt qu'un chiffrement direct : une clé de données est tirée pour un usage précis, chiffre la donnée localement, puis est elle-même chiffrée par une clé maîtresse qui ne sort jamais du module qui la détient. Chiffrer un téraoctet ne demande alors qu'un appel réseau par enveloppe, et non le transfert du volume entier vers un service distant. C'est ce qui rend le chiffrement de gros volumes praticable sans sacrifier l'isolement de la clé maîtresse. Le bénéfice le moins évident est celui de la rotation. Changer la clé maîtresse n'oblige pas à déchiffrer puis rechiffrer les données : il suffit de rechiffrer les clés de données, qui sont petites et peu nombreuses au regard du volume protégé. Une rotation qui prendrait des jours sur une base entière se ramène à une opération de quelques secondes. Le point de vigilance porte sur la clé maîtresse, précisément parce qu'elle est réutilisée. En mode authentifié à nonce aléatoire, la répétition d'un nonce sous une même clé ne compromet pas seulement les deux messages concernés : elle permet de retrouver la clé d'authentification, donc de forger des messages, et cela sans le moindre signal. C'est la raison pour laquelle un compteur d'usage par clé, et une rotation déclenchée par ce compteur, ne sont pas une précaution décorative.