Concepts AWS Key Management Service - AWS Key Management Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Concepts AWS Key Management Service

Découvrez les termes et les concepts de base utilisés dans AWS Key Management Service (AWS KMS) et comment ils contribuent ensemble à protéger vos données.

Clés principales client (clés CMK)

Les clés principales client sont les ressources principales dans AWS KMS.

Une clé principale client (clé CMK) est une représentation logique d'une clé principale. La clé CMK inclut des métadonnées, telles que l'ID de clé, la date de création, la description et l'état de la clé. La clé CMK contient également les éléments de clé utilisés pour chiffrer et déchiffrer les données.

AWS KMS prend en charge les clés CMK symétriques et asymétriques. Une clé CMK symétrique représente une clé de 256 bits utilisée pour le chiffrement et le déchiffrement. Une clé CMK asymétrique représente une paire de clés RSA utilisée pour chiffrer et déchiffrer ou signer et vérifier (mais pas les deux), ou une paire de clés ECC (courbe elliptique) utilisée pour signer et vérifier. Pour plus d'informations sur les clés CMK symétriques et asymétriques, veuillez consulter Utilisation des clés symétriques et asymétriques.

Les CMK sont créées dans AWS KMS. Les clés CMK symétriques et les clés privées des clés CMK asymétriques ne quittent jamais AWS KMS non chiffrés. Pour gérer votre clé CMK, vous pouvez utiliser AWS Management Console ou le kitAPI AWS KMS. Pour utiliser un kit CMK dansopérations cryptographiques, vous devez utiliser l'API AWS KMS. Cette stratégie diffère deClés de données. AWS KMS ne stocke pas, ne gère pas et ne suit pas vos clés de données. Vous devez les utiliser en dehors d'AWS KMS.

AWS KMS crée par défaut les éléments de clé pour une clé CMK. 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é CMK. Cependant, vous pouvezImporter vos propres éléments de cléDans une clé CMK ou créez les éléments de clé pour une clé CMK dans le cluster AWS CloudHSM associé à une clémagasin de clés personnalisé AWS KMS.

Pour en savoir plus sur la création et la gestion des clés CMK, consultez Mise en route. Pour de plus amples informations sur l'utilisation des clés CMK, veuillez consulterRéférence d'API AWS Key Management Service.

AWS KMS prend en charge trois types de clé CMK : les clés CMK gérées par le client, les clés CMK gérées par AWS et les clés CMK détenues par AWS.

Type de clé CMK Peut afficher les métadonnées de clé CMK Peut gérer la clé CMK Utilisé uniquement pour mon compte AWS Rotation automatique
Clé CMK gérée par le client Oui Oui Oui Facultatif. Tous les 365 jours (1 an).
Clé CMK gérée par AWS Oui Non Oui Obligatoire. Tous les 1 095 jours (3 ans).
Clé CMK détenue par AWS Non Non Non Varie

Pour distinguer les clés CMK gérées par le client des clés CMK gérées par AWS, utilisez laKeyManagerdans laDescribeKeyréponse de l'opération. Pour les clés CMK gérées par le client, la valeur KeyManager est Customer. Pour les clés CMK gérées par AWS, l'KeyManagerLa valeur estAWS.

AWS KMS qui prennent en charge l'intégration avec AWS KMSdiffèrent dans leur prise en charge des clés CMK. Certains services AWS chiffrent vos données par défaut avec une clé CMK détenue par AWS ou gérée par AWS. D'autres services AWS proposent de chiffrer vos données sous une clé CMK gérée par le client que vous choisissez. D'autres services AWS prennent en charge tous les types de clés CMK pour vous permettre l'utilisation facile d'une clé CMK détenue par AWS, la visibilité d'une clé CMK gérée par ou le contrôle d'une clé CMK gérée par le client. Pour plus d'informations sur les options de chiffrement proposées par un service AWS, consultez laChiffrement au reposDans le guide de l'utilisateur ou le guide du développeur du service.

Clés CMK gérées par le client

Clés CMK gérées par le clientsont des clés CMK de votre compte AWS que vous créez, détenez et gérez. Vous avez un contrôle total sur ces CMK, y compris l'établissement et le maintien de leurpolitiques clés, politiques IAM et subventions,Activation et désactivationeux,la rotation de leur matériel cryptographique,ajout de balises,Création d'aliasqui font référence à la CMK, etplanification de la suppression des CMK.

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

Vous pouvez utiliser vos clés CMK gérées par le client dans les opérations de chiffrement et auditer leur utilisation dans les journaux AWS CloudTrail. En outre, de nombreuxAWS KMS qui prennent en charge l'intégration avec AWS KMSVous permettent de spécifier une clé CMK gérée par le client pour protéger les données qu'ils stockent et gèrent pour vous.

Les clés CMK gérées par le client entraînent des frais mensuels et des frais pour une utilisation au-delà du niveau gratuit. Ils sont comptés sur les AWS KMSQuotaspour votre compte. Pour plus d'informations, consultez .Tarification d'AWS Key Management ServiceandQuotas.

Clés CMK gérées par AWS

Clés CMK gérées par AWSsont des clés CMK de votre compte qui sont créées, gérées et utilisées en votre nom par uneService AWS intégré à AWS KMS. Certains services AWS prennent en charge uniquement une clé CMK gérée par AWS. D'autres utilisent un CMK appartenant à AWS ou vous offrent un choix de CMK.

Vous pouvezAffichage des clés CMK gérées par AWSdans votre compte,afficher leurs stratégies clés, etaudit de leur utilisationdans les journaux AWS CloudTrail. Toutefois, vous ne pouvez pas gérer ces clés CMK, utiliser la rotation ou modifier leurs autorisations. De plus, vous ne pouvez pas utiliser directement les clés CMK gérées par AWS dans les opérations de chiffrement ; le service qui les crée les utilise en votre nom.

Clés CMK gérées par AWS apparaissent sur l'Clés gérées AWSd'AWS Management Console pour AWS KMS. Vous pouvez également identifier des clés CMK gérées par AWS par leurs alias, qui ont le formataws/service-name, commeaws/redshift. Pour identifier définitivement une clé CMK gérée par AWS, utilisez l'DescribeKey. Pour les clés CMK gérées par AWS, la valeur deKeyManagerdu champDescribeKeyLa réponse estAWS.

Vous ne payez pas de frais mensuels pour les clés CMK 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 d'informations, consultez laChiffrement au reposDans le guide de l'utilisateur ou le guide du développeur pour le service. Les clés CMK gérées par AWS ne sont pas prises en compte dans les quotas de ressources sur le nombre de clés CMK dans chaque région de votre compte. Mais lorsqu'elles sont utilisées pour le compte d'un mandataire dans votre compte, ces clés CMK sont prises en compte dans les quotas de demandes. Pour plus d'informations, consultez .Tarification d'AWS Key Management ServiceandQuotas.

Clés CMK détenues par AWS

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

Vous n'avez pas besoin de créer ou de gérer les clés CMK appartenant à AWS. Toutefois, vous ne pouvez pas les afficher, les utiliser, les suivre ou les auditer. Aucun coût mensuel ni coût d'utilisation ne vous sont facturés pour les clés CMK détenues par AWS et qu'ils ne sont pas pris en compte dans le calcul desQuotas AWS KMSpour votre compte.

La .Rotation de clésPour une clé CMK appartenant à AWS est déterminée par le service AWS qui crée et gère la clé CMK. Pour plus d'informations sur les types de clé CMK qu'un service AWS prend en charge, y compris les clés CMK détenues par AWS, consultez laChiffrement au reposDans le guide de l'utilisateur ou le guide du développeur pour le service.

Clés de données

Les clés de données sont des clés de chiffrement 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.

Vous pouvez utiliser AWS KMSClés principales client(CMK) pour générer, chiffrer et déchiffrer 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.

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

Pour créer une clé de données, appelez leGenerateDataKey. AWS KMS utilise la clé CMK que vous spécifiez pour générer une clé de données. Cette opération renvoie une copie en texte brut de la clé de données et une copie chiffrée de la clé de données CMK. L'image suivante illustre cette opération.


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

AWS KMS prend également en charge leGenerateDataKeyWithoutPlaintext, qui renvoie uniquement une clé de données chiffrée. Lorsque vous avez besoin d'utiliser la clé de données, demandez à AWS KMS dedéchiffrementça.

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

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

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 d'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 à laDecrypt. AWS KMS utilise votre clé CMK pour déchiffrer la clé de données, puis retourne 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

Lespaires 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 en dehors d'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 key pair de données sous une clé CMK 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 cryptographiques 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

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 crypto-monnaies. AWS KMS recommande d'utiliser des paires de clés ECC pour la signature et d'utiliser des paires de clés RSA pour le chiffrement ou la signature, mais pas les deux. Toutefois, AWS KMS ne peut appliquer aucune restriction à l'utilisation de paires de clés de données en dehors d'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é CMK 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 key pair de données en dehors d'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 key pair de données en dehors d'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 votre clé privée est chiffrée, transmettez la clé privée chiffrée auDecrypt. AWS KMS utilise votre clé CMK pour déchiffrer la clé de données, puis 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 key pair de données en dehors d'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 key pair de données en dehors d'AWS KMS.

Aliases

Unaliasest un nom convivial pour une clé CMK. Par exemple, vous pouvez faire référence à une clé CMK sous la formetest de cléAu lieu de 1234abcd-12ab-34cd-56ef-1234567890ab.

Les alias facilitent l'identification d'un CMK dans AWS Management Console. Vous pouvez utiliser un alias pour identifier une CMK dans certaines opérations AWS KMS, y comprisopérations cryptographiques. Dans les applications, vous pouvez utiliser un seul alias pour faire référence à différentes CMK dans chaque région AWS.

Vous pouvez également autoriser et refuser l'accès aux CMK en fonction de leurs alias sans avoir à modifier les stratégies ou à gérer les subventions. Cette fonctionnalité fait partie de la prise en charge par AWS KMS pour le contrôle d'accès basé sur les attributs (ABAC). Pour de plus amples informations, veuillez consulter Utilisation d'ABAC pour AWS KMS.

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

En savoir plus :

Magasins de clés personnalisés

Amagasin de clés personnaliséest une ressource AWS KMS qui est associée aux modules de sécurité matérielle (HSM) de niveau 3 (HSM) d'un cluster AWS CloudHSM que vous possédez et gérez.

Lorsque vous créez une clé principale client (CMK) AWS 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 vos modules HSM non chiffrés. Lorsque vous utilisez une clé CMK 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 Utilisation d'un magasin de clés personnalisé.

Opérations cryptographiques

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

Pour effectuer des opérations de chiffrement avec les clés CMK, utilisez les kits SDK AWS, l'interface de ligne de commande AWS (CLI AWS) ou les outils AWS pour 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 CMK utilisées dans l'opération.

Opération Type de clé CMK Utilisation de la clé CMK
Decrypt Toute ENCRYPT_DECRYPT
Encrypt Toute ENCRYPT_DECRYPT
GenerateDataKey Symétrique ENCRYPT_DECRYPT
GenerateDataKeyPair Symétrique [1] ENCRYPT_DECRYPT
GenerateDataKeyPairWithoutPlaintext Symétrique [1] ENCRYPT_DECRYPT
GenerateDataKeyWithoutPlaintext Symétrique ENCRYPT_DECRYPT
GenerateRandom N/A. Cette opération n'utilise pas de clé CMK. S/O
ReEncrypt Toute ENCRYPT_DECRYPT
Sign Asymétrique SIGN_VERIFY
Vérifier Asymétrique SIGN_VERIFY

[1]GenerateDataKeyPairandGenerateDataKeyPairWithoutPlaintextGénérer une key pair de données asymétriques protégées par une clé CMK 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 performant pour tous les utilisateurs, AWS KMS établit des quotas sur le nombre d'opérations cryptographiques qui peuvent être appelées dans chaque seconde. Pour de plus amples informations, veuillez consulter Quotas partagés pour les opérations de chiffrement.

Identificateurs de clé (KeyId)

Les identificateurs de clé servent de noms pour vos clés principales client (CMK) AWS KMS. Ils vous aident à reconnaître vos CMK dans la console. Vous les utilisez pour indiquer les clés CMK que vous souhaitez utiliser dans les opérations d'API AWS KMS, les stratégies IAM et les autorisations.

AWS KMS définit plusieurs identificateurs de clés. Lorsque vous créez une clé CMK, AWS KMS génère un ARN de clé et un ID de clé, qui sont des propriétés de la clé CMK. 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 pouvezAffichage et filtrageLes clés CMK en fonction de leur ARN de clé, de leur ID de clé ou de leur nom d'alias, puis trient par ID de clé et nom d'alias. Pour plus d'informations, consultez Recherche de l'ID et de l'ARN d'une clé et Recherche du nom d'alias et de l'ARN d'alias.

Dans l'API AWS KMS, les paramètres que vous utilisez pour identifier une clé CMK sont nommésKeyIdou une variation, telle queTargetKeyIdouDestinationKeyId. 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 plus d'informations sur les valeurs de chaque paramètre, reportez-vous à la description du paramètre dans leRé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 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 le nom de ressource Amazon (ARN) d'une CMK. Il s'agit d'un identifiant unique et entièrement qualifié pour la CMK. 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 CMK, 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é.

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

L'ID de clé identifie de manière unique une CMK 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 CMK, veuillez consulter Recherche de l'ID et de l'ARN d'une clé.

Voici un exemple d'ID de clé.

1234abcd-12ab-34cd-56ef-1234567890ab
ARN d'alias

L'ARN d'alias est l'ARN (Amazon Resource Name) d'un alias AWS KMS. Il s'agit d'un identifiant unique et complet pour l'alias et pour la CMK 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 CMK particulière. Toutefois, comme vous pouvez modifier la CMK associée à l'alias, l'ARN d'alias peut identifier différentes CMK à des moments différents. Pour rechercher l'ARN d'alias d'une CMK, 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 de 256 caractères au plus. Elle identifie de manière unique une CMK associée au sein d'un compte et d'une région. Dans l'API AWS KMS, les noms d'alias commencent toujours paralias/. Pour obtenir de l'aide afin de trouver le nom d'alias d'une CMK, 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>

Exemples :

alias/ExampleAlias

La .aws/Pour un nom d'alias est réservé àClés CMK 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 CMK gérée par AWS pour Amazon Simple Storage Service (Amazon S3) est le suivant.

alias/aws/s3

Origine des éléments de clé

L'origine des éléments de clé est une propriété de CMK qui identifie la source des éléments de clé dans la CMK. Vous choisissez l'origine de l'élément de la clé lorsque vous créez la CMK, et vous ne pouvez pas la modifier. Pour trouver l'origine du matériau clé d'un CMK, utilisez l'outilDescribeKey, ou consultez laOrigin (Origine)sur laConfiguration cryptographiquede la page détaillée d'un CMK dans la console AWS KMS. Pour obtenir de l'aide, veuillez consulter Affichage des clés.

Les CMK peuvent avoir l'une des valeurs d'origine des éléments de clé suivantes.

KMS (par défaut)

Valeur d'API : AWS_KMS

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

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

Externe

Valeur d'API : EXTERNAL

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

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

Magasin de clés personnalisé (CloudHSM)

Valeur d'API : AWS_CLOUDHSM

AWS KMS a créé les éléments de clé pour la clé CMK dansmagasin de clés personnalisé.

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

Spécifications de la clé

La spécification de la clé est une propriété CMK qui représente la configuration de chiffrement de la CMK. La spécification de clé détermine si la clé CMK est symétrique ou asymétrique, le type d'élément de clé dans la clé CMK et les algorithmes de chiffrement ou de signature que vous pouvez utiliser avec la clé CMK.

Généralement, la spécification de clé que vous choisissez pour votre clé CMK est basée sur votre cas d'utilisation et les exigences réglementaires. Vous choisissez la spécification de clé lorsque vous créez la clé CMK et vous ne pouvez pas la modifier. Si vous avez choisi la mauvaise spécification de clé, supprimez la clé CMK et créez-en une nouvelle.

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 rechercher la spécification de clé d'une CMK, utilisez laDescribeKey, ou consultez laConfiguration cryptographiqueSur la page détaillée d'une clé CMK dans la console AWS KMS. Pour obtenir de l'aide, veuillez consulter Affichage des clés.

Note

Dans les opérations d'API AWS KMS, la spécification de clé pour les CMK est appeléeCustomerMasterKeySpec. Cela le distingue de la spécification de clé pour les clés de données (KeySpec) et les paires de clés de données (KeyPairSpec), et la spécification de clé utilisée lors de l'emballage du matériel clé pour l'importation (WrappingKeySpec). Chaque type de spécification de clé a des valeurs différentes.

Pour limiter les spécifications de clé que les mandataires peuvent utiliser lors de la création de clés CMK, utilisez la clé de condition kms:CustomerMasterKeySpec. Vous pouvez également utiliser l'kms:CustomerMasterKeySpecpour permettre aux mandataires d'appeler des opérations AWS KMS pour une clé CMK en fonction de sa spécification de clé. Par exemple, vous pouvez refuser l'autorisation de planifier la suppression de la clé CMK avec une spécification de clé RSA_4096.

Utilisation de la clé

L'utilisation de la clé est une propriété CMK qui détermine si une clé CMK est utilisée pour le chiffrement et le déchiffrement, ou la signature et la vérification. Vous ne pouvez pas choisir les deux. L'utilisation d'une clé CMK pour plusieurs types d'opérations rend le produit des deux opérations plus vulnérable aux attaques.

L'utilisation des clés CMK symétriques est toujours le chiffrement et le déchiffrement. L'utilisation des clés CMK à courbe elliptique (ECC) est toujours la signature et la vérification. Il vous suffit de choisir une utilisation pour les clés CMK RSA. Vous choisissez l'utilisation de la clé lorsque vous créez la clé CMK et vous ne pouvez pas la modifier. Si vous avez choisi la mauvaise utilisation de clé, supprimez la clé CMK et créez-en une nouvelle.

Pour choisir l'utilisation de clé, veuillez consulter Sélection de l'utilisation des clés. Pour rechercher l'utilisation de la clé d'une CMK, utilisez laDescribeKey, ou choisissez l'optionConfiguration cryptographiqueSur la page détaillée d'une clé CMK dans la console AWS KMS. Pour obtenir de l'aide, veuillez consulter Affichage des clés.

Pour autoriser les mandataires à créer des clés CMK uniquement pour signer et la vérifier ou uniquement pour chiffrer et déchiffrer, utilisez la clé de condition kms:CustomerMasterKeyUsage. Vous pouvez également utiliser la clé de condition kms:CustomerMasterKeyUsage pour permettre aux mandataires d'appeler des opérations d'API pour une clé CMK en fonction de son utilisation de clé. Par exemple, vous pouvez autoriser la désactivation d'une clé CMK uniquement si son utilisation de clé est SIGN_VERIFY.

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é principale.


        Chiffrement d'enveloppe

AWS KMS vous aide à protéger vos clés principales en les stockant et gérant de façon sécurisée. Clés principales stockées dans AWS KMS, appeléesClés principales client(CMK), ne quittez jamais le AWS KMSModules de sécurité matérielle validés par FIPSNon chiffré. Pour utiliser une clé CMK AWS 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 principales

    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

Tous les clés AWS KMSopérations cryptographiquesavec des CMK symétriques acceptent uncontexte de chiffrement, un ensemble facultatif de paires clé-valeur pouvant contenir des informations contextuelles supplémentaires sur les données. AWS KMS utilise le contexte de chiffrement en tant quedonnées authentifiées supplémentaires (données AAD)(AAD) pour soutenirchiffrement authentifié.

Vous ne pouvez pas spécifier de contexte de chiffrement dans une opération de chiffrement avec une cléClés CMK asymétriques. Les algorithmes de chiffrement asymétrique standard qu'AWS KMS utilise ne prennent pas en charge un contexte de chiffrement.

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.

Le contexte de chiffrement n'est pas secret. Il apparaît en texte clair dansJournaux AWS CloudTrailPour que vous puissiez l'utiliser pour identifier et classer vos opérations de chiffrement.

Un contexte de chiffrement peut se composer de n’importe quelles clés et valeurs. Toutefois, étant donné qu'il n'est ni secret, ni chiffré, 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.

La clé et la valeur d'une paire de contexte de chiffrement doivent être des chaînes littérales simples. Il ne peut pas s'agir d'entiers ou d'objets, ou d’un type qui n'est pas entièrement résolu. Si vous utilisez un type différent, tel qu'un nombre entier ou à virgule flottante, AWS KMS l'interprète comme une chaîne.

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

La clé et la valeur du contexte de chiffrement peuvent inclure des caractères spéciaux, notamment des traits de soulignement (_), des tirets (-), des barres obliques (/, \) et deux points ( :).

Par exemple, lorsque vous chiffrez des volumes et des instantanés créés avec leAmazon Elastic Block Store(Amazon EBS)CreateSnapshot, 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 clés principales client (clés CMK) dans votre compte. Vous pouvez utiliser le contexte de chiffrement en tant que contrainte dans les octrois et en tant que condition dans les déclarations de stratégie.

Pour découvrir comment utiliser le contexte de chiffrement pour protéger l'intégrité des données chiffrées, consultez la publicationComment protéger l'intégrité de vos données chiffrées en utilisant AWS Key Management Service et EncryptionContextsur le blog Sécurité AWS.

En savoir plus sur le contexte de chiffrement.

Le contexte de chiffrement est utilisé principalement pour vérifier l'intégrité et l'authenticité. Toutefois, vous pouvez également utiliser le contexte de chiffrement pour contrôler l'accès aux clés principales client symétriques (CMK) dans les stratégies de clé et les stratégies IAM.

La .kms:EncryptionContext:clé de contexteandkms:EncryptionContextKeysLes clés de condition 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, la déclaration de stratégie de clé suivante autorise les mandataires qui peuvent assumer laRoleForExampleApppour utiliser la clé CMK dansDecryptopérations. Elle utilise l'kms:EncryptionContext:context-keypour accorder cette autorisation uniquement lorsque le contexte de chiffrement de la demande inclut la cléAppName:ExampleApppaire de contexte de chiffrement.

{ "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 stratégie avec AWS KMS.

Lorsque vousCréation d'un octroi, vous pouvez inclureContraintesqui établissent les conditions pour les autorisations d'octroi. AWS KMS prend en charge deux contraintes de subvention,EncryptionContextEqualsandEncryptionContextSubset, qui impliquent tous les deux lacontexte de chiffrementdans une demande pour une opération cryptographique. Lorsque vous utilisez ces contraintes d'octroi, les autorisations de l'octroi sont effectives uniquement lorsque le contexte de chiffrement de la demande de l'opération de chiffrement satisfait aux exigences des contraintes d'octroi.

Par exemple, vous pouvez ajouter unEncryptionContextEqualsaccorder une contrainte à une subvention qui permet à laGenerateDataKey. Avec cette contrainte, l'octroi autorise l'opération uniquement lorsque le contexte de chiffrement de la requête est une correspondance sensible au niveau des minuscules/majuscules 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 comme celle qui suit émanant du mandant du concessionnaire satisferait à laEncryptionContextEqualsContrainte.

$ 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, consultezUtilisation des contraintes d'octroi. Pour de plus amples informations sur les octrois, veuillez consulterUtilisation d'octrois.

AWS KMS utilise AWS CloudTrail pour consigner le contexte de chiffrement et vous permettre de déterminer les clés CMK et les données qui ont été consultées. L'entrée de journal montre exactement quelle clé CMK a été utilisée 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.

Stratégie de clé

Lorsque vous créez une clé CMK, vous déterminez qui peut utiliser et gérer cette clé CMK. Ces autorisations sont contenues dans un document appelé stratégie de clé. Vous pouvez utiliser la stratégie de clé pour ajouter, supprimer ou modifier des autorisations à tout moment pour une clé CMK gérée par le client. Toutefois, vous ne pouvez pas modifier la stratégie de clé pour une clé CMK gérée par AWS. Pour plus d'informations, consultez Utilisation des stratégies de clé dans AWS KMS.

Grant

Agrant (attribuer)est un instrument de stratégie qui permet aux mandataires AWS d'utiliser les clés principales client (clés CMK) AWS KMS dansopérations cryptographiques. Il peut également leur permettre d'afficher un CMK (DescribeKey) et créer et gérer des octrois. Lorsque vous autorisez l'accès à une CMK, les subventions sont prises en compte avecStratégies de cléandStratégies IAM. Les autorisations sont souvent utilisées pour des autorisations temporaires car vous pouvez en créer une, utiliser ses autorisations et les supprimer sans modifier vos stratégies clés ou stratégies 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 subventions, y compris la terminologie des subventions, consultezUtilisation d'octrois.

Audit de l'utilisation de la clé CMK

Vous pouvez utiliser AWS CloudTrail pour vérifier l'utilisation des clés. CloudTrail crée des fichiers journaux qui contiennent un historique des appels d'API AWS et des événements qui y sont liés pour votre compte. Ces fichiers journaux incluent toutes les demandes d'API AWS KMS effectuées avec AWS Management Console, 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ù la clé CMK a été utilisée, l'opération qui a été demandée, l'identité du demandeur et l'adresse IP source. Pour de plus amples informations, veuillez consulterJournalisation avec AWS CloudTrailet l'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 exploite le KMI pour vous. AWS KMS crée et stocke en toute sécurité vos clés principales, appeléesClés principales client. Pour plus d'informations sur le fonctionnement d'AWS KMS, consultezAWS Key Management Service.