Riferimento alle specifiche chiave - AWS Key Management Service

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à.

Riferimento alle specifiche chiave

Quando crei una chiave KMS asimmetrica o una chiave KMS HMAC, selezioni la relativa specifica della chiave. La specifica della chiave, che è una proprietà di every AWS KMS key, rappresenta la configurazione crittografica della chiave KMS. La specifica della chiave viene scelta in fase di creazione della chiave KMS e non può essere modificata in seguito. Se hai selezionato la specifica della chiave errata, elimina la chiave KMS e creane una nuova.

Nota

La specifica della chiave per una chiave del servizio di gestione delle chiavi era nota come "specifica chiave master cliente". Il CustomerMasterKeySpec parametro dell'CreateKeyoperazione è obsoleto. Utilizza invece il parametro KeySpec. La risposta delle DescribeKeyoperazioni CreateKey and include un CustomerMasterKeySpec membro KeySpec and con lo stesso valore.

Le specifiche della chiave determinano se la chiave KMS è simmetrica o asimmetrica, il tipo di materiale chiave nella chiave KMS e gli algoritmi di crittografia, gli algoritmi di firma o gli algoritmi MAC (Message Authentication Code) supportati dalla chiave KMS. AWS KMS La specifica della chiave scelta è in genere determinata dal caso d'uso e dai requisiti normativi. Tuttavia, le operazioni crittografiche sulle chiavi KMS con specifiche diverse della chiave ECC hanno prezzi differenti e sono soggette a varie quote. Per i dettagli sui prezzi, vedere Prezzi di AWS Key Management Service. Per informazioni sulle quote di richieste, consulta Quote di richieste.

Per limitare le specifiche chiave che i principali possono utilizzare durante la creazione di chiavi KMS, usa la chiave kms: condition. KeySpec Puoi anche usare la chiave kms:KeySpec condition per consentire ai principali di richiamare AWS KMS le operazioni solo sulle chiavi KMS con una specifica chiave particolare. Ad esempio, puoi negare l'autorizzazione per pianificare l'eliminazione di tutte le chiavi KMS con una specifica delle chiave RSA_4096.

AWS KMS supporta le seguenti specifiche chiave per le chiavi KMS:

Specifica della chiave crittografica simmetrica (impostazione predefinita)
  • SYMMETRIC_DEFAULT

Specifiche della chiave RSA (crittografia e decrittografia o firma e verifica)
  • RSA_2048

  • RSA_3072

  • RSA_4096

Specifiche della chiave basata su curva ellittica
SM2 specifica chiave (crittografia e decrittografia -oppure - firma e verifica -o derivazione di segreti condivisi)
  • SM2 (Solo regioni della Cina)

Specifiche della chiave HMAC
  • HMAC_224

  • HMAC_256

  • HMAC_384

  • HMAC_512

Specifica della chiave SYMMETRIC_DEFAULT

La specifica della chiave di default, SYMMETRIC_DEFAULT, è la specifica della chiave per le chiavi KMS di crittografia simmetrica. Quando si seleziona il tipo di chiave simmetrica e l'utilizzo della chiave di crittografia e decrittografia nella AWS KMS console, vengono selezionate le specifiche della chiave. SYMMETRIC_DEFAULT Nell'CreateKeyoperazione, se non si specifica un valore, viene selezionato SYMMETRIC_DEFAULT. KeySpec Se non hai motivo di utilizzare una specifica della chiave diversa, SYMMETRIC_DEFAULT è una scelta valida.

SYMMETRIC_DEFAULT rappresenta AES-256-GCM, un algoritmo simmetrico basato su Advanced Encryption Standard (AES) in Galois Counter Mode (GCM) con chiavi a 256 bit, uno standard di settore per la crittografia sicura. Il testo cifrato generato da questo algoritmo supporta ulteriori dati autenticati (AAD), ad esempio un contesto di crittografia, e GCM fornisce un controllo di integrità aggiuntivo sul testo cifrato.

AES-256-GCM garantisce la protezione attuale e futura dei dati crittografati. I crittografi considerano questo algoritmo resistente alla quantistica. Attacchi teorici futuri di calcolo quantistico su larga scala su testi cifrati creati con chiavi AES-GCM a 256 bit riducono l'effettiva sicurezza della chiave a 128 bit. Tuttavia, questo livello di sicurezza è sufficiente a rendere impossibili gli attacchi di forza bruta su testi cifrati. AWS KMS

L'unica eccezione nelle regioni della Cina, dove SYMMETRIC_DEFAULT rappresenta una chiave simmetrica a 128 bit che utilizza la crittografia. SM4 Puoi creare una SM4 chiave a 128 bit solo all'interno delle regioni della Cina. Non puoi creare una chiave KMS AES-GCM a 256 bit in Cina.

Puoi utilizzare una chiave KMS con crittografia simmetrica per crittografare, AWS KMS decrittografare e ricrittografare i dati e proteggere le chiavi e le coppie di chiavi di dati generate. AWS i servizi integrati con AWS KMS utilizzano chiavi KMS di crittografia simmetrica per crittografare i dati inattivi. Puoi importare il materiale della chiave di tua proprietà in una chiave KMS di crittografia simmetrica e creare chiavi KMS di crittografia simmetrica negli archivi delle chiavi personalizzate. Per una tabella di confronto delle azioni eseguibili su chiavi KMS simmetriche e asimmetriche, consulta Confronto tra chiavi KMS simmetriche e asimmetriche.

È possibile utilizzare una chiave KMS con crittografia simmetrica AWS KMS per crittografare, decrittografare e ricrittografare i dati e generare chiavi di dati e coppie di chiavi di dati. Puoi creare chiavi KMS di crittografia simmetrica multi-regione, importare il materiale della chiave in una chiave KMS di crittografia simmetrica e creare chiavi KMS di crittografia simmetrica negli archivi delle chiavi personalizzate. Per una tabella di confronto delle operazioni eseguibili sulle diverse tipologie di chiavi KMS, consultare Documentazione di riferimento dei tipi di chiave.

Specifiche della chiave RSA

Quando utilizzi una specifica chiave RSA, AWS KMS crea una chiave KMS asimmetrica con una coppia di chiavi RSA. La chiave privata non esce mai non crittografata. AWS KMS È possibile utilizzare la chiave pubblica all'interno AWS KMS o scaricare la chiave pubblica per utilizzarla all'esterno. AWS KMS

avvertimento

Quando crittografate i dati all'esterno AWS KMS, assicuratevi di poter decriptare il testo cifrato. Se si utilizza la chiave pubblica da una chiave KMS che è stata eliminata da AWS KMS, la chiave pubblica da una chiave KMS configurata per la firma e la verifica o un algoritmo di crittografia che non è supportato dalla chiave KMS, i dati non sono recuperabili.

In AWS KMS, puoi utilizzare chiavi KMS asimmetriche con coppie di chiavi RSA per la crittografia e la decrittografia, oppure per la firma e la verifica, ma non entrambe. Questa proprietà, nota come utilizzo della chiave, viene determinata separatamente dalla specifica della chiave; tuttavia è preferibile che tu la definisca prima di selezionare la specifica.

AWS KMS supporta le seguenti specifiche chiave RSA per la crittografia e la decrittografia o la firma e la verifica:

  • RSA_2048

  • RSA_3072

  • RSA_4096

Le specifiche della chiave RSA differiscono in base alla lunghezza di bit della chiave RSA. La specifica della chiave RSA scelta potrebbe essere determinata dai tuoi standard di sicurezza o dai requisiti della tua attività. In generale, usa la chiave più grande che ritieni pratica e conveniente per la tua attività. Le operazioni crittografiche sulle chiavi KMS con specifiche della chiave RSA diverse hanno prezzi differenti. Per informazioni sui AWS KMS prezzi, consulta la sezione Prezzi del servizio di gestione delle AWS chiavi. Per informazioni sulle quote di richieste, consulta Quote di richieste.

Specifiche della chiave RSA per la crittografia e la decrittografia

Quando una chiave KMS asimmetrica RSA viene utilizzata per la crittografia e la decrittazione, esegui la crittografia con la chiave pubblica e la decrittazione con la chiave privata. Quando richiami l'Encryptoperazione AWS KMS per una chiave RSA KMS, AWS KMS utilizza la chiave pubblica nella coppia di chiavi RSA e l'algoritmo di crittografia specificato per crittografare i dati. Per decrittografare il testo cifrato, richiama l'Decryptoperazione e specifica la stessa chiave KMS e lo stesso algoritmo di crittografia. AWS KMS utilizza quindi la chiave privata nella coppia di chiavi RSA per decrittografare i dati.

Puoi anche scaricare la chiave pubblica e utilizzarla per crittografare i dati all'esterno di. AWS KMS Assicurati di utilizzare un algoritmo di crittografia che AWS KMS supporti le chiavi RSA KMS. Per decrittare il testo cifrato, chiama la funzione Decrypt con la stessa chiave KMS e lo stesso algoritmo di crittografia.

AWS KMS supporta due algoritmi di crittografia per chiavi KMS con specifiche chiave RSA. Questi algoritmi, definiti in PKCS #1 v2.2, differiscono per la funzione hash che usano internamente. In AWS KMS, gli algoritmi RSAES_OAEP utilizzano sempre la stessa funzione hash sia per scopi di hashing che per la funzione di generazione di maschere (). MGF1 Occorre specificare un algoritmo di crittografia quando chiami le azioni Encrypt e Decrypt. Puoi scegliere un algoritmo diverso per ogni richiesta.

Algoritmi di crittografia supportati per le specifiche della chiave RSA
Algoritmo di crittografia Descrizione dell'algoritmo
RSAES_OAEP_SHA_1 PKCS #1 v2.2, sezione 7.1. Crittografia RSA con imbottitura OAEP che utilizza SHA-1 sia per la funzione di generazione dell'hash che per quella della maschera insieme a un'etichetta vuota. MGF1
RSAES_OAEP_SHA_256 PKCS #1, sezione 7.1. Crittografia RSA con OAEP Padding che utilizza SHA-256 sia per la funzione di generazione dell'hash che per quella della maschera insieme a un'etichetta vuota. MGF1

Non puoi configurare una chiave KMS per utilizzare un particolare algoritmo di crittografia. Tuttavia, puoi utilizzare la condizione kms: EncryptionAlgorithm policy per specificare gli algoritmi di crittografia che i principali possono utilizzare con la chiave KMS.

Per ottenere gli algoritmi di crittografia per una chiave KMS, visualizza la configurazione crittografica della chiave KMS nella console o utilizza l'operazione. AWS KMS DescribeKey AWS KMS fornisce inoltre le specifiche della chiave e gli algoritmi di crittografia quando scarichi la chiave pubblica, nella AWS KMS console o utilizzando l'operazione. GetPublicKey

Potresti scegliere una specifica della chiave RSA in base alla lunghezza dei dati in chiaro che puoi crittografare in ogni richiesta. Nella tabella che segue vengono illustrate le dimensioni massime, in byte, del testo in chiaro che puoi crittografare in una singola chiamata all'azione Encrypt. I valori differiscono con la specifica della chiave e l'algoritmo di crittografia. Per eseguire un confronto, puoi utilizzare una chiave KMS di crittografia simmetrica per crittografare fino a 4.096 byte contemporaneamente.

Per calcolare la lunghezza massima del testo in chiaro in byte per questi algoritmi, utilizzate la formula seguente: (key_size_in_bits/8) - (2 * /8) - 2. hash_length_in_bits Ad esempio, per RSA_2048 con SHA-256, la dimensione massima del testo in chiaro in byte è (2048/8) - (2 * 256/8) -2 = 190.

Dimensione massima del testo in chiaro (in byte) in un'azione Encrypt
Algoritmo di crittografia
Specifica della chiave RSAES_OAEP_SHA_1 RSAES_OAEP_SHA_256
RSA_2048 214 190
RSA_3072 342 318
RSA_4096 470 446

Specifiche della chiave RSA per la firma e la verifica

Quando una chiave KMS asimmetrica RSA viene utilizzata per la firma e la verifica, generi la firma per un messaggio con la chiave privata e verifichi la firma con la chiave pubblica.

Quando richiami l'Signoperazione AWS KMS per una chiave KMS asimmetrica, AWS KMS utilizza la chiave privata nella coppia di chiavi RSA, il messaggio e l'algoritmo di firma specificato per generare una firma. Per verificare la firma, chiamare l'azione Verify. Specificate la firma, più la stessa chiave KMS, lo stesso messaggio e lo stesso algoritmo di firma. AWS KMS utilizza quindi la chiave pubblica nella coppia di chiavi RSA per verificare la firma. Puoi anche scaricare la chiave pubblica e utilizzarla per verificare la firma all'esterno di AWS KMS.

AWS KMS supporta i seguenti algoritmi di firma per tutte le chiavi KMS con una specifica chiave RSA. Devi specificare un algoritmo di firma quando chiami le operazioni Sign (firma) e Verify (verifica). Puoi scegliere un algoritmo diverso per ogni richiesta. Quando si firma con coppie di chiavi RSA, sono preferiti gli algoritmi RSASSA-PSS. Includiamo algoritmi RSASSA- PKCS1 -v1_5 per la compatibilità con le applicazioni esistenti.

Algoritmi di firma supportati per le specifiche della chiave RSA
Algoritmo di firma Descrizione dell'algoritmo
RSASSA_PSS_SHA_256 PKCS #1 v2.2, Sezione 8.1, firma RSA con imbottitura PSS che utilizza SHA-256 sia per il digest dei messaggi che per la funzione di generazione della maschera insieme a un sale a 256 bit MGF1
RSASSA_PSS_SHA_384 PKCS #1 v2.2, Sezione 8.1, firma RSA con imbottitura PSS che utilizza SHA-384 sia per il message digest che per la funzione di generazione di maschere insieme a un sale a 384 bit MGF1
RSASSA_PSS_SHA_512 PKCS #1 v2.2, Sezione 8.1, firma RSA con imbottitura PSS che utilizza SHA-512 sia per il message digest che per la funzione di generazione di maschere insieme a un sale a 512 bit MGF1
RSASSA_ _V1_5_SHA_256 PKCS1 PKCS #1 v2.2, sezione 8.2, firma RSA con riempimento PKCS #1v1.5 e SHA-256
RSASSA_ PKCS1 _V1_5_SHA_384 PKCS #1 v2.2, sezione 8.2, firma RSA con riempimento PKCS #1v1.5 e SHA-384
RSASSA_ PKCS1 _V1_5_SHA_512 PKCS #1 v2.2, sezione 8.2, firma RSA con riempimento PKCS #1v1.5 e SHA-512

Non puoi configurare una chiave KMS per utilizzare algoritmi di firma particolari. Tuttavia, puoi utilizzare la condizione kms: SigningAlgorithm policy per specificare gli algoritmi di firma che i principali possono utilizzare con la chiave KMS.

Per ottenere gli algoritmi di firma per una chiave KMS, visualizza la configurazione crittografica della chiave KMS nella console o utilizzando l'operazione. AWS KMS DescribeKey AWS KMS fornisce anche le specifiche della chiave e gli algoritmi di firma quando scarichi la chiave pubblica, nella AWS KMS console o utilizzando l'operazione. GetPublicKey

Specifiche della chiave basata su curva ellittica

Quando si utilizza una specifica chiave a curva ellittica (ECC), AWS KMS crea una chiave KMS asimmetrica con una coppia di chiavi ECC per la firma e la verifica o la derivazione di segreti condivisi (ma non entrambi). La chiave privata che genera firme o ricava segreti condivisi non esce mai non crittografata. AWS KMS È possibile utilizzare la chiave pubblica per verificare le firme all'interno AWS KMS o scaricare la chiave pubblica per utilizzarla all'esterno. AWS KMS

AWS KMS supporta le seguenti specifiche chiave ECC per le chiavi KMS asimmetriche.

  • Coppie di chiavi a curva ellittica asimmetriche consigliate dal NIST (firma e verifica, o derivazione di segreti condivisi)

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Altre coppie di chiavi asimmetriche basate su curva ellittica (firma e verifica)

    • ECC_SECG_P256K1 (secp256k1), comunemente usate per le criptovalute.

La specifica della chiave ECC scelta potrebbe essere determinata dai tuoi standard di sicurezza o dai requisiti della tua attività. In generale, utilizza la curva con il maggior numero di punti che ritieni pratica e conveniente per la tua attività.

Se stai creando una chiave KMS asimmetrica per derivare segreti condivisi, usa una delle specifiche chiave della curva ellittica consigliate dal NIST. L'unico algoritmo di accordo chiave supportato per derivare segreti condivisi è l'Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH). Per un esempio di come derivare segreti condivisi offline, vedi. Ricevere segreti condivisi offline

Se stai creando una chiave KMS asimmetrica da utilizzare con le criptovalute, usa la specifica della chiave ECC_SECG_P256K1. Puoi utilizzare anche questa specifica della chiave per altri scopi, ma è necessaria per il Bitcoin e le altre criptovalute.

Le chiave KMS con specifiche diverse della chiave ECC hanno prezzi differenti e sono soggette a varie quote di richieste. Per informazioni sui AWS KMS prezzi, consulta la sezione AWS Key Management Service Prezzi. Per informazioni sulle quote di richieste, consulta Quote di richieste.

La tabella seguente mostra gli algoritmi di firma AWS KMS supportati per ciascuna delle specifiche chiave ECC. Non puoi configurare una chiave KMS per utilizzare algoritmi di firma particolari. Tuttavia, puoi utilizzare la condizione kms: SigningAlgorithm policy per specificare gli algoritmi di firma che i principali possono utilizzare con la chiave KMS.

Algoritmi di firma supportati per le specifiche della chiave ECC
Specifica della chiave Algoritmo di firma Descrizione dell'algoritmo
ECC_NIST_P256 ECDSA_SHA_256 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 per il digest del messaggio.
ECC_NIST_P384 ECDSA_SHA_384 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-384 per il message digest.
ECC_NIST_P521 ECDSA_SHA_512 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-512 per il message digest.
ECC_SECG_P256K1 ECDSA_SHA_256 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 per il message digest.

SM2 specifiche chiave (solo regioni della Cina)

La specifica SM2 chiave è una specifica chiave a curva ellittica definita all'interno della serie di specifiche GM/T pubblicate dall'Office of State Commercial Cryptography Administration (OSCCA) cinese. Le specifiche SM2 chiave sono disponibili solo nelle regioni della Cina. Quando si utilizza la specifica SM2 chiave, AWS KMS crea una chiave KMS asimmetrica con una coppia di chiavi. SM2 Puoi usare la tua coppia di SM2 chiavi all'interno AWS KMS o scaricare la chiave pubblica per utilizzarla all'esterno AWS KMS. Per ulteriori informazioni, consulta Verifica offline con coppie di SM2 chiavi (solo regioni della Cina).

Ogni chiave KMS può avere solo un utilizzo. Puoi utilizzare una chiave SM2 KMS per la firma e la verifica, la crittografia e la decrittografia o la derivazione di segreti condivisi. È necessario specificare il parametro sull’utilizzo della chiave in fase di creazione della chiave KMS e non può essere modificata in seguito.

Se stai creando una chiave KMS asimmetrica per derivare segreti condivisi, usa le specifiche della chiave. SM2 L'unico algoritmo di accordo chiave supportato per derivare segreti condivisi è l'Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH).

AWS KMS supporta SM2 i seguenti algoritmi di crittografia e firma:

  • SM2algoritmo di crittografia PKE

    SM2PKE è un algoritmo di crittografia basato su curve ellittiche definito dall'OSCCA in GM/T 0003.4-2012.

  • SM2Algoritmo di firma DSA

    SM2DSA è un algoritmo di firma basato su curve ellittiche definito dall'OSCCA in GM/T 0003.2-2012. SM2DSA richiede un ID distintivo sottoposto a hash con l'algoritmo di SM3 hashing e quindi combinato con il messaggio, o message digest, a cui è stato passato. AWS KMS Questo valore concatenato viene quindi sottoposto a hash e firmato da. AWS KMS

Specifiche della chiave per le chiavi KMS HMAC

AWS KMS supporta chiavi HMAC simmetriche di diverse lunghezze. La scelta della specifica della chiave può dipendere da requisiti normativi, di sicurezza o aziendali. La lunghezza della chiave determina l'algoritmo MAC utilizzato nelle operazioni e nelle operazioni. GenerateMacVerifyMac In generale, le chiavi più lunghe sono più sicure. Usa la chiave più lunga funzionale per il tuo caso d'uso.

Specifica della chiave HMAC Algoritmo MAC
HMAC_224 HMAC_SHA_224
HMAC_256 HMAC_SHA_256
HMAC_384 HMAC_SHA_384
HMAC_512 HMAC_SHA_512