Clément Schanen

Sécurité, identité et conformitéService global

KMS

Key Management Service

Permet de créer, stocker, gérer et contrôler l’accès aux clés utilisées pour chiffrer les données dans les services AWS

Concepts clés

Une KMS Key (anciennement CMK – Customer Master Key) est un identifiant logique d’une clé de chiffrement avec ses métadonnées :

  • ID unique et alias
  • Date de création
  • Description
  • État (enabled / disabled / pending deletion)
  • Matériau cryptographique (clé elle-même)
  • Politiques d’accès (key policy)

Une KMS Key ne chiffre pas directement les données : elle chiffre des Data Keys, qui elles chiffrent les données (modèle enveloppe)

Types de clés

Type de clé Description Gestion
AWS-managed key Clé créée et gérée automatiquement par AWS Rotation automatique annuelle
Customer- managed key (CMK) Clé créée et gérée par l’utilisateur Rotation optionnelle (activable)
Imported key Matériau généré en dehors d’AWS et importé dans KMS Rotation manuelle
CloudHSM key Clé stockée dans un module HSM dédié (niveau matériel) Gestion complète par le client

Fonctionnement simplifié

  1. Création d’une clé KMS (console, CLI, SDK ou CloudFormation)
  2. Définition des politiques : IAM policy + key policy
  3. Utilisation par les services AWS pour chiffrer/ déchiffrer des données
  4. Rotation (facultative) des clés gérées par le client (tous les 365 jours)
  5. Suppression : nécessite une période d’attente de 7 à 30 jours

Sécurité & Accès

  • Double contrôle des accès :
    • IAM policies contrôle qui peut appeler KMS (au niveau utilisateur/role)
    • Key policies con trôle qui peut gérer/utiliser une clé spécifique
  • Auditabilité : toutes les actions KMS sont enregistrées dans CloudTrail
  • HSM : matériel certifié FIPS 140-2 pour le stockage des clés
  • Envelope encryption :
    • Génération d’une data key chiffrement des données
    • La data key est elle-même chiffrée avec la KMS Key

AWS n’a jamais accès aux clés en clair

Bonnes pratiques

  • Créer des alias explicites pour identifier les clés facilement
  • Activer la rotation automatique des clés client-managed
  • Limiter les permissions avec le principe du moindre privilège