Générer des paires de clés de données - 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.

Générer des paires de clés de données

Une KMS clé asymétrique représente une paire de clés de données. Les paires de clés de données sont des clés de données asymétriques composées d'une clé publique et d'une clé privée mathématiquement liées entre elles. Ils sont conçus pour être utilisés dans le chiffrement et le déchiffrement côté client, la signature et la vérification en dehors de AWS KMS ou pour établir un secret partagé entre deux pairs.

Contrairement aux paires de clés de données SSL générées par des outils tels qu'Open, AWS KMS la clé privée de chaque paire de clés de données est protégée par une KMS clé de chiffrement symétrique AWS KMS que vous spécifiez. Toutefois, il AWS KMS ne stocke, ne gère ni ne suit vos paires de clés de données, et n'effectue pas d'opérations cryptographiques avec des paires de clés de données. Vous devez utiliser et gérer les paires de clés de données en dehors d' AWS KMS.

Création d'une paire de clés de données

Pour créer une paire de clés de données, appelez les GenerateDataKeyPairWithoutPlaintextopérations GenerateDataKeyPairor. Spécifiez la KMSclé de chiffrement symétrique que vous souhaitez utiliser pour chiffrer la clé privée.

GenerateDataKeyPair renvoie une clé publique en texte brut, une clé privée en texte brut et une clé privée chiffrée. Utilisez cette opération lorsque vous avez besoin immédiatement d'une clé privée en texte brut, par exemple pour générer une signature numérique.

GenerateDataKeyPairWithoutPlaintext renvoie une clé publique en texte brut et une clé privée chiffrée, mais pas une clé privée en texte brut. Utilisez cette opération lorsque vous n'avez pas besoin immédiatement d'une clé privée en texte brut, par exemple lorsque vous chiffrez avec une clé publique. Plus tard, lorsque vous avez besoin d'une clé privée en texte brut pour déchiffrer les données, vous pouvez appeler l'opération Decrypt (Déchiffrer).

L'image suivante illustre l'opération GenerateDataKeyPair. L'opération GenerateDataKeyPairWithoutPlaintext omet la clé privée en texte brut.

Générer une paire de clés de données

Comment fonctionnent les opérations cryptographiques avec des paires de clés de données

Les rubriques suivantes expliquent les opérations cryptographiques que vous pouvez effectuer avec les paires de clés de données générées par une GenerateDataKeyPairWithoutPlaintextopération GenerateDataKeyPairor et leur fonctionnement.

Chiffrer des données avec une paire de clés de données

Lorsque vous chiffrez avec une paire de clés de données, vous utilisez la clé publique de la paire pour chiffrer les données et la clé privée de la même paire pour déchiffrer les données. Généralement, les paires de clés de données sont utilisées lorsque de nombreuses parties ont besoin de chiffrer des données que seule la partie qui détient la clé privée peut déchiffrer.

Les parties disposant de la clé publique utilisent cette clé pour chiffrer les données, comme indiqué dans le diagramme suivant.

Chiffrez les données utilisateur avec la clé publique d'une paire de clés de données en dehors de AWS KMS

Déchiffrer des données avec une paire de clés de données

Pour déchiffrer vos données, utilisez la clé privée de la paire de clés de données. Pour que l'opération réussisse, les clés publiques et privées doivent être issues de la même paire de clés de données et vous devez utiliser le même algorithme de chiffrement.

Pour déchiffrer la clé privée chiffrée, transmettez-la à l'opération Decrypt (Déchiffrer). Utilisez la clé privée en texte brut pour déchiffrer les données. Ensuite, retirez la clé privée en texte brut de la mémoire dès que possible.

Le diagramme suivant montre comment utiliser la clé privée dans une paire de clés de données pour déchiffrer le texte chiffré.

Déchiffrer les données avec la clé privée dans une paire de clés de données en dehors de AWS KMS.

Signer des messages avec une paire de clés de données

Pour générer une signature de chiffrement pour un message, utilisez la clé privée dans la paire de clés de données. Toute personne disposant de la clé publique peut l'utiliser pour vérifier que le message a été signé avec votre clé privée et qu'il n'a pas changé depuis qu'il a été signé.

Si vous chiffrez votre clé privée, transmettez-la à l'opération de déchiffrement. AWS KMS utilise votre KMS clé pour déchiffrer la clé de données, puis renvoie la clé privée en texte brut. Utilisez la clé privée en texte brut pour générer la signature. Ensuite, retirez la clé privée en texte brut de la mémoire dès que possible.

Pour signer un message, créez un résumé du message à l'aide d'une fonction de hachage cryptographique, telle que la dgstcommande dans Open. SSL Ensuite, passez votre clé privée en texte brut à l'algorithme de signature. Le résultat est une signature qui représente le contenu du message. (Vous pourriez être en mesure de signer des messages plus courts sans créer d'abord un résumé. La taille maximale du message varie en fonction de l'outil de signature que vous utilisez.)

Le diagramme suivant montre comment utiliser la clé privée dans une paire de clés de données pour signer un message.

Générez une signature cryptographique avec la clé privée dans une paire de clés de données située en dehors de AWS KMS.

Vérifier une signature avec une paire de clés de données

Toute personne disposant de la clé publique dans votre paire de clés de données peut l'utiliser pour vérifier la signature que vous avez générée avec votre clé privée. La vérification confirme qu'un utilisateur autorisé a signé le message avec la clé privée et l'algorithme de signature spécifiés, et que le message n'a pas changé depuis sa signature.

Pour réussir, la partie qui vérifie la signature doit générer le même type de résumé, utiliser le même algorithme et utiliser la clé publique qui correspond à la clé privée utilisée pour signer le message.

Le diagramme suivant montre comment utiliser la clé publique dans une paire de clés de données pour vérifier une signature de message.

Vérifier une signature de chiffrement avec la clé publique dans une paire de clés de données en dehors de AWS KMS.

Déterminez un secret partagé à l'aide de paires de clés de données

L'accord clé permet à deux pairs, chacun possédant une paire de clés publique-privée à courbe elliptique, d'établir un secret partagé sur un canal non sécurisé. Pour obtenir un secret partagé, les deux pairs doivent échanger leurs clés publiques via un canal de communication non sécurisé (comme Internet). Ensuite, chaque partie utilise sa clé privée et la clé publique de son homologue pour calculer le même secret partagé à l'aide d'un algorithme d'accord de clé. Vous pouvez utiliser la valeur secrète partagée pour obtenir une clé symétrique capable de chiffrer et de déchiffrer les données envoyées entre les deux homologues, ou de les générer et de les vérifier. HMACs

Note

AWS KMS recommande vivement de vérifier que la clé publique que vous recevez provient de la partie attendue avant de l'utiliser pour obtenir un secret partagé.