Crittografia dei dati di Azure inattivi
Microsoft Azure include strumenti per proteggere i dati in base alle esigenze di sicurezza e conformità dell'azienda. Questo documento è incentrato su:
- come proteggere i dati inattivi in Microsoft Azure,
- i vari componenti che compongono l'implementazione di protezione dei dati,
- i pro e i contro dei vari principali approcci alla protezione della gestione.
La crittografia dei dati inattivi è un requisito di sicurezza comune. In Azure, le organizzazioni possono crittografare i dati inattivi senza rischi o senza sostenere il costo di una soluzione di gestione delle chiavi personalizzata. Le organizzazioni hanno la possibilità di lasciare che sia Azure a gestire completamente la crittografia dei dati inattivi. Sono inoltre disponibili varie opzioni per gestire con precisione la crittografia o le chiavi di crittografia.
Che cos'è la crittografia dei dati inattivi?
Per crittografia si intende la codifica sicura dei dati usata per proteggerne la riservatezza. La crittografia dei dati inattivi di Azure usa la crittografia simmetrica per crittografare e decrittografare rapidamente grandi quantità di dati in base a un semplice modello concettuale:
- Viene usata una chiave di crittografia simmetrica per crittografare i dati quando vengono scritti nella risorsa di archiviazione.
- La chiave di crittografia viene usata per decrittografare i dati durante la loro preparazione per l'uso in memoria.
- I dati possono essere partizionati ed è possibile usare chiavi diverse per ogni partizione.
- Le chiavi devono essere archiviate in una posizione sicura con controllo di accesso basato su identità e criteri di controllo. Le chiavi DEK archiviate all'esterno di posizioni sicure vengono crittografate con una chiave KEK conservata in una posizione sicura.
A livello pratico, gli scenari di gestione e di controllo delle chiavi, nonché le garanzie di scalabilità e disponibilità, richiedono costrutti aggiuntivi. Di seguito sono descritti i concetti e i componenti relativi alla crittografia dei dati inattivi di Microsoft Azure.
Scopo della crittografia dei dati inattivi
La crittografia dei dati inattivi offre la protezione dei dati per i dati archiviati (inattivi). Gli attacchi contro i dati inattivi includono i tentativi di ottenere l'accesso fisico all'hardware in cui sono archiviati i dati e quindi compromettere i dati contenuti. In un attacco di questo tipo, l'unità disco rigido del server potrebbe essere stata usata in maniera impropria durante le attività di manutenzione, consentendo a un utente malintenzionato di rimuovere il disco rigido. L'autore dell'attacco potrà quindi inserire il disco rigido in un computer sotto il proprio controllo per tentare di accedere ai dati.
La crittografia dei dati inattivi è progettata per impedire a un utente malintenzionato di accedere ai dati non crittografati, garantendo che i dati siano crittografati quando sono su disco. Se un utente malintenzionato ottiene un disco rigido con i dati crittografati ma non le chiavi di crittografia, l'autore dell'attacco deve decodificare la crittografia per riuscire a leggere i dati. Questo tipo di attacco è molto più complesso e richiede maggiori risorse rispetto all'accesso a dati non crittografati su un disco rigido. Per questo motivo, la crittografia dei dati inattivi è estremamente utile e costituisce un requisito di alta priorità per molte organizzazioni.
La crittografia dei dati inattivi può essere richiesta anche dalle esigenze di governance e conformità dei dati di un'organizzazione. Regolamenti governativi e di settore, come HIPAA, PCI e FedRAMP, definiscono specifiche misure di sicurezza relativi ai requisiti di protezione e crittografia dei dati. La crittografia dei dati inattivi è una misura obbligatoria necessaria per la conformità ad alcune di queste normative. Per altre informazioni sull'approccio di Microsoft alla convalida FIPS 140-2, vedere Pubblicazione FIPS (Federal Information Processing Standard) 140-2.
Oltre a soddisfare i requisiti normativi e di conformità, la crittografia dei dati inattivi rappresenta una misura di protezione e difesa avanzata. Microsoft Azure offre una piattaforma conforme per servizi, applicazioni e dati. Offre inoltre funzionalità complete per la sicurezza fisica e delle strutture, il controllo di accesso ai dati e il controllo. È tuttavia importante fornire misure di sicurezza aggiuntive "sovrapposte" nel caso in cui una delle altre misure di sicurezza si riveli inefficace. La crittografia dei dati inattivi è una di tali misure di sicurezza aggiuntive.
Microsoft si impegna a mettere a disposizione opzioni per la crittografia dei dati inattivi per i servizi cloud e offre ai clienti il controllo delle chiavi di crittografia e dei log di uso delle chiavi. Microsoft ha inoltre in progetto di applicare la crittografia dei dati inattivi a tutti i dati dei clienti per impostazione predefinita.
Componenti della crittografia dei dati inattivi di Azure
Come descritto in precedenza, l'obiettivo della crittografia dei dati inattivi è crittografare i dati resi persistenti su disco con una chiave di crittografia segreta. Per raggiungere tale obiettivo, sono necessarie funzionalità per la creazione, l'archiviazione, il controllo dell'accesso e la gestione delle chiavi di crittografia. Anche se i dettagli possono variare, i servizi per la crittografia dei dati inattivi di Azure possono essere descritti nei termini illustrati nel diagramma seguente.
Azure Key Vault
La posizione di archiviazione delle chiavi di crittografia e il controllo dell'accesso a queste chiavi è essenziale per un modello di crittografia dei dati inattivi. Le chiavi devono essere estremamente protette ma gestibili dagli utenti specificati e disponibili per servizi specifici. Per i servizi di Azure, la soluzione di archiviazione delle chiavi consigliata è Azure Key Vault, che fornisce un'esperienza di gestione comune per tutti i servizi. Le chiavi sono archiviate e gestite in insiemi di credenziali delle chiavi e l'accesso a un insieme di credenziali delle chiavi può essere assegnato a utenti o servizi. Azure Key Vault supporta la creazione di chiavi da parte dei clienti o l'importazione di chiavi dei clienti per l'uso in scenari con chiavi di crittografia gestite dal cliente.
Microsoft Entra ID
Le autorizzazioni necessarie per usare le chiavi archiviate in Azure Key Vault, per la gestione o l'accesso ai fini della crittografia e della decrittografia dei dati inattivi, possono essere concesse ad account Microsoft Entra.
Crittografia envelope con una gerarchia di chiavi
Viene usata più di una chiave di crittografia in un'implementazione della crittografia per i dati inattivi. L'archiviazione di una chiave di crittografia in Azure Key Vault garantisce l'accesso sicuro alle chiavi e la gestione centrale delle chiavi. Tuttavia, l'accesso locale per le chiavi di crittografia nei servizi è più efficiente per la crittografia e la decrittografia in blocco rispetto all'interazione con Key Vault per ogni operazione sui dati, consentendo una crittografia più efficace e prestazioni migliori. Limitare l'uso di una sola chiave di crittografia riduce il rischio di compromissione della chiave e il costo della ripetizione della crittografia quando è necessario sostituire una chiave. I modelli di crittografia dei dati inattivi di Azure usano la crittografia envelope, in cui una chiave di crittografia della chiave crittografa una chiave di crittografia dei dati. Questo modello costituisce una gerarchia di chiavi che è in grado di soddisfare meglio i requisiti in termini di prestazioni e sicurezza:
- Chiave DEK (Data Encryption Key): chiave AES-256 simmetrica usata per crittografare una partizione o un blocco di dati, nota talvolta come chiave dati. Una singola risorsa può avere diverse partizioni e più chiavi DEK. La crittografia di ogni blocco di dati con una chiave diversa rende più complessi gli attacchi di crittoanalisi. Mantenere le chiavi DEK in locale per il servizio che crittografa e decrittografa i dati consente di ottimizzare le prestazioni.
- Chiave KEK (Key Encryption Key): chiave di crittografia usata per crittografare le chiavi DEK usando la crittografia envelope, nota anche come wrapping. L'uso di una chiave KEK che rimane sempre nel Key Vault consente di crittografare e controllare le chiavi DEK stesse. L'entità che ha accesso alla chiave KEK può essere diversa dall'entità che richiede la chiave DEK. Un'entità può gestire l'accesso alla chiave DEK per limitare l'accesso di ogni chiave DEK a una partizione specifica. Poiché la chiave KEK è necessaria per decrittografare le chiavi DEK, i clienti possono cancellare in modo crittografico le chiavi DEK e i dati disabilitando la chiave KEK.
I provider di risorse e le istanze dell'applicazione archiviano le chiavi DEK crittografate come metadati. Solo un'entità con accesso alla chiave KEK può decrittografare queste chiavi DEK. Sono supportati diversi modelli di archiviazione delle chiavi. Per altre informazioni, vedere Modelli di crittografia dei dati.
Crittografia dei dati inattivi nei servizi cloud Microsoft
I servizi cloud Microsoft vengono usati in tutti e tre i modelli cloud: IaaS, PaaS e SaaS. Di seguito sono riportati alcuni esempi di come si integrano in ciascun modello:
- Servizi software, definiti Software as a Service o SaaS, che dispongono di applicazioni fornite dal cloud, ad esempio Microsoft 365.
- Servizi della piattaforma in cui i clienti usano il cloud per operazioni come archiviazione, analisi e funzionalità del bus di servizio nelle applicazioni.
- Servizi di infrastruttura, o IaaS (Infrastructure as a Service), in cui i clienti distribuiscono sistemi operativi e applicazioni ospitati nel cloud ed eventualmente sfruttano altri servizi cloud.
Crittografia dei dati inattivi per i clienti SaaS
Per i clienti SaaS (Software as a Service) in genere la crittografia dei dati inattivi è abilitata o disponibile in ogni servizio. Microsoft 365 offre ai clienti diverse opzioni per verificare o abilitare la crittografia dei dati inattivi. Per informazioni sui servizi di Microsoft 365, vedere Crittografia in Microsoft 365.
Crittografia dei dati inattivi per i clienti PaaS
I dati del cliente PaaS (Platform as a Service) si trovano in genere in un servizio di archiviazione, ad esempio l'archiviazione BLOB, ma possono anche essere memorizzati nella cache o archiviati nell'ambiente di esecuzione dell'applicazione, ad esempio una macchina virtuale. Per visualizzare le opzioni di crittografia dei dati inattivi disponibili, esaminare i modelli di crittografia dei dati per le piattaforme di archiviazione e applicazione usate.
Crittografia dei dati inattivi per i clienti IaaS
I clienti IaaS (Infrastructure as a Service) possono avere un'ampia gamma di servizi e applicazioni in uso. I servizi IaaS possono abilitare la crittografia dei dati inattivi nelle macchine virtuali e nei dischi rigidi virtuali ospitati in Azure usando Crittografia dischi di Azure.
Archiviazione crittografata
Come le soluzioni PaaS, quelle IaaS possono sfruttare altri servizi di Azure che archiviano dati inattivi crittografati. In questi casi, è possibile abilitare il supporto per la crittografia dei dati inattivi come specificato da ogni servizio di Azure in uso. I modelli di crittografia dei dati enumera le principali piattaforme di archiviazione, servizi e applicazioni e il modello di crittografia dei dati inattivi supportati.
Calcolo crittografato
Tutti i dischi gestiti, gli snapshot e le immagini vengono crittografati con la crittografia del servizio di archiviazione usando una chiave gestita dal servizio. Una soluzione di crittografia dei dati inattivi più completa garantisce che i dati non vengano mai salvati in modo permanente in formato non crittografato. Durante l'elaborazione dei dati in una macchina virtuale, i dati possono essere salvati in modo permanente nel file di paging di Windows o nel file di scambio di Linux, in un dump di arresto anomalo del sistema o in un registro applicazioni. Per assicurarsi che questi dati inattivi vengano crittografati, le applicazioni IaaS possono usare Crittografia dischi di Azure su una macchina virtuale IaaS di Azure (Windows o Linux) e un disco virtuale.
Crittografia dei dati inattivi personalizzata
È consigliabile che, quando possibile, le applicazioni IaaS sfruttino Crittografia dischi di Azure e le opzioni di crittografia dei dati inattivi fornite da qualsiasi servizio di Azure in uso. In alcuni casi, ad esempio per requisiti di crittografia irregolari o l'archiviazione non basata su Azure, uno sviluppatore di un'applicazione IaaS potrebbe avere bisogno di implementare autonomamente la crittografia dei dati inattivi. Gli sviluppatori di soluzioni IaaS possono ottimizzare l'integrazione con la gestione di Azure le aspettative dei clienti sfruttando determinati componenti di Azure. In particolare, gli sviluppatori devono usare il servizio Azure Key Vault per fornire l'archiviazione protetta delle chiavi, nonché offrire ai clienti opzioni di gestione delle chiavi coerenti con quelle della maggior parte dei servizi della piattaforma Azure. Le soluzioni personalizzate devono inoltre usare le identità del servizio gestita di Azure per consentire agli account del servizio di accedere alle chiavi di crittografia. Per informazioni per gli sviluppatori su Azure Key Vault e le identità dei servizi gestiti, vedere i rispettivi SDK.
Supporto per il modello di crittografia dei provider di risorse di Azure
Ogni servizio di Microsoft Azure supporta uno o più modelli di crittografia dei dati inattivi. Per alcuni servizi, tuttavia, uno o più dei modelli di crittografia potrebbero non essere applicabili. I servizi che supportano scenari con chiavi gestite dal cliente potrebbero supportare solo un subset dei tipi di chiavi supportati da Azure Key Vault per le chiavi di crittografia della chiave. I servizi possono inoltre rilasciare il supporto per questi scenari e per i tipi di chiave con pianificazioni diverse. In questa sezione viene descritto il supporto per la crittografia dei dati inattivi al momento della stesura del presente documento per ognuno dei principali servizi di archiviazione dati di Azure.
Crittografia dischi di Azure
Tutti i clienti che usano le funzionalità IaaS (Infrastructure as a Service) di Azure possono ottenere la crittografia dei dati inattivi per le macchine virtuali IaaS e i dischi tramite Crittografia dischi di Azure. Per altre informazioni su Crittografia dischi di Azure, vedere Crittografia dischi di Azure per macchine virtuali Linux o Crittografia dischi di Azure per macchine virtuali Windows.
Archiviazione di Azure
Tutti i servizi di Archiviazione di Azure (archiviazione BLOB, archiviazione code, archiviazione tabelle e File di Azure) supportano la crittografia dei dati inattivi lato server e alcuni servizi supportano anche le chiavi gestite dal cliente e la crittografia lato client.
- Lato server: tutti i servizi di archiviazione di Azure abilitano la crittografia lato server per impostazione predefinita con chiavi gestite dal servizio, in modo trasparente all'applicazione. Per altre informazioni, vedere Crittografia del servizio di archiviazione di Azure per dati inattivi. Archiviazione BLOB di Azure e File di Azure supportano anche chiavi RSA a 2048 bit gestite dal cliente in Azure Key Vault. Per altre informazioni, vedere Crittografia del servizio di archiviazione di Azure con chiavi gestite dal cliente in Azure Key Vault.
- Lato client: BLOB di Azure, tabelle e code di Azure supportano la crittografia lato client. Quando usano la crittografia lato client, i clienti crittografano i dati e li caricano come un BLOB crittografato. La gestione delle chiavi viene eseguita dal cliente. Per altre informazioni, vedere Crittografia lato client e Azure Key Vault per Archiviazione di Microsoft Azure.
Database SQL di Azure
Database SQL di Azure attualmente supporta la crittografia dei dati inattivi per gli scenari di crittografia sul lato client e sul lato del servizio gestito da Microsoft.
Il supporto per la crittografia server viene attualmente fornito tramite la funzionalità di SQL denominata Transparent Data Encryption. Quando un cliente del database SQL di Azure abilita TDE, le chiavi vengono create e gestite automaticamente. La crittografia dei dati inattivi può essere abilitata a livello di database e di server. A partire da giugno 2017, la funzionalità Transparent Data Encryption (TDE) è abilitata per impostazione predefinita nei nuovi database creati. Database SQL di Azure supporta chiavi RSA a 2048 bit gestite dal cliente in Azure Key Vault. Per altre informazioni, vedere Transparent Data Encryption con supporto BYOK (Bring Your Own Key) per il database SQL di Azure e Azure SQL Data Warehouse.
La crittografia lato client dei dati di Database SQL di Azure è supportata tramite la funzionalità Always Encrypted. La funzionalità Always Encrypted usa una chiave creata e archiviata dal client. I clienti possono archiviare la chiave master in un archivio certificati di Windows, in Azure Key Vault o in un modulo di protezione hardware locale. Tramite SQL Server Management Studio, gli utenti SQL possono scegliere la chiave da usare per crittografare ogni colonna.
Conclusione
La protezione dei dati dei clienti archiviati nei servizi di Azure è di importanza fondamentale per Microsoft. Per tutti i servizi di Azure ospitati è prevista la disponibilità di opzioni di crittografia dei dati inattivi. I servizi di Azure supportano chiavi gestite dal servizio, chiavi gestite dal cliente o crittografia lato client. I servizi di Azure migliorano ampiamente la disponibilità della crittografia dei dati inattivi e sono previste nuove opzioni per l'anteprima e la disponibilità generale nei prossimi mesi.
Passaggi successivi
- Per altre informazioni sulle chiavi gestite dal servizio e sulle chiavi gestite dal cliente, vedere Modelli di crittografia dei dati.
- Informazioni su come Azure usa la doppia crittografia per attenuare le minacce fornite con la crittografia dei dati.
- Informazioni sulle operazioni eseguite da Microsoft per garantire l'integrità e la sicurezza della piattaforma degli host che attraversano la compilazione hardware e firmware, l'integrazione, l'operazionalizzazione e la riparazione delle pipeline.