Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Envelope Encryption

cloud

Définition

Le chiffrement d'enveloppe (Envelope Encryption) est une technique cryptographique utilisée par tous les principaux services de chiffrement cloud (AWS KMS, Azure Key Vault, GCP Cloud KMS) pour chiffrer efficacement de larges volumes de données avec des clés maîtresses protégées dans des HSMs. Il repose sur l'utilisation de deux niveaux de clés hiérarchiques. Le principe de base est simple : une Data Key (clé de données, symétrique AES-256) est générée pour chiffrer les données réelles, puis cette Data Key est elle-même chiffrée par une Master Key (ou Key Encryption Key - KEK) stockée dans le KMS. Les données chiffrées et la Data Key chiffrée sont stockées ensemble. Pour déchiffrer, on appelle le KMS pour déchiffrer la Data Key, puis on utilise la Data Key en mémoire pour déchiffrer les données. Ce schéma offre plusieurs avantages. Premièrement, les performances : le KMS (basé sur des HSMs) n'est appelé qu'une fois par bloc logique de données (ou une fois par session pour les communications), pas pour chaque octet chiffré. Les opérations de chiffrement des données massives (S3 objects, EBS volumes) sont effectuées localement avec la Data Key, beaucoup plus rapidement que via les APIs KMS. Deuxièmement, la rotation des clés : pour changer de Master Key, il suffit de déchiffrer et rechiffrer les Data Keys avec la nouvelle Master Key, sans modifier les données elles-mêmes. Troisièmement, le caching : les Data Keys peuvent être mises en cache localement (AWS Encryption SDK data key caching) pendant une durée configurable pour réduire les appels KMS répétés. L'AWS Encryption SDK, le Azure Encryption Client, et le Google Tink implementent le chiffrement d'enveloppe de manière standardisée pour les applications, gérant automatiquement la génération des Data Keys, les appels KMS, et le format des données chiffrées (envelope format incluant les métadonnées, la Data Key chiffrée, et les données chiffrées).

Fonctionnement technique

Processus de chiffrement d'enveloppe : 1) Appel kms:GenerateDataKey → retourne Data Key en clair + Data Key chiffrée par CMK ; 2) Chiffrement des données avec Data Key en clair (AES-256-GCM) ; 3) Suppression de la Data Key en clair de la mémoire ; 4) Stockage des données chiffrées + Data Key chiffrée + IV/Nonce. Déchiffrement : 1) Récupération de la Data Key chiffrée ; 2) Appel kms:Decrypt → Data Key en clair ; 3) Déchiffrement des données avec Data Key ; 4) Suppression Data Key de la mémoire.

Data Key Caching

L'AWS Encryption SDK supporte le Data Key Caching pour réduire les appels KMS : les Data Keys générées sont mises en cache localement pendant une durée configurable (max_age) et pour un nombre d'utilisations maximum (max_messages_encrypted). Ce caching est particulièrement utile pour les applications traitant des milliers de petits messages par seconde (API, streaming). Configurez des limites conservatrices (max_age=5 minutes, max_messages=1000) pour réduire le blast radius si une Data Key est compromise.

Format des données chiffrées

L'AWS Encryption SDK génère un format standardisé incluant : header (version, algorithme, Encrypted Data Keys, Encryption Context), corps (IV/nonce + données chiffrées + MAC), et trailer (signature). L'Encryption Context est un ensemble de paires clé-valeur non chiffrées associées à la clé KMS, utilisables dans les politiques de clé pour des contrôles d'accès contextuels. Incluez des métadonnées comme le type de données, l'environnement, ou l'identifiant applicatif dans l'Encryption Context.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis