Questo argomento tratta informazioni concettuali sull'importazione delle chiavi in Cloud Key Management Service come nuove versioni delle chiavi. Per istruzioni dettagliate, consulta la pagina relativa all'importazione della versione di una chiave.
Introduzione
È possibile che tu stia utilizzando chiavi di crittografia esistenti create on-premise o in un sistema di gestione delle chiavi esterno. Se esegui la migrazione di un'applicazione in Google Cloud o se aggiungi il supporto crittografico a un'applicazione Google Cloud esistente, puoi importare le chiavi pertinenti in Cloud KMS.
- Puoi eseguire l'importazione in chiavi software o chiavi di Cloud HSM in Cloud KMS.
- Il materiale della chiave è con avvolto per proteggere i dati in transito. Puoi utilizzare Google Cloud CLI per eseguire il wrapping automatico della chiave oppure puoi eseguire il wrapping della chiave manualmente.
- Google Cloud ha accesso alla chiave di wrapping solo nell'ambito del job di importazione. Per le chiavi Cloud HSM, la chiave di wrapping non risiede mai al di fuori di Cloud HSM.
Questo argomento fornisce dettagli sulle limitazioni e sui requisiti per l'importazione delle chiavi e offre una panoramica del funzionamento dell'importazione delle chiavi.
Limitazioni e requisiti
Esamina queste sezioni per verificare che le chiavi possano essere importate nelle chiavi Cloud KMS o Cloud HSM.
Formati chiave supportati
Le chiavi simmetriche per la crittografia devono essere di 16 byte (solo per la crittografia simmetrica non elaborata) o 32 byte di dati binari e non devono essere codificate. Se la tua chiave ha una codifica esadecimale o Base64, devi decodificarla prima di tentare l'importazione.
Le chiavi simmetriche per la firma (chiavi MAC) devono avere una lunghezza uguale alla lunghezza di output della funzione hash di crittografia in uso (ad esempio, le chiavi HMAC-SHA256 devono avere una lunghezza di 32 byte) e non devono essere codificate. Se la tua chiave è con codifica esadecimale o Base64, devi decodificarla prima di tentare di importarla.
Le chiavi asimmetriche per la crittografia o la firma devono essere in formato PKCS #8 e con codifica DER. Il formato PCKS #8 è definito nel documento RFC 5208. La codifica DER è definita in International Telecommunications Union X.680. Le chiavi asimmetriche devono utilizzare una delle combinazioni di lunghezza e algoritmo supportate da Cloud KMS.
Alcuni aspetti di una chiave, come la lunghezza, non possono essere modificati dopo la creazione della chiave. In questi casi, la chiave non può essere importata in Cloud KMS.
Per verificare e riformattare la chiave per l'importazione, consulta Formattazione delle chiavi per l'importazione.
Livelli di protezione supportati
Puoi importare una chiave in una chiave Cloud KMS o in una chiave Cloud HSM impostando il livello di protezione della chiave su SOFTWARE
o HSM
. Le chiavi Cloud HSM sono soggette a costi aggiuntivi. Non puoi eseguire l'importazione in una chiave Cloud External Key Manager (una chiave con livello di protezione EXTERNAL
).
Dimensioni della chiave di wrapping supportate
Quando crei un job di importazione, puoi controllare le dimensioni della chiave di wrapping utilizzata per proteggere la chiave in transito in Google configurando il metodo di importazione del job di importazione. La dimensione predefinita per la chiave di wrapping è 3072. Se hai requisiti specifici, puoi configurare il job di importazione in modo che utilizzi una chiave a 4096 bit.
Scopri di più sugli algoritmi utilizzati per il wrapping delle chiavi o sulla configurazione di un job di importazione.
Come funziona l'importazione della chiave
Questa sezione illustra cosa succede quando importi una chiave. Alcune parti del flusso sono diverse se utilizzi il wrapping automatico o il wrapping manuale della chiave. È consigliabile utilizzare il wrapping automatico. Per istruzioni specifiche, consulta Importare la versione di una chiave. Per istruzioni specifiche sull'esecuzione del wrapping manuale della chiave prima dell'importazione, consulta Wrapping di una chiave utilizzando OpenSSL su Linux.
Il seguente diagramma illustra il processo di importazione delle chiavi utilizzando il wrapping automatico delle chiavi. Le fasi mostrate nel diagramma sono descritte in questa sezione.
Preparati a importare le chiavi.
Innanzitutto, devi creare un keyring e una chiave di destinazione che alla fine conterranno il job di importazione e il materiale della chiave importato. A questo punto, la chiave di destinazione non contiene versioni della chiave.
A questo punto, crea un job di importazione. Il job di importazione definisce il keyring di destinazione e la chiave per il materiale della chiave importato. Il job di importazione definisce anche il metodo di importazione, ovvero l'algoritmo utilizzato per creare la chiave di wrapping che protegge il materiale della chiave durante le richieste di importazione.
- La chiave pubblica viene utilizzata per eseguire il wrapping della chiave da importare sul client.
- La chiave privata viene archiviata in Google Cloud e viene utilizzata per eseguire l'unwrapping della chiave dopo che raggiunge il progetto Google Cloud.
Questa separazione impedisce a Google di annullare il wrapping del materiale della chiave al di fuori dell'ambito del job di importazione.
La chiave deve essere sottoposta a wrapping crittografico prima di essere trasmessa a Google. La maggior parte degli utenti può utilizzare gcloud CLI per eseguire automaticamente il wrapping, trasmettere e importare la chiave, come descritto nel passaggio successivo. Se hai requisiti di conformità o normativi per eseguire il wrapping manuale della chiave, puoi farlo adesso. Per eseguire il wrapping della chiave manualmente nel sistema locale:
- Configura OpenSSL.
- Una volta per ogni job di importazione, scarica la chiave di wrapping associata al job di importazione.
- Una volta per ogni chiave, imposta diverse variabili di ambiente ed esegui il wrapping della chiave.
Per un massimo di tre giorni, fino alla scadenza del job di importazione, puoi utilizzarlo per effettuare richieste di importazione per importare una o più chiavi. Durante una richiesta di importazione:
- Se il wrapping della chiave non è stato eseguito manualmente, Google Cloud CLI scarica la chiave pubblica del job di importazione da Google Cloud al sistema locale, quindi utilizza la chiave pubblica, insieme a una chiave privata associata al client, per eseguire il wrapping del materiale della chiave locale.
- Il materiale della chiave con wrapping viene trasmesso al progetto Google Cloud.
- Il materiale della chiave viene annullato utilizzando la chiave privata del job di importazione e viene inserito come nuova versione della chiave di destinazione nel keyring di destinazione. Questa è un'operazione atomica.
- Per le chiavi simmetriche, imposti la versione della chiave importata come versione della chiave primaria.
Una volta completata correttamente la richiesta di importazione, puoi utilizzare la versione della chiave importata per proteggere i dati in Google Cloud.
Passaggi successivi
- Importare la versione di una chiave
- Criptare e decriptare i dati utilizzando una chiave simmetrica
- Cripta e decripta i dati utilizzando una chiave asimmetrica
- Scopri di più sulla creazione e convalida delle firme digitali