

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Come funziona il client di crittografia DynamoDB
<a name="DDBEC-legacy-how-it-works"></a>

**Nota**  
La nostra libreria di crittografia lato client è stata [rinominata](DDBEC-rename.md) Database Encryption SDK. AWS Il seguente argomento fornisce informazioni sulle versioni 1. *x* —2. *x* del DynamoDB Encryption Client for Java e versioni 1. *x —3.* *x* del client di crittografia DynamoDB per Python. Per ulteriori informazioni, consulta [AWS Database Encryption SDK per il supporto della versione DynamoDB](legacy-dynamodb-encryption-client.md#legacy-support).

Il DynamoDB Encryption Client è progettato specificamente per proteggere i dati archiviati in DynamoDB. Le librerie includono implementazioni sicure che puoi estendere o utilizzare senza modificarle. Inoltre, la maggior parte degli elementi sono rappresentati da elementi astratti per consentirti di creare e utilizzare componenti personalizzati compatibili.

**Crittografia e firma degli item della tabella**

Alla base del DynamoDB Encryption Client c'è *uno strumento di crittografia degli elementi* che crittografa, firma, verifica e decrittografa gli elementi della tabella. Carica informazioni sugli elementi della tabella e istruzioni su quali item criptare e firmare. Ottiene i materiali di crittografia e le istruzioni su come utilizzarli da un [provider di materiali crittografici](DDBEC-legacy-concepts.md#concept-material-provider) da te selezionato e configurato. 

Il seguente diagramma mostra una vista generale di questo processo:

![\[Crittografia e firma degli elementi nel client di crittografia DynamoDB\]](http://docs.aws.amazon.com/it_it/database-encryption-sdk/latest/devguide/images/arch-encrypt.png)


Per crittografare e firmare un elemento della tabella, il client di crittografia DynamoDB necessita di:
+ **Informazioni sulla tabella.** Ottiene informazioni sulla tabella da un contesto di [crittografia DynamoDB](concepts.md#encryption-context) fornito dall'utente. Alcuni helper ottengono le informazioni richieste da DynamoDB e creano automaticamente il contesto di crittografia DynamoDB. 
**Nota**  
*Il contesto di *crittografia DynamoDB* nel DynamoDB Encryption Client non è correlato al contesto di crittografia in () e in.* AWS Key Management Service AWS KMS AWS Encryption SDK
+ **Informazioni su quali attributi crittografare e firmare.** Ottiene queste informazioni dalle [operazioni di attributo](DDBEC-legacy-concepts.md#legacy-attribute-actions) da te fornite.
+ **Materiali di crittografia, incluse le chiavi di crittografia e di firma.** Li ottiene da un [provider di materiali crittografici](DDBEC-legacy-concepts.md#concept-material-provider) (CMP) da te selezionato e configurato. 
+ **Istruzioni per la crittografia e la firma dell'item**. Il CMP aggiunge istruzioni per l'utilizzo dei materiali di crittografia, inclusi gli algoritmi di crittografia e firma, alla [descrizione dei materiali effettivi](DDBEC-legacy-concepts.md#legacy-material-description).

Il [componente di crittografia dell'item](DDBEC-legacy-concepts.md#item-encryptor) utilizza tutti questi elementi per crittografare e firmare l'item. Il componente di crittografia dell'item, inoltre, aggiunge due attributi all'item: un [attributo di descrizione del materiale](DDBEC-legacy-concepts.md#legacy-material-description), contenente le istruzioni per la crittografia e la firma (la descrizione dei materiali effettivi), e un attributo che contiene la firma. Puoi interagire direttamente con il componente di crittografia dell'item o utilizzare le funzionalità helper che interagiscono con il componente di crittografia dell'item per implementare un comportamento predefinito sicuro.

Il risultato è un item DynamoDB contenente dati crittografati e firmati.

**Verifica e decrittografia degli item della tabella**

Anche questi componenti operano insieme per verificare e decrittografare l'item, come mostrato nel diagramma riportato di seguito.

![\[Verifica e decrittografia degli elementi nel client di crittografia DynamoDB\]](http://docs.aws.amazon.com/it_it/database-encryption-sdk/latest/devguide/images/arch-decrypt.png)


Per verificare e decrittografare un elemento, il client di crittografia DynamoDB necessita degli stessi componenti, componenti con la stessa configurazione o componenti progettati appositamente per decrittografare gli elementi, come segue:
+ **Informazioni sulla tabella dal contesto** di crittografia [DynamoDB](concepts.md#encryption-context).
+ **Quali attributi verificare e decrittografare.** ottenute dalle [operazioni di attributo](DDBEC-legacy-concepts.md#legacy-attribute-actions).
+ **Materiali di decrittografia, incluse le chiavi di verifica e decrittografia**, ottenute dal [CMP](DDBEC-legacy-concepts.md#concept-material-provider) da te selezionato e configurato.

  L'item crittografato non include alcun record del CMP che è stato utilizzato per crittografarlo. Devi fornire lo stesso CMP, un CMP con la stessa configurazione o un CMP che è stato designato per decrittografare gli item.
+ **Informazioni sui modi in cui l'item è stato crittografato e firmato**, inclusi gli algoritmi di crittografia e firma. Il client le ottiene dall'[attributo di descrizione del materiale](DDBEC-legacy-concepts.md#legacy-material-description) nell'item.

Il [componente di crittografia dell'item](DDBEC-legacy-concepts.md#item-encryptor) utilizza tutti questi elementi per verificare e decrittografare l'item. Inoltre, rimuove gli attributi di descrizione del materiale e di firma. Il risultato è un elemento DynamoDB in testo semplice.