Provider di materiali statici - 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à.

Provider di materiali statici

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.

Static Materials Provider (Static CMP) è un fornitore di materiali crittografici (CMP) molto semplice destinato a test, proof-of-concept dimostrazioni e compatibilità con versioni precedenti.

Per utilizzare il CMP di statici per crittografare un item della tabella, è necessario fornire una chiave di crittografia simmetrica AES e una chiave di firma o una coppia di chiavi. Devi fornire le stesse chiavi per decrittografare l'item crittografato. Il CMP di statici non esegue alcuna operazione di crittografia. Passa invece al componente di crittografia dell'item le chiavi di crittografia da te fornite senza modificarle. Il componente di crittografia dell'item crittografa direttamente gli item con la chiave di crittografia. Quindi, utilizza direttamente la chiave di firma per firmarli.

Poiché il CMP di statici non genera alcun materiale crittografico univoco, tutti gli item della tabella che hai elaborato sono crittografati con la stessa chiave di crittografia e firmati con la stessa chiave di firma. Quando utilizzi la stessa chiave per crittografare i valori degli attributi in numerosi item o utilizzi la stessa chiave o coppia di chiavi per firmare tutti gli item, rischi di superare i limiti crittografici delle chiavi.

Nota

Il Provider di statici asimmetrico nella libreria Java non è un provider di statici. Fornisce soltanto costruttori alternativi per il CMP di sottoposti a wrapping. Può essere utilizzato per la produzione senza alcun rischio per la sicurezza, tuttavia dovresti utilizzare direttamente il CMP di sottoposti a wrapping ogni qualvolta sia possibile.

Static CMP è uno dei numerosi fornitori di materiali crittografici (CMP) supportati dal client di crittografia DynamoDB. Per informazioni sugli altri CMP, consulta Fornitore di materiali crittografici.

Per il codice di esempio, consulta:

Come utilizzarlo

Per creare un provider di statici, fornisci una chiave di crittografia o una coppia di chiavi e una chiave di firma o una coppia di chiavi. Devi fornire materiali chiave per crittografare e decrittografare gli item della tabella.

Java
// To encrypt SecretKey cek = ...; // Encryption key SecretKey macKey = ...; // Signing key EncryptionMaterialsProvider provider = new SymmetricStaticProvider(cek, macKey); // To decrypt SecretKey cek = ...; // Encryption key SecretKey macKey = ...; // Verification key EncryptionMaterialsProvider provider = new SymmetricStaticProvider(cek, macKey);
Python
# You can provide encryption materials, decryption materials, or both encrypt_keys = EncryptionMaterials( encryption_key = ..., signing_key = ... ) decrypt_keys = DecryptionMaterials( decryption_key = ..., verification_key = ... ) static_cmp = StaticCryptographicMaterialsProvider( encryption_materials=encrypt_keys decryption_materials=decrypt_keys )

Come funziona

Il provider di statici passa le chiavi di crittografia e firma che hai fornito al componente di crittografia dell'item, dove vengono direttamente utilizzate per crittografare e firmare gli item della tabella. Vengono utilizzate le stesse chiavi per tutti gli item, a meno che tu non fornisca chiavi diverse per ciascun item.

L'input, l'elaborazione e l'output dello Static Materials Provider nel client di crittografia DynamoDB

Ottenere materiali di crittografia

In questa sezione vengono descritti nei dettagli gli input, gli output e l'elaborazione eseguita dal provider di materiali statici (CMP di statici) al momento della ricezione di una richiesta di materiali di crittografia.

Input (dall'applicazione)

  • Una chiave di crittografia: deve essere una chiave simmetrica, ad esempio una chiave Advanced Encryption Standard (AES).

  • Una chiave di firma: può essere una chiave simmetrica o una coppia di chiavi asimmetrica.

Input (dal componente di crittografia dell'item)

Output (sul componente di crittografia dell'item)

  • La chiave di crittografia passata come input.

  • La chiave di firma passata come input.

  • Descrizione dei materiali effettivi: l'eventuale descrizione dei materiali richiesti invariata.

Ottenere materiali di decrittografia

In questa sezione vengono descritti nei dettagli gli input, gli output e l'elaborazione eseguita dal provider di materiali statici (CMP di statici) al momento della ricezione di una richiesta di materiali di decrittografia.

Sebbene i metodi per ottenere i materiali di crittografia e ottenere i materiali di decrittografia siano separati, il comportamento è lo stesso.

Input (dall'applicazione)

  • Una chiave di crittografia: deve essere una chiave simmetrica, ad esempio una chiave Advanced Encryption Standard (AES).

  • Una chiave di firma: può essere una chiave simmetrica o una coppia di chiavi asimmetrica.

Input (dal componente di crittografia dell'item)

Output (sul componente di crittografia dell'item)

  • La chiave di crittografia passata come input.

  • La chiave di firma passata come input.