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.
Lorsque vous créez une clé KMS asymétrique ou une clé KMS HMAC, 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 clé KMS. Vous choisissez la spécification de clé lorsque vous créez la clé KMS et vous ne pouvez pas la modifier. Si vous avez sélectionné la mauvaise spécification de clé, supprimez la clé KMS et créez-en une autre.
Note
La spécification de clé d'une clé KMS était appelée « spécification de la 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 clé détermine si la clé KMS est symétrique ou asymétrique, le type de contenu clé de la clé KMS et les algorithmes de chiffrement, de signature ou de code d'authentification des messages (MAC) compatibles AWS KMS avec 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. Cela dit, les opérations de chiffrement sur des clés KMS dont les spécifications sont différentes sont soumises à des tarifs et à des quotas différents. Pour plus d'informations sur la tarification, consultez la page AWS Key Management Service Pricing
Pour limiter les spécifications clés que les principaux peuvent utiliser lors de la création de clés KMS, utilisez la clé de KeySpec condition kms :. Vous pouvez également utiliser la clé de kms:KeySpec
condition pour autoriser les principaux à appeler des AWS KMS opérations 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
.
AWS KMS prend en charge les spécifications clés suivantes pour les clés KMS :
- Spécifications de clé de chiffrement symétrique (par défaut)
-
-
SYMMETRIC_DEFAULT
-
- Spécifications de clés RSA (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 asymétriques à courbe elliptique
recommandées par le NIST (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 la crypto-monnaie.
-
-
- SM2 spécification de la clé (chiffrement et déchiffrement, ou signature et vérification, ou obtention de secrets partagés)
-
-
SM2 (Régions de Chine uniquement)
-
- Spécifications de clé HMAC
-
-
HMAC_224
-
HMAC_256
-
HMAC_384
-
HMAC_512
-
Spécification de clé SYMMETRIC_DEFAULT
La spécification de clé par défaut, SYMMETRIC_DEFAULT, est la spécification de clé pour les clés KMS de chiffrement symétriques. 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 pas de raison d'utiliser une spécification de clé différente, 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
Les données chiffrées sous AES-256-GCM sont protégées maintenant et à l'avenir. Les cryptographes considèrent cet algorithme comme résistant quantique. Dans un avenir théorique, les attaques de calcul quantique à grande échelle sur les textes chiffrés créés sous les clés AES-GCM 256 bits réduiront la sécurité effective de la clé à 128 bits
Seule exception dans les régions de Chine, 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 de Chine. Vous ne pouvez pas créer une clé AES-GCM KMS AES-GCM 256 bits dans les régions de Chine.
Vous pouvez utiliser une clé KMS 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 clés KMS de chiffrement symétriques pour chiffrer vos données au repos. Vous pouvez importer vos propres éléments de clé dans 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 comparant les opérations que vous pouvez effectuer sur les clés KMS symétriques et asymétriques, veuillez consulter la Comparaison des clés KMS symétriques et asymétriques.
Vous pouvez utiliser une clé KMS de chiffrement symétrique AWS KMS pour chiffrer, déchiffrer et rechiffrer les données, et générer des clés de données et des paires de clés de données. 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.
Spécifications de clés RSA
Lorsque vous utilisez une spécification de clé RSA, AWS KMS crée une clé KMS asymétrique avec une paire de clés RSA. 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 clé KMS qui a été supprimée de AWS KMS, la clé publique d'une clé KMS configurée pour la signature et la vérification, ou un algorithme de chiffrement qui n'est pas pris en charge par la clé KMS, les données seront irrécupérables.
Dans AWS KMS, vous pouvez utiliser des clés KMS asymétriques avec des paires de clés RSA 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 clés RSA suivantes pour le chiffrement et le déchiffrement ou pour la signature et la vérification :
-
RSA_2048
-
RSA_3072
-
RSA_4096
Les spécifications des clés RSA diffèrent par la longueur de la clé RSA en bits. La spécification de la clé RSA 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 de chiffrement sur des clés KMS dont les spécifications de clés RSA sont différentes sont soumises à des tarifs différents. Pour plus d'informations sur la AWS KMS tarification, consultez la section Tarification des services de gestion des AWS clés
Spécifications des clés RSA pour le chiffrement et le déchiffrement
Lorsqu'une clé KMS asymétrique RSA est utilisée pour le chiffrement et le déchiffrement, vous chiffrez avec la clé publique et déchiffrez avec la clé privée. Lorsque vous appelez l'Encrypt
opération AWS KMS pour obtenir une clé RSA KMS, AWS KMS utilise la clé publique de la paire de clés RSA et l'algorithme de chiffrement que vous spécifiez pour chiffrer vos données. Pour déchiffrer le texte chiffré, appelez l'Decrypt
opération et spécifiez la même clé KMS et le même algorithme de chiffrement. AWS KMS utilise ensuite la clé privée de la paire de clés RSA 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 AWS KMS compatible avec les clés RSA KMS. Pour déchiffrer le texte chiffré, appelez la fonction Decrypt
avec les mêmes clé KMS et algorithme de chiffrement.
AWS KMS prend en charge deux algorithmes de chiffrement pour les clés KMS avec des spécifications de clé RSA. Ces algorithmes, définis dans PKCS #1 v2.2
Algorithme de chiffrement | Description de l'algorithme |
---|---|
RSAES_OAEP_SHA_1 | PKCS #1 v2.2, section 7.1. Chiffrement RSA avec rembourrage OAEP utilisant SHA-1 à la fois pour le hachage et la fonction de génération de MGF1 masque, avec une étiquette vide. |
RSAES_OAEP_SHA_256 | PKCS #1, section 7.1. Chiffrement RSA avec rembourrage OAEP utilisant SHA-256 à la fois pour le hachage et la fonction de génération de MGF1 masque, avec une étiquette vide. |
Vous ne pouvez pas configurer une clé KMS pour utiliser un algorithme de chiffrement particulier. Toutefois, vous pouvez utiliser la condition kms : EncryptionAlgorithm policy pour spécifier les algorithmes de chiffrement que les principaux sont autorisés à utiliser avec la clé KMS.
Pour obtenir les algorithmes de chiffrement d'une clé KMS, consultez la configuration cryptographique de la clé KMS 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 à l'aide de l'GetPublicKeyopération.
Vous pouvez choisir une spécification de clé RSA en fonction de la longueur des données en texte brut que vous pouvez chiffrer dans chaque requête. 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. Pour comparer, vous pouvez utiliser une clé KMS de chiffrement symétrique pour chiffrer jusqu'à 4 096 octets en même temps.
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.
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 |
Spécifications des clés RSA pour la signature et la vérification
Lorsqu'une clé KMS asymétrique RSA 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 vérifiez une signature avec la clé publique.
Lorsque vous appelez l'Sign
opération AWS KMS pour une clé KMS asymétrique, AWS KMS utilise la clé privée de la paire de clés RSA, 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 clé KMS, le même message et le même algorithme de signature. AWS KMS utilise ensuite la clé publique de la paire de clés RSA 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 clés KMS avec une spécification de clé RSA. 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. Lors de la signature avec des paires de clés RSA, les algorithmes RSASSA-PSS sont privilégiés. Nous incluons les algorithmes RSASSA- PKCS1 -v1_5 pour assurer la compatibilité avec les applications existantes.
Algorithme de signature | Description de l'algorithme |
---|---|
RSASSA_PSS_SHA_256 | PKCS #1 v2.2, Section 8.1, signature RSA avec rembourrage PSS 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, signature RSA avec rembourrage PSS 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, signature RSA avec rembourrage PSS 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_ _V1_5_SHA_256 PKCS1 | PKCS #1 v2.2, section 8.2, signature RSA avec remplissage PKCS #1v1.5 et SHA-256 |
RSASSA_ _V1_5_SHA_384 PKCS1 | PKCS #1 v2.2, section 8.2, signature RSA avec remplissage PKCS #1v1.5 et SHA-384 |
RSASSA_ _V1_5_SHA_512 PKCS1 | PKCS #1 v2.2, section 8.2, signature RSA avec remplissage PKCS #1v1.5 et SHA-512 |
Vous ne pouvez pas configurer une clé KMS pour utiliser des algorithmes de signature particuliers. Cependant, vous pouvez utiliser la condition kms : SigningAlgorithm policy pour spécifier les algorithmes de signature que les principaux sont autorisés à utiliser avec la clé KMS.
Pour obtenir les algorithmes de signature d'une clé KMS, consultez la configuration cryptographique de la clé KMS 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é KMS asymétrique avec une paire de clés ECC 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 clés ECC suivantes pour les clés KMS asymétriques.
-
Paires de clés asymétriques à courbe elliptique recommandées par le NIST (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 crypto-monnaies.
-
La spécification de clé ECC 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 clé KMS asymétrique pour obtenir des secrets partagés, utilisez l'une des spécifications de clé à courbe elliptique recommandées par le NIST. Le seul algorithme d'accord de clés pris en charge pour dériver des secrets partagés est le cofacteur Diffie-Hellman (Elliptic Curve Cryptography Cofactor Diffie-Hellman
Si vous créez une clé KMS asymétrique à utiliser avec les crypto-monnaies, 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.
Les clés KMS avec des spécifications de clés ECC différentes sont tarifées différemment 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
Le tableau suivant présente les algorithmes de signature compatibles AWS KMS avec chacune des spécifications clés de l'ECC. Vous ne pouvez pas configurer une clé KMS pour utiliser des algorithmes de signature particuliers. Cependant, vous pouvez utiliser la condition kms : SigningAlgorithm policy pour spécifier les algorithmes de signature que les principaux sont autorisés à utiliser avec la clé KMS.
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. |
SM2 spé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 de l'administration nationale de cryptographie commerciale (OSCCA) de la Chine
Chaque clé KMS ne peut avoir qu'un seul type d'utilisation de clé. Vous pouvez utiliser une clé SM2 KMS pour la signature et la vérification, le chiffrement et le déchiffrement, ou pour obtenir des secrets partagés. Vous devez spécifier l’utilisation de la clé lorsque vous créez la clé KMS, et vous ne pouvez pas la modifier une fois la clé créée.
Si vous créez une clé KMS 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 Diffie-Hellman (Elliptic Curve Cryptography Cofactor Diffie-Hellman
AWS KMS prend en charge les algorithmes SM2 de chiffrement et de signature suivants :
-
- SM2Algorithme de chiffrement PKE
-
SM2Le PKE est un algorithme de chiffrement basé sur une courbe elliptique défini par l'OSCCA dans GM/T 0003.4-2012.
-
- SM2Algorithme de signature DSA
-
SM2Le DSA est un algorithme de signature basé sur une courbe elliptique défini par l'OSCCA dans GM/T 0003.2-2012. SM2Le DSA né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
Spécifications de clé pour les clés KMS HMAC
AWS KMS prend en charge les clés HMAC 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'algorithme MAC 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.
Spécification de clé HMAC | Algorithme MAC |
---|---|
HMAC_224 | HMAC_SHA_224 |
HMAC_256 | HMAC_SHA_256 |
HMAC_384 | HMAC_SHA_384 |
HMAC_512 | HMAC_SHA_512 |