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.
Quels sont les champs chiffrés et signés ?
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. |
Le SDK AWS Database Encryption pour DynamoDB est une bibliothèque de chiffrement côté client spécialement conçue pour les applications Amazon DynamoDB. Amazon DynamoDB stocke les données dans des tables, qui sont un ensemble d'éléments. Chaque élément est une collection d'attributs. Chaque attribut a un nom et une valeur. Le SDK AWS de chiffrement de base de données pour DynamoDB chiffre les valeurs des attributs. Puis, il calcule une signature sur les attributs. Vous pouvez spécifier les valeurs d'attribut à chiffrer et celles à inclure dans la signature.
Le chiffrement protège la confidentialité de la valeur d'attribut. La signature assure l'intégrité de tous les attributs signés et de leurs relations entre eux, et fournit l'authentification. Elle vous permet de détecter les modifications non autorisées sur l'élément comme un tout, y compris l'ajout ou la suppression d'attributs, ou le remplacement d'une valeur chiffrée par une autre.
Dans un élément chiffré, certaines données restent en texte brut, notamment le nom de la table, tous les noms d'attributs, les valeurs d'attribut que vous ne chiffrez pas, les noms et valeurs des attributs de la clé primaire (clé de partition et clé de tri) et les types d'attributs. Ne stockez pas les données sensibles dans ces champs.
Pour plus d'informations sur le fonctionnement du SDK AWS de chiffrement de base de données pour DynamoDB, consultez. Fonctionnement du SDK AWS de chiffrement de base de données
Chiffrement des valeurs d'attribut
Le SDK AWS de chiffrement de base de données pour DynamoDB chiffre les valeurs (mais pas le nom ou le type d'attribut) des attributs que vous spécifiez. Pour déterminer quelles sont les valeurs d'attribut chiffrées, utilisez les actions d'attribut.
Par exemple, cet élément inclut les attributs example
et test
.
'example': 'data', 'test': 'test-value', ...
Si vous chiffrez l'attribut example
, mais pas l'attribut test
, les résultats se présentent comme suit. La valeur d'attribut example
chiffrée est une donnée binaire, et non une chaîne.
'example': Binary(b"'b\x933\x9a+s\xf1\xd6a\xc5\xd5\x1aZ\xed\xd6\xce\xe9X\xf0T\xcb\x9fY\x9f\xf3\xc9C\x83\r\xbb\\"), 'test': 'test-value' ...
Les attributs de clé primaire (clé de partition et clé de tri) de chaque élément doivent rester en texte brut car DynamoDB les utilise pour rechercher l'élément dans le tableau. Ils doivent être signés, mais pas chiffrés.
Le SDK AWS de chiffrement de base de données pour DynamoDB identifie les attributs de clé primaire pour vous et garantit que leurs valeurs sont signées, mais pas chiffrées. Et, si vous identifiez votre clé primaire, puis essayez de la chiffrer, le client lève une exception.
Le client enregistre la description du matériau dans un nouvel attribut (aws_dbe_head
) qu'il ajoute à l'article. La description du matériel décrit comment l'article a été crypté et signé. Le client utilise ces informations pour vérifier et déchiffrer l'élément. Le champ qui contient la description du matériau n'est pas crypté.
Signature de l'élément
Après avoir chiffré les valeurs d'attribut spécifiées, le SDK de chiffrement de AWS base de données pour DynamoDB calcule les codes d'authentification des messages basés sur le hachage (HMAC) et une signature numérique lors de la canonisation de la description du matériel, du contexte de chiffrement et de chaque champ marqué, ou dans les actions d'attribut. ENCRYPT_AND_SIGNSIGN_ONLYSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Les signatures ECDSA sont activées par défaut, mais ne sont pas obligatoires. Le client enregistre les HMAC et les signatures dans un nouvel attribut (aws_dbe_foot
) qu'il ajoute à l'élément.