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 KMS elementi essenziali della crittografia
AWS KMS utilizza algoritmi crittografici configurabili in modo che il sistema possa migrare rapidamente da un algoritmo o una modalità approvati a un altro. Il set iniziale predefinito di algoritmi crittografici è stato selezionato tra gli algoritmi del Federal Information Processing Standard (FIPS-approved) per le relative proprietà di sicurezza e prestazioni.
Entropia e generazione di numeri casuali
AWS KMS la generazione delle chiavi viene eseguita in. AWS KMS HSMs HSMsImplementano un generatore ibrido di numeri casuali che utilizza il NIST
SP800-90A Deterministic Random Bit Generator (DRBG) CTR_DRBG using AES-256
Operazioni con chiavi simmetriche (solo crittografia)
Tutti i comandi di crittografia a chiave simmetrica utilizzati all'interno HSMs utilizzano gli Advanced Encryption Standards (AES)
AES- GCM è uno schema di crittografia autenticato. Oltre a crittografare il testo non crittografato per produrre testo cifrato, calcola un tag di autenticazione sul testo cifrato e su tutti i dati aggiuntivi per i quali è richiesta l'autenticazione (dati autenticati aggiuntivi o). AAD Il tag di autenticazione aiuta a garantire che i dati provengano dalla presunta fonte e che il testo cifrato non sia stato modificato. AAD
Spesso, AWS omette l'inclusione di AAD nelle nostre descrizioni, specialmente quando si fa riferimento alla crittografia delle chiavi di dati. In questi casi, il testo circostante implica che la struttura da crittografare sia suddivisa tra il testo in chiaro da crittografare e il testo in chiaro da proteggere. AAD
AWS KMS offre la possibilità di importare il materiale chiave in un AWS KMS key anziché fare affidamento su di esso per generare il materiale chiave. AWS KMS Questo materiale chiave importato può essere crittografato utilizzando RSAES- OAEP
Operazioni con chiave asimmetrica (crittografia, firma digitale e verifica della firma)
AWS KMS supporta l'uso di operazioni con chiavi asimmetriche per le operazioni di crittografia, firma digitale e accordo chiave. Le operazioni con chiave asimmetrica si basano su una chiave pubblica e una coppia di chiavi private correlate matematicamente che è possibile utilizzare per la crittografia e la decrittografia, la firma e la verifica della firma o la derivazione di segreti condivisi. La chiave privata non esce mai non crittografata. AWS KMS È possibile utilizzare la chiave pubblica interna AWS KMS chiamando le AWS KMS API operazioni, oppure scaricare la chiave pubblica e usarla all'esterno. AWS KMS
AWS KMS supporta i seguenti cifrari asimmetrici.
-
RSA- OAEP (per la crittografia) & RSA - PSS e - RSA PKCS - #1 -v1_5 (per la firma e la verifica) — Supporta le lunghezze delle RSA chiavi (in bit): 2048, 3072 e 4096 per diversi requisiti di sicurezza.
-
Elliptic Curve (ECC): utilizzata per la firma e la verifica o la derivazione di segreti condivisi, ma non per entrambi. Supporta ECC le curve: NIST P256, P384, P521, 256k1. SECP
-
SM2(Solo regioni della Cina): utilizzato per la crittografia e la decrittografia, la firma e la verifica o l'acquisizione di segreti condivisi, ma è necessario scegliere un utilizzo della chiave. Supporta SM2PKE la crittografia e la firma. SM2DSA
Funzioni di derivazione chiave
Una funzione di derivazione delle chiavi viene utilizzata per derivare chiavi aggiuntive da una chiave o un segreto iniziale. AWS KMS utilizza una funzione di derivazione delle chiavi (KDF) per derivare chiavi per chiamata per ogni crittografia con un. AWS KMS keyTutte le KDF operazioni utilizzano la modalità KDF in contatore
AWS KMS uso interno delle firme digitali
Le firme digitali vengono utilizzate anche per autenticare comandi e comunicazioni tra entità AWS KMS . Tutte le entità di servizio dispongono di una coppia di chiavi dell'algoritmo di firma digitale a curva ellittica (ECDSA). Funzionano ECDSA come definito in Use of Elliptic Curve Cryptography (ECC) Algoritmi in Cryptographic Message Syntax (CMS)
Crittografia envelope
Quando esegui la crittografia dei dati, i dati sono protetti, ma è necessario proteggere la chiave crittografica. Una strategia consiste nel crittografarla. La Crittografia envelope consiste nel crittografare i dati di testo normale con una chiave di dati, quindi crittografare la chiave di dati in un'altra chiave.
È anche possibile crittografare la chiave crittografica dei dati in un'altra chiave crittografica e crittografare tale chiave crittografica con un'altra chiave crittografica. Alla fine, però, una chiave deve rimanere in testo normale in modo da poter decrittografare le chiavi e i dati. Questa chiave crittografica di primo livello della chiave in testo normale è nota come chiave radice.
AWS KMS ti aiuta a proteggere le tue chiavi di crittografia archiviandole e gestendole in modo sicuro. La chiave principale memorizzata in AWS KMS, nota come AWS KMS keys, non lascia mai i moduli di sicurezza hardware AWS KMS FIPS convalidati
Una costruzione di base utilizzata all'interno di molti sistemi di crittografia è la crittografia envelope. La crittografia envelope utilizza due o più chiavi di crittografia per proteggere un messaggio. In genere, una chiave deriva da una chiave statica a lungo termine k e un'altra chiave è una chiave per messaggio msgKey, generata per crittografare il messaggio. La busta viene formata crittografando il messaggio: ciphertext = Encrypt (, message). msgKey Quindi la chiave del messaggio viene crittografata con la chiave statica a lungo termine: encKey = Encrypt (k,). msgKey Infine, i due valori (encKeytesto cifrato) vengono impacchettati in un'unica struttura, o busta, in un messaggio crittografato.
Il destinatario, con accesso a k, può aprire il messaggio con envelope decrittando prima la chiave crittografata e quindi il messaggio.
AWS KMS offre la possibilità di gestire queste chiavi statiche a lungo termine e di automatizzare il processo di crittografia in busta dei dati.
Oltre alle funzionalità di crittografia fornite all'interno del AWS KMS servizio, Encryption SDK offre librerie di AWS crittografia delle buste sul lato client. È possibile utilizzare queste librerie per proteggere i dati e le chiavi di crittografia utilizzate per crittografare i dati.
La crittografia envelope offre diversi vantaggi:
-
Protezione delle chiavi dei dati
Quando crittografi una chiave di dati, non è necessario preoccuparsi di dove archiviarla, poiché la chiave di dati è intrinsecamente protetta dalla crittografia. Puoi archiviare la chiave di dati crittografata in modo sicuro con i dati crittografati.
-
Crittografia degli stessi dati con più chiavi
Le operazioni di crittografia possono essere dispendiose in termini di tempo, soprattutto quando i dati crittografati sono oggetti di grandi dimensioni. Invece di ricrittografare dati grezzi più volte con chiavi diverse, è possibile ricrittografare solo le chiavi di dati che proteggono i dati grezzi.
-
Abbinare i punti di forza di più algoritmi
In generale, gli algoritmi di chiavi simmetriche sono più veloci e producono testi cifrati più piccoli rispetto agli algoritmi di chiave pubblica. Tuttavia, gli algoritmi di chiave pubblica forniscono una separazione intrinseca dei ruoli e facilitano la gestione delle chiavi. La crittografia envelope ti consente di abbinare i punti di forza di ciascuna strategia.
Operazioni di crittografia
Nel AWS KMS, le operazioni crittografiche sono API operazioni che utilizzano KMS chiavi per proteggere i dati. Poiché KMS le chiavi rimangono all'interno AWS KMS, è necessario chiamare AWS KMS per utilizzare una KMS chiave in un'operazione crittografica.
Per eseguire operazioni crittografiche con KMS le chiavi, utilizzate AWS SDKs, AWS Command Line Interface (AWS CLI) o. AWS Tools for PowerShell Non è possibile eseguire operazioni di crittografia nella console AWS KMS . Per esempi di chiamata delle operazioni crittografiche in diversi linguaggi di programmazione, consulta Esempi di codice per AWS KMS l'utilizzo AWS SDKs.
La tabella seguente elenca le operazioni AWS KMS crittografiche. Mostra anche il tipo di chiave e i requisiti di utilizzo KMS delle chiavi utilizzate nell'operazione.
Operazione | Tipo di chiavi | Utilizzo delle chiavi |
---|---|---|
Decrypt | Simmetrico o asimmetrico | ENCRYPT_DECRYPT |
DeriveSharedSecret | Asimmetrica | KEY_AGREEMENT |
Encrypt | Simmetrico o asimmetrico | ENCRYPT_DECRYPT |
GenerateDataKey | Simmetria | ENCRYPT_DECRYPT |
GenerateDataKeyPair | Simmetrica [1] Non supportato sulle KMS chiavi negli archivi di chiavi personalizzati. |
ENCRYPT_DECRYPT |
GenerateDataKeyPairWithoutPlaintext | Simmetrica [1] Non supportato sulle KMS chiavi negli archivi di chiavi personalizzati. |
ENCRYPT_DECRYPT |
GenerateDataKeyWithoutPlaintext | Simmetria | ENCRYPT_DECRYPT |
GenerateMac | HMAC | GENERATE_VERIFY_MAC |
GenerateRandom | N/A. Questa operazione non utilizza una KMS chiave. | N/D |
ReEncrypt | Simmetrico o asimmetrico | ENCRYPT_DECRYPT |
Sign | Asimmetrica | SIGN_VERIFY |
Verify | Asimmetrica | SIGN_VERIFY |
VerifyMac | HMAC | GENERATE_VERIFY_MAC |
[1] Genera una coppia di chiavi dati asimmetrica protetta da una chiave di crittografia simmetrica. KMS
Per informazioni sulle autorizzazioni per le operazioni di crittografia, consulta AWS KMS autorizzazioni.
Per renderlo AWS KMS reattivo e altamente funzionale per tutti gli utenti, AWS KMS stabilisce quote sul numero di operazioni crittografiche richiamate al secondo. Per informazioni dettagliate, consultare Quote condivise per le operazioni di crittografia.