Importazione di una chiave

Questo argomento illustra informazioni concettuali sull'importazione delle chiavi in Cloud Key Management Service come nuove versioni. Per istruzioni dettagliate, consulta la sezione sull'importazione di una versione della chiave.

Introduzione

Potresti 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 crittografico a un'applicazione Google Cloud esistente, puoi importare le chiavi pertinenti in Cloud KMS.

  • Puoi importare chiavi Cloud HSM o chiavi software in Cloud KMS.
  • Il materiale della chiave viene sottoposto a wrapping per proteggerlo durante il transito. Puoi utilizzare l'interfaccia a Google Cloud CLI per eseguire automaticamente l'a capo della chiave oppure puoi eseguire l'a capo 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 di come funziona l'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 delle chiavi supportati

  • Le chiavi simmetriche per la crittografia 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 esadecimale o in base64, devi decodificarla prima di tentare di importarla.

  • Le chiavi simmetriche per la firma (chiavi MAC) devono avere una lunghezza pari alla lunghezza della output della funzione di hash crittografica utilizzata (ad es. le chiavi HMAC-SHA256 devono avere una lunghezza di 32 byte) e non devono essere codificate. Se la chiave è codificata in esadecimale o in base64, devi decodificarla prima di tentare di importarla.

  • Le chiavi asimmetriche per la crittografia o la firma devono essere in formato PKCS #8 e devono essere con codifica DER. Il formato PCKS 8 è definito nel 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, ad esempio la lunghezza, non possono essere modificati dopo la sua creazione. 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 comportano costi aggiuntivi. Non puoi eseguire l'importazione in una chiave Cloud External Key Manager (una chiave con livello di protezione EXTERNAL).

Dimensioni delle chiavi di wrapping supportate

Quando crei un job di importazione, puoi controllare le dimensioni della chiave di wrapping impiegata per proteggere la chiave durante il transito verso Google configurando il metodo di importazione del job. La dimensione predefinita della chiave di a capo è 3072. Se hai requisiti specifici, puoi configurare il job di importazione in modo che utilizzi una chiave di 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 inserisci manualmente il wrapping della chiave. Ti consigliamo di 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 la procedura di importazione delle chiavi che utilizza il wrapping automatico delle chiavi. Le fasi mostrate nel diagramma sono descritte in questa sezione.

Flusso di importazione, descritto in questa sezione

  1. Preparati a importare le chiavi.

    1. Innanzitutto, crea un mazzo di chiavi e una chiave di destinazione che conterranno il job di importazione e il materiale della chiave importato. A questo punto, la chiave di destinazione non contiene versioni della chiave.

    2. Poi, crea un job di importazione. Il job di importazione definisce il keyring e la chiave di destinazione 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 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.

    3. La chiave deve essere sottoposta a wrapping criptato prima di essere trasmessa a Google. La maggior parte degli utenti può utilizzare l'gcloud CLI per eseguire automaticamente il wrapping, la trasmissione e l'importazione della chiave, come descritto nel passaggio successivo. Se hai requisiti di conformità o normativi che richiedono di chiudere manualmente la chiave, puoi farlo in questo momento. Per eseguire il wrapping manuale della chiave sul sistema locale:

      1. Configura OpenSSL.
      2. Una volta per job di importazione, scarica la chiave di wrapping associata al job di importazione.
      3. Una volta per chiave, imposta diverse variabili di ambiente e avvolgi la chiave.
  2. Per un massimo di tre giorni, fino alla scadenza del job di importazione, puoi utilizzarlo per effettuare richieste di importazione al fine di importare una o più chiavi. Durante una richiesta di importazione:

    1. Se la chiave non è stata criptata 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 criptare il materiale della chiave locale.
    2. Il materiale della chiave sottoposto a wrapping viene trasmesso al progetto Google Cloud.
    3. Il materiale della chiave viene simballato utilizzando la chiave privata del job di importazione e viene inserito come nuova versione della chiave di destinazione nel keyring di destinazione. Si tratta di un'operazione atomica.
    4. Per le chiavi simmetriche, imposta la versione della chiave importata come versione della chiave primaria.

Una volta completata la richiesta di importazione, puoi utilizzare la versione della chiave importata per proteggere i dati in Google Cloud.

Passaggi successivi