Crittografia lato client e lato server - 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à.

Crittografia lato client e lato server

La nostra libreria di crittografia lato client è stata rinominata AWS Database Encryption SDK. Questa guida per gli sviluppatori fornisce comunque informazioni sul client di crittografia DynamoDB.

L'SDK per la crittografia del AWS database per DynamoDB supporta la crittografia lato client, in cui è possibile crittografare i dati della tabella prima di inviarli al database. Tuttavia, DynamoDB fornisce una funzionalità di crittografia a riposo lato server che crittografa in modo trasparente la tabella quando viene conservata su disco e la decrittografa quando si accede alla tabella.

La scelta degli strumenti dipende dal livello di riservatezza dei dati e dai requisiti di sicurezza dell'applicazione. Puoi utilizzare sia il AWS Database Encryption SDK per DynamoDB che la crittografia a riposo. Quando invii elementi crittografati e firmati a DynamoDB, DynamoDB non li riconosce come protetti. Rileva soltanto gli item tipici della tabella con valori di attributo binari.

Crittografia dei dati inattivi lato server

DynamoDB supporta la crittografia a riposo, una funzionalità di crittografia lato server in cui DynamoDB crittografa in modo trasparente le tabelle per te quando la tabella viene conservata su disco e le decrittografa quando accedi ai dati della tabella.

Quando utilizzi un AWS SDK per interagire con DynamoDB, per impostazione predefinita, i tuoi dati vengono crittografati in transito su una connessione HTTPS, decrittografati sull'endpoint DynamoDB e quindi ricritrittografati prima di essere archiviati in DynamoDB.

  • Crittografia predefinita. DynamoDB crittografa e decrittografa in modo trasparente tutte le tabelle quando vengono scritte. Non c'è alcuna opzione per abilitare o disabilitare la crittografia dei dati inattivi.

  • DynamoDB crea e gestisce le chiavi crittografiche.La chiave univoca per ogni tabella è protetta da un messaggio AWS KMS keyche non lascia mai AWS Key Management Service(AWS KMS) non crittografato. Per impostazione predefinita, DynamoDB utilizza un Chiave di proprietà di AWSaccount del servizio DynamoDB, ma puoi scegliere una Chiave gestita da AWSchiave gestita dal cliente nel tuo account per proteggere alcune o tutte le tabelle.

  • Tutti i dati della tabella sono crittografati su disco.Quando una tabella crittografata viene salvata su disco, DynamoDB crittografa tutti i dati della tabella, inclusa la chiave primaria e gli indici secondari locali e globali. Se la tabella dispone di chiavi di ordinamento, alcune di queste che contrassegnano i limiti dell'intervallo sono archiviate come testo non crittografato nei metadati della tabella.

  • Anche gli oggetti correlati alle tabelle sono crittografati. La crittografia a riposo protegge i flussi, le tabelle globali e i backup di DynamoDB ogni volta che vengono scritti su supporti durevoli.

  • I tuoi articoli vengono decifrati quando li accedi.Quando accedi alla tabella, DynamoDB decripta la parte della tabella che include l'elemento di destinazione e ti restituisce l'elemento in testo normale.

AWSSDK di crittografia del database per DynamoDB

La crittografia lato client fornisce protezione completa dei dati, in transito e inattivi, dall'origine all'archiviazione in DynamoDB. I dati di testo non crittografato non vengono mai esposti a terze parti, compreso AWS. Puoi utilizzare il AWS Database Encryption SDK per DynamoDB con nuove tabelle DynamoDB oppure puoi migrare le tabelle Amazon DynamoDB esistenti alla versione 3. x della libreria di crittografia lato client Java per DynamoDB.

  • I dati sono protetti sia quando sono in transito sia quando sono inattivi. Non è mai esposto a terzi, inclusiAWS.

  • Puoi firmare gli item della tabella. Puoi indirizzare il AWS Database Encryption SDK per DynamoDB a calcolare una firma su tutto o parte di un elemento della tabella, inclusi gli attributi della chiave primaria. Tramite le firme, puoi rilevare modifiche non autorizzate all'item nel suo insieme, tra cui l'aggiunta o l'eliminazione di attributi o lo scambio dei valori di attributo.

  • Puoi determinare come vengono protetti i tuoi dati selezionando un portachiavi. Il tuo portachiavi determina le chiavi di avvolgimento che proteggono le tue chiavi dati e, in ultima analisi, i tuoi dati. Usa le chiavi di imballaggio più sicure e pratiche per il tuo compito.

  • L'SDK per la crittografia del AWS database per DynamoDB non crittografa l'intera tabella. Sei tu a scegliere quali attributi devono essere crittografati nei tuoi articoli. L'SDK per la crittografia del AWS database per DynamoDB non crittografa un intero elemento. Non crittografa i nomi di attributo o i nomi o i valori degli attributi della chiave primaria (chiave di partizione e chiave di ordinamento).

AWS Encryption SDK

Se stai crittografando i dati archiviati in DynamoDB, ti consigliamo il AWS Database Encryption SDK per DynamoDB.

AWS Encryption SDK è una libreria di crittografia lato client che ti consente di crittografare e decrittografare i dati generici. Anche se è in grado di proteggere qualsiasi tipo di dati, non è stato progettato per funzionare con i dati strutturati, come i record di database. A differenza del AWS Database Encryption SDK per DynamoDB, AWS Encryption SDK non è in grado di fornire un controllo dell'integrità a livello di elemento e non ha alcuna logica per riconoscere gli attributi o impedire la crittografia delle chiavi primarie.

Se usi AWS Encryption SDK per crittografare qualsiasi elemento della tua tabella, ricorda che non è compatibile con il AWS Database Encryption SDK per DynamoDB. Non puoi utilizzare due librerie diverse per la crittografia e la decrittografia.