Importation des éléments de clé – Étape 2 : Téléchargement de la clé publique d’encapsulage et du jeton d'importation - 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.

Importation des éléments de clé – Étape 2 : Téléchargement de la clé publique d’encapsulage et du jeton d'importation

Après avoir créé un élément AWS KMS key sans clé, téléchargez une clé publique encapsulée et un jeton d'importation pour cette clé KMS à l'aide de la AWS KMS console ou de l'GetParametersForImportAPI. La clé publique d'encapsulage et le jeton d'importation constituent un ensemble indivisible qui doit être utilisé ensemble.

Vous utiliserez la clé publique d'encapsulage pour chiffrer votre élément de clé pour le transport. Avant de télécharger une paire de clés d'encapsulation RSA, vous sélectionnez la longueur (spécification de clé) de la paire de clés d'encapsulation RSA et l'algorithme d'encapsulation que vous utiliserez pour chiffrer le matériel clé importé en vue de son transport à l'étape 3. AWS KMS prend également en charge la spécification de la clé d'encapsulage SM2 (régions chinoises uniquement).

Chaque ensemble de clés publiques d'encapsulage et de jetons d'importation est valide pendant 24 heures. Si vous ne les utilisez pas pour importer les éléments de clé dans les 24 heures après les avoir téléchargés, vous devez en télécharger de nouveaux. Vous pouvez télécharger de nouvelles clés publiques d'encapsulage et importer des ensembles de jetons à tout moment. Cela vous permet de modifier la longueur de votre clé d'encapsulage RSA (« spécification de clé ») ou de remplacer un ensemble perdu.

Vous pouvez également télécharger une clé publique d'encapsulage et un ensemble de jetons d'importation pour réimporter les mêmes éléments de clé dans une clé KMS. Vous pouvez le faire pour définir ou modifier le délai d'expiration des éléments de clé ou pour restaurer des éléments de clé expirés ou supprimés. Vous devez télécharger et rechiffrer votre contenu clé chaque fois que vous l'importez dans. AWS KMS

Utilisation de la clé publique d'encapsulage

Le téléchargement inclut une clé publique qui vous est propre Compte AWS, également appelée clé publique encapsulée.

Avant d'importer le contenu clé, vous le chiffrez à l'aide de la clé d'encapsulage publique, puis vous le téléchargez sur. AWS KMS Lorsqu'il AWS KMS reçoit le contenu de votre clé chiffrée, il le déchiffre avec la clé privée correspondante, puis le chiffre à nouveau sous une clé symétrique AES, le tout dans un module de sécurité AWS KMS matériel (HSM).

Utilisation du jeton d'importation

Le téléchargement comprend un jeton d'importation avec des métadonnées qui garantissent que vos éléments de clé sont importés correctement. Lorsque vous téléchargez le contenu de votre clé chiffrée sur AWS KMS, vous devez télécharger le même jeton d'importation que celui que vous avez téléchargé à cette étape.

Sélectionnez une spécification de clé publique d'encapsulage

Pour protéger votre contenu clé lors de l'importation, vous le chiffrez à l'aide de la clé publique d'encapsulage à partir de AWS KMS laquelle vous le téléchargez et d'un algorithme d'encapsulage pris en charge. Vous sélectionnez une spécification de clé avant de télécharger votre clé publique d'encapsulage et votre jeton d'importation. Toutes les paires de clés d'encapsulage sont générées dans des modules de sécurité AWS KMS matériels (HSM). La clé privée ne quitte jamais le HSM en texte brut.

Caractéristiques clés du RSA Wrapping

La spécification de clé de la clé publique d’encapsulage détermine la longueur des clés de la paire de clés RSA qui protège votre élément de clé pendant son transport vers AWS KMS. En général, nous recommandons d'utiliser la clé publique d'encapsulage la plus longue qui soit pratique. Nous proposons plusieurs spécifications de clés publiques d’encapsulage pour prendre en charge une variété de HSM et de gestionnaires de clés.

AWS KMS prend en charge les spécifications clés suivantes pour les clés d'encapsulation RSA utilisées pour importer du matériel clé de tous types, sauf indication contraire.

  • RSA_4096 (préféré)

  • RSA_3072

  • RSA_2048

    Note

    La combinaison suivante n'est PAS prise en charge : l’élément de clé ECC_NIST_P521, la spécification de clé d'encapsulage publique RSA_2048 et un algorithme d'encapsulage RSAES_OAEP_SHA_*.

    Vous ne pouvez pas directement encapsuler l’élément de clé ECC_NIST_P521 avec une clé d'encapsulage publique RSA_2048. Utilisez une clé d'encapsulage plus grande ou un algorithme d'encapsulage RSA_AES_KEY_WRAP_SHA_*.

Spécification de la clé d'emballage SM2 (régions chinoises uniquement)

AWS KMS prend en charge la spécification de clé suivante pour les clés d'encapsulation SM2 utilisées pour importer du matériel clé asymétrique.

  • SM2

Sélectionner un algorithme d'encapsulage

Pour protéger vos éléments de clé pendant l'importation, vous les chiffrez à l'aide de la clé publique d’encapsulage téléchargée et d'un algorithme d'enveloppement pris en charge.

AWS KMS prend en charge plusieurs algorithmes d'encapsulation RSA standard et un algorithme d'encapsulation hybride en deux étapes. En général, nous vous recommandons d'utiliser l'algorithme d'encapsulage le plus sécurisé qui soit compatible avec l’élément de clé importé et les spécifications de clé d’encapsulage. Généralement, vous choisissez un algorithme pris en charge par le module de sécurité matérielle (HSM) ou le système de gestion de clés qui protège vos éléments de clé.

Le tableau suivant présente les algorithmes d'encapsulage pris en charge pour chaque type d’élément de clé et de clé KMS. Les algorithmes sont répertoriés dans l'ordre de préférence.

Éléments de clé Algorithme et spécification d'encapsulage pris en charge
Clés de chiffrement symétrique

Clé AES 256 bits

Clé SM4 128 bits (régions de Chine uniquement)

Algorithmes d'encapsulage :

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

Algorithmes d'encapsulage obsolètes :

RSAES_PKCS1_V1

Note

Depuis le 10 octobre 2023, il AWS KMS ne prend pas en charge l'algorithme d'encapsulage RSAES_PKCS1_V1_5.

Spécifications de clés d'encapsulage :

RSA_2048

RSA_3072

RSA_4096

Clé privée RSA asymétrique
Algorithmes d'encapsulage :

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

SM2PKE (régions chinoises uniquement)

Spécifications de clés d'encapsulage :

RSA_2048

RSA_3072

RSA_4096

SM2 (régions de Chine uniquement)

Clé privée asymétrique à courbe elliptique (ECC)

Vous ne pouvez pas utiliser les algorithmes d'encapsulage RSAES_OAEP_SHA_* avec la spécification de clé d'encapsulage RSA_2048 pour encapsuler l’élément de clé ECC_NIST_P521.

Algorithmes d'encapsulage :

RSA_AES_KEY_WRAP_SHA_256

RSA_AES_KEY_WRAP_SHA_1

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (régions chinoises uniquement)

Spécifications de clés d'encapsulage :

RSA_2048

RSA_3072

RSA_4096

SM2 (régions de Chine uniquement)

Clé privée SM2 asymétrique (régions chinoises uniquement)
Algorithmes d'encapsulage :

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

SM2PKE (régions chinoises uniquement)

Spécifications de clés d'encapsulage :

RSA_2048

RSA_3072

RSA_4096

SM2 (régions de Chine uniquement)

Clé HMAC
Algorithmes d'encapsulage :

RSAES_OAEP_SHA_256

RSAES_OAEP_SHA_1

Spécifications de clés d'encapsulage :

RSA_2048

RSA_3072

RSA_4096

Note

Les algorithmes RSA_AES_KEY_WRAP_SHA_1 d'encapsulation RSA_AES_KEY_WRAP_SHA_256 et de compression ne sont pas pris en charge dans les régions chinoises.

  • RSA_AES_KEY_WRAP_SHA_256 – Un algorithme d'encapsulage hybride en deux étapes qui combine le chiffrement de votre élément de clé avec une clé symétrique AES que vous générez, puis le chiffrement de la clé symétrique AES avec la clé d'encapsulage publique RSA téléchargée et l'algorithme d'encapsulage RSAES_OAEP_SHA_256.

    Un algorithme RSA_AES_KEY_WRAP_SHA_* d'encapsulage est requis pour encapsuler le contenu de la clé privée RSA, sauf dans les régions chinoises, où vous devez utiliser l'algorithme SM2PKE d'encapsulage.

  • RSA_AES_KEY_WRAP_SHA_1 – Un algorithme d'encapsulage hybride en deux étapes qui combine le chiffrement de votre élément de clé avec une clé symétrique AES que vous générez, puis le chiffrement de la clé symétrique AES avec la clé publique d'encapsulage RSA téléchargée et l'algorithme d'encapsulage RSAES_OAEP_SHA_1.

    Un algorithme RSA_AES_KEY_WRAP_SHA_* d'encapsulage est requis pour encapsuler le contenu de la clé privée RSA, sauf dans les régions chinoises, où vous devez utiliser l'algorithme SM2PKE d'encapsulage.

  • RSAES_OAEP_SHA_256 : algorithme de chiffrement RSA avec fonctionnalité OAEP (Optimal Asymmetric Encryption Padding) et fonction de hachage SHA-256.

  • RSAES_OAEP_SHA_1 : algorithme de chiffrement RSA avec fonctionnalité OAEP (Optimal Asymmetric Encryption Padding) et fonction de hachage SHA-1.

  • RSAES_PKCS1_V1_5(Obsolète ; depuis le 10 octobre 2023, il AWS KMS ne prend pas en charge l'algorithme d'encapsulage RSAES_PKCS1_V1_5) — Algorithme de chiffrement RSA avec le format de remplissage défini dans PKCS #1 version 1.5.

  • SM2PKE(Régions chinoises uniquement) — Algorithme de chiffrement basé sur une courbe elliptique défini par l'OSCCA dans GM/T 0003.4-2012.

Téléchargement de la clé publique d’encapsulage et du jeton d'importation (console)

Vous pouvez utiliser la AWS KMS console pour télécharger la clé publique d'encapsulage et le jeton d'importation.

  1. Si vous venez de terminer les étapes pour créer une clé KMS sans élément de clé et que vous êtes sur la page Download wrapping key and import token (Télécharger la clé d'encapsulage et le jeton d'importation), passez directement à Étape 9.

  2. Connectez-vous à la console AWS Key Management Service (AWS KMS) AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/kms.

  3. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

  4. Dans le volet de navigation, sélectionnez Clés gérées par le client.

    Astuce

    Vous pouvez uniquement importer un élément de clé dans une clé KMS d’une Origine Externe (Importation d'éléments de clé). Cela indique que la clé KMS a été créée sans élément de clé. Pour ajouter la colonne Origine à votre table, dans le coin supérieur droit de la page, choisissez l'icône des paramètres ( Gear or cog icon representing settings or configuration options. ). Activez Origine, puis choisissez Confirmer.

  5. Choisissez l'alias ou l'ID de clé de la clé KMS qui est en attente d'importation.

  6. Choisissez l'onglet Cryptographic configuration (Configuration de chiffrement) et affichez ses valeurs. Les onglets se trouvent sous la section General configuration (Configuration générale).

    Vous pouvez uniquement importer un élément de clé dans des clés KMS d’une Origine Externe (Importation d'éléments de clé). Pour plus d'informations sur la création de clés KMS avec des éléments de clé importés, veuillez consulter Importation de matériel clé pour les AWS KMS clés.

  7. Choisissez l'onglet Key material (Éléments de clé) puis choisissez Import key material (Importation des éléments de clé).

    L'onglet Key material (Éléments de clés) apparaît uniquement pour les clés KMS dont la valeur Origin (Origine) est définie sur (Externe (Importation d'éléments de clé).

  8. Pour Sélectionner la spécification de la clé d'encapsulage, choisissez la configuration de votre clé KMS. Une fois cette clé créée, vous ne pouvez pas modifier ses spécifications.

  9. Pour Sélectionner l'algorithme d'encapsulage, choisissez l'option que vous allez utiliser pour chiffrer vos éléments de clé. Pour de plus amples informations sur les options, veuillez consulter Sélectionner l'algorithme d'encapsulage.

  10. Choisissez Télécharger la clé publique d'encapsulage et le jeton d'importation, puis enregistrez le fichier.

    Si vous avez une option Suivant, pour poursuivre le processus immédiatement, choisissez Suivant. Pour continuer ultérieurement, choisissez Annuler.

  11. Décompressez le fichier .zip que vous avez enregistré à l'étape précédente (Import_Parameters_<key_id>_<timestamp>).

    Le dossier contient les fichiers suivants :

    • Une clé publique encapsulée dans un fichier nomméWrappingPublicKey.bin.

    • Un jeton d'importation dans un fichier nommé ImportToken.bin.

    • Un fichier texte nommé README.txt. Ce fichier contient des informations sur la clé publique d'encapsulage, l'algorithme d'encapsulage à utiliser pour chiffrer vos éléments de clé, et la date et l'heure d'expiration de la clé publique d'encapsulage et du jeton d'importation.

  12. Pour poursuivre le processus, consultez Chiffrer vos éléments de clé.

Téléchargement de la clé publique d'encapsulage et du jeton d'importation (AWS KMS API)

Pour télécharger la clé publique et le jeton d'importation, utilisez l'GetParametersForImportAPI. Spécifiez la clé KMS qui sera associée aux éléments de clé importé. Cette clé KMS doit avoir une Origin (Origine) définie à la valeur EXTERNAL.

Cet exemple indique l'algorithme d'encapsulage RSA_AES_KEY_WRAP_SHA_256, la spécification de clé publique d'encapsulage RSA_3072 et un exemple d'ID de clé. Remplacez ces exemples de valeurs par des valeurs valides pour votre téléchargement. Pour l’ID de clé, vous pouvez utiliser un ID de clé ou le nom ARN de clé, mais vous ne pouvez pas utiliser un nom d'alias ou un ARN d'alias pour cette opération.

$ aws kms get-parameters-for-import \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSA_AES_KEY_WRAP_SHA_256 \ --wrapping-key-spec RSA_3072

Lorsque la commande s'exécute correctement, vous obtenez une sortie similaire à ce qui suit :

{ "ParametersValidTo": 1568290320.0, "PublicKey": "public key (base64 encoded)", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "ImportToken": "import token (base64 encoded)" }

Pour préparer les données pour l'étape suivante, base64 décode la clé publique, importe le jeton et enregistre les valeurs décodées dans des fichiers.

Pour décoder la clé publique et le jeton d'importation en base64 :

  1. Copiez la clé publique encodée en base64 (représentée par clé publique (encodée en base64) dans l'exemple de sortie), collez-la dans un nouveau fichier, puis enregistrez le fichier. Donnez au fichier un nom descriptif, par exemple PublicKey.b64.

  2. Utilisez OpenSSL pour décoder du format base64 le contenu du fichier et enregistrer les données décodées dans un nouveau fichier. L'exemple suivant décode les données dans le fichier que vous avez enregistré à l'étape précédente (PublicKey.b64) et enregistre le résultat dans un nouveau fichier nommé WrappingPublicKey.bin.

    $ openssl enc -d -base64 -A -in PublicKey.b64 -out WrappingPublicKey.bin
  3. Copiez le jeton d'importation codé en base64 (représenté par jeton d'importation (codé en base64) dans l'exemple de sortie), collez-le dans un nouveau fichier, puis enregistrez le fichier. Donnez au fichier un nom descriptif, par exemple importtoken.b64.

  4. Utilisez OpenSSL pour décoder du format base64 le contenu du fichier et enregistrer les données décodées dans un nouveau fichier. L'exemple suivant décode les données dans le fichier que vous avez enregistré à l'étape précédente (ImportToken.b64) et enregistre le résultat dans un nouveau fichier nommé ImportToken.bin.

    $ openssl enc -d -base64 -A -in importtoken.b64 -out ImportToken.bin

Passez à Étape 3 : Chiffrement des éléments de clé.