Importare chiavi con protezione HSM in Key Vault

Per una maggiore sicurezza, quando si usa Azure Key Vault è possibile importare o generare una chiave in un modulo di protezione hardware (HSM, Hardware Security Module). La chiave non uscirà mai dai limiti del modulo di protezione hardware. Questo scenario viene spesso definito BYOK (Bring Your Own Key). Key Vault usa moduli di protezione hardware convalidati FIPS 140 per proteggere le chiavi.

Questo articolo include informazioni utili per pianificare, generare e trasferire le proprie chiavi con protezione HSM da usare con Azure Key Vault.

Nota

Questa funzionalità non è disponibile per Microsoft Azure gestito da 21Vianet.

Questo metodo di importazione è disponibile solo per i moduli di protezione hardware supportati.

Per altre informazioni e per un'esercitazione introduttiva per Key Vault, che illustra anche come creare un insieme di credenziali delle chiavi per chiavi con protezione HSM, vedere Informazioni su Azure Key Vault.

Panoramica

Ecco una panoramica del processo. I passaggi specifici da completare sono illustrati più avanti nell'articolo.

  • In Key Vault generare una chiave, definita chiave per lo scambio delle chiavi (KEK, Key Exchange Key). La chiave KEK deve essere una chiave RSA-HSM che ha solo l'operazione import della chiave. Solo Key Vault Premium e HSM gestito supportano le chiavi RSA-HSM.
  • Scaricare la chiave pubblica KEK come file PEM.
  • Trasferire la chiave pubblica KEK in un computer offline connesso a un modulo di protezione hardware locale.
  • Nel computer offline usare lo strumento BYOK fornito dal fornitore del modulo di protezione hardware per creare un file BYOK.
  • La chiave di destinazione è crittografata con una chiave KEK, che rimane crittografata fino al trasferimento nel modulo di protezione hardware di Key Vault. Solo la versione crittografata della chiave esce dal modulo di protezione hardware locale.
  • Una chiave KEK generata in un modulo di protezione hardware di Key Vault non è esportabile. I moduli di protezione hardware impongono la regola in base alla quale non esistono versioni non crittografate di una chiave KEK all'esterno di un modulo di protezione hardware di Key Vault.
  • La chiave KEK deve trovarsi nello stesso insieme di credenziali delle chiavi in cui verrà importata la chiave di destinazione.
  • Quando il file BYOK viene caricato in Key Vault, un modulo di protezione hardware di Key Vault usa la chiave privata KEK per decrittografare il materiale della chiave di destinazione e importarla come chiave del modulo di protezione hardware. Questa operazione viene eseguita interamente in un modulo di protezione hardware di Key Vault. La chiave di destinazione rimane sempre entro i limiti di protezione del modulo di protezione hardware.

Prerequisiti

La tabella seguente elenca i prerequisiti per l'uso di BYOK in Azure Key Vault:

Requisito Ulteriori informazioni
Una sottoscrizione di Azure Per creare un insieme di credenziali delle chiavi in Azure Key Vault, è necessaria una sottoscrizione di Azure. registrarsi per la versione di prova gratuita.
Un modulo di protezione hardware Premium o gestito di Key Vault per importare chiavi protette dal modulo di protezione hardware Per altre informazioni sui livelli di servizio e sulle funzionalità in Azure Key Vault, vedere Prezzi di Key Vault .
Un modulo di protezione hardware dall'elenco di moduli di protezione hardware supportati, uno strumento BYOK e le istruzioni fornite dal fornitore del modulo di protezione hardware È necessario avere le autorizzazioni per un modulo di protezione hardware e avere una conoscenza di base dell'uso di un modulo di protezione hardware. Vedere Moduli di protezione hardware supportati.
Interfaccia della riga di comando di Azure versione 2.1.0 o successiva Vedere Installare l'interfaccia della riga di comando di Azure.

Moduli di protezione hardware supportati

Nome fornitore Tipo di fornitore Modelli di moduli di protezione hardware supportati Ulteriori informazioni
Cryptomathic ISV (Enterprise Key Management System) Più marchi e modelli di moduli di protezione hardware, tra cui
  • nCipher
  • Thales
  • Utimaco
Per dettagli, vedere il sito di Cryptomathic
Affidare Produttore,
modulo di protezione hardware come servizio
  • Famiglia di moduli di protezione hardware nShield
  • nShield come servizio
Nuovo strumento BYOK e documentazione di nCipher
Fortanix Produttore,
modulo di protezione hardware come servizio
  • Self-Defending Key Management Service (SDKMS)
  • Equinix SmartKey
Esportazione di chiavi SDKMS nei provider di servizi cloud per BYOK - Azure Key Vault
IBM Produttore IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell Produttore Moduli di protezione hardware di All LiquidSecurity con
  • Firmware con versione 2.0.4 o successiva
  • Firmware con versione 3.2 o successiva
Strumento BYOK e documentazione di Marvell
nCipher Produttore,
modulo di protezione hardware come servizio
  • Famiglia di moduli di protezione hardware nShield
  • nShield come servizio
Nuovo strumento BYOK e documentazione di nCipher
Securosys SA Produttore,
modulo di protezione hardware come servizio
Famiglia di moduli di protezione hardware Primus, Securosys Clouds HSM Strumento BYOK e documentazione di Primus
StorMagic ISV (Enterprise Key Management System) Più marchi e modelli di moduli di protezione hardware, tra cui
  • Utimaco
  • Thales
  • nCipher
Per dettagli, vedere il sito di StorMagic
SvKMS e BYOK di Azure Key Vault
Thales Produttore
  • Famiglia di prodotti Luna HSM 7 con firmware con versione 7.3 o successiva
Strumento BYOK e documentazione di Luna
Utimaco Produttore,
modulo di protezione hardware come servizio
u.trust Anchor, CryptoServer Guida all'integrazione e agli strumenti BYOK di Utimaco

Tipi di chiave supportati

Nome chiave Tipo di chiave Dimensioni chiave/curva Origine Descrizione
Chiave KEK (Key Exchange Key) RSA A 2.048 bit
A 3.072 bit
A 4.096 bit
Modulo di protezione hardware di Azure Key Vault Coppia di chiavi RSA supportata da modulo di protezione hardware generata in Azure Key Vault
Chiave di destinazione
RSA A 2.048 bit
A 3.072 bit
A 4.096 bit
Modulo di protezione hardware del fornitore Chiave da trasferire nel modulo di protezione hardware di Azure Key Vault
EC P-256
P-384
P-521
Modulo di protezione hardware del fornitore Chiave da trasferire nel modulo di protezione hardware di Azure Key Vault

Generare e trasferire la chiave nel modulo di protezione hardware Premium di Key Vault o nel modulo di protezione hardware gestito

Per generare e trasferire la chiave in un modulo di protezione hardware gestito o Premium di Key Vault:

Generare una chiave KEK

Una chiave KEK è una chiave RSA generata in un modulo di protezione hardware Premium o gestito di Key Vault. La chiave KEK viene usata per crittografare la chiave da importare, ovvero la chiave di destinazione.

La chiave KEK deve essere:

  • Una chiave RSA-HSM (a 2.048 bit, a 3.072 bit o a 4.096 bit)
  • Generata nello stesso insieme di credenziali delle chiavi in cui si vuole importare la chiave di destinazione.
  • Creata con operazioni di chiave consentite impostate su import

Nota

La chiave KEK deve avere 'import' come unica operazione di chiave consentita. L'operazione 'import' e tutte le altre operazioni delle chiavi si escludono a vicenda.

Usare il comando az keyvault key create per creare una chiave KEK con operazioni della chiave impostate su import. Registrare l'identificatore della chiave (kid) restituito dal comando seguente. Il valore kid verrà usato nel Passaggio 3.

az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --vault-name ContosoKeyVaultHSM

Per HSM gestito:

az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --hsm-name ContosoKeyVaultHSM

Scaricare la chiave pubblica KEK

Usare az keyvault key download per scaricare la chiave pubblica KEK in un file PEM. La chiave di destinazione importata viene crittografata mediante la chiave pubblica KEK.

az keyvault key download --name KEKforBYOK --vault-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem

Per HSM gestito:

az keyvault key download --name KEKforBYOK --hsm-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem

Trasferire il file KEKforBYOK.publickey.pem nel computer offline. Questo file sarà necessario nel passaggio successivo.

Generare e preparare la chiave per il trasferimento

Vedere la documentazione del fornitore del modulo di protezione hardware per scaricare e installare lo strumento BYOK. Seguire le istruzioni del fornitore del modulo di protezione hardware per generare una chiave di destinazione e quindi creare il pacchetto di trasferimento della chiave, ovvero un file BYOK. Lo strumento BYOK userà il valore kid dal Passaggio 1 e il file KEKforBYOK.publickey.pem scaricato nel Passaggio 2 per generare una chiave di destinazione crittografata in un file BYOK.

Trasferire il file BYOK nel computer connesso.

Nota

L'importazione delle chiavi RSA a 1.024 bit non è supportata. L'importazione della chiave curva ellittica con curva P-256K è supportata.

Problema noto: l'importazione di una chiave di destinazione RSA 4K da moduli di protezione hardware Luna è supportata solo con firmware 7.4.0 o versione successiva.

Trasferire la chiave ad Azure Key Vault

Per completare l'importazione della chiave, trasferire il pacchetto di trasferimento della chiave, ovvero un file BYOK, dal computer disconnesso al computer connesso a Internet. Usare il comando az keyvault key import per caricare il file BYOK nel modulo di protezione hardware di Key Vault.

Per importare una chiave RSA, usare il comando seguente. Il parametro --kty è facoltativo e per impostazione predefinita è 'RSA-HSM'.

az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Per il modulo di protezione hardware gestito

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Per importare una chiave EC, è necessario specificare il tipo di chiave e il nome della curva.

az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --kty EC-HSM --curve-name "P-256" --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok

Per il modulo di protezione hardware gestito

az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file --kty EC-HSM --curve-name "P-256" KeyTransferPackage-ContosoFirstHSMkey.byok

Se il caricamento ha esito positivo, l'interfaccia della riga di comando di Azure mostrerà le proprietà della chiave importata.

Passaggi successivi

È ora possibile usare questa chiave HSM protetta nell'insieme di credenziali delle chiavi. Per altre informazioni, vedere questo confronto tra prezzi e funzionalità.