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à.
Suite di algoritmi supportate nel AWS Database Encryption SDK
La nostra libreria di crittografia lato client è stata rinominata Database Encryption SDK. AWS Questa guida per sviluppatori fornisce ancora informazioni sul DynamoDB Encryption Client. |
Una suite di algoritmi è una raccolta di algoritmi di crittografia e dei relativi valori. I sistemi crittografici utilizzano l'implementazione dell'algoritmo per generare il testo cifrato.
Il AWS Database Encryption SDK utilizza una suite di algoritmi per crittografare e firmare i campi del database. Tutte le suite di algoritmi supportate utilizzano l'algoritmo Advanced Encryption Standard (AES) con Galois/Counter Mode (GCM), noto come AES-GCM, per crittografare i dati grezzi. Il Database Encryption SDK supporta chiavi di crittografia a 256 bit. AWS La lunghezza del tag di autenticazione è sempre 16 byte.
Algoritmo | Algoritmo di crittografia | Lunghezza chiave dati (in bit) | Algoritmo di derivazione della chiave | Algoritmo di firma simmetrica | Algoritmo di firma asimmetrico | Impegno chiave |
---|---|---|---|---|---|---|
Predefinita | AES-GCM | 256 | HKDF con SHA-512 | HMAC-SHA-384 | ECDSA con P-384 e SHA-384 | HKDF con SHA-512 |
AES-GCM senza firme digitali ECDSA | AES-GCM | 256 | HKDF con SHA-512 | HMAC-SHA-384 | Nessuno | HKDF con SHA-512 |
- Algoritmo di crittografia
-
Il nome e la modalità dell'algoritmo di crittografia utilizzato. Le suite di algoritmi del AWS Database Encryption SDK utilizzano l'algoritmo Advanced Encryption Standard (AES) con Galois/Counter Mode (GCM).
- Lunghezza chiave dati
-
La lunghezza della chiave dati in bit. Il AWS Database Encryption SDK supporta chiavi dati a 256 bit. La chiave dati viene utilizzata come input per una funzione di derivazione delle extract-and-expand chiavi basata su HMAC (HKDF). L'output dell'HKDF viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia.
- Algoritmo di derivazione della chiave
-
La funzione di derivazione delle extract-and-expand chiavi basata su HMAC (HKDF) utilizzata per derivare la chiave di crittografia dei dati. Il AWS Database Encryption SDK utilizza l'HKDF definito nella RFC 5869.
-
La funzione hash utilizzata è SHA-512
-
Per la fase di estrazione:
-
Non vengono utilizzati salt. Secondo la RFC, il sale è impostato su una stringa di zeri.
-
Il materiale di codifica di input è la chiave dati del portachiavi.
-
-
Per la fase di espansione:
-
La chiave di input pseudo-casuale è l'output della fase di estrazione.
-
L'etichetta della chiave è costituita dai byte della stringa con codifica UTF-8 in ordine di byte big endian.
DERIVEKEY
-
Le informazioni di input sono una concatenazione dell'ID dell'algoritmo e dell'etichetta della chiave (in quest'ordine).
-
La lunghezza del materiale di codifica di output è la lunghezza della chiave Data. Questo output viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia.
-
-
- Algoritmo di firma simmetrica
-
L'algoritmo Hash-Based Message Authentication Code (HMAC) utilizzato per generare una firma simmetrica. Tutte le suite di algoritmi supportate includono la verifica HMAC.
AWS Database Encryption SDK serializza la descrizione del materiale e tutti i campi contrassegnati
ENCRYPT_AND_SIGN
con, o.SIGN_ONLY
SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Quindi, utilizza HMAC con un algoritmo di funzione hash crittografica (SHA-384) per firmare la canonicalizzazione.La firma HMAC simmetrica viene archiviata in un nuovo campo ()
aws_dbe_foot
che Database Encryption SDK aggiunge al record. AWS - Algoritmo di firma asimmetrico
-
L'algoritmo di firma utilizzato per generare una firma digitale asimmetrica.
AWS Database Encryption SDK serializza la descrizione del materiale e tutti i campi contrassegnati con, o.
ENCRYPT_AND_SIGN
SIGN_ONLY
SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Quindi, utilizza l'Elliptic Curve Digital Signature Algorithm (ECDSA) con le seguenti specifiche per firmare la canonicalizzazione:-
La curva ellittica utilizzata è la P-384, come definita nel Digital
Signature Standard (DSS) (FIPS PUB 186-4). -
La funzione hash utilizzata è SHA-384.
La firma ECDSA asimmetrica viene memorizzata sul campo insieme alla firma HMAC simmetrica.
aws_dbe_foot
Le firme digitali ECDSA sono incluse di default, ma non sono obbligatorie.
-
- Impegno chiave
-
La funzione di derivazione delle extract-and-expand chiavi (HKDF) basata su HMAC utilizzata per derivare la chiave di commit.
-
La funzione hash utilizzata è SHA-512
-
Per la fase di estrazione:
-
Non vengono utilizzati salt. Secondo la RFC, il sale è impostato su una stringa di zeri.
-
Il materiale di codifica di input è la chiave dati del portachiavi.
-
-
Per la fase di espansione:
-
La chiave di input pseudo-casuale è l'output della fase di estrazione.
-
Le informazioni di input sono i byte della stringa con codifica UTF-8 in ordine di byte big endian.
COMMITKEY
-
La lunghezza del materiale di codifica in uscita è di 256 bit. Questo output viene utilizzato come chiave di commit.
-
La chiave di commit calcola il record commit, un hash HMAC (Hash-Based Message Authentication Code) distinto a 256 bit, rispetto alla descrizione del materiale. Per una spiegazione tecnica dell'aggiunta dell'impegno chiave a una suite di algoritmi, vedete Key Committing in Cryptology ePrint Archive
. AEADs -
Suite di algoritmi predefinita
Per impostazione predefinita, AWS Database Encryption SDK utilizza una suite di algoritmi con AES-GCM, una funzione di derivazione delle extract-and-expand chiavi basata su HMAC (HKDF), verifica HMAC, firme digitali ECDSA, key commit e una chiave di crittografia a 256 bit.
La suite di algoritmi predefinita include la verifica HMAC (firme simmetriche) e le firme digitali ECDSA (firme asimmetriche). Queste firme sono archiviate in un nuovo campo () che Database Encryption SDK aggiunge al record. aws_dbe_foot
AWS Le firme digitali ECDSA sono particolarmente utili quando la politica di autorizzazione consente a un set di utenti di crittografare i dati e a un gruppo diverso di utenti di decrittografare i dati.
La suite di algoritmi predefinita deriva anche da un impegno chiave: un hash HMAC che collega la chiave dei dati al record. Il valore di impegno chiave è un HMAC calcolato dalla descrizione del materiale e dalla chiave di commit. Il valore chiave di impegno viene quindi memorizzato nella descrizione del materiale. Key Commitment garantisce che ogni testo cifrato venga decrittografato in un solo testo non crittografato. Lo fanno convalidando la chiave dati utilizzata come input per l'algoritmo di crittografia. Durante la crittografia, la suite di algoritmi ricava un impegno chiave HMAC. Prima della decrittografia, convalidano che la chiave dati produca lo stesso impegno chiave HMAC. In caso contrario, la chiamata di decrittografia fallisce.
AES-GCM senza firme digitali ECDSA
Sebbene la suite di algoritmi predefinita sia probabilmente adatta alla maggior parte delle applicazioni, è possibile scegliere una suite di algoritmi alternativa. Ad esempio, alcuni modelli di fiducia sarebbero soddisfatti da una suite di algoritmi senza firme digitali ECDSA. Utilizza questa suite solo quando gli utenti che crittografano i dati e gli utenti che decifrano i dati sono ugualmente affidabili.
Tutte le suite di algoritmi AWS Database Encryption SDK includono la verifica HMAC (firme simmetriche). L'unica differenza è che la suite di algoritmi AES-GCM senza firma digitale ECDSA è priva della firma asimmetrica che fornisce un ulteriore livello di autenticità e non ripudio.
Ad esempio, se nel portachiavi sono presenti più chiavi di avvolgimento e decifrate un record utilizzando wrappingKeyA
la firma wrappingKeyA
simmetrica wrappingKeyB
HMAC per wrappingKeyC
verificare che il record sia stato crittografato da un utente con accesso a. wrappingKeyA
Se hai utilizzato la suite di algoritmi predefinita, HMACs forniscono la stessa verifica e inoltre utilizzano la firma digitale ECDSA per garantire che il record sia stato crittografato da un utente con autorizzazioni di crittografia per. wrappingKeyA
wrappingKeyA
Per selezionare la suite di algoritmi AES-GCM senza firme digitali, includi il seguente frammento nella configurazione di crittografia.