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à.
AWS Encryption SDK riferimento agli algoritmi
|
Le informazioni presenti su questa pagina sono un riferimento per la creazione della tua libreria di crittografia, compatibile con AWS Encryption SDK. Se non stai creando la tua libreria di crittografia compatibile, allora è probabile che queste informazioni non ti serviranno. Per utilizzare il AWS Encryption SDK in uno dei linguaggi di programmazione supportati, vedereLinguaggi di programmazione. Per le specifiche che definiscono gli elementi di una corretta AWS Encryption SDK implementazione, vedere la AWS Encryption SDK specifica |
Se stai creando la tua libreria in grado di leggere e scrivere testi cifrati compatibili con AWS Encryption SDK, dovrai capire come AWS Encryption SDK implementa le suite di algoritmi supportate per crittografare i dati grezzi.
AWS Encryption SDK Supporta le seguenti suite di algoritmi. Tutte le suite di AES-GCM algoritmi hanno un vettore di inizializzazione a 12 byte e un tag di autenticazione a 16 AES-GCM byte. La suite di algoritmi predefinita varia in base alla AWS Encryption SDK versione e alla politica di impegno chiave selezionata. Per i dettagli, consulta la Politica di impegno e la suite di algoritmi.
| ID algoritmo | Versione del formato del messaggio | Algoritmo di crittografia | Lunghezza della chiave di dati (bit) | Algoritmo di derivazione della chiave | Algoritmo di firma | Algoritmo di impegno chiave | Lunghezza dei dati della suite di algoritmi (byte) |
|---|---|---|---|---|---|---|---|
05 78 |
0x02 | AES-GCM | 256 | HKDF con SHA-512 | ECDSA con e P-384 SHA-384 | HKDF con SHA-512 | 32 (impegno chiave) |
04 78 |
0x02 | AES-GCM | 256 | HKDF con SHA-512 | Nessuno | HKDF con SHA-512 | 32 (impegno chiave) |
03 78 |
0x01 | AES-GCM | 256 | HKDF con SHA-384 | ECDSA con e P-384 SHA-384 | Nessuno | N/A |
03 46 |
0x01 | AES-GCM | 192 | HKDF con SHA-384 | ECDSA con e P-384 SHA-384 | Nessuno | N/A |
02 14 |
0x01 | AES-GCM | 128 | HKDF con SHA-256 | ECDSA con e P-256 SHA-256 | Nessuno | N/A |
01 78 |
0x01 | AES-GCM | 256 | HKDF con SHA-256 | Nessuno | Nessuno | N/A |
01 46 |
0x01 | AES-GCM | 192 | HKDF con SHA-256 | Nessuno | Nessuno | N/A |
01 14 |
0x01 | AES-GCM | 128 | HKDF con SHA-256 | Nessuno | Nessuno | N/A |
00 78 |
0x01 | AES-GCM | 256 | Nessuno | Nessuna | Nessuno | N/A |
00 46 |
0x01 | AES-GCM | 192 | Nessuno | Nessuna | Nessuno | N/A |
00 14 |
0x01 | AES-GCM | 128 | Nessuno | Nessuna | Nessuno | N/A |
- ID algoritmo
-
Un valore esadecimale a 2 byte che identifica in modo univoco l'implementazione di un algoritmo. Questo valore è memorizzato nell'intestazione del messaggio del testo cifrato. Struttura dell'intestazione
- Versione del formato del messaggio
-
La versione del formato del messaggio. Le suite di algoritmi con key commitment utilizzano il formato dei messaggi versione 2 (0x02). Le suite di algoritmi senza key commitment utilizzano il formato dei messaggi versione 1 (0x01).
- Lunghezza dei dati della suite di algoritmi
-
La lunghezza in byte dei dati specifici della suite di algoritmi. Questo campo è supportato solo nel formato messaggio versione 2 (0x02). Nel formato messaggio versione 2 (0x02), questi dati vengono visualizzati nel
Algorithm suite datacampo dell'intestazione del messaggio. Le suite di algoritmi che supportano l'impegno delle chiavi utilizzano 32 byte per la stringa di impegno chiave. Per ulteriori informazioni, vedi Algoritmo di impegno chiave in questo elenco. - Lunghezza chiave dati
-
La lunghezza della chiave di dati in bit. AWS Encryption SDK Supporta chiavi a 256 bit, 192 bit e 128 bit. La chiave dati viene generata da un portachiavi o da una chiave master. Portachiavi e fornitori di chiavi principali
In alcune implementazioni, questa chiave dati viene utilizzata come input per una HMAC-based funzione di derivazione della chiave di estrazione ed espansione (HKDF). L'output dell'HKDF viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia. Per ulteriori informazioni, vedere Algoritmo di derivazione delle chiavi in questo elenco.
- Algoritmo di crittografia
-
Il nome e la modalità dell'algoritmo di crittografia utilizzato. Le suite di algoritmi AWS Encryption SDK utilizzate utilizzano l'algoritmo di crittografia Advanced Encryption Standard (AES) with Galois/Counter Mode (GCM).
- Algoritmo di impegno chiave
-
L'algoritmo utilizzato per calcolare la stringa di impegno chiave. L'output viene memorizzato nel
Algorithm suite datacampo dell'intestazione del messaggio e viene utilizzato per convalidare la chiave di dati per l'impegno chiave.Per una spiegazione tecnica dell'aggiunta di key commit a una suite di algoritmi, vedi Key Committing AEads
in Cryptology ePrint Archive. - Algoritmo di derivazione della chiave
-
La funzione di derivazione della chiave HMAC-based di estrazione ed espansione (HKDF) utilizzata per derivare la chiave di crittografia dei dati. Utilizza AWS Encryption SDK l'HKDF definito nella RFC 5869. https://tools.ietf.org/html/rfc5869
Suite di algoritmi senza impegno chiave (ID algoritmo —)
01xx03xx-
La funzione hash utilizzata è SHA-384 o SHA-256, a seconda della suite di algoritmi.
-
Per la fase di estrazione:
-
Non vengono utilizzati salt. Secondo l'RFC, il salt è impostato su una stringa di zeri. La lunghezza della stringa è uguale alla lunghezza dell'output della funzione hash, che è 48 byte per SHA-384 e 32 byte per. SHA-256
-
Il materiale di immissione è la chiave dati del fornitore del portachiavi o della chiave master.
-
-
Per la fase di espansione:
-
La chiave di input pseudo-casuale è l'output della fase di estrazione.
-
Le informazioni di input sono una concatenazione dell'ID dell'algoritmo e dell'ID del messaggio (in quest'ordine).
-
La lunghezza del materiale di codifica in uscita è la lunghezza della chiave Data. Questo output viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia.
-
Suite di algoritmi con impegno chiave (ID dell'algoritmo
04xxe05xx)-
La funzione hash utilizzata è SHA-512.
-
Per la fase di estrazione:
-
Il salt è un valore casuale crittografico a 256 bit. Nel formato messaggio versione 2 (0x02), questo valore viene memorizzato nel campo.
MessageID -
Il materiale di codifica iniziale è la chiave dati del fornitore del portachiavi o della chiave master.
-
Per la fase di espansione:
La chiave di input pseudo-casuale è l'output della fase di estrazione.
-
L'etichetta della chiave è costituita UTF-8-encoded dai byte della
DERIVEKEYstringa in ordine di byte big endian. -
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 in uscita è la lunghezza della chiave Data. Questo output viene usato come chiave di crittografia dei dati nell'algoritmo di crittografia.
-
- Versione del formato del messaggio
-
La versione del formato del messaggio utilizzato con la suite di algoritmi. Per informazioni dettagliate, vedi Riferimenti a formati di messaggi.
- Algoritmo di firma
-
L'algoritmo di firma utilizzato per generare una firma digitale sull'intestazione e sul corpo del testo cifrato. AWS Encryption SDK Utilizza l'Elliptic Curve Digital Signature Algorithm (ECDSA) con le seguenti specifiche:
-
La curva ellittica utilizzata è la P-256 curva P-384 or, come specificato dall'ID dell'algoritmo. Queste curve sono definite in Digital Signature Standard (DSS) (FIPS PUB 186-4)
. -
La funzione hash utilizzata è SHA-384 (con la P-384 curva) o SHA-256 (con la P-256 curva).
-