Creare una chiave KMS - 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à.

Creare una chiave KMS

È possibile creare AWS KMS keys in o utilizzando l'CreateKeyoperazione o la AWS::KMS::Key AWS CloudFormation risorsa. AWS Management Console Durante questo processo, imposti la politica chiave per la chiave KMS, che puoi modificare in qualsiasi momento. Seleziona anche i seguenti valori che definiscono il tipo di chiave KMS che crei. Una volta creata la chiave KMS, non è più possibile modificare queste proprietà.

Tipo di chiave KMS

Il tipo di chiave è una proprietà che determina il tipo di chiave crittografica creata. AWS KMS offre tre tipi di chiavi per proteggere i dati:

  • chiavi simmetriche Advanced Encryption Standard (AES)

    Chiavi a 256 bit utilizzate nella modalità Galois Counter Mode (GCM) di AES per fornire crittografia/decrittografia autenticate di dati di dimensioni inferiori a 4 KB. Questo è il tipo di chiave più comune e viene utilizzato per proteggere altre chiavi di crittografia dei dati utilizzate nelle applicazioni e quindi crittografare i dati per conto dell'utente. Servizi AWS

  • Chiavi RSA, a curva ellittica o (solo per le regioni SM2 della Cina) asimmetriche

    Queste chiavi sono disponibili in varie dimensioni e supportano molti algoritmi. Possono essere utilizzate per la crittografia e la decrittografia, la firma e la verifica o per derivare operazioni segrete condivise a seconda dell'algoritmo scelto.

  • Chiavi simmetriche per eseguire operazioni con codici di autenticazione dei messaggi (HMAC) basati su hash

    Queste chiavi sono chiavi a 256 bit utilizzate per le operazioni di firma e verifica.

    Le chiavi KMS non possono essere esportate dal servizio in testo normale. Sono generate e possono essere utilizzate solo all'interno dei moduli di sicurezza hardware (HSMs) utilizzati dal servizio. Questa è la proprietà di sicurezza fondamentale di AWS KMS garantire che le chiavi non vengano compromesse.

Utilizzo delle chiavi

L'utilizzo della chiave è una proprietà che determina le operazioni di crittografia supportate dalla chiave. Le chiavi KMS possono utilizzare come chiaveENCRYPT_DECRYPT, SIGN_VERIFYGENERATE_VERIFY_MAC, oKEY_AGREEMENT. Ogni chiave KMS può avere solo un utilizzo. L'utilizzo di una chiave KMS per più di un tipo di operazione rende il prodotto di entrambe le operazioni più vulnerabile agli attacchi.

Specifiche chiave

Key spec è una proprietà che rappresenta la configurazione crittografica della chiave. Il significato delle specifiche della chiave differisce dal tipo di chiave.

Per le chiavi KMS, la specifica chiave determina se la chiave KMS è simmetrica o asimmetrica. Determina anche il tipo di materiale della chiave e gli algoritmi supportati.

La specifica della chiave predefinita, SYMMETRIC_DEFAULT, rappresenta una chiave crittografica simmetrica a 256 bit. Per una descrizione dettagliata di tutte le specifiche chiave supportate, consulta. Riferimento alle specifiche chiave

Origine dei materiali chiave

L'origine del materiale chiave è una proprietà chiave KMS che identifica l'origine del materiale chiave nella chiave KMS. L'origine del materiale della chiave viene scelta in fase di creazione della chiave KMS e non può essere modificata in seguito. L'origine del materiale della chiave influisce sulle caratteristiche di sicurezza, durata, disponibilità, latenza e velocità di trasmissione effettiva della chiave KMS.

Ogni chiave KMS include un riferimento al relativo materiale della chiave nei suoi metadati. L'origine del materiale della chiave delle chiavi KMS di crittografia simmetrica può variare. È possibile utilizzare materiale chiave AWS KMS generato, materiale chiave generato in un archivio chiavi personalizzato o importare materiale chiave personalizzato.

Per impostazione predefinita, ogni chiave KMS dispone di materiale chiave univoco. Tuttavia, è possibile creare un set di chiavi per più regioni con lo stesso materiale chiave.

Le chiavi KMS possono avere uno dei seguenti valori chiave di origine del materiale:AWS_KMS, EXTERNAL (materiale chiave importato), AWS_CLOUDHSM (chiave KMS in un archivio AWS CloudHSM chiavi) o EXTERNAL_KEY_STORE (chiave KMS in un archivio chiavi esterno).

Autorizzazioni per la creazione di chiavi KMS

Per creare una chiave KMS nella console o utilizzando il APIs, devi disporre della seguente autorizzazione in una policy IAM. Quando possibile, utilizzare le chiavi di condizione per limitare le autorizzazioni. Ad esempio, puoi utilizzare la chiave kms: KeySpec condition in una policy IAM per consentire ai principali di creare solo chiavi di crittografia simmetriche.

Per un esempio di policy IAM per le entità principali che creano chiavi, vedere Consentire a un utente di creare chiavi KMS.

Nota

Presta attenzione quando concedi ai principali l'autorizzazione per gestire tag e alias. Modificando un tag o un alias puoi consentire o negare l'autorizzazione alla chiave gestita dal cliente. Per informazioni dettagliate, consultare ABAC per AWS KMS.

Il kms: non è richiesta PutKeyPolicy l'autorizzazione per creare la chiave KMS. L'autorizzazione kms:CreateKey include l'autorizzazione per impostare la policy chiave iniziale. Tuttavia, è necessario aggiungere questa autorizzazione alla policy chiave durante la creazione della chiave KMS per assicurarsi di poter controllare l'accesso alla chiave KMS. L'alternativa è utilizzare il BypassLockoutSafetyCheckparametro, che non è consigliato.

Le chiavi KMS appartengono all' AWS account in cui sono state create. L'utente IAM che crea una chiave KMS non è considerato il proprietario della chiave e non dispone automaticamente dell'autorizzazione a utilizzare o gestire la chiave KMS creata. Come qualsiasi altro principale, il creatore di chiavi deve ottenere l'autorizzazione tramite una policy chiave, una policy IAM o una concessione. Tuttavia, i principali che hanno l'autorizzazione kms:CreateKey possono impostare la policy chiave iniziale e concedersi l'autorizzazione all'utilizzo o alla gestione della chiave.

Scelta del tipo di chiave KMS da creare

Il tipo di chiave KMS che crei dipende in gran parte dal modo in cui intendi utilizzare la chiave KMS, dai requisiti di sicurezza e dai requisiti di autorizzazione. Il tipo di chiave e l'utilizzo della chiave KMS determinano le operazioni crittografiche che la chiave può eseguire. Ogni chiave KMS ha un solo utilizzo. L'utilizzo di una chiave KMS per più di un tipo di operazioni rende il prodotto di tutte le operazioni più vulnerabile agli attacchi.

Per consentire ai principali di creare chiavi KMS solo per un particolare utilizzo di chiavi, usa la chiave kms: condition. KeyUsage Puoi inoltre utilizzare la kms:KeyUsage chiave di condizione per consentire ali principali di chiamare operazioni API per una chiave KMS in base al relativo utilizzo della chiave. Ad esempio, puoi consentire l'autorizzazione a disabilitare una chiave KMS solo se l'utilizzo della chiave è SIGN_VERIFY.

Utilizza le indicazioni che seguono per determinare quale tipo di chiave KMS è necessario in base al caso d'uso.

Crittografia e decrittografia dei dati

Utilizza una chiave KMS simmetrica per la maggior parte dei casi d'uso che richiedono la crittografia e la decrittazione dei dati. L'algoritmo di crittografia simmetrica utilizzato da AWS KMS è veloce, efficiente e garantisce la riservatezza e l'autenticità dei dati. Supporta la crittografia autenticata con dati autenticati aggiuntivi (AAD), definiti come contesto di crittografia. Questo tipo di chiave KMS richiede che sia il mittente che il destinatario dei dati crittografati dispongano di credenziali valide per la chiamata. AWS AWS KMS

Se il tuo caso d'uso richiede la crittografia al di fuori degli AWS utenti che non possono effettuare chiamate AWS KMS, le chiavi KMS asimmetriche sono una buona scelta. Puoi distribuire la parte pubblica della chiave KMS asimmetrica per consentire a questi utenti di crittografare i dati. E le applicazioni che devono decriptare quei dati possono utilizzare la parte privata della chiave KMS asimmetrica all'interno di AWS KMS.

Firma dei messaggi e verifica delle firme

Per firmare i messaggi e verificare le firme, è necessario utilizzare una chiave KMS asimmetrica. Puoi utilizzare una chiave KMS con una specifica chiave che rappresenti una coppia di chiavi RSA, una coppia di chiavi a curva ellittica (ECC) o una coppia di chiavi (solo regioni SM2 della Cina). La specifica della chiave scelta è determinata dall'algoritmo di firma che desideri utilizzare. Gli algoritmi di firma ECDSA supportati dalle coppie di chiavi ECC sono consigliati rispetto agli algoritmi di firma RSA. Tuttavia, potrebbe essere necessario utilizzare una specifica chiave e un algoritmo di firma particolari per supportare gli utenti che verificano le firme all'esterno di. AWS

Crittografa con coppie di chiavi asimmetriche

Per crittografare i dati con una coppia di chiavi asimmetrica, devi utilizzare una chiave KMS asimmetrica con una specifica chiave RSA o una specifica chiave (solo regioni della Cina). SM2 Per crittografare i dati in AWS KMS con la chiave pubblica di una coppia di chiavi KMS, utilizza l'operazione Encrypt (crittografa). Puoi anche scaricare la chiave pubblica e condividerla con le parti che devono crittografare i dati all'esterno. AWS KMS

Quando scarichi la chiave pubblica di una chiave KMS asimmetrica, puoi utilizzarla all'esterno di AWS KMS. Ma non è più soggetto ai controlli di sicurezza che proteggono la chiave KMS. AWS KMS Ad esempio, non è possibile utilizzare politiche o concessioni AWS KMS chiave per controllare l'uso della chiave pubblica. Né è possibile controllare se la chiave viene utilizzata solo per la crittografia e la decrittografia utilizzando gli algoritmi di crittografia supportati. AWS KMS Per ulteriori dettagli, consulta la pagina sulle considerazioni speciali per il download delle chiavi pubbliche.

Per decrittografare i dati che sono stati crittografati con la chiave pubblica esterna a AWS KMS, chiamate l'operazione Decrypt. L'Decryptoperazione ha esito negativo se i dati sono stati crittografati con una chiave pubblica da una chiave KMS con una chiave utilizzata di. SIGN_VERIFY Inoltre fallirà se è stata crittografata utilizzando un algoritmo che AWS KMS non supporta la specifica chiave selezionata. Per ulteriori informazioni sulle specifiche chiave e sugli algoritmi supportati, consulta. Riferimento alle specifiche chiave

Per evitare questi errori, chiunque utilizzi una chiave pubblica esterna a AWS KMS deve memorizzare la configurazione della chiave. La AWS KMS console e la GetPublicKeyrisposta forniscono le informazioni da includere quando si condivide la chiave pubblica.

Ricava segreti condivisi

Per ricavare segreti condivisi, usa una chiave KMS con curva ellittica consigliata dal NIST o materiale chiave SM2(solo per le regioni della Cina). AWS KMS utilizza la Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) per stabilire un accordo chiave tra due peer derivando un segreto condiviso dalle rispettive coppie di chiavi pubblico-private a curva ellittica. È possibile utilizzare il segreto condiviso non elaborato restituito dall' DeriveSharedSecretoperazione per derivare una chiave simmetrica in grado di crittografare e decrittografare i dati inviati tra due parti oppure generare e verificare. HMACs AWS KMS consiglia di seguire le raccomandazioni del NIST per la derivazione delle chiavi quando si utilizza il segreto condiviso non elaborato per derivare una chiave simmetrica.

Generazione e verifica dei codici HMAC

Per generare e verificare i codici di autenticazione dei messaggi basati su hash, utilizza una chiave KMS HMAC. Quando si crea una chiave HMAC AWS KMS, AWS KMS crea e protegge il materiale chiave e si assicura di utilizzare gli algoritmi MAC corretti per la chiave. I codici HMAC possono essere utilizzati anche come numeri pseudo-casuali e, in alcuni scenari, per la firma simmetrica e la tokenizzazione.

Le chiavi KMS HMAC sono chiavi simmetriche. Quando crei una chiave KMS HMAC nella console AWS KMS , scegli il tipo di chiave Symmetric.

Utilizzo con i servizi AWS

Per creare una chiave KMS da utilizzare con un AWS servizio integrato AWS KMS, consulta la documentazione del servizio. AWS i servizi che crittografano i dati richiedono una chiave KMS di crittografia simmetrica.

Oltre a queste considerazioni, le operazioni crittografiche sulle chiavi KMS con specifiche della chiave diverse hanno prezzi e quote di richieste differenti. Per informazioni sui prezzi di AWS KMS , consulta la pagina dei prezzi di AWS Key Management Service. Per informazioni sulle quote di richieste, consulta Quote di richieste.