Clés à usage spécial - 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.

Clés à usage spécial

AWS Key Management Service (AWS KMS) prend en charge différents types de clés pour différentes utilisations.

Lorsque vous créez une AWS KMS key, vous obtenez par défaut une clé KMS pour le chiffrement symétrique. Dans AWS KMS, une clé KMS de chiffrement symétrique représente une clé AES-GCM 256 bits utilisée pour le chiffrement et le déchiffrement, sauf dans les régions de Chine, où elle représente une clé symétrique de 128 bits qui utilise le chiffrement SM4. Les éléments de clé symétrique ne quittent jamais AWS KMS non chiffrés. À moins que votre tâche ne nécessite explicitement des clés de chiffrement asymétriques ou HMAC, les clés KMS de chiffrement symétriques, qui ne quittent jamais AWS KMS non chiffrées, sont un bon choix. De même, les services AWS qui sont intégrés à AWS KMS utilisent des clés KMS de chiffrement symétriques pour chiffrer vos données. Ces services ne prennent pas en charge le chiffrement avec des clés KMS asymétriques.

Vous pouvez utiliser une clé KMS de chiffrement symétrique dans AWS KMS pour chiffrer, déchiffrer et rechiffrer les données, générer des clés de données et des paires de clés de données, et générer des chaînes d'octets aléatoires. 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 une table comparant les opérations que vous pouvez effectuer sur des clés KMS symétriques et asymétriques, veuillez consulter Référence des types de clés.

AWS KMS prend également en charge les types de clés KMS à usage spécial suivants :

Choix d'un type de clé KMS

AWS KMS prend en charge plusieurs types de clés KMS : clés de chiffrement symétriques, clés HMAC symétriques, clés de chiffrement asymétriques et clés de signature asymétriques.

Les clés KMS diffèrent, car elles contiennent des clés de chiffrement différentes.

  • Clé KMS de chiffrement symétrique : représente une clé de chiffrement AES-GCM 256 bits, sauf dans les régions de Chine, où elle représente une clé de chiffrement SM4 128 bits. Les éléments de clé symétrique ne quittent jamais AWS KMS non chiffrés. Pour utiliser votre clé KMS de chiffrement symétrique, vous devez appeler AWS KMS.

    Les clés de chiffrement symétriques, qui sont les clés KMS par défaut, sont idéales pour la plupart des utilisations. Si vous avez besoin d'une clé KMS pour protéger vos données dans un Service AWS, utilisez une clé de chiffrement symétrique, sauf s'il vous est proposé d’utiliser un autre type de clé.

  • Clé KMS asymétrique : représente une paire de clés publiques et de clés privées mathématiquement liées entre elles que vous pouvez utiliser pour chiffrer et déchiffrer ou signer et vérifier, mais pas les deux. La clé privée ne quitte jamais AWS KMS non chiffrée. Vous pouvez utiliser la clé publique dans AWS KMS en appelant des opérations d'API AWS KMS ou télécharger la clé publique et l'utiliser hors de AWS KMS.

  • Clé HMAC (symétrique) : représente une clé symétrique de longueur variable utilisée pour générer et vérifier les codes d'authentification de message utilisant hash. Les éléments de clé dans une clé KMS HMAC ne quittent jamais AWS KMS non chiffrés. Pour utiliser votre clé KMS HMAC, vous devez appeler AWS KMS.

Le type de clé KMS que vous créez dépend en grande partie de la façon dont vous prévoyez d'utiliser la clé KMS, de vos exigences de sécurité et de vos exigences d'autorisation. Lors de la création de votre clé KMS, notez que la configuration de chiffrement de la clé KMS, y compris sa spécification et son utilisation, est établie lorsque vous la créez et qu'elle ne peut pas être modifiée.

Utilisez les conseils suivants pour déterminer le type de clé KMS dont vous avez besoin en fonction de votre cas d'utilisation.

Chiffrer et déchiffrer des données

Utilisez une clé KMS symétrique pour la plupart des cas d'utilisation nécessitant le chiffrement et le déchiffrement de 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 clé KMS nécessite que l'expéditeur et le destinataire des données chiffrées disposent des informations d'identification AWS valides pour appeler AWS KMS.

Si votre cas d'utilisation nécessite un chiffrement en dehors d'AWS par des utilisateurs qui ne peuvent pas appeler AWS KMS, les clés KMS asymétriques sont un bon choix. Vous pouvez distribuer la clé publique de la clé KMS asymétrique pour permettre à ces utilisateurs de chiffrer des données. Aussi, vos applications qui ont besoin de déchiffrer ces données peuvent utiliser la clé privée de la clé KMS asymétrique dans AWS KMS.

Signer des messages et vérifier des signatures

Pour signer des messages et vérifier des signatures, vous devez utiliser une clé KMS asymétrique. Vous pouvez utiliser une clé KMS avec une spécification de clé qui représente une paire de clés RSA, une paire de clés à courbe elliptique (ECC), ou une paire de clés SM2 (régions de Chine seulement). La spécification de clé que vous choisissez est déterminée par l'algorithme de signature que vous souhaitez utiliser. Plutôt que les algorithmes de signature RSA, nous vous recommandons d'utiliser les algorithmes de signature ECDSA pris en charge par les paires de clés ECC. Toutefois, vous devrez peut-être utiliser une spécification de clé et un algorithme de signature particuliers pour prendre en charge les utilisateurs qui vérifient les signatures en dehors d'AWS.

Effectuer le chiffrement d'une clé publique

Pour effectuer le chiffrement d'une clé publique, vous devez utiliser une clé KMS asymétrique avec une spécification de clé RSA ou une spécification de clé SM2 (régions de Chine seulement). Pour chiffrer des données dans AWS KMS avec la clé publique d'une paire de clés KMS, utilisez l'opération Encrypt (Chiffrer). Vous pouvez également télécharger la clé publique et la partager avec les parties qui ont besoin de chiffrer les données à l'extérieur de AWS KMS.

Lorsque vous téléchargez la clé publique d'une clé KMS asymétrique, vous pouvez l'utiliser à l'extérieur de AWS KMS. Mais elle n'est plus soumise aux contrôles de sécurité qui protègent la clé KMS dans AWS KMS. Par exemple, vous ne pouvez pas utiliser des AWS KMSpolitiques de clé ou des autorisations 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 en charge par AWS KMS. 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 en dehors de AWS KMS, appelez l'opération Decrypt (Déchiffrer). L'opération Decrypt échoue si les données ont été chiffrées sous une clé publique à partir d'une clé KMS avec une utilisation de clé de SIGN_VERIFY. Elle échouera également si elle a été chiffrée à l'aide d'un algorithme qui AWS KMS ne prend pas en charge la clé de spécification que vous avez sélectionnée . Pour plus d'informations sur les spécifications clés et les algorithmes pris en charge, consultezSpécifications de clés asymétriques.

Pour éviter ces erreurs, toute personne qui utilise une clé publique en dehors de AWS KMS doit stocker 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.

Générer et vérifier les codes HMAC

Pour générer et vérifier les codes d'authentification de message utilisant hash, utilisez une clé KMS HMAC. Lorsque vous créez une clé HMAC dans AWS KMS, AWS KMS crée et protège vos éléments de clé et garantit que vous utilisez les algorithmes MAC appropriés pour votre clé. Les codes HMAC peuvent également être utilisés comme nombres pseudo-aléatoires et dans certains scénarios pour la signature symétrique et la création de jeton.

Les clés KMS HMAC sont des clés symétriques. Lors de la création d'une clé KMS HMAC dans la console AWS KMS, choisissez le type de clé Symmetric.

Utilisation avec des services AWS

Pour créer une clé KMS à utiliser avec un service AWS qui est intégré à AWS KMS, veuillez consulter la documentation relative au service. Les services AWS qui chiffrent vos données nécessitent une clé KMS de chiffrement symétrique.

Outre ces considérations, les opérations de chiffrement sur des clés KMS dont les spécifications sont différentes sont soumises à des tarifs et à des quotas de demande différents. Pour plus d'informations sur la tarification AWS KMS, consultez Tarification AWS Key Management Service. Pour de plus amples informations sur les quotas de demande, veuillez consulter Quotas de demande.

Sélection de l'utilisation des clés

L'utilisation d'une clé KMS détermine si la clé KMS est utilisée pour chiffrer et déchiffrer, ou signer et vérifier les signatures, ou générer et vérifier des balises HMAC. Chaque clé KMS n'a qu'une seule utilisation de la clé. L'utilisation d'une clé KMS pour plusieurs types d'opérations rend le produit de toutes les opérations plus vulnérable aux attaques.

Comme indiqué dans la table suivante, les clés KMS de chiffrement symétriques ne peuvent être utilisées que pour chiffrer et déchiffrer. Les clés HMAC KMS ne peuvent être utilisées que pour générer et vérifier des codes HMAC. Les clés KMS de courbe elliptique (ECC) ne peuvent être utilisées que pour signer et vérifier. Vous devez prendre une décision sur l'utilisation des clés uniquement pour les clés KMS RSA.

Utilisation d'une clé valide pour les types des clés KMS
Type de clé KMS Chiffrer et déchiffrer

ENCRYPT_DECRYPT

Signer et vérifier

SIGN_VERIFY

Générer et vérifier MAC

GENERATE_VERIFY_MAC

Clés KMS de chiffrement symétrique
Clés KMS HMAC (symétriques)
Clés CMK asymétriques avec des paires de clés RSA
Clés CMK asymétriques avec des paires de clés ECC
Clés KMS asymétriques avec paires de clés SM2 (régions de Chine uniquement)

Dans la console AWS KMS, vous choisissez d'abord le type de clé (symétrique ou asymétrique), puis l'utilisation de la clé. Le type de clé que vous choisissez détermine les options d'utilisation de clés affichées. L'utilisation des clés que vous choisissez détermine les spécifications de clés affichées, le cas échéant.

Pour choisir une utilisation de clé dans la console AWS KMS :

  • Pour les clés KMS de chiffrement symétriques (par défaut), choisissez Encrypt and decrypt (Chiffrer et déchiffrer).

  • Pour les clés KMS HMAC, choisissez Generate and verify MAC (Générer et vérifier le MAC).

  • Pour les clés KMS asymétriques avec un élément de clé à courbe elliptique (ECC), choisissez Sign and verify (Signer et vérifier).

  • Pour les clés KMS asymétriques avec un élément de clé RSA, choisissez Encrypt and decrypt (Chiffrer et déchiffrer) ou Sign and verify (Signer et vérifier).

  • Pour les clés KMS asymétriques avec un élément de clé SM2, choisissez Encrypt and decrypt (Chiffrer et déchiffrer) ou Sign and verify (Signer et vérifier). La spécification de clé SM2 est disponible uniquement dans les régions de Chine.

Pour autoriser les principaux à créer des clés KMS uniquement pour une utilisation de clé particulière, utilisez la clé de KeyUsage condition kms :. Vous pouvez également utiliser la clé de condition kms:KeyUsage pour permettre aux principaux d'appeler des opérations d'API pour une clé KMS en fonction de son utilisation de clé. Par exemple, vous pouvez autoriser la désactivation d'une clé KMS uniquement si son utilisation de clé est SIGN_VERIFY.

Sélection des spécifications de la clé

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 chaque AWS KMS key, représente la configuration de chiffrement 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 d'élément dans la clé KMS et les algorithmes de chiffrement, les algorithmes de signature ou les algorithmes de code d'authentification de message (MAC) que AWS KMS prend en charge pour 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 (Tarification). Pour de plus amples informations sur les quotas de demande, veuillez consulter Quotas de demande.

Pour déterminer les principales spécifications que les principaux de votre compte sont autorisés à utiliser pour les clés KMS, utilisez la clé de KeySpec condition kms :.

AWS KMS prend en charge les spécifications de 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é HMAC
  • HMAC_224

  • HMAC_256

  • HMAC_384

  • HMAC_512

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 de courbe elliptique asymétriques recommandées par NIST (signature et vérification)

    • 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.

Spécifications de clés SM2 (chiffrement et déchiffrement, ou signature et vérification)
  • SM2 (régions de Chine uniquement)