Questo argomento tratta le informazioni concettuali sull'importazione di chiavi in Cloud Key Management Service come nuove versioni delle chiavi. Per istruzioni passo passo, vedi Importare una versione della chiave.
Introduzione
Puoi utilizzare chiavi di crittografia esistenti create on-premise o in un sistema di gestione delle chiavi esterno. Se esegui la migrazione di un'applicazione a Google Cloud o se aggiungi il supporto della crittografia a un'applicazione Google Cloud esistente, puoi importare le chiavi pertinenti in Cloud KMS.
- Puoi importarle in chiavi di Cloud HSM o chiavi software in Cloud KMS.
- Il materiale della chiave viene sottoposto a wrapping per la protezione 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 si trova mai al di fuori di Cloud HSM.
Questo argomento fornisce dettagli su limitazioni e requisiti per l'importazione delle chiavi e offre una panoramica di come funziona l'importazione delle chiavi.
Limitazioni e requisiti
Esamina queste sezioni per verificare che le chiavi possano essere importate in Cloud KMS.
Formati delle chiavi supportati
- Chiavi simmetriche per la crittografia: Le chiavi simmetriche importate devono essere di 16 byte (solo per la crittografia simmetrica non elaborata) o di 32 byte di dati binari e non devono essere codificate. Se la chiave è codificata in formato esadecimale o Base64, devi decodificarla prima di tentare di importarla.
- Chiavi simmetriche per la firma (chiavi MAC): le chiavi di firma HMAC importate devono avere una lunghezza pari alla lunghezza di output della funzione di hash crittografico utilizzata (ad esempio, le chiavi HMAC-SHA256 devono avere una lunghezza di 32 byte) e non devono essere codificate. Se la chiave è codificata in formato esadecimale o Base64, devi decodificarla prima di tentare di importarla.
- Chiavi asimmetriche per la crittografia o la firma: le chiavi asimmetriche importate devono essere in formato PKCS #8 e con codifica DER. Il formato PCKS #8 è definito nel documento RFC 5208. La codifica DER è definita nell'Unione internazionale delle telecomunicazioni 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 suSOFTWARE
o HSM
. Le chiavi Cloud HSM comportano costi aggiuntivi.
Non puoi importare in una chiave Cloud External Key Manager.
Dimensioni delle chiavi di wrapping supportate
Quando crei un job di importazione, puoi controllare le dimensioni della chiave di wrapping utilizzata per proteggere la chiave in transito verso Google Cloud impostando il metodo di importazione del job di importazione. La dimensione predefinita della chiave di wrapping è 3072. Se hai requisiti specifici, puoi configurare il job di importazione in modo che utilizzi una chiave a 4096 bit.
Puoi scoprire di più sugli algoritmi utilizzati per il wrapping delle chiavi o sulla configurazione di un job di importazione.
Come funziona l'importazione delle chiavi
Questa sezione illustra cosa succede quando importi una chiave. Alcune parti del flusso sono diverse se utilizzi il wrapping automatico o esegui manualmente il wrapping della chiave. È consigliabile utilizzare il wrapping automatico. Per istruzioni specifiche, vedi Importare una versione della chiave. Per istruzioni specifiche sul 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, crea 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 e la chiave di destinazione per il materiale della chiave importata. 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 è archiviata in Google Cloud e viene utilizzata per annullare il wrapping 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, la trasmissione e l'importazione della chiave, come descritto nel passaggio successivo. Se devi rispettare requisiti di conformità o normativi per eseguire il wrapping della chiave manualmente, puoi farlo in questo momento. Per eseguire il wrapping della chiave manualmente sul sistema locale:
- Configura OpenSSL.
- Scarica una volta per job di importazione la chiave di wrapping associata al job di importazione.
- Imposta diverse variabili di ambiente e esegui il wrapping della chiave una volta per 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 la chiave non è stata sottoposta a wrapping manuale, 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 decriptato 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 una versione della chiave
- Criptare e decriptare i dati utilizzando una chiave simmetrica
- Criptare e decriptare i dati utilizzando una chiave asimmetrica
- Scopri di più su come creare e convalidare firme digitali