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. I criteri e i sistemi di sicurezza di Google potrebbero modificare in futuro, grazie al costante miglioramento della protezione per i nostri clienti.

Per aiutarti a soddisfare le normative aziendali e di conformità, Cloud HSM ti 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 la protezione delle chiavi di crittografia dei dati in modo che possano essere archiviate insieme ai dati criptati. Cloud HSM utilizza i moduli HSM Marvell LiquidSecurity (modelli CNL3560-NFBE-2.0-G e CNL3560-NFBE-3.0-G) con le versioni firmware 3.4 09. Per ulteriori informazioni sulla nostra certificazione, vedi Certificato n. 4399.

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 globale
  • 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 comprendono 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 servizi in Google Cloud. L'API del piano dati Cloud HSM, che fa parte dell'API Cloud Key Management Service, consente di gestire le chiavi supportate da HSM in modo programmatico.

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

Gestione di Cloud HSM

All'interno di Cloud HSM, i cluster di HSM sono gestiti da SRE (SRE) e tecnici del sito Google che lavorano in ciascuna sede del 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 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 la gestione di un codice specializzato per carichi di lavoro che utilizzano o gestiscono chiavi supportate da HSM.

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

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

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

Diagramma dell'architettura di Cloud HSM.

Rigorosa separazione geografica, per progettazione

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

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 HSM e le chiavi.

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 posizione, ma non lascia mai il HSM nella posizione. La clonazione consente agli HSM nella stessa regione di gestire lo stesso set di chiavi del cliente e garantisce che gli HSM esterni alla regione non possano gestire quelle chiavi.

Cloud HSM crea anche più regioni utilizzando chiavi di wrapping. Il wrapping di tutte le chiavi dei clienti per più regioni viene eseguito utilizzando una chiave di wrapping presente su una partizione in tutte le località che costituiscono la località a più regioni. Il servizio utilizza lo stesso hardware per più regioni, ma fornisce lo stesso forte isolamento tra regioni e regioni multiple esistenti 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 diventare attiva. I tecnici dei data center non possono accedere a una configurazione, un runtime o uno spazio di 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 di altre risorse crittografiche. Cloud HSM è strettamente integrato in Google Cloud, permettendoti di gestire in modo semplice le risorse Cloud HSM. Ad esempio, puoi gestire:

  • 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 di crittografia che utilizzano chiavi supportate da HSM vengono 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 posizioni geografiche compatibili. A causa della rigorosa restrizione geografica delle chiavi Cloud HSM, tutta la crittografia e la decriptazione dei dati CMEK sono limitate anche a livello geografico.
  • 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 dell'accesso ai dati. Per ulteriori informazioni, consulta Informazioni sugli audit log di Cloud KMS.
  • Google collabora direttamente con il produttore dei moduli HSM per mantenere aggiornati l'hardware e il software di ogni modulo HSM e per trovare e risolvere i problemi in tempo reale. In caso di exploit zero-day sull'HSM, Google può disabilitare selettivamente i percorsi di codice interessati sui cluster HSM interessati fino a quando l'exploit non viene corretto.

Esperienza di sviluppo e utente

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

HSM su scala Google

Quando si fa affidamento su hardware esistente on-premise o nei data center, l'hardware può creare un collo di bottiglia nelle prestazioni o diventare un single point of failure. Cloud HSM è progettato per essere estremamente resiliente a carichi di lavoro imprevedibili e errori hardware. Il backend Cloud HSM utilizza un pool di moduli HSM in ogni regione per garantire disponibilità e scalabilità elevate. 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 vengono archiviate con wrapping con una chiave di wrapping a livello di regione nel database Cloud KMS e l'annullamento del wrapping da parte di un HSM nella regione fa parte di un'operazione crittografica. Questo wrapping offre i seguenti vantaggi:

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

Progettazione unificata delle API

Cloud HSM e Cloud KMS condividono un'API comune del piano dati e di gestione. I dettagli interni della comunicazione con un HSM sono 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 chiavi supportate da HSM. Aggiorna invece il nome risorsa della chiave da utilizzare.

Supporto di PKCS#11

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

Conformità alle normative e alla sicurezza

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

Attestazione chiave di crittografia

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

La catena di certificati consente di verificare quanto segue:

  • L'hardware e il firmware HSM sono originali.
  • La partizione HSM e i moduli HSM sono gestiti da Google.
  • L'HSM è in modalità operativa 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 asimmetrica corrisponde a una chiave privata supportata da HSM.
  • Il materiale della chiave di una chiave simmetrica importata corrisponde al valore aggregato.

Proteggi l'importazione delle chiavi direttamente negli HSM

Puoi importare in modo sicuro le chiavi esistenti in Cloud HSM per mantenere un backup del materiale delle chiavi al di fuori di Google Cloud o per semplificare la migrazione di determinati carichi di lavoro a Google Cloud. Il processo di importazione della chiave non consente a Google alcun accesso diretto al materiale della chiave unwrapping. Cloud HSM fornisce un'istruzione di attestazione per la chiave di wrapping generata da HSM per convalidare che non è avvenuto un accesso.

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

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

Rigide procedure di sicurezza salvaguardano l'hardware HSM

Come richiesto dallo standard FIPS 140-2 livello 3, i dispositivi HSM sono dotati di meccanismi integrati per proteggere da manomissioni fisiche e fornire prove di eventuali manomissioni.

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

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

  • Tutte le configurazioni HSM devono essere verificate da più SRE di Cloud HSM prima che possa essere eseguito il deployment dell'HSM in un data center.
  • Una volta messo in servizio 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 a nessuna rete.
  • Ai server che ospitano hardware HSM viene impedito di eseguire processi non autorizzati.

I compiti degli operatori di sistema sono definiti nelle procedure operative standard. Agli operatori di sistema viene impedito di accedere, utilizzare o estrarre il materiale chiave del cliente durante lo svolgimento delle loro mansioni.

Isolamento di servizi e tenant

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

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

Le chiavi supportate da HSM sono inoltre soggette a quotas per le operazioni crittografiche. Queste quote proteggono la tua capacità di eseguire i carichi di lavoro in modo da prevenire tentativi involontari o dannosi di sovraccaricare il servizio. Le quote predefinite, 3000 QPM per operazioni crittografiche asimmetriche e 30.000 QPM per 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 richiesta

Questa sezione illustra come le caratteristiche principali dell'architettura sopra indicate si applicano nella pratica mostrando i passaggi per diversi tipi di richieste. Questi flussi mettono in risalto 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 all'HSM di crearlo.

Un HSM può creare chiavi solo nelle località che supporta. Ogni partizione di un HSM contiene una chiave di wrapping corrispondente a una posizione di Cloud KMS. La chiave di wrapping è condivisa tra tutte le partizioni che supportano la località di Cloud KMS. Il processo di creazione della chiave è simile al 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 per creare chiavi nel progetto e che il chiamante disponga di 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. HSM:
    1. Crea la chiave e la aggrega con la chiave di wrapping specifica della località.
    2. Crea l'istruzione di attestazione per la chiave e la firma con la chiave di firma della partizione.
  5. Dopo che Cloud HSM ha restituito la chiave sottoposta a 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 non sia possibile annullare il wrapping della chiave o utilizzarla al di fuori di un HSM, non possa essere estratta dall'HSM e che esista nello stato di unwrapping solo all'interno delle località specificate.

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

Diagramma di creazione delle chiavi 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 riguarda una chiave supportata da HSM, inoltra la richiesta a un HSM nella stessa località. Di seguito sono riportati i passaggi per un'operazione crittografica:

  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 sottoposta a wrapping dal datastore e decripta un livello di crittografia utilizzando la chiave master di Cloud KMS. Il wrapping della chiave viene comunque eseguito con la chiave di wrapping dei moduli HSM per la località KMS.
  3. L'API Cloud Key Management Service rileva che il livello di protezione è HSM e invia la chiave parzialmente decriptata, insieme agli input all'operazione crittografica, a Cloud HSM.
  4. Cloud HSM si interfaccia direttamente con l'HSM. L'HSM completa le seguenti operazioni:
    1. Controlla che la chiave sottoposta a 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 crittografica e restituisce il risultato.
  5. L'API Cloud Key Management Service ritrasmette il risultato al chiamante.

Le operazioni di crittografia che utilizzano 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

CMEK e Cloud HSM insieme ti consentono di proteggere i tuoi dati in servizi Google Cloud selezionati con chiavi HSM. Per configurare un servizio abilitato per CMEK per utilizzare le chiavi Cloud HSM è semplice 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 desiderano proteggere i propri dati inattivi con le chiavi HSM. Il servizio è stato progettato con i principi dell'accesso bloccato all'API HSM, della scalabilità semplificata e della rigorosa regionalizzazione delle chiavi.

Cloud HSM offre supporto CMEK per i servizi più importanti e la presenza di Cloud HSM in ogni regione Google Cloud (incluse regioni multiple e globali). Il servizio è progettato per semplificare la protezione dei 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: