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.
Création d'une KMS clé
Vous pouvez créer AWS KMS keys dans ou AWS Management Console en utilisant l'CreateKeyopération ou la AWS CloudFormation ressource AWS : : KMS : :Key. Au cours de ce processus, vous définissez la politique clé pour la KMS clé, que vous pouvez modifier à tout moment. Vous sélectionnez également les valeurs suivantes qui définissent le type de KMS clé que vous créez. Vous ne pouvez pas modifier ces propriétés une fois la KMS clé créée.
- KMStype de clé
-
Le type de clé est une propriété qui détermine le type de clé cryptographique créé. AWS KMS propose trois types de clés pour protéger les données :
-
Clés symétriques Advanced Encryption Standard (AES)
Clés de 256 bits utilisées dans le mode Galois Counter Mode (GCM) AES pour fournir un chiffrement/déchiffrement authentifié de données d'une taille inférieure à 4 Ko. Il s'agit du type de clé le plus courant. Il est utilisé pour protéger les autres clés de chiffrement de données utilisées dans vos applications et crypter ainsi vos données en Services AWS votre nom.
-
RSA, courbe elliptique ou SM2 (régions de Chine uniquement) clés asymétriques
Ces clés sont disponibles en différentes tailles et supportent de nombreux algorithmes. Ils peuvent être utilisés pour le chiffrement et le déchiffrement, la signature et la vérification, ou pour dériver des opérations de secret partagé en fonction du choix de l'algorithme.
-
Clés symétriques pour effectuer des opérations de code d'authentification de message basées sur le hachage () HMAC
Ces clés sont des clés de 256 bits utilisées pour les opérations de signature et de vérification.
KMSles clés ne peuvent pas être exportées depuis le service en texte brut. Ils sont générés par et ne peuvent être utilisés que dans les modules de sécurité matériels (HSMs) utilisés par le service. Il s'agit de la propriété de sécurité fondamentale de AWS KMS garantir que les clés ne sont pas compromises.
-
- Utilisation des clés
-
L'utilisation de la clé est une propriété qui détermine les opérations cryptographiques prises en charge par la clé. KMSles clés peuvent être utilisées comme clé
ENCRYPT_DECRYPT
SIGN_VERIFY
,GENERATE_VERIFY_MAC
, ouKEY_AGREEMENT
. Chaque KMS clé ne peut être utilisée qu'une seule fois. L'utilisation d'une KMS clé pour plusieurs types d'opérations rend le produit des deux opérations plus vulnérable aux attaques. - Spécification 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é.
Pour KMS les clés, la spécification de la clé détermine si la KMS clé est symétrique ou asymétrique. Elles déterminent également le type d'éléments de clé et les algorithmes pris en charge.
La spécification de clé par défaut, SYMMETRIC_ DEFAULT, représente une clé de chiffrement symétrique de 256 bits. Pour une description détaillée de toutes les spécifications clés prises en charge, voirRéférence de spécification clé.
- Origine du matériau clé
-
L'origine du matériau KMS clé est une propriété clé qui identifie la source du matériau clé contenu dans la KMS clé. Vous choisissez l'origine du matériau clé lorsque vous créez la KMS clé, et vous ne pouvez pas la modifier. La source du matériel clé influe sur les caractéristiques de sécurité, de durabilité, de disponibilité, de latence et de débit de la KMS clé.
Chaque KMS clé inclut une référence à son contenu clé dans ses métadonnées. L'origine matérielle des clés de chiffrement KMS symétriques peut varier. Vous pouvez utiliser le matériel clé qui AWS KMS génère, le matériel clé généré dans un magasin de clés personnalisé, ou importer votre propre matériel clé.
Par défaut, chaque KMS clé possède un matériau de clé unique. Toutefois, vous pouvez créer un ensemble de clés multi-région avec les mêmes éléments de clé.
KMSles clés peuvent avoir l'une des valeurs d'origine du matériau clé suivantes :
AWS_KMS
,EXTERNAL
(matériau clé importé),AWS_CLOUDHSM
(KMSclé dans un magasin de AWS CloudHSM clés) ouEXTERNAL_KEY_STORE
(KMSclé dans un magasin de clés externe).
Rubriques
- Autorisations pour créer des KMS clés
- Choix du type de KMS clé à créer
- Création d'une clé de chiffrement KMS symétrique
- Création d'une clé asymétrique KMS
- Création d'une HMAC KMS clé
- Création de clés primaires multirégionales
- Création de répliques de clés multirégionales
- Création d'une KMS clé avec du matériel clé importé
- Création d'une KMS clé dans un magasin de AWS CloudHSM clés
- Création d'une KMS clé dans des magasins de clés externes
Autorisations pour créer des KMS clés
Pour créer une KMS clé dans la console ou à l'aide deAPIs, vous devez disposer de l'autorisation suivante dans une IAM politique. Dans la mesure du possible, utilisez des clés de condition pour limiter les autorisations. Par exemple, vous pouvez utiliser la clé de KeySpec condition kms : dans une IAM politique pour permettre aux principaux de créer uniquement des clés de chiffrement symétriques.
Pour un exemple de IAM politique pour les directeurs qui créent des clés, voirAutoriser un utilisateur à créer des KMS clés.
Note
Soyez prudent lorsque vous autorisez les principaux à gérer les balises et les alias. La modification d'une balise ou d'un alias permet d'accorder ou de refuser l'autorisation d'utiliser la clé gérée par le client. Pour plus de détails, consultez ABACpour AWS KMS.
-
kms : CreateKey est obligatoire.
-
kms : CreateAlias est nécessaire pour créer une KMS clé dans la console où un alias est requis pour chaque nouvelle KMS clé.
-
kms : TagResource est obligatoire pour ajouter des balises lors de la création de la KMS clé.
-
iam : CreateServiceLinkedRole est nécessaire pour créer des clés primaires multirégionales. Pour plus de détails, consultez Contrôler l'accès aux clés multirégionales.
L'PutKeyPolicyautorisation kms : n'est pas requise pour créer la KMS clé. L'autorisation kms:CreateKey
inclut l'autorisation de définir la politique de clé initiale. Mais vous devez ajouter cette autorisation à la politique des clés lors de la création de la KMS clé afin de pouvoir contrôler l'accès à la KMS clé. L'alternative consiste à utiliser le BypassLockoutSafetyCheckparamètre, ce qui n'est pas recommandé.
KMSles clés appartiennent au AWS compte dans lequel elles ont été créées. L'IAMutilisateur qui crée une KMS clé n'est pas considéré comme le propriétaire de la clé et il n'est pas automatiquement autorisé à utiliser ou à gérer la KMS clé qu'il a créée. Comme tout autre directeur, le créateur de la clé doit obtenir l'autorisation par le biais d'une politique, d'une IAM politique ou d'une subvention clé. Toutefois, les principaux qui disposent de l'autorisation kms:CreateKey
peuvent définir la politique de clé initiale et s'octroyer l'autorisation d'utiliser ou de gérer la clé.
Choix du type de KMS clé à créer
Le type de KMS clé que vous créez dépend en grande partie de la manière dont vous prévoyez d'utiliser la KMS clé, de vos exigences en matière de sécurité et de vos exigences en matière d'autorisation. Le type de clé et l'utilisation de la KMS clé déterminent les opérations cryptographiques que la clé peut effectuer. Chaque KMS clé ne peut être utilisée qu'une seule fois. L'utilisation d'une KMS clé pour plusieurs types d'opérations rend le produit de toutes les opérations plus vulnérable aux attaques.
Pour autoriser les principaux à créer des KMS clés uniquement pour une utilisation spécifique, utilisez la clé de KeyUsage condition kms :. Vous pouvez également utiliser la clé de kms:KeyUsage
condition pour permettre aux principaux d'appeler API des opérations pour une KMS clé en fonction de son utilisation. Par exemple, vous pouvez autoriser la désactivation d'une KMS clé uniquement si son utilisation est SIGN _VERIFY.
Suivez les instructions suivantes pour déterminer le type de KMS clé dont vous avez besoin en fonction de votre cas d'utilisation.
- Chiffrer et déchiffrer des données
-
Utilisez une KMSclé symétrique dans la plupart des cas d'utilisation qui nécessitent le chiffrement et le déchiffrement des données. L'algorithme de chiffrement symétrique qu'utilise AWS KMS est rapide, efficace et assure la confidentialité et l'authenticité des données. Il prend en charge le chiffrement authentifié avec des données authentifiées supplémentaires (AAD), définies comme un contexte de chiffrement. Ce type de KMS clé nécessite que l'expéditeur et le destinataire des données chiffrées disposent d' AWS informations d'identification valides pour appeler AWS KMS.
Si votre cas d'utilisation nécessite un chiffrement externe AWS par des utilisateurs qui ne peuvent pas appeler AWS KMS, KMSles clés asymétriques sont un bon choix. Vous pouvez distribuer la clé publique de la KMS clé asymétrique pour permettre à ces utilisateurs de chiffrer les données. Et vos applications qui ont besoin de déchiffrer ces données peuvent utiliser la clé privée de la clé asymétrique KMS qu'elles contiennent. AWS KMS
- Signer des messages et vérifier des signatures
-
Pour signer les messages et vérifier les signatures, vous devez utiliser une KMSclé asymétrique. Vous pouvez utiliser une KMS clé dont la spécification représente une paire de RSA clés, une paire de clés à courbe elliptique (ECC) ou une paire de SM2 clés (régions chinoises uniquement). La spécification de clé que vous choisissez est déterminée par l'algorithme de signature que vous souhaitez utiliser. Les algorithmes de ECDSA signature pris en charge par les paires de ECC clés sont recommandés par rapport aux algorithmes de RSA signature. Cependant, vous devrez peut-être utiliser une spécification de clé et un algorithme de signature particuliers pour aider les utilisateurs qui vérifient les signatures en dehors de AWS.
- Chiffrer avec des paires de clés asymétriques
-
Pour chiffrer des données avec une paire de clés asymétriques, vous devez utiliser une KMSclé asymétrique avec une spécification de RSAclé ou une spécification de SM2clé (régions chinoises uniquement). Pour chiffrer des données AWS KMS avec la clé publique d'une paire de KMS clés, utilisez l'opération Encrypt. Vous pouvez également télécharger la clé publique et la partager avec les parties qui ont besoin de chiffrer des données en dehors de AWS KMS.
Lorsque vous téléchargez la clé publique d'une KMS clé asymétrique, vous pouvez l'utiliser en dehors de AWS KMS. Mais il n'est plus soumis aux contrôles de sécurité qui protègent la KMS clé AWS KMS. Par exemple, vous ne pouvez pas utiliser de politiques ou de subventions AWS KMS clés pour contrôler l'utilisation de la clé publique. Vous ne pouvez pas non plus contrôler si la clé est utilisée uniquement pour le chiffrement et le déchiffrement à l'aide des algorithmes de chiffrement pris AWS KMS en charge. Pour plus d'informations, veuillez consulter Considérations spéciales pour le téléchargement de clés publiques.
Pour déchiffrer des données chiffrées avec la clé publique extérieure à AWS KMS, appelez l'opération Decrypt. L'
Decrypt
opération échoue si les données ont été chiffrées sous une clé publique à partir d'une KMS clé dont la clé d'utilisation est deSIGN_VERIFY
. Il échouera également s'il a été chiffré à l'aide d'un algorithme qui AWS KMS ne prend pas en charge la spécification de clé que vous avez sélectionnée. Pour plus d'informations sur les spécifications clés et les algorithmes pris en charge, consultezRéférence de spécification clé.Pour éviter ces erreurs, toute personne utilisant une clé publique en dehors de AWS KMS doit enregistrer la configuration de la clé. La AWS KMS console et la GetPublicKeyréponse fournissent les informations que vous devez inclure lorsque vous partagez la clé publique.
- Déterminez des secrets partagés
-
Pour obtenir des secrets partagés, utilisez une KMS clé avec une courbe elliptique NIST recommandée ou un matériau clé SM2(régions chinoises uniquement). AWS KMS utilise le cofacteur de cryptographie à courbe elliptique Diffie-Hellman Primitive
(ECDH) pour établir un accord clé entre deux pairs en dérivant un secret partagé à partir de leurs paires de clés publique-privée sur courbe elliptique. Vous pouvez utiliser le secret partagé brut renvoyé par l' DeriveSharedSecretopération pour obtenir une clé symétrique capable de chiffrer et de déchiffrer les données envoyées entre deux parties, ou de les générer et de les vérifier. HMACs AWS KMS vous recommande de suivre les NISTrecommandations relatives à la dérivation des clés lorsque vous utilisez le secret partagé brut pour dériver une clé symétrique. - Générer et vérifier HMAC des codes
-
Pour générer et vérifier les codes d'authentification des messages basés sur le hachage, utilisez une HMAC KMS clé. Lorsque vous créez une HMAC clé AWS KMS, elle AWS KMS crée et protège le contenu de votre clé et veille à ce que vous utilisiez les MAC algorithmes appropriés pour votre clé. HMACles codes peuvent également être utilisés sous forme de nombres pseudo-aléatoires et, dans certains scénarios, pour la signature et la tokenisation symétriques.
HMACKMSles clés sont des clés symétriques. Lorsque vous créez une HMAC KMS clé dans la AWS KMS console, choisissez le type de
Symmetric
clé. - Utilisation avec les AWS services
-
Pour créer une KMS clé à utiliser avec un AWS service intégré AWS KMS, consultez la documentation du service. AWS les services qui chiffrent vos données nécessitent une clé de chiffrement KMS symétrique.
Outre ces considérations, les opérations cryptographiques sur des KMS clés présentant des spécifications de clé différentes ont des prix et des quotas de demandes différents. Pour plus d'informations sur la tarification AWS KMS
, consultez AWS Key Management Service Tarification