Crittografia dei dati con chiavi gestite dal cliente

SI APPLICA A: Azure Cosmos DB per PostgreSQL (basato sull'estensione del database Citus in PostgreSQL)

I dati archiviati nel cluster Azure Cosmos DB per PostgreSQL vengono crittografati automaticamente e senza problemi con chiavi gestite da Microsoft. Queste chiavi vengono definite chiavi gestite dal servizio. Azure Cosmos DB per PostgreSQL usa la crittografia 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 chiavi gestite dal cliente.

Chiavi gestite dal servizio

Il servizio Azure Cosmos DB per PostgreSQL usa il modulo di crittografia convalidato FIPS 140-2 per la crittografia di archiviazione dei dati inattivi. Tutti i dati, inclusi i backup e i file temporanei creati durante l'esecuzione di query, vengono crittografati su disco. Il servizio usa la crittografia AES a 256 bit inclusa nella crittografia di archiviazione di Azure e le chiavi sono 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 chiavi gestite dal cliente per Azure Cosmos DB per 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 ha il controllo completo del ciclo di vita di una chiave, delle autorizzazioni di utilizzo e del controllo delle operazioni.

La crittografia dei dati con chiavi gestite dal cliente per Azure Cosmos DB per 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 dek (Data Encryption Key) del servizio. La chiave KEK è una chiave asimmetrica archiviata in un'istanza di Azure Key Vault di proprietà del cliente e gestita dal cliente.

Descrizione
Chiave decrittografa dati (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 ai 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 i DEK. Una chiave kek che non lascia mai un insieme di credenziali delle chiavi consente di crittografare e controllare i DEK stessi. L'entità che ha accesso alla chiave KEK può essere diversa da quella che richiede la chiave DEK. Poiché la chiave kek è necessaria per decrittografare i DEK, la chiave kek è effettivamente un singolo punto ed eliminazione della chiave kek elimina efficacemente i 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 fornisce servizi di crittografia e decrittografia alle entità autorizzate. Un insieme di credenziali delle chiavi può generare la chiave, importarla o trasferirla 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 nella crittografia dei 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 i diritti di accesso seguenti al server:

Descrizione
get Consente di recuperare 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 per PostgreSQL.
unwrapKey Abilita la decrittografia della chiave DEK. Azure Cosmos DB per 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 per 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 eventi di controllo di Key Vault, se la registrazione è abilitata.

Screenshot of architecture of data enrcryption with customer-managed keys.

Vantaggi

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

  • È possibile controllare completamente l'accesso ai dati con la possibilità di rimuovere la chiave e rendere il database inaccessibile.
  • Controllo completo del ciclo di vita delle chiavi, inclusa la rotazione della chiave per allinearsi a criteri aziendali specifici.
  • Gestione centrale 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 amministratori di sistema.
  • L'abilitazione della crittografia non ha alcun effetto aggiuntivo sulle prestazioni con o senza chiavi gestite dal cliente. Azure Cosmos DB per PostgreSQL si basa su Archiviazione di Azure per la crittografia dei dati in scenari di chiavi gestite dal cliente e gestiti dal servizio.

Passaggi successivi