

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 ?
<a name="DDB-encrypted-and-signed"></a>


****  

|  | 
| --- |
| 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](legacy-dynamodb-encryption-client.md). | 

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](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.TablesItemsAttributes) 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](how-it-works.md)

**Note**  
[Toutes les mentions d'*actions d'attributs dans les* rubriques du SDK AWS de chiffrement de base de données pour DynamoDB font référence aux actions cryptographiques.](concepts.md#crypt-actions)

**Topics**
+ [Chiffrement des valeurs d'attribut](#encrypt-attribute-values)
+ [Signature de l'élément](#sign-the-item)

## Chiffrement des valeurs d'attribut
<a name="encrypt-attribute-values"></a>

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](concepts.md#crypt-actions). 

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](concepts.md#material-description) 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
<a name="sign-the-item"></a>

[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 (HMACs) et une [signature numérique](concepts.md#digital-sigs) lors de la canonisation de la description du matériel, du [contexte de chiffrement et de chaque champ marqué, ou dans](concepts.md#encryption-context) les actions d'attribut. `ENCRYPT_AND_SIGN``SIGN_ONLY``SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT`](concepts.md#crypt-actions) Les signatures ECDSA sont activées par défaut, mais ne sont pas obligatoires. Le client enregistre les signatures HMACs et dans un nouvel attribut (`aws_dbe_foot`) qu'il ajoute à l'élément.