Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Suites d'algorithmes prises en charge dans le SDK AWS de chiffrement de base de données - AWS SDK de chiffrement de base de données

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.

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.

Suites d'algorithmes prises en charge dans le SDK AWS de chiffrement de base de données

Notre bibliothèque de chiffrement côté client a été renommée SDK de chiffrement de AWS base de données. Ce guide du développeur fournit toujours des informations sur le client de chiffrement DynamoDB.

Une suite d'algorithmes est un ensemble d'algorithmes de chiffrement et de valeurs connexes. Les systèmes cryptographiques utilisent l'implémentation de l'algorithme pour générer le texte chiffré.

Le SDK AWS Database Encryption utilise une suite d'algorithmes pour chiffrer et signer les champs de votre base de données. Toutes les suites d'algorithmes prises en charge utilisent l'algorithme Advanced Encryption Standard (AES) avec Galois/Counter Mode (GCM), connu sous le nom d'AES-GCM, pour chiffrer les données brutes. Le SDK AWS de chiffrement de base de données prend en charge les clés de chiffrement 256 bits. La longueur de la balise d'authentification est toujours de 16 octets.

AWS Suites d'algorithmes du SDK de chiffrement de base de données
Algorithm Algorithme de chiffrement Longueur de la clé de données (en bits) Algorithme de dérivation de clé Algorithme de signature symétrique Algorithme de signature asymétrique Engagement clé
Par défaut AES-GCM 256 HKDF avec SHA-512 HMAC-SHA-384 ECDSA avec P-384 et SHA-384 HKDF avec SHA-512
AES-GCM sans signatures numériques ECDSA AES-GCM 256 HKDF avec SHA-512 HMAC-SHA-384 Aucun HKDF avec SHA-512
Algorithme de chiffrement

Nom et mode de l'algorithme de chiffrement utilisé. Les suites d'algorithmes du SDK AWS de chiffrement de base de données utilisent l'algorithme Advanced Encryption Standard (AES) avec le mode Galois/Counter (GCM).

Longueur de la clé de données

Longueur de la clé de données en bits. Le SDK AWS de chiffrement de base de données prend en charge les clés de données 256 bits. La clé de données est utilisée comme entrée dans une fonction de dérivation de extract-and-expand clé basée sur HMAC (HKDF). La sortie de la fonction HKDF est utilisée comme la clé de chiffrement des données dans l'algorithme de chiffrement.

Algorithme de dérivation de clé

La fonction de dérivation de extract-and-expand clé basée sur HMAC (HKDF) utilisée pour dériver la clé de chiffrement des données. Le SDK AWS de chiffrement de base de données utilise le HKDF défini dans la RFC 5869.

  • La fonction de hachage utilisée est SHA-512

  • Pour l'étape d'extraction :

    • Aucune valeur salt n'est utilisée. Selon la RFC, le sel est défini sur une chaîne de zéros.

    • Le matériel de saisie est la clé de données du trousseau de clés.

  • Pour l'étape de développement :

    • La clé pseudo aléatoire en entrée est la sortie de l'étape d'extraction.

    • L'étiquette clé correspond aux octets codés en UTF-8 de la DERIVEKEY chaîne dans l'ordre des octets en gros endian.

    • Les informations d'entrée sont une concaténation de l'identifiant de l'algorithme et de l'étiquette clé (dans cet ordre).

    • La longueur du matériel de saisie de sortie est la longueur de la clé de données. Cette sortie est utilisée comme la clé de chiffrement des données dans l'algorithme de chiffrement.

Algorithme de signature symétrique

Algorithme HMAC (Hash Based Message Authentication Code) utilisé pour générer une signature symétrique. Toutes les suites d'algorithmes prises en charge incluent la vérification HMAC.

Le SDK AWS Database Encryption sérialise la description du matériel et tous les champs marqués ENCRYPT_AND_SIGNSIGN_ONLY, ou. SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Ensuite, il utilise HMAC avec un algorithme de fonction de hachage cryptographique (SHA-384) pour signer la canonisation.

La signature HMAC symétrique est stockée dans un nouveau champ (aws_dbe_foot) que le SDK de chiffrement de AWS base de données ajoute à l'enregistrement.

Algorithme de signature asymétrique

Algorithme de signature utilisé pour générer une signature numérique asymétrique.

Le SDK AWS Database Encryption sérialise la description du matériel et tous les champs marqués ENCRYPT_AND_SIGNSIGN_ONLY, ou. SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Il utilise ensuite l'algorithme de signature numérique à courbe elliptique (ECDSA) avec les spécificités suivantes pour signer la canonicalisation :

La signature ECDSA asymétrique est stockée avec la signature HMAC symétrique sur le terrain. aws_dbe_foot

Les signatures numériques ECDSA sont incluses par défaut, mais elles ne sont pas obligatoires.

Engagement clé

La fonction de dérivation de extract-and-expand clé basée sur HMAC (HKDF) utilisée pour dériver la clé de validation.

  • La fonction de hachage utilisée est SHA-512

  • Pour l'étape d'extraction :

    • Aucune valeur salt n'est utilisée. Selon la RFC, le sel est défini sur une chaîne de zéros.

    • Le matériel de saisie est la clé de données du trousseau de clés.

  • Pour l'étape de développement :

    • La clé pseudo aléatoire en entrée est la sortie de l'étape d'extraction.

    • Les informations d'entrée sont les octets codés en UTF-8 de la COMMITKEY chaîne dans l'ordre des octets Big Endian.

    • La longueur du matériel de saisie de sortie est de 256 bits. Cette sortie est utilisée comme clé de validation.

La clé de validation calcule l'engagement de l'enregistrement, un hachage distinct du code d'authentification des messages basé sur le hachage (HMAC) de 256 bits, par rapport à la description du matériau. Pour une explication technique de l'ajout d'un engagement clé à une suite d'algorithmes, voir Key Commitment AEADs in Cryptology ePrint Archive.

Par défaut, le SDK de chiffrement AWS de base de données utilise une suite d'algorithmes avec AES-GCM, une fonction de dérivation de extract-and-expand clé basée sur HMAC (HKDF), une vérification HMAC, des signatures numériques ECDSA, un engagement de clé et une clé de chiffrement 256 bits.

La suite d'algorithmes par défaut inclut la vérification HMAC (signatures symétriques) et les signatures numériques ECDSA (signatures asymétriques). Ces signatures sont stockées dans un nouveau champ (aws_dbe_foot) que le SDK AWS de chiffrement de base de données ajoute à l'enregistrement. Les signatures numériques ECDSA sont particulièrement utiles lorsque la politique d'autorisation permet à un ensemble d'utilisateurs de chiffrer des données et à un autre ensemble d'utilisateurs de les déchiffrer.

La suite d'algorithmes par défaut déduit également un engagement clé : un hachage HMAC qui lie la clé de données à l'enregistrement. La valeur d'engagement clé est un HMAC calculé à partir de la description du matériau et de la clé de validation. La valeur d'engagement clé est ensuite enregistrée dans la description du matériau. Un engagement clé garantit que chaque texte chiffré est déchiffré en un seul texte clair. Pour ce faire, ils valident la clé de données utilisée comme entrée dans l'algorithme de chiffrement. Lors du chiffrement, la suite d'algorithmes déduit un engagement clé HMAC. Avant le déchiffrement, ils valident que la clé de données produit la même clé d'engagement HMAC. Si ce n'est pas le cas, l'appel de déchiffrement échoue.

AES-GCM sans signatures numériques ECDSA

Bien que la suite d'algorithmes par défaut soit probablement adaptée à la plupart des applications, vous pouvez choisir une autre suite d'algorithmes. Par exemple, certains modèles de confiance seraient satisfaits par une suite d'algorithmes sans signature numérique ECDSA. Utilisez cette suite uniquement lorsque les utilisateurs qui chiffrent les données et ceux qui les déchiffrent jouissent de la même confiance.

Toutes les suites d'algorithmes du SDK de chiffrement de AWS base de données incluent la vérification HMAC (signatures symétriques). La seule différence est que la suite d'algorithmes AES-GCM sans signature numérique ECDSA ne dispose pas de la signature asymétrique qui fournit une couche supplémentaire d'authenticité et de non-répudiation.

Par exemple, si vous avez plusieurs clés d'encapsulage dans votre trousseau de cléswrappingKeyA, wrappingKeyBwrappingKeyC, et que vous déchiffrez un enregistrement à l'aide wrappingKeyA de la signature symétrique HMAC vérifie que l'enregistrement a été crypté par un utilisateur ayant accès à. wrappingKeyA Si vous avez utilisé la suite d'algorithmes par défaut, vous devez HMACs fournir la même vérification et utiliser en outre la signature numérique ECDSA pour garantir que l'enregistrement a été crypté par un utilisateur disposant d'autorisations de chiffrement pour. wrappingKeyA wrappingKeyA

Pour sélectionner la suite d'algorithmes AES-GCM sans signature numérique, incluez l'extrait suivant dans votre configuration de chiffrement.

Java

L'extrait suivant spécifie la suite d'algorithmes AES-GCM sans signatures numériques ECDSA. Pour de plus amples informations, veuillez consulter Configuration du chiffrement dans le chiffrement de AWS base de données SDK pour DynamoDB.

.algorithmSuiteId( DBEAlgorithmSuiteId.ALG_AES_256_GCM_HKDF_SHA512_COMMIT_KEY_SYMSIG_HMAC_SHA384)
C# / .NET

L'extrait suivant spécifie la suite d'algorithmes AES-GCM sans signatures numériques ECDSA. Pour de plus amples informations, veuillez consulter Configuration du chiffrement dans le chiffrement de AWS base de données SDK pour DynamoDB.

AlgorithmSuiteId = DBEAlgorithmSuiteId.ALG_AES_256_GCM_HKDF_SHA512_COMMIT_KEY_SYMSIG_HMAC_SHA384
Rust

L'extrait suivant spécifie la suite d'algorithmes AES-GCM sans signatures numériques ECDSA. Pour de plus amples informations, veuillez consulter Configuration du chiffrement dans le SDK de chiffrement AWS de base de données pour DynamoDB.

.algorithm_suite_id( DbeAlgorithmSuiteId::AlgAes256GcmHkdfSha512CommitKeyEcdsaP384SymsigHmacSha384, )

L'extrait suivant spécifie la suite d'algorithmes AES-GCM sans signatures numériques ECDSA. Pour de plus amples informations, veuillez consulter Configuration du chiffrement dans le chiffrement de AWS base de données SDK pour DynamoDB.

.algorithmSuiteId( DBEAlgorithmSuiteId.ALG_AES_256_GCM_HKDF_SHA512_COMMIT_KEY_SYMSIG_HMAC_SHA384)

Rubrique suivante :

Interaction avec AWS KMS

Rubrique précédente :

Comment ça marche
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.