Crittografia dei dati con chiavi gestite dal cliente

SI APPLICA A: Azure Cosmos DB for PostgreSQL (basato su estensione database Citus per PostgreSQL)

I dati archiviati nel cluster Azure Cosmos DB for PostgreSQL vengono crittografati automaticamente e facilmente con le chiavi gestite da Microsoft. Queste chiavi vengono definite chiavi gestite dal servizio. Azure Cosmos DB for PostgreSQL usa la crittografia di Archiviazione di Azure per crittografare i dati inattivi per impostazione predefinita usando chiavi gestite dal servizio. Facoltativamente, è possibile scegliere di aggiungere un ulteriore livello di sicurezza abilitando la crittografia con le chiavi gestite dal cliente.

Chiavi gestite dal servizio

Il servizio Azure Cosmos DB for PostgreSQL usa il modulo crittografico convalidato FIPS 140-2 per la crittografia dei dati inattivi. Tutti i dati, inclusi i backup e i file temporanei creati durante l'esecuzione di query, sono crittografati su disco. Il servizio usa la crittografia AES a 256 bit inclusa nella crittografia di archiviazione di Azure e le chiavi vengono gestite dal sistema. La crittografia dell'archiviazione è sempre attiva e non può essere disabilitata.

Chiavi gestite dal cliente

Molte organizzazioni richiedono il controllo completo dell'accesso ai dati usando una chiave gestita dal cliente (CMK). La crittografia dei dati con le chiavi gestite dal cliente per Azure Cosmos DB for PostgreSQL consente di usare la propria chiave per la protezione dei dati inattivi. Consente anche alle organizzazioni di implementare la separazione dei compiti nella gestione delle chiavi e dei dati. Con la crittografia gestita dal cliente, l'utente è responsabile e in pieno controllo del ciclo di vita di una chiave, delle autorizzazioni di uso e del controllo delle operazioni.

La crittografia dei dati con chiavi gestite dal cliente per Azure Cosmos DB for PostgreSQL è impostata a livello di server. I dati, inclusi i backup, vengono crittografati su disco. Questa crittografia include i file temporanei creati durante l'esecuzione di query. Per un determinato cluster, una chiave gestita dal cliente, denominata chiave di crittografia della chiave (KEK), viene usata per crittografare la chiave di crittografia dei dati del servizio (chiave DEK). La chiave KEK è una chiave asimmetrica archiviata in un'istanza di Azure Key Vault di proprietà del cliente e gestita dal cliente.

Descrizione
Chiave di crittografia dei dati (chiave DEK) Una chiave di crittografia dei dati è una chiave AES256 simmetrica usata per crittografare una partizione o un blocco di dati. La crittografia di ogni blocco di dati con una chiave diversa rende più complessi gli attacchi di crittoanalisi. Il provider di risorse o l'istanza dell'applicazione che esegue la crittografia e la decrittografia di un blocco specifico richiede l’accesso alle chiavi DEK. Quando una chiave DEK viene sostituita con una nuova chiave, è necessario ripetere la crittografia con la nuova chiave solo per i dati nel blocco associato.
Chiave di crittografia della chiave (KEK) Una chiave di crittografia della chiave è una chiave di crittografia usata per crittografare le chiavi DEK. Una chiave KEK che non lascia mai un insieme di credenziali delle chiavi consente la crittografia e il controllo delle chiavi DEK. L'entità che ha accesso alla chiave KEK può essere diversa da quella che richiede la chiave DEK. Poiché è necessaria la chiave KEK per decrittografare le chiavi DEK, la chiave KEK è di fatto un singolo punto e l’eliminazione della KEK elimina in modo efficace le chiavi DEK.

Nota

Azure Key Vault è un sistema di gestione delle chiavi basato sul cloud. È a disponibilità elevata e offre un'archiviazione sicura e scalabile per le chiavi crittografiche RSA, supportata facoltativamente da moduli di sicurezza hardware convalidati FIPS 140 (HSMs). Un insieme di credenziali delle chiavi non consente l'accesso diretto a una chiave archiviata, ma offre servizi di crittografia e decrittografia alle entità autorizzate. Un insieme di credenziali delle chiavi può generare la chiave, importarla o fare in modo che venga trasferita da un dispositivo HSM locale.

Le chiavi DEK, crittografate con chiavi KEK, vengono archiviate separatamente. Solo un'entità con accesso alla chiave KEK può decrittografare queste chiavi DEK. Per altre informazioni, vedere Sicurezza della crittografia di dati inattivi.

Funzionamento della crittografia dei dati con una chiave gestita dal cliente

Affinché un cluster usi chiavi gestite dal cliente archiviate in Key Vault per la crittografia della chiave DEK, un amministratore di Key Vault concede al server i diritti di accesso seguenti:

Descrizione
get abilita la parte pubblica e le proprietà della chiave nell'insieme di credenziali delle chiavi.
wrapKey Abilita la crittografia della chiave DEK. La chiave DEK crittografata viene archiviata in Azure Cosmos DB for PostgreSQL.
unwrapKey Abilita la decrittografia della chiave DEK. Azure Cosmos DB for PostgreSQL richiede la chiave DEK decrittografata per crittografare/decrittografare i dati.

L'amministratore dell'insieme di credenziali delle chiavi può anche abilitare la registrazione degli eventi di controllo di Key Vault, in modo che possano essere controllati in un secondo momento. Quando il cluster Azure Cosmos DB for PostgreSQL è configurato per l'uso della chiave gestita dal cliente archiviata nell'insieme di credenziali delle chiavi, il cluster invia la chiave DEK all'insieme di credenziali delle chiavi per le crittografia. Key Vault restituisce la chiave DEK crittografata, che viene archiviata nel database utente. Analogamente, se necessario, il server invia la chiave DEK protetta all'insieme di credenziali delle chiavi per la decrittografia. I revisori possono usare Monitoraggio di Azure per esaminare i log degli eventi di controllo di Azure Key Vault, se la registrazione è abilitata.

Screenshot dell'architettura dell'enrcryption dei dati con chiavi gestite dal cliente.

Vantaggi

La crittografia dei dati con chiavi gestite dal cliente per Azure Cosmos DB for PostgreSQL offre i seguenti vantaggi:

  • Controllo completo dell'accesso ai dati con possibilità di rimuovere la chiave e rendere il database inaccessibile.
  • Controllo completo del ciclo di vita della chiave, inclusa la rotazione della chiave per soddisfare specifici criteri aziendali.
  • Gestione centralizzata e organizzazione delle chiavi in Azure Key Vault.
  • Possibilità di implementare la separazione dei compiti tra i responsabili della sicurezza, gli amministratori di database e gli amministratore di sistema.
  • L'abilitazione della crittografia non ha alcun effetto aggiuntivo sulle prestazioni con o senza chiavi gestite dal cliente. Azure Cosmos DB for PostgreSQL si basa su Archiviazione di Azure per la crittografia dei dati negli scenari di chiavi gestite dal cliente e in quelli gestiti dal servizio.

Passaggi successivi