Rotation des clés principales client - AWS Key Management Service

Rotation des clés principales client

Les bonnes pratiques de chiffrement décourage la réutilisation étendue des clés de chiffrement. Pour créer de nouveaux éléments de chiffrement pour vos clés principales client (clés CMK) AWS Key Management Service (AWS KMS), vous pouvez créer de nouvelles clés CMK, puis modifier vos applications ou alias pour utiliser les nouvelles clés CMK. Vous pouvez également activer la rotation automatique des clés pour une clé CMK gérée par le clientexistante.

Lorsque vous activez la rotation automatique des clés pour une clé CMK gérée par le client, AWS KMS génère de nouveaux éléments de chiffrement pour la clé CMK chaque année. AWS KMS enregistre également à perpétuité les éléments de chiffrement plus anciens de la clé CMK afin qu'ils puissent être utilisés pour déchiffrer les données chiffrées. AWS KMS ne supprime pas les éléments de clé ayant fait l'objet d'une rotation tant que vous n'avez pas supprimé la clé CMK.

La rotation des clés change uniquement la clé de stockage CMK, qui correspond aux éléments de chiffrement utilisés dans les opérations de chiffrement. La clé CMK est la même ressource logique, indépendamment du fait que sa clé de stockage change ou du nombre de fois où elle change. Les propriétés de la clé CMK ne changent pas, comme illustré dans l'image suivante.

La rotation automatique des clés offre les avantages suivants :

  • Les propriétés de la clé CMK, y compris son ID de clé, son ARN de clé, sa région, ses stratégies et ses autorisations, ne changent pas lorsque la clé est l'objet d'une rotation.

  • Vous n'avez pas besoin de modifier les applications ou les alias qui font référence à l'ID ou à l'ARN de la clé CMK.

  • Une fois que vous avez activé la rotation des clés, AWS KMS soumet la clé CMK à une rotation automatique chaque année. Vous n'avez pas besoin de vous souvenir de la mise à jour ou de la planifier.

Toutefois, la rotation automatique des clés n'a aucun effet sur les données protégées par la clé CMK. La rotation n'est pas appliquée aux clés de données générées par la clé CMK, les données protégées par la clé CMK ne sont pas rechiffrées et l'effet d'une clé de données compromise n'est pas d'atténué.

Vous pouvez décider de créer une nouvelle clé CMK et de l'utiliser à la place de la clé CMK d'origine. L'effet est le même que celui obtenu par la rotation des éléments de clé dans une clé CMK existante. Ainsi, on parle souvent à ce sujet de rotation manuelle de la clé. La rotation manuelle est un bon choix lorsque vous souhaitez contrôler la planification de la rotation des clés. Il permet également de faire pivoter les clés CMK qui ne sont pas éligibles à la rotation automatique des clés, y compris les clés CMK asymétriques, les clés CMK dans les magasins de clés personnalisés et les clés CMK avec un élément de clé importé.

Rotation des clés et tarification

La rotation des clés CMK gérées par le client peut entraîner des frais mensuels supplémentaires. Pour plus d'informations, consultez Tarification AWS Key Management Service. Pour plus d'informations sur les clés de stockage et la rotation, consultez le livre blanc KMS Cryptographic Details.

Comment fonctionne la rotation automatique des clés

La rotation des clés dans AWS KMS est une bonne pratique cryptographique conçue pour être transparente et facile à utiliser. AWS KMS prend en charge la rotation automatique des clés facultative uniquement pour les clés CMK gérés par le client.

  • Gestion des clés de stockage. AWS KMS conserve toutes les clés de stockage d'une clé CMK, même si la rotation des clés est désactivée. Les clés de stockage sont supprimées uniquement lorsque la clé CMK est supprimée. Lorsque vous utilisez une clé CMK pour chiffrer, AWS KMS utilise la clé de stockage actuelle. Lorsque vous utilisez la clé CMK pour déchiffrer, AWS KMS utilise la clé de stockage qui a été utilisée pour le chiffrement.

  • Activation et désactivation de la rotation des clés. La rotation automatique des clés est désactivée par défaut sur les clés CMK gérées par le client. Lorsque vous activez (ou réactivez) la rotation des clés, AWS KMS soumet la clé CMK à une rotation automatique 365 jours après la date d'activation, puis tous les 365 jours par la suite.

  • Clés CMK désactivées. Lorsqu'une clé CMK est désactivée, AWS KMS ne la soumet pas à une rotation. Toutefois, l'état de rotation de la clé sous-jacente ne change pas et vous ne pouvez pas le modifier tant que la clé CMK est désactivée. Lorsque la clé CMK est réactivée, si la clé de stockage a plus de 365 jours, AWS KMS la soumet immédiatement à une rotation, puis tous les 365 jours par la suite. Si la clé de stockage a moins de 365 jours, AWS KMS reprend la planification initiale de la rotation de la clé.

  • Clés CMK en attente de suppression. Tant qu'une clé CMK est en attente de suppression, AWS KMS ne la soumet pas à une rotation. L'état de rotation de la clé est défini sur false et vous ne pouvez pas le modifier tant que la suppression est en attente. Si la suppression est annulée, l'état précédent de rotation de la clé est restauré. Si la clé de stockage a plus de 365 jours, AWS KMS la soumet immédiatement à une rotation, puis tous les 365 jours par la suite. Si la clé de stockage a moins de 365 jours, AWS KMS reprend la planification initiale de la rotation de la clé.

  • Clés CMK gérées par AWS. Vous ne pouvez pas gérer la rotation des clés pour les clés CMK gérées par AWS. AWS KMS soumet les clés gérées parAWS à une rotation automatique tous les trois ans (1095 jours).

  • Clés CMK détenues par AWS. Vous ne pouvez pas gérer la rotation des clés pour les clés CMK gérées par AWS. La stratégie de rotation des clés d'un CMK appartenant à AWS est déterminée par le service AWS qui crée et gère la clé CMK. Pour plus d'informations, reportez-vous à la rubrique Chiffrement au repos dans le guide de l'utilisateur ou le guide du développeur du service.

  • Services AWS. Vous pouvez activer la rotation automatique des clés sur les clés CMK gérées par le client que vous utilisez pour le chiffrement côté serveur dans les services AWS. La rotation annuelle est transparente et compatible avec les services AWS.

  • Surveillance de la rotation des clés. Quand AWS KMS effectue une rotation automatique de l'élément de clé pour une clé CMK gérée par AWS ou gérée par le client, il écrit l'événement KMS CMK Rotation dans Amazon CloudWatch Events. Vous pouvez utiliser cet événement pour vérifier que la clé CMK a fait l'objet d'une rotation.

  • Types de clés CMK non pris en charge. La rotation automatique des clés n'est pas prise en charge sur les types de clés CMK suivants, mais vous pouvez faire pivoter ces clés CMK manuellement.

Activation et désactivation de la rotation automatique des clés

Vous pouvez utiliser la console AWS KMS ou l'API AWS KMS pour activer et désactiver la rotation automatique des clés et afficher l'état de rotation de n'importe quelle clé CMK gérée par le client.

Lorsque vous activez la rotation automatique des clés, AWS KMS soumet la clé CMK à une rotation 365 jours après la date d'activation, puis tous les 365 jours par la suite.

Activation et désactivation de la rotation de clés (console)

  1. Connectez-vous à la AWS Management Console et ouvrez la console AWS Key Management Service (AWS KMS) à l'adresse https://console.aws.amazon.com/kms.

  2. Pour changer de région AWS, utilisez le sélecteur de région dans l’angle supérieur droit de la page.

  3. Dans le volet de navigation, choisissez Customer managed keys (Clés gérées par le client). (Vous ne pouvez pas activer ou désactiver la rotation des clés gérées par AWS. Elles sont automatiquement soumises à rotation tous les trois ans.)

  4. Choisissez l'alias ou l'ID d'une clé CMK.

  5. Choisissez l'onglet Rotation des clés d'accès.

    L'onglet Rotation des clés d'accès apparaît uniquement sur la page détaillée des clés CMK symétriques avec l'élément de clé AWS KMS généré (l'Origine est AWS_KMS). Vous ne pouvez pas faire pivoter automatiquement les clés CMK asymétriques, les clés CMK avec un élément de clé importé, ou les clés CMK dans les magasins de clés personnalisés. Cependant, vous pouvez les faire pivoter manuellement.

  6. Activez ou désactivez la case Effectuer une rotation automatique de cette clé CMK chaque année.

    Note

    Si une clé CMK est désactivée ou en attente de suppression, la case Effectuer une rotation automatique de cette clé CMK chaque année est décochée et vous ne pouvez pas la modifier. L'état de rotation des clés est restauré lorsque vous réactivez la clé CMK ou annulez la suppression. Pour plus d'informations, consultez Comment fonctionne la rotation automatique des clés et État de la clé : effet sur votre clé CMK.

  7. Choisissez Save.

Activation et désactivation de la rotation de clés (AWS KMS API)

Vous pouvez utiliser l'API AWS Key Management Service (AWS KMS) pour activer et désactiver la rotation automatique des clés et afficher le statut de rotation actuel de n'importe quelle clé CMK gérée par le client. Ces exemples utilisent l'AWS Command Line Interface (AWS CLI), mais vous pouvez utiliser n'importe quel langage de programmation pris en charge.

L'opération EnableKeyRotation permet la rotation automatique des clés pour la clé CMK spécifiée. L'opération DisableKeyRotation la désactive. Pour identifier la clé CMK dans ces opérations, utilisez son ID de clé ou son ARN de clé. Par défaut, la rotation des clés est désactivée pour clés CMK gérées par le client.

L'exemple suivant permet d'effectuer une rotation des clés sur la clé CMK spécifiée et utilise l'opération GetKeyRotationStatus pour voir le résultat. Ensuite, il désactive la rotation des clés et, à nouveau, utilise GetKeyRotationStatus pour afficher la modification.

$ aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": true } $ aws kms disable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": false }

Rotation manuelle des clés

Vous pouvez vouloir créer une clé CMK et l'utiliser à la place d'une clé CMK actuelle au lieu d'activer la rotation automatique des clés. Lorsque la nouvelle clé CMK possède des éléments de chiffrement différents de ceux de la clé CMK courante, l'utilisation de la nouvelle clé CMK a le même effet que la modification de la clé de stockage d'une clé CMK existante. Le processus de remplacement d'une clé CMK par une autre est connu sous le nom de rotation manuelle de clés.

Si vous préférez, vous pouvez effectuer une rotation manuelle des clés afin de pouvoir contrôler la fréquence de rotation. Il s'agit également d'une bonne solution pour les clés CMK qui ne sont pas éligibles à la rotation automatique des clés, comme les clés CMK des magasins de clés personnalisés ou les clés CMK avec un élément de clé importé.

Note

Lorsque vous commencez à utiliser la nouvelle clé CMK, assurez-vous de conserver la clé CMK originale activée de telle sorte que AWS KMS puisse déchiffrer les données que la clé CMK originale a chiffrées. Lors du déchiffrement des données, KMS identifie la clé CMK utilisée pour chiffrer les données et utilise la même clé CMK pour déchiffrer les données. Tant que vous conservez activées la clé CMK originale et la nouvelle clé CMK, AWS KMS peut déchiffrer toutes les données chiffrées à l'aide de l'une ou de l'autre clé CMK.

Dans la mesure où la nouvelle clé CMK est une ressource différente de la clé CMK courante, elle a un ID de clé et un ARN différents. Lorsque vous modifiez les clés CMK, vous devez mettre à jour les références à l'ID ou l'ARN de la clé CMK dans vos applications. Les alias, qui associent un nom convivial à une clé CMK, facilitent ce processus. Utilisez un alias pour faire référence à une clé CMK dans vos applications. Ensuite, lorsque vous souhaitez modifier la clé CMK que l'application utilise, modifiez la clé CMK cible de l'alias.

Pour mettre à jour la clé CMK cible d'un alias, utilisez l'opération UpdateAlias de l'API AWS KMS. Par exemple, cette commande met à jour l'alias TestCMK pour pointer vers une nouvelle clé CMK. Étant donné que l'opération ne renvoie aucune sortie, l'exemple utilise l'opération ListAliases pour montrer que l'alias est désormais associé à une autre clé CMK.

$ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestCMK", "AliasName": "alias/TestCMK", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, ] } $ aws kms update-alias --alias-name alias/TestCMK --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 $ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestCMK", "AliasName": "alias/TestCMK", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, ] }