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

Les utilisateurs autorisés peuvent utiliser l' GenerateDataKey API (et les APIs applications associées) pour demander un type spécifique de clé de données ou une clé aléatoire de longueur arbitraire. Cette rubrique fournit une vue simplifiée de cette opération API. Pour plus de détails, consultez le GenerateDataKey APIs document de référence de l'AWS Key Management Service API.

Voici la syntaxe de la demande GenerateDataKey.

{ “EncryptionContext”: {“string” : “string”}, “GrantTokens”: [“string”], “KeyId”: “string”, “NumberOfBytes”: “number” }

La demande accepte les données suivantes au format JSON.

KeyId

Identifiant de la clé utilisée pour chiffrer la clé de données. Cette valeur doit identifier une clé KMS de chiffrement symétrique.

Ce paramètre est obligatoire.

NumberOfBytes

Un nombre entier qui contient le nombre d'octets à générer. Ce paramètre est obligatoire.

L'appelant doit fournir KeySpec ou NumberOfBytes, mais pas les deux.

EncryptionContext

(Facultatif) Nom : paire de valeur qui contient des données supplémentaires à authentifier lors des processus de chiffrement et de déchiffrement qui utilisent la clé.

GrantTokens

(Facultatif) Une liste de jetons d'octrois qui représentent les octrois qui fournissent des autorisations permettant de générer ou d'utiliser une clé. Pour en savoir plus sur les octrois et les jetons d'octrois, consultez Authentification et contrôle d'accès pour AWS KMS dans le AWS Key Management Service guide du développeur.

Après avoir authentifié la commande AWS KMS, acquiert l'EKT actif actuel associé à la clé KMS. Il transmet l'EKT avec la demande que vous avez fournie et tout contexte de chiffrement à un HSM via une session protégée entre l' AWS KMS hôte et un HSM du domaine.

La clé HSM exécute les tâches suivantes :

  1. Génère les éléments secrets demandés et les conserve dans la mémoire volatile.

  2. Déchiffre l'EKT correspondant à l'ID de clé de la clé KMS définie dans la demande afin d'obtenir le HBK = Déchiffrer (DKi, EKT).

  3. Génère un nombre aléatoire à usage unique N.

  4. Génère une clé de chiffrement K dérivée de l'AES-GCM 256 bits à partir d'une clé HBK et N.

  5. Chiffre les éléments secrets texte chiffré = Chiffrer (K, contexte, secret).

GenerateDataKeyvous renvoie le contenu secret en texte clair et le texte chiffré via le canal sécurisé entre l' AWS KMS hôte et le HSM. AWS KMS puis vous l'envoie via la session TLS. AWS KMS ne conserve ni le texte brut ni le texte chiffré. Sans possession du texte chiffré, du contexte de chiffrement et de l'autorisation d'utiliser la clé KMS, le secret sous-jacent ne peut pas être renvoyé.

Voici la syntaxe de la réponse.

{ "CiphertextBlob": "blob", "KeyId": "string", "Plaintext": "blob" }

La gestion des clés de données vous est remise en tant que développeur de l'application. Pour appliquer les meilleures pratiques de chiffrement côté client à l'aide de clés de AWS KMS données (mais pas de paires de clés de données), vous pouvez utiliser le. AWS Encryption SDK

Leur rotation peut être effectuée à n'importe quelle fréquence. En outre, la clé de données elle-même peut être chiffrée à nouveau sur une autre clé KMS ou sur une clé KMS qui a subi une rotation à l'aide de l'outil ReEncrypt Opération d'API. Pour plus de détails, consultez ReEncryptla référence de AWS Key Management Service l'API.