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
ouNumberOfBytes
, 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 :
-
Génère les éléments secrets demandés et les conserve dans la mémoire volatile.
-
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).
-
Génère un nombre aléatoire à usage unique N.
-
Génère une clé de chiffrement K dérivée de l'AES-GCM 256 bits à partir d'une clé HBK et N.
-
Chiffre les éléments secrets texte chiffré = Chiffrer (K, contexte, secret).
GenerateDataKey
vous 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.