Concetti relativi ai client di crittografia Amazon DynamoDB - AWS SDK per la crittografia del database

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à.

Concetti relativi ai client di crittografia Amazon DynamoDB

Nota

La nostra libreria di crittografia lato client è stata rinominata AWS Database Encryption SDK. L'argomento seguente fornisce informazioni sulle versioni 1. x —2. x del client di crittografia DynamoDB per Java e versioni 1. x —3. x del client di crittografia DynamoDB per Python. Per ulteriori informazioni, consulta AWSDatabase Encryption SDK per il supporto delle versioni di DynamoDB.

Questo argomento spiega i concetti e la terminologia utilizzati nel client di crittografia Amazon DynamoDB.

Per scoprire come interagiscono i componenti del client di crittografia DynamoDB, consulta. Come funziona il client di crittografia DynamoDB

Provider di materiali crittografici

Quando si implementa il client di crittografia DynamoDB, una delle prime attività è selezionare un fornitore di materiali crittografici (CMP) (noto anche come fornitore di materiali crittografici). La scelta determina gran parte del processo di implementazione rimanente.

Un CMP raccoglie, assembla e restituisce i materiali crittografici che il componente di crittografia dell'item utilizza per crittografare e firmare gli item della tabella. Il CMP determina gli algoritmi di crittografia da utilizzare e come generare e proteggere le chiavi di crittografia e firma.

Il CMP interagisce con il componente di crittografia dell'item. Il componente di crittografia dell'item richiede i materiali di crittografia e decrittografia al CMP e il CMP li restituisce al componente di crittografia dell'item. Quindi, il componente di crittografia dell'item utilizza i materiali crittografici per crittografare e firmare l'item o per verificarlo e decrittografarlo.

Il CMP viene specificato quando si configura il client. Puoi creare un CMP personalizzato compatibile o utilizzare uno dei molti CMP contenuti nella libreria. La maggior parte dei CMP è disponibile per più linguaggi di programmazione.

Componenti di crittografia dell'item

L'item encryptor è un componente di livello inferiore che esegue operazioni crittografiche per il client di crittografia DynamoDB. Richiede materiali crittografici a un CMP, quindi utilizza i materiali che il CMP restituisce per crittografare e firmare l'item della tabella o per verificarlo e decrittografarlo.

Puoi interagire direttamente con il componente di crittografia dell'item o utilizzare gli helper forniti dalla libreria. Ad esempio, il client di crittografia DynamoDB per Java include una classe di AttributeEncryptor supporto che è possibile utilizzare conDynamoDBMapper, anziché interagire direttamente con l'elemento crittografico. DynamoDBEncryptor La libreria Python include le classi helper EncryptedTable, EncryptedClient ed EncryptedResource che interagiscono con il componente di crittografia dell'item per te.

Operazioni di attributo

Le operazioni di attributo comunicano al componente di crittografia dell'item quali operazioni effettuare su ciascun attributo dell'item.

È possibile utilizzare i seguenti valori per le operazioni di attributo:

  • Crittografa e firma: crittografa il valore dell'attributo. Includi l'attributo (nome e valore) nella firma dell'item.

  • Solo firma: includi l'attributo nella firma dell'articolo.

  • Non fare nulla: non crittografare o firmare l'attributo.

Utilizza Encrypt and sign (Crittografa e firma) per tutti gli attributi in grado di memorizzare dati sensibili. Per gli attributi delle chiavi primarie (chiave di partizione e chiave di ordinamento), utilizza Sign only (Firma soltanto). L'attributo di descrizione del materiale e l'attributo di firma non sono firmati o crittografati. Non è necessario specificare operazioni di attributo per questi attributi.

Scegli attentamente le operazioni di attributo. In caso di dubbio, usa Encrypt and sign (Crittografa e firma). Dopo aver utilizzato il client di crittografia DynamoDB per proteggere gli elementi della tabella, non è possibile modificare l'azione di un attributo senza rischiare un errore di convalida della firma. Per informazioni dettagliate, consultare Modifica del modello di dati.

avvertimento

Non crittografare gli attributi che vengono usati per la chiave primaria. Devono rimanere in testo normale in modo che DynamoDB possa trovare l'elemento senza eseguire una scansione completa della tabella.

Se il contesto di crittografia DynamoDB identifica gli attributi della chiave primaria, il client genererà un errore se si tenta di crittografarli.

La tecnica da utilizzare per specificare le operazioni di attributo è diversa per ogni linguaggio di programmazione. Potrebbe anche essere specifica per le classi helper che utilizzi.

Per ulteriori informazioni, consulta la documentazione relativa al tuo linguaggio di programmazione.

Descrizione dei materiali

La descrizione dei materiali per un item della tabella crittografato comprende informazioni, come gli algoritmi di crittografia, sui modi in cui l'item della tabella viene crittografato e firmato. Il CMP registra la descrizione dei materiali poiché assembla i materiali crittografici per la crittografia e la firma. Successivamente, quando deve assemblare i materiali crittografici per verificare e decrittografare l'item, utilizza la descrizione dei materiali come guida.

Nel DynamoDB Encryption Client, la descrizione del materiale si riferisce a tre elementi correlati:

Descrizione dei materiali richiesti

Alcuni CMP consentono di specificare opzioni avanzate, come l'algoritmo di crittografia. Per indicare le tue scelte, aggiungi coppie nome-valore alla proprietà di descrizione del materiale del contesto di crittografia DynamoDB nella tua richiesta di crittografare un elemento della tabella. Questo elemento è noto come descrizione dei materiali richiesti. I valori validi nella descrizione dei materiali richiesti sono definiti dal CMP scelto.

Nota

Poiché la descrizione dei materiali può sovrascrivere i valori predefiniti, ti consigliamo di omettere la descrizione dei materiali richiesti se non hai un valido motivo per utilizzarla.

Descrizione dei materiali effettivi

La descrizione dei materiali che i CMP restituiscono è nota come descrizione dei materiali effettivi. Descrive i valori effettivi che il CMP ha utilizzato quando ha assemblato i materiali crittografici. In genere comprende l'eventuale descrizione dei materiali richiesti, con aggiunte e modifiche.

Attributo di descrizione del materiale

Il client salva la descrizione dei materiali effettivi nell'attributo di descrizione del materiale dell'item crittografato. Il nome dell'attributo di descrizione del materiale è amzn-ddb-map-desc e il suo valore è la descrizione dei materiali effettivi. Il client utilizza i valori dell'attributo di descrizione del materiale per verificare e decrittografare l'item.

Contesto di crittografia DynamoDB

Il contesto di crittografia DynamoDB fornisce informazioni sulla tabella e sull'elemento al fornitore di materiali crittografici (CMP). Nelle implementazioni avanzate, il contesto di crittografia DynamoDB può includere una descrizione del materiale richiesta.

Quando si crittografano gli elementi della tabella, il contesto di crittografia DynamoDB è legato crittograficamente ai valori degli attributi crittografati. Quando si decrittografa, se il contesto di crittografia DynamoDB non corrisponde esattamente, con distinzione tra maiuscole e minuscole, al contesto di crittografia DynamoDB utilizzato per la crittografia, l'operazione di decrittografia ha esito negativo. Se interagisci direttamente con il crittografo degli elementi, devi fornire un contesto di crittografia DynamoDB quando chiami un metodo di crittografia o decrittografia. La maggior parte degli helper crea il contesto di crittografia DynamoDB per te.

Nota

Il contesto di crittografia DynamoDB nel client di crittografia DynamoDB non è correlato al contesto di crittografia in AWS Key Management Service () AWS KMS e. AWS Encryption SDK

Il contesto di crittografia DynamoDB può includere i seguenti campi. Tutti i campi e i valori sono facoltativi.

Archivio provider

Un archivio provider è un componente che restituisce CMP. L'archivio provider può creare i CMP o ottenerli da un'altra origine, ad esempio un altro archivio provider. L'archivio provider memorizza le versioni dei CMP che crea in un dispositivo storage persistente in cui ogni CMP archiviato viene identificato del nome dei materiali del richiedente e dal numero di versione.

Il provider più recente del client di crittografia DynamoDB ottiene i propri CMP da un archivio del provider, ma è possibile utilizzare l'archivio del provider per fornire CMP a qualsiasi componente. Ciascun provider più recente è associato a un singolo archivio provider, ma un archivio provider può fornire CMP a molti richiedenti tramite più host.

L'archivio provider crea nuove versioni di CMP on demand e restituisce versioni nuove ed esistenti. Restituisce inoltre l'ultimo numero di versione per un dato nome di materiale. Questo consente al richiedente di sapere quando l'archivio provider dispone di una nuova versione del suo CMP che è possibile richiedere.

Il client di crittografia DynamoDB include un MetaStorearchivio di provider che crea Wrapped CMP con chiavi archiviate in DynamoDB e crittografate utilizzando un client di crittografia DynamoDB interno.

Ulteriori informazioni: