Provider di materiali sottoposti a wrapping - 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 sottoposti a wrapping

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.

Il Wrapped Materials Provider (Wrapped CMP) ti consente di utilizzare chiavi di wrapping e firma da qualsiasi fonte con il client di crittografia DynamoDB. La Wrapped CMP non dipende da alcun AWS servizio. Tuttavia, devi generare e gestire le chiavi di wrapping e firma all'esterno del client, nonché fornire le chiavi corrette per verificare e decrittografare l'item.

Il CMP di sottoposti a wrapping genera una chiave di crittografia item univoca per ciascun item. Esegue il wrapping della chiave di crittografia dell'item con la chiave di wrapping che hai fornito e salva la chiave di crittografia dell'item sottoposta a wrapping nell'attributo di descrizione del materiale dell'item. Poiché sei tu a fornire le chiavi di wrapping e di firma, puoi capire come sono generate le chiavi di wrapping e firma e se sono univoche per ciascun item o riutilizzate.

Il CMP di sottoposti a wrapping è un'implementazione sicura e un'ottima scelta per le applicazioni in grado di gestire i materiali crittografici.

Wrapped 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 CMP di sottoposti a wrapping, specifica una chiave di wrapping (necessaria per la crittografia), una chiave di annullamento del wrapping (necessaria per la decrittografia) e una chiave di firma. Le chiavi devono essere fornite al momento di crittografare e decrittografare gli item.

Le chiavi di wrapping, annullamento del wrapping e firma possono essere chiavi simmetriche o coppie di chiavi asimmetriche.

Java
// This example uses asymmetric wrapping and signing key pairs final KeyPair wrappingKeys = ... final KeyPair signingKeys = ... final WrappedMaterialsProvider cmp = new WrappedMaterialsProvider(wrappingKeys.getPublic(), wrappingKeys.getPrivate(), signingKeys);
Python
# This example uses symmetric wrapping and signing keys wrapping_key = ... signing_key = ... wrapped_cmp = WrappedCryptographicMaterialsProvider( wrapping_key=wrapping_key, unwrapping_key=wrapping_key, signing_key=signing_key )

Come funziona

Il CMP di sottoposti a wrapping genera una nuova chiave di crittografia item per ciascun item. Utilizza le chiavi di wrapping, annullamento del wrapping e firma da te fornite, come mostrato nel diagramma mostrato di seguito.

L'input, l'elaborazione e l'output del Wrapped 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 sottoposti a wrapping (CMP di sottoposti a wrapping) al momento della ricezione di una richiesta di materiali di crittografia.

Input (dall'applicazione)

  • Chiave di wrapping: una chiave AES simmetrica o una chiave pubblica RSA. Necessaria se alcuni valori degli attributi sono crittografati. In caso contrario, è facoltativa e viene ignorata.

  • Chiave di annullamento del wrapping: facoltativa e ignorata.

  • Chiave di firma

Input (dal componente di crittografia dell'item)

Output (sul componente di crittografia dell'item)

  • Chiave di crittografia dell'item di testo normale

  • Chiave di firma (invariata)

  • Descrizione dei materiali effettivi: questi valori vengono salvati nell'attributo di descrizione del materiale che il client aggiunge all'item.

    • amzn-ddb-env-key: chiave di crittografia item sottoposta a wrapping Base64-encoded

    • amzn-ddb-env-alg: algoritmo di crittografia utilizzato per crittografare l'item. Il valore predefinito è AES-256-CBC.

    • amzn-ddb-wrap-alg: l'algoritmo di wrapping che il CMP di sottoposti a wrapping ha utilizzato per eseguire il wrapping della chiave di crittografia item. Se la chiave di wrapping è una chiave AES, viene sottoposta a wrapping utilizzando AES-Keywrap senza riempimenti come indicato in RFC 3394. Se la chiave di wrapping è una chiave RSA, viene crittografata utilizzando RSA OAEP con l'aggiunta di MGF1.

Elaborazione

La crittografia di un item richiede una chiave di wrapping e una chiave di firma. La chiave di annullamento del wrapping è facoltativa e viene ignorata.

  1. Il CMP di sottoposti a wrapping genera una chiave di crittografia item simmetrica univoca per l'item della tabella.

  2. Utilizza la chiave di wrapping da te specificata per eseguire il wrapping della chiave di crittografia item. Quindi, la rimuove dalla memoria il prima possibile.

  3. Restituisce la chiave di crittografia dell'item in testo normale, la chiave di firma da te fornita e una descrizione dei materiali effettivi che include la chiave di crittografia dell'item sottoposta a wrapping e gli algoritmi di crittografia e wrapping.

  4. Il componente di crittografia dell'item utilizza la chiave di crittografia testo normale per crittografare l'item. Utilizza la chiave di firma da te fornita per firmare l'item. Quindi, rimuove le chiavi di testo normale dalla memoria il prima possibile. Copia i campi della descrizione dei materiali effettivi, inclusa la chiave di crittografia sottoposta a wrapping (amzn-ddb-env-key) nell'attributo di descrizione del materiale dell'item.

Ottenere materiali di decrittografia

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

Input (dall'applicazione)

  • Chiave wrapping: facoltativa e ignorata.

  • Chiave di annullamento del wrapping: la stessa chiave AES simmetrica o la chiave privata RSA corrispondente alla chiave pubblica RSA utilizzata per la crittografia. Necessaria se alcuni valori degli attributi sono crittografati. In caso contrario, è facoltativa e viene ignorata.

  • Chiave di firma

Input (dal componente di crittografia dell'item)

Output (sul componente di crittografia dell'item)

  • Chiave di crittografia dell'item di testo normale

  • Chiave di firma (invariata)

Elaborazione

La decrittografia di un item richiede una chiave di annullamento del wrapping e una chiave di firma. La chiave di wrapping è facoltativa e viene ignorata.

  1. Il CMP di sottoposti a wrapping ottiene la chiave di crittografia item sottoposta a wrapping dall'attributo di descrizione del materiale dell'item.

  2. Utilizza la chiave e l'algoritmo di annullamento del wrapping per annullare il wrapping della chiave di crittografia item.

  3. Restituisce la chiave di crittografia item di testo normale, la chiave di firma e gli algoritmi di crittografia e firma al componente di crittografia dell'item.

  4. Il componente di crittografia dell'item utilizza la chiave di firma per verificare l'item. Se la verifica riesce, utilizza la chiave di crittografia item per decrittografare l'item. Quindi, rimuove le chiavi di testo normale dalla memoria il prima possibile.