Référence de spécification clé - 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.

Référence de spécification clé

Lorsque vous créez une KMS clé asymétrique ou une HMAC KMS clé, vous sélectionnez sa spécification de clé. La spécification de clé, qui est une propriété de Every AWS KMS key, représente la configuration cryptographique de votre KMS clé. Vous choisissez la spécification de la clé lorsque vous créez la KMS clé, et vous ne pouvez pas la modifier. Si vous avez sélectionné la mauvaise spécification de clé, supprimez la KMS clé et créez-en une nouvelle.

Note

La spécification clé d'une KMS clé était connue sous le nom de « spécification de clé principale du client ». Le CustomerMasterKeySpec paramètre de l'CreateKeyopération est obsolète. Utilisez plutôt le paramètre KeySpec. La réponse des DescribeKeyopérations CreateKey et inclut un CustomerMasterKeySpec membre KeySpec et ayant la même valeur.

La spécification de la clé détermine si la KMS clé est symétrique ou asymétrique, le type de contenu clé contenu dans la KMS clé et les algorithmes de chiffrement, de signature ou de code d'authentification des messages (MAC) qui prennent AWS KMS en charge la clé. KMS La spécification de clé que vous choisissez est généralement déterminée par votre cas d'utilisation et vos exigences réglementaires. Cependant, les opérations cryptographiques sur des KMS clés ayant des spécifications de clé différentes sont facturées différemment et soumises à des quotas différents. Pour plus d'informations sur la tarification, consultez la page AWS Key Management Service Pricing (Tarification). Pour de plus amples informations sur les quotas de demande, veuillez consulter Quotas de demande.

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

AWS KMS prend en charge les spécifications clés suivantes pour KMS les clés :

Spécifications de clé de chiffrement symétrique (par défaut)
  • SYMMETRIC_DEFAULT

RSAspécifications clés (chiffrement et déchiffrement, ou signature et vérification)
  • RSA_2048

  • RSA_3072

  • RSA_4096

Spécifications de la clé de courbe elliptique
  • Paires de clés à courbe elliptique asymétriques NIST recommandées (signature et vérification, ou obtention de secrets partagés)

    • ECC_ NIST _P256 (secp256r1)

    • ECC_ NIST _P384 (secp384r1)

    • ECC_ NIST _P521 (secp521r1)

  • Autres paires de clés asymétriques de courbe elliptique (signature et vérification)

    • ECC_ SECG _P256K1 (secp256k1), couramment utilisé pour les cryptomonnaies.

SM2spécification de la clé (chiffrement et déchiffrement, ou signature et vérification, ou obtention de secrets partagés)
  • SM2(Régions chinoises uniquement)

HMACspécifications clés
  • HMAC_224

  • HMAC_256

  • HMAC_384

  • HMAC_512

SYMMETRIC_ spécification DEFAULT clé

La spécification de clé par défaut, SYMMETRIC _DEFAULT, est la spécification de clé pour les clés de chiffrement symétriques. KMS Lorsque vous sélectionnez le type de clé symétrique et l'utilisation de la clé de chiffrement et de déchiffrement dans la AWS KMS console, la spécification de la SYMMETRIC_DEFAULT clé est sélectionnée. Dans l'CreateKeyopération, si vous ne spécifiez aucune KeySpec valeur, SYMMETRIC _ DEFAULT est sélectionné. Si vous n'avez aucune raison d'utiliser une autre spécification de clé, SYMMETRIC _ DEFAULT est un bon choix.

SYMMETRIC_ DEFAULT représente AES -256-GCM, un algorithme symétrique basé sur la norme de chiffrement avancée (AES) en mode compteur Galois (GCM) avec des clés de 256 bits, une norme industrielle pour le chiffrement sécurisé. Le texte chiffré généré par cet algorithme prend en charge des données authentifiées supplémentaires (AAD), telles qu'un contexte de chiffrement, et GCM fournit un contrôle d'intégrité supplémentaire du texte chiffré.

Les données chiffrées sous AES -256- GCM sont protégées aujourd'hui et à l'avenir. Les cryptographes considèrent cet algorithme comme résistant quantique. Futur théorique : les attaques informatiques quantiques à grande échelle contre des textes chiffrés créés sous des GCM clés de 256 bits AES réduisent la sécurité effective de la clé à 128 bits. Mais ce niveau de sécurité est suffisant pour empêcher les attaques par force brute sur des AWS KMS textes chiffrés.

Seule exception dans les régions chinoises, où SYMMETRIC _ DEFAULT représente une clé symétrique de 128 bits qui utilise le chiffrement. SM4 Vous ne pouvez créer une SM4 clé de 128 bits que dans les régions chinoises. Il n'est pas possible de créer une GCM KMS clé de 256 bits AES dans les régions chinoises.

Vous pouvez utiliser une KMS clé de chiffrement symétrique AWS KMS pour chiffrer, déchiffrer et rechiffrer les données, ainsi que pour protéger les clés de données et les paires de clés de données générées. AWS les services intégrés AWS KMS utilisent des KMS clés de chiffrement symétriques pour chiffrer vos données au repos. Vous pouvez importer vos propres éléments clés dans une clé de chiffrement symétrique et créer des KMS clés de chiffrement symétriques dans KMS des magasins de clés personnalisés. Pour un tableau comparant les opérations que vous pouvez effectuer sur des clés symétriques et asymétriques, voir Comparaison de KMS clés symétriques et asymétriques. KMS

Vous pouvez utiliser une KMS clé de chiffrement symétrique AWS KMS pour chiffrer, déchiffrer et rechiffrer des données, ainsi que pour générer des clés de données et des paires de clés de données. Vous pouvez créer des KMS clés de chiffrement symétriques multirégionales, importer votre propre contenu clé dans une clé de chiffrement symétrique et créer des KMS clés de chiffrement symétriques dans des magasins de KMS clés personnalisés. Pour consulter un tableau comparant les opérations que vous pouvez effectuer sur des KMS clés de différents types, reportez-vous àRéférence des types de clés.

RSAspécifications clés

Lorsque vous utilisez une spécification de RSA clé, AWS KMS crée une KMS clé asymétrique avec une paire de RSA clés. La clé privée ne sort jamais AWS KMS non chiffrée. Vous pouvez utiliser la clé publique contenue dans le AWS KMS fichier ou télécharger la clé publique pour une utilisation en dehors de celui-ci AWS KMS.

Avertissement

Lorsque vous chiffrez des données en dehors de AWS KMS, assurez-vous de pouvoir déchiffrer votre texte chiffré. Si vous utilisez la clé publique d'une KMS clé supprimée AWS KMS, la clé publique d'une KMS clé configurée pour la signature et la vérification, ou un algorithme de chiffrement non pris en charge par la KMS clé, les données sont irrécupérables.

Dans AWS KMS, vous pouvez utiliser des clés asymétriques avec KMS RSA des paires de clés pour le chiffrement et le déchiffrement, ou pour la signature et la vérification, mais pas les deux. Cette propriété, appelée Key usage (utilisation de la clé), est déterminée en marge des spécifications de la clé, mais vous devez prendre cette décision avant de sélectionner une spécification de clé.

AWS KMS prend en charge les spécifications RSA clés suivantes pour le chiffrement et le déchiffrement ou pour la signature et la vérification :

  • RSA_2048

  • RSA_3072

  • RSA_4096

RSAles spécifications des clés diffèrent selon la longueur de la RSA clé en bits. La spécification RSA clé que vous choisissez peut être déterminée par vos normes de sécurité ou les exigences de votre tâche. En général, utilisez la plus grande clé qui est pratique et abordable pour votre tâche. Les opérations cryptographiques sur des KMS clés dont les caractéristiques RSA clés sont différentes sont facturées différemment. Pour plus d'informations sur la AWS KMS tarification, consultez la section Tarification des services de gestion des AWS clés. Pour de plus amples informations sur les quotas de demande, veuillez consulter Quotas de demande.

RSAspécifications clés pour le chiffrement et le déchiffrement

Lorsqu'une KMS clé RSA asymétrique est utilisée pour le chiffrement et le déchiffrement, vous chiffrez avec la clé publique et vous déchiffrez avec la clé privée. Lorsque vous appelez l'Encryptopération AWS KMS pour obtenir une RSA KMS clé, AWS KMS utilise la clé publique de la paire de RSA clés et l'algorithme de chiffrement que vous spécifiez pour chiffrer vos données. Pour déchiffrer le texte chiffré, appelez l'Decryptopération et spécifiez la même KMS clé et le même algorithme de chiffrement. AWS KMS utilise ensuite la clé privée de la paire de RSA clés pour déchiffrer vos données.

Vous pouvez également télécharger la clé publique et l'utiliser pour chiffrer des données en dehors de AWS KMS. Veillez à utiliser un algorithme de chiffrement qui AWS KMS prend en charge les RSA KMS clés. Pour déchiffrer le texte chiffré, appelez la Decrypt fonction avec la même KMS clé et le même algorithme de chiffrement.

AWS KMS prend en charge deux algorithmes de chiffrement pour KMS les clés avec des spécifications RSA clés. Ces algorithmes, définis dans PKCS#1 v2.2, diffèrent par la fonction de hachage qu'ils utilisent en interne. Dans AWS KMS, les OAEP algorithmes RSAES _ utilisent toujours la même fonction de hachage à la fois pour le hachage et pour la fonction de génération de masque ()MGF1. Vous devez spécifier un algorithme de chiffrement lorsque vous appelez les opérations Encrypt (Chiffrer) et Decrypt (Déchiffrer). Vous pouvez choisir un algorithme différent pour chaque requête.

Algorithmes de chiffrement pris en charge pour les spécifications RSA clés
Algorithme de chiffrement Description de l'algorithme
RSAES_ OAEP _ SHA _1 PKCS#1 v2.2, article 7.1. RSAchiffrement avec OAEP remplissage utilisant SHA -1 à la fois pour le hachage et pour la fonction de génération de MGF1 masque, avec une étiquette vide.
RSAES_ OAEP _ SHA _256 PKCS#1, article 7.1. RSAchiffrement avec OAEP remplissage utilisant SHA -256 à la fois pour le hachage et pour la fonction de génération de MGF1 masque, avec une étiquette vide.

Vous ne pouvez pas configurer une KMS clé pour utiliser un algorithme de chiffrement spécifique. Vous pouvez toutefois utiliser la condition de EncryptionAlgorithm politique kms : pour spécifier les algorithmes de chiffrement que les principaux sont autorisés à utiliser avec la KMS clé.

Pour obtenir les algorithmes de chiffrement d'une KMS clé, consultez la configuration cryptographique de la KMS clé dans la AWS KMS console ou utilisez l'DescribeKeyopération. AWS KMS fournit également les spécifications de clé et les algorithmes de chiffrement lorsque vous téléchargez votre clé publique, soit dans la AWS KMS console, soit en utilisant l'GetPublicKeyopération.

Vous pouvez choisir une spécification RSA clé en fonction de la longueur des données en texte brut que vous pouvez chiffrer dans chaque demande. Le tableau suivant indique la taille maximale, en octets, du texte brut que vous pouvez chiffrer en un seul appel à l'opération Encrypt (chiffrer). Les valeurs diffèrent selon la spécification de la clé et l'algorithme de chiffrement. À titre de comparaison, vous pouvez utiliser une KMS clé de chiffrement symétrique pour chiffrer jusqu'à 4 096 octets à la fois.

Pour calculer la longueur maximale du texte brut en octets pour ces algorithmes, utilisez la formule suivante : (key_size_in_bits /8) - (2 * hash_length_in_bits/8) - 2. Par exemple, pour RSA _2048 avec SHA -256, la taille maximale du texte brut en octets est (2048/8) - (2 * 256/8) -2 = 190.

Taille maximale du texte brut (en octets) dans une opération de chiffrement
Algorithme de chiffrement
Spécifications de la clé RSAES_ OAEP _ SHA _1 RSAES_ OAEP _ SHA _256
RSA_2048 214 190
RSA_3072 342 318
RSA_4096 470 446

RSAspécifications clés pour la signature et la vérification

Lorsqu'une KMS clé RSA asymétrique est utilisée pour la signature et la vérification, vous générez la signature d'un message avec la clé privée et vous vérifiez la signature avec la clé publique.

Lorsque vous appelez l'Signopération AWS KMS pour une clé asymétrique, AWS KMS utilise la KMS clé privée de la paire de RSA clés, le message et l'algorithme de signature que vous spécifiez pour générer une signature. Pour vérifier la signature, appelez l'opération Vérifier. Spécifiez la signature, ainsi que la même KMS clé, le même message et le même algorithme de signature. AWS KMS utilise ensuite la clé publique de la paire de RSA clés pour vérifier la signature. Vous pouvez également télécharger la clé publique et l'utiliser pour vérifier la signature en dehors de AWS KMS.

AWS KMS prend en charge les algorithmes de signature suivants pour toutes les KMS clés dotées d'une spécification de RSA clé. Vous devez spécifier un algorithme de signature lorsque vous appelez les opérations Sign (Signer) et Verify (Vérifier). Vous pouvez choisir un algorithme différent pour chaque requête. Lorsque vous signez avec des paires de RSA clés, les PSS algorithmes RSASSA - sont préférés. Nous incluons les algorithmes RSASSA - PKCS1 -v1_5 pour assurer la compatibilité avec les applications existantes.

Algorithmes de signature pris en charge pour les spécifications RSA clés
Algorithme de signature Description de l'algorithme
RSASSA_ PSS _ SHA _256 PKCS#1 v2.2, Section 8.1, RSA signature avec PSS rembourrage utilisant SHA -256 pour le résumé du message et la fonction de génération de MGF1 masque, ainsi qu'un sel de 256 bits
RSASSA_ PSS _ SHA _384 PKCS#1 v2.2, Section 8.1, RSA signature avec PSS rembourrage utilisant SHA -384 pour le résumé du message et la fonction de génération de MGF1 masque, ainsi qu'un sel de 384 bits
RSASSA_ PSS _ SHA _512 PKCS#1 v2.2, Section 8.1, RSA signature avec PSS rembourrage utilisant SHA -512 pour le résumé du message et la fonction de génération de MGF1 masque, ainsi qu'un sel de 512 bits
RSASSA_ PKCS1 _V1_5_ _256 SHA PKCS#1 v2.2, section 8.2, RSA signature avec rembourrage PKCS #1v1 .5 et -256 SHA
RSASSA_ PKCS1 _V1_5_ _384 SHA PKCS#1 v2.2, section 8.2, RSA signature avec rembourrage PKCS #1v1 .5 et -384 SHA
RSASSA_ PKCS1 _V1_5_ _512 SHA PKCS#1 v2.2, section 8.2, RSA signature avec rembourrage PKCS #1v1 .5 et -512 SHA

Vous ne pouvez pas configurer une KMS clé pour utiliser des algorithmes de signature spécifiques. Cependant, vous pouvez utiliser la condition de SigningAlgorithm politique kms : pour spécifier les algorithmes de signature que les principaux sont autorisés à utiliser avec la KMS clé.

Pour obtenir les algorithmes de signature d'une KMS clé, consultez la configuration cryptographique de la KMS clé dans la AWS KMS console ou en utilisant l'DescribeKeyopération. AWS KMS fournit également les spécifications clés et les algorithmes de signature lorsque vous téléchargez votre clé publique, soit dans la AWS KMS console, soit à l'aide de l'GetPublicKeyopération.

Spécifications de la clé de courbe elliptique

Lorsque vous utilisez une spécification de clé à courbe elliptique (ECC), vous AWS KMS créez une clé asymétrique avec une paire ECC de KMS clés pour la signature et la vérification ou pour obtenir des secrets partagés (mais pas les deux). La clé privée qui génère des signatures ou déduit des secrets partagés n'est jamais AWS KMS déchiffrée. Vous pouvez utiliser la clé publique pour vérifier les signatures internes AWS KMS ou télécharger la clé publique pour une utilisation en dehors de AWS KMS.

AWS KMS prend en charge les spécifications ECC clés suivantes pour les KMS clés asymétriques.

  • Paires de clés à courbe elliptique asymétriques NIST recommandées (signature et vérification, ou obtention de secrets partagés)

    • ECC_ NIST _P256 (secp256r1)

    • ECC_ NIST _P384 (secp384r1)

    • ECC_ NIST _P521 (secp521r1)

  • Autres paires de clés asymétriques de courbe elliptique (signature et vérification)

    • ECC_ SECG _P256K1 (secp256k1), couramment utilisé pour les cryptomonnaies.

La spécification ECC clé que vous choisissez peut être déterminée par vos normes de sécurité ou les exigences de votre tâche. En général, utilisez la courbe qui est la plus pratique et abordable pour votre tâche.

Si vous créez une KMS clé asymétrique pour obtenir des secrets partagés, utilisez l'une des spécifications de clé à courbe elliptique NIST recommandées. Le seul algorithme d'accord de clés pris en charge pour dériver des secrets partagés est le cofacteur de cryptographie à courbe elliptique Diffie-Hellman Primitive (). ECDH Pour un exemple de dérivation de secrets partagés hors ligne, consultezDécouverte de secrets partagés hors ligne.

Si vous créez une KMS clé asymétrique à utiliser avec des cryptomonnaies, utilisez la spécification de clé ECC _ SECG _P256K1. Vous pouvez également utiliser cette spécification de clé à d'autres fins, mais elle est nécessaire pour Bitcoin et d'autres crypto-monnaies.

KMSles clés présentant des caractéristiques différentes ECC sont proposées à un prix différent et sont soumises à des quotas de demande différents. Pour plus d'informations sur la AWS KMS tarification, consultez la section AWS Key Management Service Tarification. Pour de plus amples informations sur les quotas de demande, veuillez consulter Quotas de demande.

Le tableau suivant présente les algorithmes de signature compatibles AWS KMS avec chacune des spécifications ECC clés. Vous ne pouvez pas configurer une KMS clé pour utiliser des algorithmes de signature spécifiques. Cependant, vous pouvez utiliser la condition de SigningAlgorithm politique kms : pour spécifier les algorithmes de signature que les principaux sont autorisés à utiliser avec la KMS clé.

Algorithmes de signature pris en charge pour les spécifications ECC clés
Spécifications de la clé Algorithme de signature Description de l'algorithme
ECC_ NIST _P256 ECDSA_ SHA _256 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 pour le résumé du message.
ECC_ NIST _P384 ECDSA_ SHA _384 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-384 pour le résumé du message.
ECC_ NIST _P521 ECDSA_ SHA _512 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-512 pour le résumé du message.
ECC_ SECG _P256K1 ECDSA_ SHA _256 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 pour le résumé du message.

SM2spécification clé (régions de Chine uniquement)

La spécification SM2 clé est une spécification clé à courbe elliptique définie dans la série de spécifications GM/T publiée par le Bureau chinois de l'administration de cryptographie commerciale (). OSCCA La spécification SM2 clé n'est disponible que dans les régions de Chine. Lorsque vous utilisez la spécification de SM2 clé, AWS KMS crée une KMS clé asymétrique avec une paire de SM2 clés. Vous pouvez utiliser votre paire de SM2 clés à l'intérieur AWS KMS ou télécharger la clé publique pour une utilisation en dehors de AWS KMS. Pour de plus amples informations, veuillez consulter Vérification hors ligne à l'aide de paires de SM2 clés (régions chinoises uniquement).

Chaque KMS clé ne peut être utilisée qu'une seule fois. Vous pouvez utiliser une SM2 KMS clé pour signer et vérifier, chiffrer et déchiffrer, ou pour obtenir des secrets partagés. Vous devez spécifier l'utilisation de la clé lorsque vous la KMS créez, et vous ne pouvez pas la modifier une fois la clé créée.

Si vous créez une KMS clé asymétrique pour obtenir des secrets partagés, utilisez la spécification de SM2 clé. Le seul algorithme d'accord de clés pris en charge pour dériver des secrets partagés est le cofacteur de cryptographie à courbe elliptique Diffie-Hellman Primitive (). ECDH

AWS KMS prend en charge les algorithmes SM2 de chiffrement et de signature suivants :

  • SM2PKEalgorithme de chiffrement

    SM2PKEest un algorithme de chiffrement basé sur une courbe elliptique défini par la norme GM/T OSCCA 0003.4-2012.

  • SM2DSAalgorithme de signature

    SM2DSAest un algorithme de signature basé sur une courbe elliptique défini par GM/T OSCCA 0003.2-2012. SM2DSAnécessite un identifiant distinctif haché à l'aide de l'algorithme de SM3 hachage, puis combiné avec le message, ou le résumé du message, auquel vous avez transmis le message. AWS KMS Cette valeur concaténée est ensuite hachée et signée par. AWS KMS

Caractéristiques principales des HMAC KMS clés

AWS KMS supporte des HMAC clés symétriques de différentes longueurs. La spécification de clé que vous sélectionnez peut dépendre de vos exigences de sécurité, réglementaires ou métier. La longueur de la clé détermine l'MACalgorithme utilisé dans les VerifyMacopérations GenerateMacet. En général, les clés plus longues sont plus sécurisées. Utilisez la clé la plus longue qui est pratique pour votre cas d'utilisation.

HMACspécification clé MACalgorithme
HMAC_224 HMAC_ SHA _224
HMAC_256 HMAC_ SHA _256
HMAC_384 HMAC_ SHA _384
HMAC_512 HMAC_ SHA _512