Architettura di Cloud HSM

Questi contenuti sono stati aggiornati l'ultima volta a novembre 2023 e rappresentano lo status quo del momento in cui sono stati redatti. Criteri e sistemi di sicurezza di Google possono variare in futuro, grazie al costante miglioramento della protezione per i nostri clienti.

Per aiutarti a soddisfare le normative aziendali e di conformità, Cloud HSM consente di generare chiavi di crittografia ed eseguire operazioni crittografiche nei moduli di sicurezza hardware (HSM) certificati FIPS 140-2 di livello 3.

Questo documento descrive l'architettura di Cloud HSM, incluse le modalità di gestione dell'hardware e di attestazione e creazione delle chiavi.

Panoramica

Le operazioni di crittografia includono la crittografia dei dati at-rest, la protezione delle chiavi private per Certificate Authority Service e le chiavi di crittografia dei dati in modo che possano essere archiviate insieme ai dati criptati. Cloud HSM utilizza i moduli Marvell LiquidSecurity HSM (modelli CNL3560-NFBE-2.0-G e CNL3560-NFBE-3.0-G) con le versioni del firmware 3.4 build 09. Per ulteriori informazioni sulla nostra certificazione, consulta il Certificato n. 3718.

Cloud HSM è completamente gestito in modo da poter proteggere i carichi di lavoro senza l'overhead operativo associato alla gestione di un cluster HSM. Il servizio offre i seguenti vantaggi:

  • Disponibilità a livello mondiale
  • Un'API coerente e unificata
  • Scalabilità automatica in base all'utilizzo
  • Gestione centralizzata e conformità normativa

Cloud HSM è disponibile in ogni regione Google Cloud del mondo, incluse regioni multiple che coprono aree geografiche più ampie. Quando abiliti Cloud HSM, puoi creare e utilizzare chiavi supportate da HSM per proteggere i tuoi dati, compresi quelli archiviati in altri servizi Google Cloud come BigQuery, Cloud Storage e Persistent Disk.

Poiché Cloud HSM e l'hardware HSM sono gestiti da Google, non è necessario gestire le chiavi supportate da HSM in produzione. Quando utilizzi Cloud HSM, i tuoi dati sono rigorosamente isolati dagli altri tenant e dai servizi di Google Cloud. L'API per il piano dati di Cloud HSM, che fa parte dell'API Cloud Key Management Service, consente di gestire in modo programmatico le chiavi supportate da HSM.

Cloud HSM supporta chiavi di crittografia gestite dal cliente (CMEK) supportate da HSM, ovunque le chiavi CMEK siano supportate in Google Cloud. Ad esempio, puoi criptare i dati nei bucket Cloud Storage o nelle tabelle Cloud SQL utilizzando una chiave Cloud HSM che gestisci.

Gestione di Cloud HSM

All'interno di Cloud HSM, i cluster di HSM sono gestiti da Site Reliability Engineer (SRE) e tecnici di Google che lavorano in ogni sede dei data center di Google Cloud. Google gestisce sicurezza fisica, sicurezza logica, infrastruttura, pianificazione della capacità, geoespansione e ripristino di emergenza dei data center.

Astrazione dell'hardware HSM

In genere, le applicazioni comunicano direttamente con i moduli HSM utilizzando sia PKCS#11 sia un'API di gestione dei cluster. Questa comunicazione richiede il mantenimento di un codice specializzato per carichi di lavoro che utilizzano o gestiscono chiavi supportate da HSM.

Cloud HSM astrae la comunicazione da HSM attraverso il proxy delle richieste per le chiavi supportate da HSM tramite l'API Cloud Key Management Service. L'astrazione riduce la necessità di utilizzare codice specifico per HSM. Cloud HSM eredita la stretta integrazione con Cloud KMS.

La stretta integrazione con Cloud KMS offre notevoli vantaggi in termini di sicurezza. L'API Cloud Key Management Service riduce significativamente la portata dell'interfaccia HSM disponibile, riducendo i rischi in caso di violazione della sicurezza del cliente. Ad esempio, un utente malintenzionato non sarebbe in grado di cancellare interi moduli HSM. Per impostazione predefinita, i tentativi di eliminazione di singole chiavi sono ridotti tramite un periodo di sicurezza predefinito di 24 ore. Puoi impostare il criterio dell'organizzazione constraints/cloudkms.minimumDestroyScheduledDuration in modo che applichi una lunghezza minima per la durata pianificata per l'eliminazione per le nuove chiavi e il criterio dell'organizzazione constraints/cloudkms.disableBeforeDestroy per eliminare le versioni delle chiavi solo se sono disabilitate. Per maggiori informazioni, consulta Controllare l'eliminazione delle versioni della chiave.

Puoi controllare l'accesso alle risorse HSM utilizzando Identity and Access Management (IAM). La configurazione IAM ha meno probabilità di presentare errori di configurazione e bug rispetto a una soluzione HSM personalizzata.

Diagramma dell'architettura di Cloud HSM.

Rigorosa separazione geografica, per definizione

In Cloud HSM puoi scegliere di rendere le chiavi disponibili a livello globale o di applicare rigide restrizioni geografiche alle chiavi che richiedono limitazioni.

Spesso, i moduli HSM sono suddivisi in partizioni, in modo che un singolo dispositivo fisico possa funzionare come più dispositivi logici. Puoi utilizzare le partizioni per ridurre i costi di deployment nei casi in cui sia necessario separare l'amministrazione e le chiavi HSM.

Ogni località regionale di Cloud HSM è associata a una chiave di wrapping separata. La chiave di wrapping viene clonata su una partizione in ogni HSM nella località, ma non lascia mai l'HMS nella località. La clonazione consente ai moduli HSM nella stessa regione di gestire lo stesso set di chiavi dei clienti e garantisce che i moduli HSM al di fuori della regione non possano gestire queste chiavi.

Cloud HSM crea inoltre più regioni utilizzando chiavi di wrapping. Il wrapping di tutte le chiavi cliente per più regioni viene eseguito utilizzando una chiave di wrapping presente su una partizione in tutte le località che costituiscono la multiregione. Il servizio utilizza lo stesso hardware per più regioni, ma offre lo stesso solido isolamento tra regioni e regioni multiple che esiste tra regioni diverse.

Diagramma dell'area geografica di Cloud HSM.

Lo schema di regionalizzazione richiede che le chiavi di wrapping vengano replicate solo nelle partizioni appropriate. Ogni modifica alla configurazione deve essere approvata da più membri del team Cloud HSM prima di essere attiva. I tecnici dei data center non possono accedere a configurazione, runtime o archiviazione HSM sul campo.

Gestione centralizzata

In un data center tradizionale che ospita i moduli HSM, la gestione degli HSM e delle relative risorse è completamente separata dalla gestione delle altre risorse crittografiche. Cloud HSM è strettamente integrato in Google Cloud e ti consente di gestire senza problemi le tue risorse Cloud HSM. Ad esempio, puoi gestire quanto segue:

  • Puoi gestire le risorse supportate da HSM, insieme alle altre chiavi in Cloud KMS e le chiavi gestite esternamente, in Cloud External Key Manager (Cloud EKM).
  • Puoi gestire l'accesso alle risorse supportate da HSM all'interno di IAM.
  • I report sui costi per le operazioni crittografiche che utilizzano chiavi supportate da HSM sono riportati in Fatturazione Cloud.
  • Puoi utilizzare le chiavi supportate da HSM in modo trasparente in tutti i servizi Google Cloud che supportano la crittografia delle risorse tramite CMEK. Le integrazioni CMEK richiedono che la chiave CMEK e i dati criptati vengano posizionati in località geografiche compatibili. A causa delle rigorose restrizioni geografiche delle chiavi Cloud HSM, anche la crittografia e la decrittografia dei dati CMEK sono geograficamente limitate.
  • Le operazioni amministrative sulle risorse supportate da HSM vengono sempre registrate al livello API in Cloud Audit Logs. Puoi anche scegliere di abilitare il logging degli accessi ai dati. Per ulteriori informazioni, consulta Informazioni sugli audit logging di Cloud KMS.
  • Google collabora direttamente con il produttore dei moduli HSM per mantenere aggiornati l'hardware e il software di ogni HSM e per individuare e risolvere i problemi in tempo reale. In caso di exploit zero-day sull'HMS, Google può disabilitare selettivamente i percorsi di codice interessati sui cluster HSM interessati fino a quando l'exploit non viene corretto.

Esperienza utente e sviluppatore

Poiché Google è responsabile della gestione dei moduli HSM, Cloud HSM offre vantaggi significativi a sviluppatori e utenti finali.

HSM su scala Google

Quando fai affidamento su hardware esistente on-premise o nei data center, può creare un collo di bottiglia delle prestazioni o diventare un single point of failure. Cloud HSM è progettato per essere estremamente resiliente a carichi di lavoro imprevedibili e guasti hardware. Il backend Cloud HSM utilizza un pool di moduli HSM in ogni regione per garantire alta disponibilità e scalabilità. Questo pool di moduli HSM consente a Cloud HSM di fornire anche una velocità effettiva elevata. Per maggiori informazioni, consulta Monitorare e modificare le quote di Cloud KMS.

Tutte le chiavi dei clienti sono archiviate con wrapping con una chiave di wrapping a livello di regione nel database Cloud KMS e possono essere sottoposte a wrapping solo da un HSM nella regione nell'ambito di un'operazione crittografica. Questo wrapping offre i seguenti vantaggi:

  • La durabilità di una chiave non è legata a un HSM o a un sottoinsieme di HSM specifico in una regione.
  • Ogni cliente di Cloud HSM sperimenta la scalabilità e la disponibilità dei cluster Cloud HSM che gestiscono le chiavi.
  • Cloud HSM è in grado di gestire un set di chiavi molto più ampio che può essere archiviato su un HSM.
  • L'aggiunta o la sostituzione di un HSM è rapida e sicura.

Progettazione unificata dell'API

Cloud HSM e Cloud KMS condividono un'API di gestione e piano dati comune. I dettagli interni della comunicazione con un HSM sono estratti dal chiamante.

Di conseguenza, non sono necessarie modifiche al codice per aggiornare un'applicazione esistente che utilizza chiavi software in Cloud KMS per supportare chiavi supportate da HSM. ma aggiorna il nome risorsa della chiave da utilizzare.

Assistenza per PKCS#11

Puoi utilizzare l'API Cloud Key Management Service per connettere le applicazioni esistenti a Cloud HSM al fine di gestire le chiavi di crittografia. La libreria PKCS#11 consente di utilizzare chiavi supportate da HSM per firmare i tuoi file binari e gestire sessioni web TLS.

Sicurezza e conformità normativa

Cloud HSM ha ottenuto la conformità a numerose normative, tra cui FedRAMP High, C5:2020 e OSPAR. Inoltre, Cloud HSM consente di applicare la conformità normativa per i carichi di lavoro nel cloud.

Attestazione chiave di crittografia

Ogni volta che generi o importi una chiave Cloud HSM, HSM genera un'istruzione di attestazione firmata con una chiave di firma associata alla partizione. L'istruzione contiene informazioni sugli attributi della chiave. La chiave di firma è supportata da catene di certificati radicate sia da Google che dal produttore di HSM. Puoi scaricare la dichiarazione e i certificati di attestazione per verificare l'autenticità della dichiarazione e convalidare le proprietà della chiave e dell'Hum che l'ha generata o importata.

La catena di certificati ti consente di controllare quanto segue:

  • L'hardware e il firmware HSM sono originali.
  • La partizione HSM e HSM sono gestiti da Google.
  • L'HSG è in modalità di funzionamento FIPS.

Il contenuto della dichiarazione di attestazione ti consente di controllare quanto segue:

  • La chiave non è estraibile.
  • La chiave è stata generata per la tua CryptoKeyVersion.
  • La chiave pubblica in una coppia di chiavi asimmetriche corrisponde a una chiave privata supportata da HSM.
  • Il materiale della chiave di una chiave simmetrica importata corrisponde al valore con wrapping.

Importazione sicura delle chiavi direttamente nei moduli HSM

Puoi importare in modo sicuro le chiavi esistenti in Cloud HSM per mantenere un backup del materiale della chiave al di fuori di Google Cloud o per semplificare la migrazione di determinati carichi di lavoro a Google Cloud. Il processo di importazione delle chiavi non consente a Google di accedere direttamente al materiale della chiave senza wrapping. Cloud HSM fornisce una dichiarazione di attestazione per la chiave di wrapping generata da HSM, al fine di confermare che non si sia verificato alcun accesso.

Poiché l'importazione delle chiavi crea potenzialmente rischi per la sicurezza e la conformità, consentendo agli utenti di importare chiavi da origini sconosciute, i ruoli IAM separati consentono un controllo granulare su chi può importare le chiavi in un progetto. Le chiavi importate si possono distinguere in base all'istruzione di attestazione generata da HSM al momento dell'importazione.

Per ulteriori informazioni, consulta Importazione di una chiave in Cloud Key Management Service.

Rigorose procedure di sicurezza salvaguardano l'hardware HSM

Come richiesto dallo standard FIPS 140-2 livello 3, i dispositivi HSM sono dotati di meccanismi integrati che aiutano a proteggere dalle manomissioni fisiche e a provarle.

Oltre alle garanzie offerte dall'hardware HSM, l'infrastruttura di Cloud HSM viene gestita in base alla panoramica sulla progettazione della sicurezza dell'infrastruttura di Google.

Procedure documentate e verificabili proteggono l'integrità di ogni HSM durante il provisioning, il deployment e in produzione:

  • Tutte le configurazioni HSM devono essere verificate da più SRE di Cloud HSM prima di poter eseguire il deployment di HSM in un data center.
  • Dopo l'attivazione di un HSM, la modifica della configurazione può essere avviata e verificata solo da più SRE di Cloud HSM.
  • Un HSM può ricevere solo il firmware firmato dal produttore.
  • L'hardware HSM non è esposto direttamente ad alcuna rete.
  • I server che ospitano l'hardware HSM non possono eseguire processi non autorizzati.

I compiti per gli operatori di sistema sono definiti nelle procedure operative standard. Agli operatori di sistema non è consentito l'accesso, l'utilizzo o l'estrazione del materiale chiave del cliente durante lo svolgimento delle loro mansioni.

Isolamento di servizi e tenant

L'architettura di Cloud HSM assicura che i moduli HSM siano protetti da interferenze dannose o involontarie da altri servizi o tenant.

Un HSM che fa parte di questa architettura accetta solo richieste da Cloud HSM, mentre il servizio Cloud HSM accetta solo richieste da Cloud KMS. Cloud KMS impone che i chiamanti dispongano delle autorizzazioni IAM appropriate sulle chiavi che tentano di utilizzare. Le richieste non autorizzate non raggiungono i moduli HSM.

Le chiavi supportate da HSM sono anche soggette a quotas per le operazioni crittografiche. Queste quote proteggono la capacità di eseguire i carichi di lavoro aiutando a prevenire tentativi involontari o dannosi di sovraccaricare il servizio. Le quote predefinite, 3000 QPM per le operazioni di crittografia asimmetriche e 30.000 QPM per le operazioni crittografiche simmetriche, si basano su pattern di utilizzo osservati. Le quote sono notevolmente inferiori alla capacità di servizio e possono essere aumentate su richiesta.

Flussi di richieste

Questa sezione mostra come le caratteristiche principali dell'architettura sopra descritte si applicano nella pratica, mostrando i passaggi per diversi tipi di richieste. Questi flussi enfatizzano le parti di Cloud HSM. Per ulteriori informazioni sui passaggi comuni a tutte le chiavi, consulta l'approfondimento su Cloud Key Management Service.

Creazione di chiavi

Quando crei una chiave supportata da HSM, l'API Cloud Key Management Service non crea il materiale della chiave, ma richiede di crearlo all'HSM.

Un HSM può creare chiavi solo in località supportate. Ogni partizione su un HSM contiene una chiave di wrapping corrispondente a una località Cloud KMS. La chiave di wrapping è condivisa tra tutte le partizioni che supportano la località di Cloud KMS. La procedura di creazione della chiave è la seguente:

  1. Il Google Front End Service (GFE) instrada la richiesta di creazione della chiave a un server Cloud KMS nella località corrispondente alla richiesta.
  2. L'API Cloud Key Management Service verifica l'identità del chiamante, l'autorizzazione del chiamante a creare chiavi nel progetto e che il chiamante dispone di una quota sufficiente per le richieste di scrittura.
  3. L'API Cloud Key Management Service inoltra la richiesta a Cloud HSM.
  4. Cloud HSM si interfaccia direttamente con l'HSM. HSM:
    1. Crea la chiave e ne esegue il wrapping con la chiave di wrapping specifica per la località.
    2. Crea la dichiarazione di attestazione per la chiave e la firma con la chiave di firma della partizione.
  5. Dopo che Cloud HSM ha restituito la chiave con wrapping e l'attestazione a Cloud KMS, l'API Cloud Key Management Service esegue il wrapping della chiave con wrapping HSM in base alla gerarchia delle chiavi di Cloud KMS, quindi la scrive nel progetto.

Questa progettazione garantisce che la chiave non possa essere sottoposta a wrapping o utilizzata all'esterno di un HSM, non possa essere estratta da quest'ultimo ed esiste nello stato di senza wrapping solo all'interno delle località specificate.

Il seguente diagramma mostra le differenze durante la creazione di chiavi e chiavi software di Cloud HSM in Cloud KMS.

Diagramma di creazione della chiave HSM.

Operazioni crittografiche

Quando esegui un'operazione crittografica in Cloud KMS, non è necessario sapere se stai utilizzando una chiave software o supportata da HSM. Quando l'API Cloud Key Management Service rileva che un'operazione prevede una chiave supportata da HSM, inoltra la richiesta a un HSM nella stessa località. Di seguito sono riportati i passaggi per un'operazione di crittografia:

  1. GFE instrada la richiesta a un server Cloud KMS nella località appropriata. L'API Cloud Key Management Service verifica l'identità del chiamante, l'autorizzazione del chiamante ad accedere alla chiave ed eseguire l'operazione e la quota del progetto per le operazioni crittografiche.
  2. L'API Cloud Key Management Service recupera la chiave con wrapping dal datastore e decripta un livello di crittografia utilizzando la chiave master di Cloud KMS. La chiave è ancora sottoposta a wrapping con la chiave di wrapping HSM per la località KMS.
  3. L'API Cloud Key Management Service rileva che il livello di protezione è HSM e invia la chiave parzialmente di cui è stato eseguito il wrapping, insieme agli input all'operazione di crittografia, a Cloud HSM.
  4. Cloud HSM si interfaccia direttamente con l'HSM. L'HSM completa le seguenti operazioni:
    1. Verifica che la chiave con wrapping e i relativi attributi non siano stati modificati.
    2. Annulla il wrapping della chiave e la carica nell'archiviazione HSM.
    3. Esegue l'operazione di crittografia e restituisce il risultato.
  5. L'API Cloud Key Management Service ritrasmette il risultato al chiamante.

Le operazioni di crittografia con chiavi supportate da HSM vengono eseguite interamente all'interno di un HSM nella località configurata e solo il risultato è visibile al chiamante.

Questo diagramma mostra la differenza tra la creazione di chiavi Cloud HSM e di chiavi software in Cloud KMS.

Diagramma delle operazioni di crittografia HSM.

Integrazioni CMEK

Insieme, CMEK e Cloud HSM ti consentono di proteggere i dati in servizi Google Cloud selezionati con chiavi HSM. La configurazione di un servizio abilitato per CMEK per l'utilizzo delle chiavi Cloud HSM è semplice quanto scegliere una chiave con un livello di protezione HSM quando si seguono le istruzioni specifiche del servizio.

Quando un chiamante legge o scrive dati in un servizio abilitato per CMEK, non ha bisogno dell'autorizzazione diretta per utilizzare la chiave e non ha bisogno di sapere se la chiave è archiviata in un HSM.

Il flusso per un'operazione CMEK è molto simile a quello per una normale operazione crittografica, con le seguenti eccezioni:

  • La richiesta dal servizio abilitato per CMEK viene avviata all'interno della rete di Google e non deve attraversare il GFE.
  • L'API Cloud Key Management Service verifica che l'account di servizio per il servizio abilitato per CMEK disponga delle autorizzazioni appropriate per utilizzare la chiave. L'API Cloud Key Management Service non convalida le autorizzazioni per l'utente finale del servizio abilitato per CMEK.

Cloud HSM è Key Management Service hardware di Google Cloud. Offre una serie di vantaggi distinti agli utenti che vogliono proteggere i propri dati at-rest con le chiavi HSM. Il servizio è stato progettato secondo i principi di accesso bloccato delle API ai moduli HSM, scalabilità semplice e regionalizzazione delle chiavi.

Cloud HSM offre il supporto CMEK per i servizi più importanti e la presenza di Cloud HSM in ogni regione Google Cloud (incluse più regioni e in tutto il mondo). Il servizio è progettato per consentirti di proteggere facilmente i tuoi dati sensibili, ovunque si trovino, con una chiave protetta dai dispositivi FIPS 140-2 di livello 3.

Passaggi successivi

Per ulteriori informazioni, consulta le seguenti risorse: