Quali campi sono crittografati e firmati? - AWS Crittografia database SDK

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

Quali campi sono crittografati e firmati?

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

Il AWS Database Encryption SDK per DynamoDB è una libreria di crittografia lato client progettata appositamente per le applicazioni Amazon DynamoDB. Amazon DynamoDB archivia i dati in tabelle, che sono una raccolta di elementi. E ogni item è una raccolta di attributi. Ogni attributo ha un nome e un valore. Il AWS Database Encryption SDK per DynamoDB crittografa i valori degli attributi. Quindi calcola una firma sugli attributi. Puoi specificare quali valori degli attributi crittografare e quali includere nelle firma.

La crittografia protegge la riservatezza del valore degli attributi. La firma assicura l'integrità di tutti gli attributi firmati e la loro relazione reciproca e fornisce l'autenticazione. Consente di rilevare modifiche non autorizzate all'item nel suo insieme, come l'aggiunta o l'eliminazione di attributi o la sostituzione di un valore crittografato con un altro.

In un elemento crittografato, alcuni dati rimangono in testo semplice, tra cui il nome della tabella, tutti i nomi degli attributi, i valori degli attributi che non vengono crittografati, i nomi e i valori degli attributi della chiave primaria (chiave di partizione e chiave di ordinamento) e i tipi di attributo. Non archiviare dati sensibili in questi campi.

Per ulteriori informazioni su come funziona AWS Database Encryption SDK per DynamoDB, consulta. Come funziona il AWS Database Encryption SDK

Crittografia dei valori degli attributi

Il AWS Database Encryption SDK per DynamoDB crittografa i valori (ma non il nome o il tipo di attributo) degli attributi specificati. Per determinare quali valori attributo vengono crittografati, utilizza le operazioni di attributo.

Ad esempio, questo item include gli attributi example e test.

'example': 'data', 'test': 'test-value', ...

Se effettui la crittografia dell'attributo example, ma non dell'attributo test, i risultati saranno simili a quelli riportati di seguito. Il valore dell'attributo example sono dati binari e non una stringa.

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

Gli attributi della chiave primaria, chiave di partizione e chiave di ordinamento, di ogni elemento devono rimanere in testo semplice perché DynamoDB li utilizza per trovare l'elemento nella tabella. Devono essere firmati, ma non crittografati.

Il AWS Database Encryption SDK per DynamoDB identifica automaticamente gli attributi della chiave primaria e garantisce che i loro valori siano firmati, ma non crittografati. Se individui la tua chiave primaria e tenti di crittografarla, il client genera un'eccezione.

Il client memorizza la descrizione del materiale in un nuovo attributo (aws_dbe_head) che aggiunge all'articolo. La descrizione del materiale descrive come l'articolo è stato crittografato e firmato. Il client utilizza l'informazione per verificare e decrittografare l'item. Il campo che memorizza la descrizione del materiale non è crittografato.

Firma dell'item

Dopo aver crittografato i valori degli attributi specificati, il AWS Database Encryption SDK per DynamoDB calcola i codici di autenticazione dei messaggi basati su hash (HMAC) e una firma digitale sulla canonicalizzazione della descrizione del materiale, del contesto di crittografia e di ogni campo contrassegnato o nelle azioni degli attributi. ENCRYPT_AND_SIGNSIGN_ONLYSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT Le firme ECDSA sono abilitate per impostazione predefinita, ma non sono obbligatorie. Il client memorizza gli HMAC e le firme in un nuovo attributo (aws_dbe_foot) che aggiunge all'elemento.