Concepts AWS KMS - AWS Key Management Service

Concepts AWS KMS

Apprenez les termes et les concepts de base utilisés dans AWS Key Management Service (AWS KMS) et la manière dont ces concepts contribuent ensemble à protéger vos données.

AWS KMS keys

Les AWS KMS keys (clés KMS) sont la ressource principale dans AWS KMS. Vous pouvez utiliser une clé KMS pour chiffrer, déchiffrer et chiffrer à nouveau des données. Elle peut également générer des clés de données que vous pouvez utiliser en dehors de AWS KMS. En règle générale, vous utiliserez des clés KMS de chiffrement symétriques, mais vous pouvez créer et utiliser des clés KMS asymétriques pour le chiffrement ou la signature et créer et utiliser des clés KMS HMAC pour générer et vérifier des balises HMAC.

Note

AWS KMS remplace le terme clé principale client (CMK) par AWS KMS key et clé KMS. Le concept n'a pas changé. Pour éviter les changements de rupture, AWS KMS conserve quelques variations de ce terme.

Une AWS KMS key est une représentation logique d'une clé cryptographique. Une clé KMS contient des métadonnées, telles que l'ID de clé, Spécifications de la clé, Utilisation de la clé, date de création, description et l'État de clé. Plus important encore, elle contient une référence aux éléments de clé qui est utilisée lorsque vous exécutez des opérations cryptographiques avec la clé KMS.

Vous créez des clés KMS dans AWS KMS. Les clés KMS symétriques et les clés privées des clés KMS asymétriques ne quittent jamais AWS KMS non chiffrées. Pour utiliser ou gérer vos clés KMS, vous devez utiliser AWS KMS. Pour de plus amples informations sur la création et la gestion des clés KMS, veuillez consulter Gestion de clés . Pour de plus amples informations sur l'utilisation des clés KMS, veuillez consulter la Référence d'API AWS Key Management Service.

Par défaut, AWS KMS crée les éléments de clé pour une clé KMS. Vous ne pouvez pas extraire, exporter, afficher ou gérer ces éléments de clé. De plus, vous ne pouvez pas supprimer ces éléments de clé ; vous devez supprimer la clé KMS. Cependant, vous pouvez importer vos propres éléments de clé dans une clé KMS ou créer les éléments de clé pour une clé KMS dans le cluster AWS CloudHSM associé à un magasin de clés AWS KMS personnalisé.

AWS KMS prend également en charge les clés multi-région, qui vous permettent de chiffrer les données dans une Région AWS et les déchiffrer dans une autre Région AWS.

Pour de plus amples informations sur la création et la gestion des clés KMS, veuillez consulter Gestion de clés . Pour de plus amples informations sur l'utilisation des clés KMS, veuillez consulter la Référence d'API AWS Key Management Service.

Clés de client et clés AWS

Les clés KMS que vous créez sont des clés gérées par le client. Les Services AWS qui utilisent des clés KMS pour chiffrer vos ressources de service créent généralement des clés automatiquement pour vous. Les clés KMS que les Services AWS créent dans votre compte AWS sont des Clés gérées par AWS. Les clés KMS que les Services AWS créent dans un compte de service sont des Clés détenues par AWS.

Type de clé KMS Peut afficher les métadonnées de clés KMS Peut gérer une clé KMS Utilisée uniquement pour mon Compte AWS Rotation automatique Tarification
Clé gérée par le client Oui Oui Oui Facultatif. Chaque année (environ 365 jours)

Frais mensuels (au prorata horaire)

Frais par utilisation

Clé gérée par AWS Oui Non Oui Obligatoire. Chaque année (environ 365 jours)

Aucun frais mensuel

Frais par utilisation (certainsServices AWS paient ces frais pour vous)

Clé détenue par AWS Non Non Non Varie Varie

Les services AWS qui s'intègrent à AWS KMS diffèrent dans leur prise en charge des clés KMS. Certains services AWS chiffrent vos données par défaut avec une Clé détenue par AWS ou une Clé gérée par AWS. Certains services AWS prennent en charge les clés gérées par le client. D'autres services AWS prennent en charge tous les types de clés KMS pour vous permettre de bénéficier de la simplicité d'utilisation d'une Clé détenue par AWS, de la visibilité d'une Clé gérée par AWS ou du contrôle d'une clé gérée par le client. Pour plus d'informations sur les options de chiffrement proposées par un service AWS, consultez la rubrique Chiffrement au repos dans le guide de l'utilisateur ou le guide du développeur du service.

Clés gérées par le client

Les clés KMS que vous créez sont des clés gérées par le client. Les clés gérées par le client sont des clés KMS de votre Compte AWS que vous créez, possédez et gérez. Vous disposez d'un contrôle total sur ces clés KMS, y compris établir et maintenir leurs politiques de clé, les politiques IAM et les octrois, leur activation et leur désactivation, la rotation de leurs éléments de chiffrement, l'ajout de balises, la création d'alias qui font référence aux clés KMS, et la planification des clés KMS en vue de leur suppression.

Les clés gérées par le client apparaissent sur la page Clés gérées par le client de la AWS Management Console pour AWS KMS. Pour identifier définitivement une clé gérée par le client, utilisez l'opération DescribeKey. Pour les clés gérées par le client, la valeur du champ KeyManager de la réponse DescribeKey est CUSTOMER.

Vous pouvez utiliser vos clés gérées par le client dans les opérations de chiffrement et auditer leur utilisation dans les journaux AWS CloudTrail. En outre, de nombreux services AWS qui s'intègrent à AWS KMS vous permettent de spécifier une clé gérée par le client pour protéger les données qu'ils stockent et gèrent pour vous.

Les clés gérées par le client entraînent des frais mensuels et des frais pour une utilisation au-delà de l'offre gratuite. Ils sont comptés par rapport aux quotas AWS KMS pour votre compte. Pour plus d'informations, consultez Tarification AWS Key Management Service et Quotas.

Clés gérées par AWS

Clés gérées par AWS sont des clés KMS de votre compte qui sont créées, gérées et utilisées en votre nom par un service AWS intégré à AWS KMS pour protéger vos ressources dans le service.

Quelques services AWS vous permettent de choisir Clé gérée par AWS ou une clé gérée par le client pour protéger vos ressources dans ce service. En général, sauf si vous êtes obligé de contrôler la clé de chiffrement qui protège vos ressources, une Clé gérée par AWS est un bon choix. Vous n'êtes pas obligé de créer ou de gérer la clé ou sa stratégie de clé, et il n'y a jamais de frais mensuel pour une Clé gérée par AWS.

Vous pouvez afficher les clés Clés gérées par AWS dans votre compte, afficher leurs politiques de clé et contrôler leur utilisation dans les journaux AWS CloudTrail. Toutefois, vous ne pouvez pas modifier les propriétés de Clés gérées par AWS, utiliser la rotation, modifier leurs politiques de clés ou utiliser la planification pour la suppression. De plus, vous ne pouvez pas utiliser directement les Clés gérées par AWS dans les opérations de chiffrement ; le service qui les crée les utilise en votre nom.

Les Clés gérées par AWS apparaissent sur la page Clés gérées par AWS de la AWS Management Console pour AWS KMS. Par ailleurs, vous pouvez identifier des Clés gérées par AWS au moyen de leurs alias, qui ont le format aws/service-name, tel que aws/redshift. Pour identifier définitivement une Clés gérées par AWS, utilisez l'opération DescribeKey. Pour les Clés gérées par AWS, la valeur du champ KeyManager de la réponse DescribeKey est AWS.

Toutes les Clés gérées par AWS sont automatiquement soumises à rotation chaque année. Vous ne pouvez pas modifier cette programmation de rotation.

Note

En mai 2022, AWS KMS a modifié le calendrier de rotation pour les Clés gérées par AWS de tous les trois ans (environ 1 095 jours) à tous les ans (environ 365 jours).

Les nouvelles Clés gérées par AWS sont automatiquement soumises à une rotation un an après leur création, puis environ chaque année par la suite.

Les Clés gérées par AWS existantes sont automatiquement soumises à une rotation un an après leur rotation la plus récente, puis chaque année par la suite.

Il n'y a pas de frais mensuel pour Clés gérées par AWS. Ils peuvent être soumis à des frais pour utilisation en cas de dépassement de l'offre gratuite, mais certains services AWS couvrent ces coûts pour vous. Pour plus de détails, reportez-vous à la rubrique Chiffrement au repos dans le Guide de l'utilisateur ou le guide du développeur du service. Pour plus d'informations, consultez Tarification AWS Key Management Service.

Les Clés gérées par AWS ne sont pas prises en compte dans les quotas de ressources dans le nombre de clés KMS dans chaque région de votre compte. Mais lorsqu'elles sont utilisées pour le compte d'un principal dans votre compte, ces clés KMS sont prises en compte dans les quotas de demandes. Pour plus d'informations, consultez Quotas.

Clés détenues par AWS

Les Clés détenues par AWS constituent une collection de clés KMS qu'un service AWS possède et gère pour une utilisation dans plusieurs comptes Comptes AWS. Bien que les Clés détenues par AWS ne soient pas dans votre Compte AWS, un service AWS peut utiliser les Clés détenues par AWS associées pour protéger les ressources de votre compte.

Quelques services AWS vous permettent de choisir Clé détenue par AWS ou une clé gérée par le client. En général, à moins que vous ne deviez auditer ou contrôler la clé de chiffrement qui protège vos ressources, une Clé détenue par AWS est un bon choix. Clés détenues par AWS sont totalement gratuites (pas de frais mensuel ni de frais d'utilisation), elles ne sont pas pris en compte dans les quotas AWS KMS pour votre compte, et elles sont faciles à utiliser. Vous n'avez pas besoin de créer ou de maintenir la clé ou sa politique de clé.

La rotation des Clés détenues par AWS varie en fonction des services. Pour plus d'informations sur la rotation d'une Clé détenue par AWS donnée, veuillez consulter la rubrique Chiffrement au repos dans le guide de l'utilisateur ou dans le guide du développeur du service.

Clés KMS de chiffrement symétriques

Lorsque vous créez une AWS KMS key, vous obtenez par défaut une clé KMS pour le chiffrement symétrique. Il s'agit du type de clé KMS de base et le plus couramment utilisé.

DansAWS KMS, une clé KMS de chiffrement symétrique représente une clé de chiffrement AES-GCM 256 bits, sauf dans les régions de Chine, où elle représente une clé de chiffrement SM4 128 bits. Les éléments de clé symétrique ne quittent jamais AWS KMS non chiffrés. Pour utiliser une clé KMS de chiffrement symétrique, vous devez appeler AWS KMS. Les clés de chiffrement symétriques sont utilisées dans le chiffrement symétrique, où la même clé est utilisée pour chiffrer et déchiffrer. À moins que votre tâche ne nécessite explicitement un chiffrement asymétrique, les clés KMS de chiffrement symétriques, qui ne quittent jamais AWS KMS non chiffrées, sont un bon choix.

Les services AWS qui sont intégrés à AWS KMS utilisent des clés KMS de chiffrement symétriques pour chiffrer vos données. Ces services ne prennent pas en charge le chiffrement avec des clés KMS asymétriques. Pour obtenir de l'aide sur la détermination de la symétrie ou de l'asymétrie d'une clé KMS, veuillez consulter Identification des clés KMS asymétriques.

Techniquement, la spécification d'une clé symétrique est SYMMETRIC_DEFAULT, l'utilisation de la clé est ENCRYPT_DECRYPT et l'algorithme de chiffrement est SYMMETRIC_DEFAULT. Pour plus d'informations, consultez Spécification de clé SYMMETRIC_DEFAULT.

Vous pouvez utiliser une clé KMS de chiffrement symétrique dans AWS KMS pour chiffrer, déchiffrer et rechiffrer des données et générer des clés de données et des paires de clés. Vous pouvez créer des clés KMS de chiffrement symétriques multi-région, importer vos propres éléments de clé vers une clé KMS de chiffrement symétrique et créer des clés KMS de chiffrement symétriques dans des magasins de clés personnalisés. Pour obtenir un tableau de comparaison des opérations que vous pouvez exécuter sur des clés KMS de différents types, veuillez consulter.Référence des types de clés.

Clés KMS asymétriques

Vous pouvez créer une clé KMS asymétrique dans AWS KMS. Une clé KMS asymétrique représente une paire de clés publiques et de clés privées mathématiquement liées entre elles. La clé privée ne quitte jamais AWS KMS non chiffrée. Pour utiliser la clé privée, vous devez appeler AWS KMS. Vous pouvez utiliser la clé publique dans AWS KMS en appelant des opérations d'API AWS KMS, ou télécharger la clé publique et l'utiliser en dehors de AWS KMS. Vous pouvez également créer des clés KMS multi-région asymétriques.

Vous pouvez créer des clés KMS asymétriques qui représentent des paires de clés RSA pour le chiffrement de clé publique ou la signature et la vérification, ou des paires de clés à courbe elliptique pour la signature et la vérification.

Pour en savoir plus sur la création et l'utilisation des clés KMS asymétriques, veuillez consulter Clés KMS asymétriques dans AWS KMS.

Clés KMS HMAC

Une clé KMS HMAC représente une clé symétrique de longueur variable utilisée pour générer et vérifier les codes d'authentification de message utilisant hash (HMAC). Les éléments d'une clé HMAC ne quittent jamais AWS KMS non chiffrés. Pour utiliser une clé HMAC, appelez les opérations d'API GenerateMac ou VerifyMac.

Vous pouvez également créer des clés KMS HMAC multi-région.

Pour en savoir plus sur la création et l'utilisation des clés KMS, veuillez consulter Clés HMAC dans AWS KMS.

Clés de données

Les clés de données sont des clés symétriques que vous pouvez utiliser pour chiffrer des données, y compris de grandes quantités de données et d'autres clés de chiffrement des données. Contrairement à des clés KMS symétriques, qui ne peuvent pas être téléchargées, les clés de données vous sont renvoyées pour une utilisation en dehors de AWS KMS.

Quand AWS KMS génère des clés de données, il renvoie généralement une clé de données en texte clair pour une utilisation immédiate (facultatif) et une copie chiffrée de la clé de données que vous pouvez stocker en toute sécurité avec les données. Lorsque vous êtes prêt à déchiffrer les données, vous devez d'abord demander à AWS KMS de déchiffrer la clé de données chiffrée.

AWS KMS génère, chiffre et déchiffre des clés de données. Toutefois, AWS KMS ne stocke pas, ne gère pas et ne suit pas vos clés de données, et il n'effectue pas non plus d'opérations cryptographiques avec les clés de données. Vous devez utiliser et gérer les clés de données en dehors d'AWS KMS. Pour obtenir de l'aide sur l'utilisation des clés de données en toute sécurité, consultez AWS Encryption SDK.

Création d'une clé de données

Pour créer une paire de clés de données, appelez l'opération GenerateDataKeyPair. AWS KMS génère la clé de données. Il chiffre ensuite une copie de la clé de données sous une clé KMS de chiffrement symétrique que vous spécifiez. Cette opération renvoie une copie en texte clair de la clé de données et la copie de la clé de données chiffrée sous la clé KMS. L'image suivante illustre cette opération.


          Générer une clé de données

AWS KMS prend également en charge l'opération GenerateDataKeyWithoutPlaintext, qui renvoie uniquement une clé de données chiffrée. Lorsque vous avez besoin d'utiliser la clé de données, demandez à AWS KMS de la déchiffrer.

Chiffrement de données avec une clé de données

AWS KMS ne peut pas utiliser une clé de données pour chiffrer les données. Cependant, vous pouvez utiliser la clé de données en dehors de AWS KMS, par exemple en utilisant OpenSSL ou une bibliothèque cryptographique comme AWS Encryption SDK.

Après avoir utilisé la clé de données en texte brut pour chiffrer les données, supprimez-la de la mémoire dès que possible. Vous pouvez stocker en toute sécurité la clé de données chiffrée avec les données chiffrées pour qu'elle soit disponible pour déchiffrer les données.


          Chiffrement des données utilisateur en dehors de AWS KMS

Déchiffrement des données avec une clé de données

Pour déchiffrer vos données, transmettez la clé de données chiffrée à l'opération Decrypt. AWS KMS utilise votre clé KMS pour déchiffrer la clé de données, puis renvoie la clé de données en texte brut. Utilisez la clé de données en texte brut pour déchiffrer vos données, puis supprimez la clé de données en texte brut de la mémoire dès que possible.

Le schéma suivant montre comment utiliser l'opération Decrypt pour déchiffrer une clé de données chiffrée.


          Déchiffrement d'une clé de données

Paires de clés de données

Les paires de clés de données sont des clés de données asymétriques composées d'une clé publique et d'une clé privée mathématiquement liées entre elles. Elles sont conçues pour être utilisées pour le chiffrement et le déchiffrement côté client, ou la signature et la vérification à l'extérieur de AWS KMS.

Contrairement aux paires de clés de données générées par des outils comme OpenSSL, AWS KMS protège la clé privée de chaque paire de clés de données sous une clé KMS de chiffrement symétrique dans AWS KMS que vous spécifiez. Toutefois, AWS KMS ne stocke pas, ne gère pas et ne suit pas vos paires de clés de données, et il n'effectue pas non plus d'opérations de chiffrement avec les paires de clés de données. Vous devez utiliser et gérer les paires de clés de données en dehors d'AWS KMS.

AWS KMS prend en charge les types de paires de clés de données suivants :

  • Paires de clés RSA : RSA_2048, RSA_3072 et RSA_4096

  • Paires de clés de courbe elliptique : ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521 et ECC_SECG_P256K1

  • Paires de clés SM (régions de Chine uniquement) : SM2

Le type de paire de clés de données que vous sélectionnez dépend généralement de votre cas d'utilisation ou des exigences réglementaires. La plupart des certificats nécessitent des clés RSA. Les clés de courbe elliptique sont souvent utilisées pour les signatures numériques. Les clés ECC_SECG_P256K1 sont couramment utilisées pour les cryptomonnaies. AWS KMS recommande d'utiliser des paires de clés ECC pour la signature et des paires de clés RSA pour le chiffrement ou la signature, mais pas pour les deux. Toutefois, AWS KMS ne peut appliquer aucune restriction sur l'utilisation de paires de clés de données en dehors de AWS KMS.

Création d'une paire de clés de données

Pour créer une paire de clés de données, appelez les opérations GenerateDataKeyPair ou GenerateDataKeyPairWithoutPlaintext. Spécifiez la clé KMS de chiffrement symétrique que vous souhaitez utiliser pour chiffrer la clé privée.

GenerateDataKeyPair renvoie une clé publique en texte brut, une clé privée en texte brut et une clé privée chiffrée. Utilisez cette opération lorsque vous avez besoin immédiatement d'une clé privée en texte brut, par exemple pour générer une signature numérique.

GenerateDataKeyPairWithoutPlaintext renvoie une clé publique en texte brut et une clé privée chiffrée, mais pas une clé privée en texte brut. Utilisez cette opération lorsque vous n'avez pas besoin immédiatement d'une clé privée en texte brut, par exemple lorsque vous chiffrez avec une clé publique. Plus tard, lorsque vous avez besoin d'une clé privée en texte brut pour déchiffrer les données, vous pouvez appeler l'opération Decrypt (Déchiffrer).

L'image suivante illustre l'opération GenerateDataKeyPair. L'opération GenerateDataKeyWithoutPlaintext omet la clé privée en texte brut.


          Générer une paire de clés de données

Chiffrer des données avec une paire de clés de données

Lorsque vous chiffrez avec une paire de clés de données, vous utilisez la clé publique de la paire pour chiffrer les données et la clé privée de la même paire pour déchiffrer les données. Généralement, les paires de clés de données sont utilisées lorsque de nombreuses parties ont besoin de chiffrer des données que seule la partie qui détient la clé privée peut déchiffrer.

Les parties disposant de la clé publique utilisent cette clé pour chiffrer les données, comme indiqué dans le diagramme suivant.


          Chiffrer les données utilisateur avec la clé publique d'une paire de clés de données en dehors de AWS KMS

Déchiffrer des données avec une paire de clés de données

Pour déchiffrer vos données, utilisez la clé privée de la paire de clés de données. Pour que l'opération réussisse, les clés publiques et privées doivent être issues de la même paire de clés de données et vous devez utiliser le même algorithme de chiffrement.

Pour déchiffrer la clé privée chiffrée, transmettez-la à l'opération Decrypt (Déchiffrer). Utilisez la clé privée en texte brut pour déchiffrer les données. Ensuite, retirez la clé privée en texte brut de la mémoire dès que possible.

Le diagramme suivant montre comment utiliser la clé privée dans une paire de clés de données pour déchiffrer le texte chiffré.


          Déchiffrer les données avec la clé privée dans une paire de clés de données en dehors de AWS KMS.

Signer des messages avec une paire de clés de données

Pour générer une signature de chiffrement pour un message, utilisez la clé privée dans la paire de clés de données. Toute personne disposant de la clé publique peut l'utiliser pour vérifier que le message a été signé avec votre clé privée et qu'il n'a pas changé depuis qu'il a été signé.

Si vous chiffrez votre clé privée, transmettez la clé privée chiffrée à l'opération de Decrypt (Déchiffrer). AWS KMS utilise votre clé KMS pour déchiffrer la clé de données, puis il retourne la clé privée en texte brut. Utilisez la clé privée en texte brut pour générer la signature. Ensuite, retirez la clé privée en texte brut de la mémoire dès que possible.

Pour signer un message, créez un résumé de message à l'aide d'une fonction de hachage de chiffrement, telle que la commande dgst dans OpenSSL. Ensuite, passez votre clé privée en texte brut à l'algorithme de signature. Le résultat est une signature qui représente le contenu du message. (Vous pourriez être en mesure de signer des messages plus courts sans créer d'abord un résumé. La taille maximale du message varie en fonction de l'outil de signature que vous utilisez.)

Le diagramme suivant montre comment utiliser la clé privée dans une paire de clés de données pour signer un message.


          Générer une signature de chiffrement avec la clé privée dans une paire de clés de données en dehors de AWS KMS.

Vérifier une signature avec une paire de clés de données

Toute personne disposant de la clé publique dans votre paire de clés de données peut l'utiliser pour vérifier la signature que vous avez générée avec votre clé privée. La vérification confirme qu'un utilisateur autorisé a signé le message avec la clé privée et l'algorithme de signature spécifiés, et que le message n'a pas changé depuis sa signature.

Pour réussir, la partie qui vérifie la signature doit générer le même type de résumé, utiliser le même algorithme et utiliser la clé publique qui correspond à la clé privée utilisée pour signer le message.

Le diagramme suivant montre comment utiliser la clé publique dans une paire de clés de données pour vérifier une signature de message.


          Vérifier une signature de chiffrement avec la clé publique dans une paire de clés de données en dehors de AWS KMS.

Alias

Utilisez un alias comme un nom convivial pour une clé KMS. Par exemple, vous pouvez vous référer à une clé KMS en tant que clé de test au lieu de 1234abcd-12ab-34cd-56ef-1234567890ab.

Les alias facilitent l'identification d'une clé KMS dans la AWS Management Console. Vous pouvez utiliser un alias pour identifier une clé KMS dans certaines opérations AWS KMS, y compris des opérations de chiffrement. Dans les applications, vous pouvez utiliser un seul alias pour faire référence à différentes clés KMS dans chaque Région AWS.

Vous pouvez également autoriser et refuser l'accès aux clés KMS en fonction de leurs alias sans modifier les politiques ni gérer les octrois. Cette fonction fait partie de la prise en charge AWS KMS du contrôle d'accès basé sur les attributs (ABAC). Pour plus d'informations, consultez ABAC pour AWS KMS.

Dans AWS KMS, les alias sont des ressources indépendantes et non des propriétés d'une clé KMS. Ainsi, vous pouvez ajouter, modifier et supprimer un alias sans affecter la clé KMS associée.

En savoir plus :

Magasins de clés personnalisés

Un magasin de clés personnalisé est une ressource AWS KMS associée aux modules de sécurité matérielle (HSM) de niveau 3 FIPS 140-2 dans un cluster AWS CloudHSM que vous possédez et gérez.

Lorsque vous créez une clé AWS KMS (clé KMS) dans votre magasin de clés personnalisé, AWS KMS génère une clé symétrique AES (Advanced Encryption Standard) 256 bits, permanente et non exportable dans le cluster AWS CloudHSM associé. Cette clé ne quitte jamais les modules HSM non chiffrés. Lorsque vous utilisez une clé KMS dans un magasin de clés personnalisé, les opérations de chiffrement sont effectuées dans les modules HSM du cluster.

Pour plus d'informations, consultez Magasins de clés personnalisés.

Opérations cryptographiques

Dans AWS KMS, les opérations de chiffrement sont des opérations d'API qui utilisent des clés KMS pour protéger les données. Comme les clés KMS restent dans AWS KMS, vous devez appeler AWS KMS pour utiliser une clé KMS dans une opération cryptographique.

Pour effectuer des opérations de chiffrement avec des clés KMS, utilisez les kits SDK AWS, AWS Command Line Interface (AWS CLI) ou le AWS Tools for PowerShell. Vous ne pouvez pas effectuer d'opérations cryptographiques dans la console AWS KMS. Pour obtenir des exemples d'appel des opérations cryptographiques dans plusieurs langages de programmation, veuillez consulter Programmation de l'API AWS KMS.

Le tableau suivant répertorie les opérations de chiffrement AWS KMS. Il indique également le type de clé et les exigences d'utilisation des clés KMS utilisées dans l'opération.

Opération Type de clé Utilisation de la clé
Decrypt N'importe quel compte ENCRYPT_DECRYPT
Encrypt N'importe quel compte ENCRYPT_DECRYPT
GenerateDataKey Symétrique ENCRYPT_DECRYPT
GenerateDataKeyPair Symétrique [1] ENCRYPT_DECRYPT
GenerateDataKeyPairWithoutPlaintext Symétrique [1] ENCRYPT_DECRYPT
GenerateDataKeyWithoutPlaintext Symétrique ENCRYPT_DECRYPT
GenerateMac HMAC GENERATE_VERIFY_MAC
GenerateRandom N/A. Cette opération n'utilise pas de clé KMS. N/A
ReEncrypt N'importe quel compte ENCRYPT_DECRYPT
Sign Asymétrique SIGN_VERIFY
Verify Asymétrique SIGN_VERIFY
VerifyMac HMAC GENERATE_VERIFY_MAC

[1] GenerateDataKeyPair et GenerateDataKeyPairWithoutPlaintext génèrent des paires de clés de données asymétriques protégées par une clé KMS de chiffrement symétrique.

Pour plus d'informations sur les autorisations pour les opérations cryptographiques, veuillez consulter Autorisations AWS KMS.

Pour rendre AWS KMS réactif et très fonctionnel pour tous les utilisateurs, AWS KMS établit des quotas sur le nombre d'opérations de chiffrement appelées dans chaque seconde. Pour plus d'informations, consultez Quotas partagés pour les opérations de chiffrement.

Identificateurs de clé (KeyId)

Les identificateurs de clé servent de noms pour vos clés KMS. Ils vous aident à reconnaître vos clés KMS dans la console. Vous les utilisez pour indiquer les clés KMS que vous souhaitez utiliser dans les opérations d'API AWS KMS, les politiques de clés, les politiques IAM et les octrois.

AWS KMS définit plusieurs identificateurs de clés. Lorsque vous créez une clé KMS, AWS KMS génère un ARN de clé et un ID de clé, qui sont des propriétés de la clé KMS. Lorsque vous créez un alias, AWS KMS génère un ARN d'alias basé sur le nom d'alias que vous définissez. Vous pouvez afficher les identificateurs de clé et d'alias dans AWS Management Console et dans l'API AWS KMS.

Dans la console AWS KMS, vous pouvez afficher et filtrer les clés KMS en fonction de leur ARN de clé, de leur ID de clé ou de leur nom d'alias, et trier par ID de clé et nom d'alias. Pour obtenir de l'aide sur la recherche des identificateurs clés dans la console, veuillez consulter Recherche de l'ID et de l'ARN d'une clé.

Dans l'API AWS KMS, les paramètres que vous utilisez pour identifier une clé KMS sont nommés KeyId ou une variation, par exemple TargetKeyId ou DestinationKeyId. Toutefois, les valeurs de ces paramètres ne sont pas limitées aux ID de clé. Certains peuvent prendre n'importe quel identifiant de clé valide. Pour de plus amples informations sur les valeurs de chaque paramètre, veuillez consulter la description du paramètre dans la Référence d'API AWS Key Management Service.

Note

Lorsque vous utilisez l'API AWS KMS, faites attention à l'identificateur de clé que vous utilisez. Différentes API nécessitent des identificateurs de clés différents. En général, utilisez l'identificateur de clé le plus complet et le plus pratique pour votre tâche.

AWS KMS prend en charge les identificateurs de clés suivants.

ARN de clé

L'ARN de clé est l'Amazon Resource Name (ARN) d'une clé KMS. Il s'agit d'un identifiant unique et entièrement qualifié pour la clé KMS. Un ARN de clé inclut le Compte AWS, la région et l'ID de clé. Pour obtenir de l'aide sur la recherche de l'ARN de clé d'une clé KMS, veuillez consulter Recherche de l'ID et de l'ARN d'une clé.

Le format d'un ARN de clé est le suivant :

arn:<partition>:kms:<region>:<account-id>:key/<key-id>

Voici un exemple d'ARN de clé pour une clé KMS de région unique.

arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

L'élément key-id des ARN de clé des clés multi-région commencent par le préfixe mrk-. Voici un exemple d'ARN de clé pour une clé KMS multi-région.

arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab
ID de clé

L'ID de clé identifie de manière unique une clé KMS au sein d'un compte et d'une région. Pour obtenir de l'aide sur la recherche de l'ID de clé d'une clé KMS, veuillez consulter Recherche de l'ID et de l'ARN d'une clé.

Voici un exemple d'ID de clé pour une clé KMS de région unique.

1234abcd-12ab-34cd-56ef-1234567890ab

Les ID de clé de clés multi-région commencent par le préfixe mrk-. Voici un exemple d'ID de clé pour une clé KMS multi-région.

mrk-1234abcd12ab34cd56ef1234567890ab
ARN d'alias

L'ARN d'alias est l'Amazon Resource Name (ARN) d'un alias AWS KMS. Il s'agit d'un identifiant unique et complet pour l'alias et pour la clé KMS qu'il représente. Un ARN d'alias inclut le Compte AWS, la région et le nom d'alias.

À tout moment, un ARN d'alias identifie une clé KMS particulière. Toutefois, comme vous pouvez modifier la clé KMS associée à l'alias, l'ARN d'alias peut identifier différentes clés KMS à des moments différents. Pour obtenir de l'aide sur la recherche de l'ARN d'alias d'une clé KMS, veuillez consulter Recherche du nom d'alias et de l'ARN d'alias.

Le format d'un ARN d'alias est le suivant :

arn:<partition>:kms:<region>:<account-id>:alias/<alias-name>

Ce qui suit est l'ARN d'alias pour un ExampleAlias fictif.

arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
Nom d'alias

Le nom d'alias est une chaîne comportant jusqu'à 256 caractères. Il identifie de manière unique une clé KMS associée au sein d'un compte et d'une région. Dans l'API AWS KMS, les noms d'alias commencent toujours par alias/. Pour obtenir de l'aide sur la recherche du nom d'alias d'une clé KMS, veuillez consulter Recherche du nom d'alias et de l'ARN d'alias.

Le format d'un nom d'alias est le suivant :

alias/<alias-name>

Par exemple :

alias/ExampleAlias

Le préfixe aws/ d'un nom d'alias est réservé aux Clés gérées par AWS. Vous ne pouvez pas créer d'alias avec ce préfixe. Par exemple, le nom d'alias de la Clé gérée par AWS pour Amazon Simple Storage Service (Amazon S3) est la suivante.

alias/aws/s3

Éléments de clé

Les éléments de clé sont la chaîne de bits utilisée dans un algorithme de chiffrement. Les éléments de clé secrète doivent être tenus secrets pour protéger les opérations de chiffrement qui les utilisent. Les éléments de clé publique sont conçus pour être partagés.

Chaque clé KMS inclut une référence à ses éléments de clé dans ses métadonnées. L'origine des éléments de clé des clés KMS de chiffrement symétrique peut varier. Vous pouvez utiliser des éléments clés que AWS KMS génère, les éléments de clé qui sont générés dans le cluster AWS CloudHSM d'un magasin de clés personnalisé ou importer vos propres éléments de clé. Si vous utilisez les éléments de clé AWS KMS pour votre clé KMS de chiffrement symétrique, vous pouvez activer la rotation automatique de vos éléments de clé.

Par défaut, chaque clé KMS possède des éléments de clé uniques. Toutefois, vous pouvez créer un ensemble de clés multi-région avec les mêmes éléments de clé.

Origine des éléments de clé

L'origine des éléments de clé est une propriété de clé KMS qui identifie la source des éléments de clé dans la clé KMS. Vous choisissez l'origine des éléments de clé lorsque vous créez la clé KMS, et vous ne pouvez pas la modifier. Pour rechercher l'origine des éléments d'une clé KMS, utilisez l'opération DescribeKey ou veuillez consulter la valeur Origine dans l'onglet Configuration du chiffrement de la page des détails d'une clé KMS de la console AWS KMS. Pour obtenir de l'aide, veuillez consulter Affichage des clés.

L'origine des clés KMS asymétriques et des clés KMS HMAC est toujours AWS_KMS, ce qui indique que AWS KMS les ont générées.

Les clés KMS de chiffrement symétriques peuvent avoir l'une des valeurs d'origine des éléments de clé suivantes.

AWS_KMS

AWS KMS crée et gère les éléments de clé pour la clé KMS dans AWS KMS. Il s'agit de la valeur par défaut et de la valeur recommandée pour la plupart des clés KMS.

Pour obtenir de l'aide sur la création des éléments de clé à partir de AWS KMS, veuillez consulter Création de clés.

EXTERNAL

La clé KMS comporte des éléments de clé importés. Lorsque vous créez une clé KMS avec une origine d'éléments de clé External, la clé KMS n'a pas d'élément de clé. Par la suite, vous pouvez importer des éléments de clé dans la clé KMS. Lorsque vous utilisez des éléments de clé importés, vous devez sécuriser et gérer ces éléments de clé à l'extérieur de AWS KMS, y compris le remplacement des éléments de clé en cas d'expiration. Pour plus d'informations, consultez À propos des clés importées.

Pour obtenir de l'aide sur la création d'une clé KMS pour les éléments de clé importés, veuillez consulter Étape 1 : création d'une clé KMS sans élément de clé.

AWS_CLOUDHSM

AWS KMS a créé les éléments de clé pour la clé KMS dans le cluster AWS CloudHSM associé à votre magasin de clés personnalisé.

Pour obtenir de l'aide avec la création d'une clé KMS dans un magasin de clés personnalisé, veuillez consulter Création de clés KMS dans un magasin de clés personnalisé.

Spécifications de la clé

La spécification de la clé est une propriété qui représente la configuration de chiffrement d'une clé. La signification de la spécification de la clé diffère selon le type de clé.

  • Clés AWS KMS — Les spécifications de la clé déterminent si la clé KMS est symétrique ou asymétrique. Elles déterminent également le type d'éléments de clé et les algorithmes cryptographiques pris en charge. Vous choisissez la spécification de clé lorsque vous créez la clé KMS et vous ne pouvez pas la modifier.

    Note

    Les KeySpec pour une clé KMS étaient appelées CustomerMasterKeySpec. Le paramètre CustomerMasterKeySpec de l'opération CreateKey est obsolète. Utilisez plutôt le paramètre KeySpec, qui fonctionne de la même manière. Pour éviter les modifications avec rupture, la réponse des opérations CreateKey et DescribeKey inclut désormais à la fois les membres KeySpec et CustomerMasterKeySpec avec les mêmes valeurs.

    Pour obtenir la liste des spécifications de clés et de l'aide sur le choix d'une spécification de clé, veuillez consulter Sélection des spécifications de la clé. Pour trouver la spécification de clé d'une clé KMS, utilisez l'opération DescribeKey ou veuillez consulter l'onglet Cryptographic configuration (Configuration de chiffrement) de la page de détails d'une clé KMS dans la console AWS KMS. Pour obtenir de l'aide, veuillez consulter Affichage des clés.

    Pour limiter les spécifications de clé que les principaux peuvent utiliser lors de la création de clés KMS, utilisez la clé de condition kms:KeySpec. Vous pouvez également utiliser la clé de condition kms:KeySpec pour autoriser les principaux à appeler des opérations AWS KMS uniquement sur des clés KMS avec une spécification de clé particulière. Par exemple, vous pouvez rejeter l'autorisation de planifier la suppression d'une clé KMS avec une spécification de clé RSA_4096.

  • Clés de données (GenerateDataKey) — La spécification de clé détermine la longueur d'une clé de données AES.

  • Paires de clés de données (GenerateDataKeyPair) — La spécification de la paire de clés détermine le type d'éléments de clé de la paire de clés de données.

Utilisation de la clé

L'utilisation de la clé est une propriété qui détermine si une clé KMS est utilisée pour le chiffrement et le déchiffrement (ENCRYPT_DECRYPT), ou la signature et la vérification (SIGN_VERIFY), ou la génération et la vérification de MAC (GENERATE_VERIFY_MAC). Chaque clé KMS ne peut avoir qu'une seule utilisation. L'utilisation d'une clé KMS pour plusieurs types d'opérations rend le produit des deux opérations plus vulnérable aux attaques.

Pour obtenir de l'aide sur le choix de l'utilisation de la clé KMS, veuillez consulter Sélection de l'utilisation des clés. Pour trouver l'utilisation de clé d'une clé KMS, utilisez l'opération DescribeKey ou veuillez choisir l'onglet Cryptographic configuration (Configuration de chiffrement) de la page de détails d'une clé KMS dans la console AWS KMS. Pour obtenir de l'aide, veuillez consulter Affichage des clés.

Chiffrement d'enveloppe

Lorsque vous chiffrez vos données, celles-ci sont protégées, mais vous devez protéger votre clé de chiffrement. Une stratégie consiste à la chiffrer. Le chiffrement d'enveloppe est la pratique consistant à chiffrer des données en texte brut à l'aide d'une clé de données, puis à chiffrer la clé de données sous une autre clé.

Vous pouvez même chiffrer la clé de chiffrement de données sous une autre clé de chiffrement et chiffrer cette clé de chiffrement sous une autre clé de chiffrement. Toutefois, au final, une clé doit rester en texte brut pour vous permettre de déchiffrer les clés et vos données. Cette clé de chiffrement de clé en texte brut de niveau supérieur porte le nom de clé racine.


        Chiffrement d'enveloppe

AWS KMS vous aide à protéger vos clés de chiffrement en les stockant et gérant de façon sécurisée. Les clés racine stockées dans AWS KMS, appelées AWS KMS keys, ne quittent jamais les modules de sécurité validés FIPS AWS KMSsans être chiffrées. Pour utiliser une clé KMS, vous devez appeler AWS KMS.


        Chiffrement d'enveloppe avec plusieurs clés de chiffrement de clé

Le chiffrement d'enveloppe offre plusieurs avantages :

  • Protection des clés de données

    Lorsque vous chiffrez une clé de données, vous n'avez pas à vous préoccuper du stockage de la clé de données chiffrée, car cette clé de données est intrinsèquement protégée par chiffrement. Vous pouvez stocker en toute sécurité la clé de données chiffrée avec les données chiffrées.

  • Chiffrement des mêmes données sous plusieurs clés

    Les opérations de chiffrement peuvent exiger beaucoup de temps, notamment lorsque les données en cours de chiffrement sont des objets de grande taille. Au lieu de rechiffrer des données brutes plusieurs fois avec des clés différentes, vous pouvez rechiffrer uniquement les clés de données qui protègent les données brutes.

  • Combinaison des points forts de plusieurs algorithmes

    En général, les algorithmes de clé symétrique sont plus rapides et produisent des textes chiffrés plus petits que les algorithmes de clé publique. Cependant, les algorithmes de clé publique fournissent une séparation inhérente des rôles et facilitent la gestion des clés. Le chiffrement d'enveloppe vous permet d'associer les forces de chaque stratégie.

Contexte de chiffrement

Toutes les opérations de chiffrement AWS KMS avec des clés KMS de chiffrement symétriques acceptent un contexte de chiffrement, un ensemble facultatif de paires clé-valeur qui peuvent contenir des informations contextuelles supplémentaires sur les données. AWS KMS utilise le contexte de chiffrement en tant que données authentifiées supplémentaires (AAD) pour prendre en charge le chiffrement authentifié.

Lorsqu'un contexte de chiffrement est inclus dans une requête de chiffrement, il est lié de façon cryptographique au texte chiffré de sorte que le même contexte de chiffrement est requis pour le déchiffrement (ou le déchiffrement et le rechiffrement) des données. Si le contexte de chiffrement fourni dans la requête de déchiffrement ne correspond pas exactement, y compris au niveau des minuscules/majuscules, la requête de déchiffrement échoue. Seul l'ordre des paires clé-valeur dans le contexte de chiffrement peut varier.

Note

Vous ne pouvez pas spécifier de contexte de chiffrement dans une opération de chiffrement avec une clé KMS asymétrique ou une clé KMS HMAC. Les algorithmes asymétriques et les algorithmes MAC ne prennent pas en charge un contexte de chiffrement.

Le contexte de chiffrement n'est pas secret ou chiffré. Il apparaît en texte brut dans les journaux AWS CloudTrail pour vous permettre d'identifier et de classer vos opérations de chiffrement. Votre contexte de chiffrement ne doit pas inclure d'informations sensibles. Nous recommandons que votre chiffrement le contexte décrive les données en cours de chiffrement ou de déchiffrement. Par exemple, lorsque vous chiffrez un fichier, vous pouvez utiliser une partie du chemin de fichier comme contexte de chiffrement.

"encryptionContext": { "department": "10103.0" }

Par exemple, lorsque vous chiffrez des volumes et des instantanés créés avec l'opération CreateSnapshot d'Amazon Elastic Block Store (Amazon EBS), Amazon EBS utilise l'ID de volume comme valeur de contexte de chiffrement.

"encryptionContext": { "aws:ebs:id": "vol-abcde12345abc1234" }

Vous pouvez également utiliser le contexte de chiffrement pour affiner ou limiter l'accès aux AWS KMS keys dans votre compte. Vous pouvez utiliser le contexte de chiffrement en tant que contrainte dans les octrois et en tant que condition dans les instructions de politique.

Pour découvrir comment utiliser le contexte de chiffrement pour protéger l'intégrité des données chiffrées, consultez le billet How to Protect the Integrity of Your Encrypted Data by Using AWS Key Management Service and EncryptionContext du blog sur la sécurité AWS.

En savoir plus sur le contexte de chiffrement.

AWS KMS applique les règles suivantes pour les valeurs et les clés de contexte de chiffrement.

  • La clé et la valeur d'une paire de contexte de chiffrement doivent être des chaînes littérales simples. Si vous utilisez un type différent, tel qu'un nombre entier ou à virgule flottante, AWS KMS l'interprète comme une chaîne.

  • Les clés et les valeurs dans un contexte de chiffrement peuvent inclure des caractères Unicode. Si un contexte de chiffrement inclut des caractères non autorisés dans les politiques de clé ou les politiques IAM, vous ne pourrez pas spécifier le contexte de chiffrement dans les clés de condition de politique, telles que kms:EncryptionContext:context-key et kms:EncryptionContextKeys. Pour plus d'informations sur les règles de document de politique de clé, voir Format de politique de clé. Pour plus d'informations sur les règles du document de politique IAM, veuillez consulter Exigences relatives aux noms IAM dans le Guide de l'utilisateur IAM.

Le contexte de chiffrement est utilisé principalement pour vérifier l'intégrité et l'authenticité. Mais vous pouvez également utiliser le contexte de chiffrement pour contrôler l'accès au chiffrement symétrique AWS KMS keys dans les politiques IAM et les politiques clés.

Les clés de condition kms:EncryptionContext: et kms:EncryptionContextKeys accordent (ou refusent) une autorisation uniquement lorsque la demande inclut des clés de contexte de chiffrement ou des paires clé-valeur particulières.

Par exemple, l'instruction de politique de clé suivante autorise le rôle RoleForExampleApp à utiliser la clé KMS dans les opérations Decrypt. Elle utilise la clé de condition kms:EncryptionContext:context-key pour accorder cette autorisation uniquement lorsque le contexte de chiffrement de la demande inclut une paire de contexte de chiffrement AppName:ExampleApp.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:AppName": "ExampleApp" } } }

Pour plus d'informations sur ces clés de condition de contexte de chiffrement, consultez Utilisation des conditions de politique avec AWS KMS.

Lorsque vous créez un octroi, vous pouvez inclure des contraintes d'octroi qui établissent les conditions des autorisations d'octroi. AWS KMS prend en charge deux contraintes, EncryptionContextEquals et EncryptionContextSubset, qui impliquent toutes les deux le contexte de chiffrement dans une demande d'opération de chiffrement. Lorsque vous utilisez ces contraintes d'octroi, les autorisations de l'octroi sont effectives uniquement lorsque le contexte de chiffrement de la demande pour l'opération de chiffrement satisfait aux exigences des contraintes d'octroi.

Par exemple, vous pouvez ajouter une contrainte d'octroi EncryptionContextEquals à un octroi qui autorise l'opération GenerateDataKey. Avec cette contrainte, l'octroi autorise l'opération uniquement lorsque le contexte de chiffrement de la demande est une correspondance sensible à la casse pour le contexte de chiffrement de la contrainte d'octroi.

$ aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/exampleUser \ --retiring-principal arn:aws:iam::111122223333:role/adminRole \ --operations GenerateDataKey \ --constraints EncryptionContextEquals={Purpose=Test}

Une demande telle que la suivante émanant du principal bénéficiaire satisferait à la contrainte EncryptionContextEquals.

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --encryption-context Purpose=Test

Pour plus d'informations sur les contraintes d'octroi, veuillez consulter Utilisation des contraintes d'octroi. Pour de plus amples informations sur les octrois, veuillez consulter Octrois dans AWS KMS.

AWS KMS utilise AWS CloudTrail pour consigner le contexte de chiffrement et vous permettre de déterminer les clés KMS et les données qui ont été consultées. L'entrée de journal montre exactement quelles clés KMS ont été utilisées pour chiffrer ou déchiffrer les données spécifiques référencées par le contexte de chiffrement dans l'entrée de journal.

Important

Etant donné que le contexte de chiffrement est consigné, il ne doit contenir d'informations sensibles.

Pour simplifier l'utilisation de n'importe quel contexte de chiffrement lorsque vous appelez les opérations Decrypt ou ReEncrypt, vous pouvez stocker le contexte de chiffrement en même temps que les données chiffrées. Nous vous conseillons de stocker juste assez du contexte de chiffrement pour créer aisément le contexte de chiffrement complet, lorsque cela est nécessaire pour le chiffrement ou le déchiffrement.

Par exemple, si le contexte de chiffrement est le chemin d'accès complet à un fichier, stockez uniquement une partie de ce chemin d'accès avec le contenu du fichier chiffré. Ensuite, lorsque vous aurez besoin du contexte de chiffrement complet, reconstruisez-le à partir du fragment stocké. En cas de tentative d'accès non autorisé au fichier, par exemple pour le renommer ou le déplacer, la valeur du contexte de chiffrement change et la requête de déchiffrement échoue.

Politique de clé

Lorsque vous créez une clé KMS, vous déterminez qui peut utiliser et gérer ces clés KMS. Ces autorisations sont contenues dans un document appelé politique de clé. Vous pouvez utiliser la politique de clé pour ajouter, supprimer ou modifier des autorisations à tout moment pour une clé gérée par le client. Cependant, vous ne pouvez pas modifier la politique de clé pour une Clés gérées par AWS. Pour plus d'informations, consultez Politiques de clé dans AWS KMS.

Grant

Un octroi est un instrument de politique qui permet aux principaux AWS d'utiliser des AWS KMS keys dans des opérations de chiffrement. Il peut également leur permettre d'afficher une clé KMS (DescribeKey), mais aussi de créer et de gérer des octrois. Lorsque vous autorisez l'accès à une clé KMS, les octrois sont pris en compte avec des politiques de clé et des politiques IAM. Les octrois sont souvent utilisés pour des autorisations temporaires, car vous pouvez en créer un, utiliser ses autorisations et les supprimer sans modifier vos politiques de clé ou IAM. Étant donné que les octrois peuvent être très spécifiques et faciles à créer et à révoquer, ils sont souvent utilisés pour fournir des autorisations temporaires ou des autorisations plus fines.

Pour obtenir des informations détaillées sur les octrois, y compris leur terminologie, veuillez consulter Octrois dans AWS KMS.

Vérification de l'utilisation de clé KMS

Vous pouvez utiliser AWS CloudTrail pour vérifier l'utilisation de la clé. CloudTrail crée des fichiers journaux contenant un historique des appels d'API AWS et des événements associés pour votre compte. Ces fichiers journaux incluent toutes les demandes d'API AWS KMS effectuées avec la console de gestion AWS, les kits SDK AWS et les outils de ligne de commande. Les fichiers journaux incluent également les demandes à AWS KMS que les services AWS effectuent en votre nom. Vous pouvez utiliser ces fichiers journaux pour trouver des informations importantes, notamment le moment où les clés KMS ont été utilisées, l'opération qui a été demandée, l'identité du demandeur et l'adresse IP source. Pour plus d'informations, veuillez consulter Journalisation avec AWS CloudTrail et le Guide de l'utilisateur AWS CloudTrail.

Infrastructure de gestion des clés

Une pratique courante dans le domaine du chiffrement consiste à chiffrer et déchiffrer à l'aide d'un algorithme disponible publiquement et évalué par des pairs, tel qu'AES (Advanced Encryption Standard), et d'une clé secrète. L'un des principaux problèmes liés au chiffrement est qu'il est très difficile de maintenir une clé secrète. Il s'agit normalement de la tâche d'une infrastructure de gestion des clés (KMI). AWS KMS gère l'infrastructure de clé pour vous. AWS KMS crée et stocke en toute sécurité vos clés racine, appelées clés AWS KMS keys. Pour plus d'informations sur le fonctionnement de AWS KMS, veuillez consulter Détails cryptographiques deAWS Key Management Service.