Architettura di Cloud HSM

Questi contenuti sono stati aggiornati a novembre 2023 e rappresentano lo status quo al momento della loro redazione. I criteri e i sistemi di sicurezza di Google potranno essere soggetti a modifiche in futuro, come parte del nostro impegno per il miglioramento continuo della protezione dei nostri clienti.

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

Questo white paper descrive l'architettura di Cloud HSM, inclusa la gestione dell'hardware e la convalida e la creazione delle chiavi.

Panoramica

Le operazioni di crittografia includono la crittografia dei dati inattivi, la protezione delle chiavi private per il Certificate Authority Service e la protezione delle chiavi di crittografia dei dati in modo che possano essere archiviate insieme ai dati criptati. Cloud HSM utilizza moduli HSM Marvell LiquidSecurity (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 Certificato n. 4399.

Cloud HSM è completamente gestito, quindi puoi proteggere i tuoi carichi di lavoro senza il sovraccarico operativo connesso 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à alle normative

Cloud HSM è disponibile in ogni regione Google Cloud in tutto il mondo, incluse le regioni multi-regioni che abbracciano aree geografiche più vaste. Quando attivi Cloud HSM, puoi creare e utilizzare chiavi basate su HSM per proteggere i tuoi dati, inclusi 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 devi gestire le chiavi basate su HSM in produzione. Quando utilizzi Cloud HSM, i tuoi dati sono completamente isolati da altri tenant e servizi in Google Cloud. L'API del piano dati Cloud HSM, che fa parte dell'API Cloud Key Management Service, ti consente di gestire le chiavi basate su HSM in modo programmatico.

Cloud HSM supporta le chiavi di crittografia gestite dal cliente (CMEK) basate su 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

In Cloud HSM, i cluster di HSM sono gestiti da SRE (Site Reliability Engineers) e tecnici di Google che lavorano in ogni sede dei data center Google Cloud. Google gestisce la sicurezza fisica, la sicurezza logica, l'infrastruttura, la pianificazione della capacità, l'espansione geografica e la pianificazione del piano di ripristino dei disastri dei data center.

Astrazione dell'hardware HSM

In genere, le applicazioni comunicano direttamente con gli HSM utilizzando sia PKCS#11 sia un'API di gestione del cluster. Questa comunicazione richiede la gestione di codice specializzato per i carichi di lavoro che utilizzano o gestiscono chiavi basate su HSM.

Cloud HSM esegue l'astrazione della comunicazione dall'HSM tramite il proxy delle richieste di chiavi basate su HSM tramite l'API Cloud Key Management Service. L'astrazione riduce la necessità di codice specifico per l'HSM. Cloud HSM eredita un'integrazione stretta con Cloud KMS.

L'integrazione stretta con Cloud KMS offre notevoli vantaggi in termini di sicurezza. L'API Cloud Key Management Service riduce notevolmente l'ampiezza dell'interfaccia HSM disponibile, riducendo il rischio in caso di violazione della sicurezza del cliente. Ad esempio, un malintenzionato non sarebbe in grado di cancellare l'intero contenuto di un HSM. Per impostazione predefinita, i tentativi di distruggere singole chiavi vengono attenuati tramite un periodo di sicurezza di 24 ore predefinito. Puoi impostare il criterio dell'organizzazione constraints/cloudkms.minimumDestroyScheduledDuration per applicare una durata minima per la durata pianificata per l'eliminazione per le nuove chiavi e il criterio dell'organizzazione constraints/cloudkms.disableBeforeDestroy per eliminare le versioni della chiave solo quando sono disabilitate. Per ulteriori informazioni, consulta Controllare l'eliminazione delle versioni delle chiavi.

Puoi controllare l'accesso alle risorse HSM utilizzando Identity and Access Management (IAM). La configurazione IAM è meno soggetta a configurazioni errate e bug rispetto a una soluzione HSM personalizzata.

Diagramma dell'architettura di Cloud HSM.

Separazione geografica rigorosa, per impostazione predefinita

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 gli HSM sono suddivisi in partizioni, in modo che un singolo dispositivo fisico possa funzionare come più dispositivi logici. Potresti utilizzare le partizioni per ridurre i costi di implementazione nei casi in cui devi separare le chiavi e l'amministrazione dell'HSM.

A ogni località regionale Cloud HSM è associata una chiave di wrapping distinta. La chiave di wrapping viene clonata in una partizione di ogni HSM nella località, ma non esce mai dall'HSM nella località. La clonazione consente agli HSM nella stessa regione di gestire lo stesso insieme di chiavi dei clienti e garantisce che gli HSM al di fuori della regione non possano gestirle.

Cloud HSM crea anche regioni multiple utilizzando chiavi di wrapping. Tutte le chiavi del cliente per un ambiente multi-regione vengono sottoposte a wrapping utilizzando una chiave di wrapping presente in una partizione in tutte le località che costituiscono l'ambiente multi-regione. Il servizio utilizza lo stesso hardware per le regioni multiple, ma offre lo stesso isolamento rigoroso tra regioni e regioni multiple esistente tra regioni diverse.

Diagramma della geografia 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 di Cloud HSM prima di diventare attiva. I tecnici dei data center non possono accedere a una configurazione, a un runtime o a uno spazio di archiviazione HSM sul campo.

Gestione centralizzata

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

  • Gestisci le risorse basate su HSM insieme alle altre chiavi in Cloud KMS e le chiavi con gestione esterna in Cloud External Key Manager (Cloud EKM).
  • Gestisci l'accesso alle risorse basate su HSM in IAM.
  • I report sui costi per le operazioni crittografiche che utilizzano chiavi basate su HSM vengono riportati in Fatturazione Cloud.
  • Puoi utilizzare le chiavi basate su HSM in modo trasparente in tutti i servizi Google Cloud che supportano la crittografia delle risorse utilizzando CMEK. Le integrazioni CMEK richiedono che la chiave CMEK e i dati che cripta si trovino in località geografiche compatibili. A causa della rigida limitazione geografica delle chiavi Cloud HSM, anche la crittografia e la decrittografia dei dati CMEK sono limitate geograficamente.
  • Le operazioni amministrative sulle risorse basate su HSM vengono sempre registrate a livello di API in Cloud Audit Logs. Puoi anche scegliere di attivare il logging per l'accesso ai dati. Per ulteriori informazioni, consulta Informazioni sui log di controllo di Cloud KMS.
  • Google collabora direttamente con il produttore dell'HSM per mantenere aggiornato l'hardware e il software su ogni HSM e per trovare e risolvere i problemi in tempo reale. In caso di exploit zero-day sull'HSM, Google può disattivare in modo selettivo i percorsi di codice interessati sui cluster HSM interessati fino alla correzione dell'exploit.

Esperienza utente e sviluppatori

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

HSM su scala Google

Se utilizzi hardware on-premise o in data center, questo può creare un collo di bottiglia del rendimento o diventare un punto di vulnerabilità. Cloud HSM è progettato per essere estremamente resiliente ai carichi di lavoro imprevedibili e ai guasti hardware. Il backend di Cloud HSM utilizza un pool di HSM in ogni regione per garantire elevata disponibilità e scalabilità. Questo pool di HSM consente a Cloud HSM di fornire anche un'elevata larghezza di banda. Per ulteriori informazioni, consulta Monitorare e modificare le quote di Cloud KMS.

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

  • La durata di una chiave non è legata a un HSM o a un sottoinsieme di HSM specifici in una regione.
  • Ogni cliente Cloud HSM può usufruire della scalabilità e della disponibilità complete dei cluster Cloud HSM che gestiscono le sue chiavi.
  • Cloud HSM può gestire un insieme molto più grande di chiavi che possono essere archiviate su un HSM.
  • L'aggiunta o la sostituzione di un HSM è rapida e sicura.

Progettazione di API unificate

Cloud HSM e Cloud KMS condividono un'API di gestione e di livello dati comune. I dettagli interni della comunicazione con un HSM vengono astratti dal chiamante.

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

Supporto PKCS#11

Puoi utilizzare l'API Cloud Key Management Service per collegare le tue applicazioni esistenti a Cloud HSM per gestire le chiavi di crittografia. La libreria PKCS#11 ti consente di utilizzare chiavi basate su HSM per firmare i binari e gestire le sessioni web TLS.

Sicurezza e conformità normativa

Cloud HSM ha ottenuto la conformità a numerosi regolamenti, tra cui FedRAMP High, C5:2020 e OSPAR. Inoltre, Cloud HSM ti aiuta a applicare la conformità alle normative per i tuoi carichi di lavoro nel cloud.

Attestazione della chiave di crittografia

Ogni volta che generi o importi una chiave Cloud HSM, l'HSM genera una dichiarazione 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 basate su Google e sul produttore dell'HSM. Puoi scaricare la dichiarazione di attestazione e i certificati per verificare l'autenticità della dichiarazione e convalidare le proprietà della chiave e dell'HSM che l'hanno generata o importata.

La catena di certificati ti consente di controllare quanto segue:

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

I contenuti della dichiarazione di attestazione ti consentono di verificare 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 sottoposto a wrapping.

Importazione sicura delle chiavi direttamente negli 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 alcun accesso diretto al materiale della chiave decriptato. Cloud HSM fornisce una dichiarazione di attestazione per la chiave di wrapping generata dall'HSM per convalidare che non sia avvenuto alcun accesso.

Poiché l'importazione delle chiavi può creare potenziali 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 chiavi in un progetto. Le chiavi importate possono essere distinte dalla dichiarazione di attestazione generata dall'HSM al momento dell'importazione.

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

Procedure di sicurezza rigorose proteggono l'hardware HSM

Come richiesto dal livello 3 di FIPS 140-2, i dispositivi HSM dispongono di meccanismi integrati per contribuire a proteggere dalle manomissioni fisiche e a fornire prove di queste.

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

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

  • Tutte le configurazioni degli HSM devono essere verificate da più SRE di Cloud HSM prima che l'HSM possa essere implementato in un data center.
  • Dopo che un HSM è stato messo in servizio, la modifica della configurazione può essere avviata e verificata solo da più SRE di Cloud HSM.
  • Un HSM può ricevere solo firmware firmato dal produttore dell'HSM.
  • L'hardware HSM non è esposto direttamente a nessuna rete.
  • Ai server che ospitano l'hardware HSM è impedito di eseguire processi non autorizzati.

I doveri degli operatori di sistema sono definiti nelle procedure operative standard. Gli operatori di sistema non possono accedere, utilizzare o estrarre il materiale della chiave del cliente durante l'esercizio delle loro funzioni.

Isolamento di servizi e tenant

L'architettura Cloud HSM garantisce che gli HSM siano protetti da interferenze dannose o involontarie di altri servizi o tenant.

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

Le chiavi basate su HSM sono soggette anche alle quote per le operazioni di crittografia. Queste quote proteggono la tua capacità di eseguire i carichi di lavoro contribuendo a impedire tentativi involontari o malintenzionati di sovraccaricare il servizio. Le quote predefinite, 3000 QPM per operazioni di crittografia asimmetrica e 30.000 QPM per operazioni di crittografia simmetrica, si basano sui pattern di utilizzo osservati. Le quote sono molto inferiori alla capacità del servizio e possono essere aumentate su richiesta.

Flussi di richieste

Questa sezione mostra come vengono applicati in pratica i punti di forza dell'architettura sopra descritti mostrando i passaggi per diversi tipi di richieste. Questi flussi sottolineano le parti di Cloud HSM. Per ulteriori informazioni sui passaggi comuni a tutte le chiavi, consulta la guida approfondita su Cloud Key Management Service.

Creazione di chiavi

Quando crei una chiave basata su HSM, l'API Cloud Key Management Service non crea il materiale della chiave, ma ne richiede la creazione all'HSM.

Un HSM può creare chiavi solo nelle posizioni 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 posizione Cloud KMS. La procedura di creazione della chiave è la seguente:

  1. Il servizio Google Front End (GFE) instrada la richiesta di creazione della chiave a un server Cloud KMS nella posizione corrispondente alla richiesta.
  2. L'API Cloud Key Management Service verifica l'identità del chiamante, la sua permission per creare chiavi nel progetto e che il chiamante abbia una quota di richieste di scrittura sufficiente.
  3. L'API Cloud Key Management Service inoltra la richiesta a Cloud HSM.
  4. Cloud HSM si interfaccia direttamente con l'HSM. L'HSM:
    1. Crea la chiave e la esegue 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 restituisce la chiave sottoposta a wrapping e l'attestazione a Cloud KMS, l'API Cloud Key Management Service esegue il wrapping della chiave sottoposta a wrapping HSM in base alla gerarchia delle chiavi Cloud KMS, quindi la scrive nel progetto.

Questo design garantisce che la chiave non possa essere aperta o utilizzata al di fuori di un HSM, non possa essere estratta dall'HSM ed esista nel suo stato non aperto solo in posizioni specificate.

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

Diagramma di creazione della chiave HSM.

Operazioni crittografiche

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

  1. Il GFE instrada la richiesta a un server Cloud KMS nella posizione 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 di crittografia.
  2. L'API Cloud Key Management Service recupera la chiave con wrapping dal datastore e decripta un livello di crittografia utilizzando la chiave master Cloud KMS. La chiave è ancora sottoposta a wrapping con la chiave di wrapping HSM per la posizione KMS.
  3. L'API Cloud Key Management Service rileva che il livello di protezione è HSM e invia la chiave parzialmente sguainata, insieme agli input per l'operazione di crittografia, a Cloud HSM.
  4. Cloud HSM si interfaccia direttamente con l'HSM. L'HSM completa le seguenti operazioni:
    1. Controlla che la chiave con wrapping e i relativi attributi non siano stati modificati.
    2. Estrae la chiave e la carica nello spazio di archiviazione dell'HSM.
    3. Esegue l'operazione di crittografia e restituisce il risultato.
  5. L'API Cloud Key Management Service restituisce il risultato all'autore della chiamata.

Le operazioni di crittografia che utilizzano chiavi supportate da HSM vengono eseguite interamente all'interno di un modulo HSM nella posizione configurata e solo il risultato è visibile all'utente 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

CMEK e Cloud HSM ti consentono di proteggere i tuoi dati in determinati servizi Google Cloud con chiavi HSM. Configurare un servizio abilitato per le chiavi CMEK per utilizzare le chiavi Cloud HSM è semplice come scegliere una chiave con un livello di protezione HSM seguendo le istruzioni specifiche del servizio.

Quando un chiamante legge o scrive dati in un servizio abilitato per CMEK, non deve avere l'autorizzazione diretta per utilizzare la chiave e non deve sapere se la chiave è memorizzata in un HSM.

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

  • La richiesta del servizio abilitato alla CMEK viene avviata all'interno della rete di Google e non deve attraversare la GFE.
  • L'API Cloud Key Management Service verifica che l'account di servizio per il servizio abilitato al 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 a CMEK.

Cloud HSM è Key Management Service hardware di Google Cloud. Offre un numero di vantaggi distinti agli utenti che vogliono proteggere i propri dati a riposo con le chiavi HSM. Il servizio è stato progettato in base ai principi di accesso API bloccato agli HSM, scalabilità senza problemi e regionalizzazione stretta delle chiavi.

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

Passaggi successivi

Per ulteriori informazioni, consulta le seguenti risorse: