Crittografia del servizio di archiviazione di Azure per dati inattivi

Archiviazione di Azure usa la crittografia lato servizio (SSE) per crittografare automaticamente i dati quando viene mantenuta nel cloud. La crittografia di Archiviazione di Azure protegge i dati e consente di soddisfare gli impegni di sicurezza e conformità dell'organizzazione.

Microsoft consiglia di usare la crittografia lato servizio per proteggere i dati per la maggior parte degli scenari. Tuttavia, le librerie client di Archiviazione di Azure per Archiviazione BLOB e Archiviazione code forniscono anche la crittografia lato client per i clienti che devono crittografare i dati nel client. Per altre informazioni, vedere Crittografia lato client per BLOB e code.

Informazioni sulla crittografia lato servizio di Archiviazione di Azure

I dati in Archiviazione di Azure vengono crittografati e decrittografati in modo trasparente usando la crittografia AES a 256 bit, una delle crittografia a blocchi più complesse disponibili ed è conforme a FIPS 140-2. La crittografia di Archiviazione di Azure è simile alla crittografia BitLocker in Windows.

La crittografia dell'archiviazione di Azure è abilitata per tutti gli account di archiviazione, inclusi Resource Manager e account di archiviazione classici. Impossibile disabilitare la crittografia dell'archiviazione di Azure. Poiché i dati sono protetti per impostazione predefinita, non è necessario modificare il codice o le applicazioni per sfruttare i vantaggi della crittografia di Archiviazione di Azure.

I dati in un account di archiviazione vengono crittografati indipendentemente dal livello di prestazioni (standard o Premium), dal livello di accesso (ad accesso frequente o sporadico) o dal modello di distribuzione (Azure Resource Manager o versione classica). Tutti i BLOB a blocchi nuovi e esistenti, i BLOB di accodamento e i BLOB di pagine vengono crittografati, inclusi i BLOB nel livello di archiviazione. Tutte le opzioni di ridondanza di Archiviazione di Azure supportano la crittografia e tutti i dati nelle aree primarie e secondarie vengono crittografati quando è abilitata la replica geografica. Tutte le risorse di Archiviazione di Azure vengono crittografate, inclusi BLOB, dischi, file, code e tabelle. Vengono crittografati anche tutti i metadati degli oggetti.

Non sono previsti costi aggiuntivi per la crittografia di Archiviazione di Azure.

Per altre informazioni sui moduli di crittografia sottostanti alla crittografia di Archiviazione di Azure, vedere API di crittografia : Next Generation.

Per informazioni sulla crittografia e sulla gestione delle chiavi per i dischi gestiti di Azure, vedere Crittografia lato server dei dischi gestiti di Azure.

Informazioni sulla gestione delle chiavi di crittografia

I dati in un nuovo account di archiviazione vengono crittografati con chiavi gestite da Microsoft per impostazione predefinita. È possibile continuare a usare chiavi gestite da Microsoft per la crittografia dei dati oppure gestire la crittografia con le proprie chiavi. Se si sceglie di gestire la crittografia con le proprie chiavi, sono disponibili due opzioni. È possibile usare un tipo di gestione delle chiavi o entrambi:

  • È possibile specificare una chiave gestita dal cliente da usare per crittografare e decrittografare i dati nell'archiviazione BLOB e in File di Azure. 1.2 Le chiavi gestite dal cliente devono essere archiviate in Azure Key Vault o in Azure Key Vault Managed Hardware Security Model (HSM). Per altre informazioni sulle chiavi gestite dal cliente, vedere Usare chiavi gestite dal cliente per la crittografia dell'archiviazione di Azure.
  • È possibile specificare una chiave fornita dal cliente nelle operazioni di archiviazione BLOB. Un client che effettua una richiesta di lettura o scrittura in Archiviazione BLOB può includere una chiave di crittografia nella richiesta di controllo granulare sul modo in cui i dati BLOB vengono crittografati e decrittografati. Per altre informazioni sulle chiavi fornite dal cliente, vedere Fornire una chiave di crittografia in una richiesta di archiviazione BLOB.

Per impostazione predefinita, un account di archiviazione viene crittografato con una chiave con ambito per l'intero account di archiviazione. Gli ambiti di crittografia consentono di gestire la crittografia con una chiave con ambito in un contenitore o in un singolo BLOB. È possibile usare gli ambiti di crittografia per creare limiti sicuri tra i dati che risiedono nello stesso account di archiviazione, ma appartengono a clienti diversi. Gli ambiti di crittografia possono usare chiavi gestite da Microsoft o chiavi gestite dal cliente. Per altre informazioni sugli ambiti di crittografia, vedere Ambiti di crittografia per l'archiviazione BLOB.

Nella tabella seguente vengono confrontate le opzioni di gestione delle chiavi disponibili per la crittografia di Archiviazione di Azure.

Parametro di gestione delle chiavi chiavi gestite da Microsoft Chiavi gestite dal cliente Chiavi fornite dal cliente
Operazioni di crittografia/decrittografia Azure Azure Azure
Servizi di Archiviazione di Azure supportati Tutti Archiviazione BLOB, File di Azure 1,2 Archiviazione BLOB
Archiviazione chiavi Archivio chiavi Microsoft Azure Key Vault o Key Vault HSM Archivio chiavi del cliente
Responsabilità della rotazione delle chiavi Microsoft Customer Customer
Controllo chiave Microsoft Customer Customer
Ambito chiave Account (impostazione predefinita), contenitore o BLOB Account (impostazione predefinita), contenitore o BLOB N/D

1 Per informazioni sulla creazione di un account che supporta l'uso di chiavi gestite dal cliente con l'archiviazione code, vedere Creare un account che supporta le chiavi gestite dal cliente per le code.
2 Per informazioni sulla creazione di un account che supporta l'uso delle chiavi gestite dal cliente con l'archiviazione tabelle, vedere Creare un account che supporta le chiavi gestite dal cliente per le tabelle.

Nota

Le chiavi gestite da Microsoft vengono ruotate in modo appropriato in base ai requisiti di conformità. Se si hanno requisiti di rotazione chiave specifici, Microsoft consiglia di passare a chiavi gestite dal cliente in modo che sia possibile gestire e controllare la rotazione.

Crittografare i dati con crittografia dell'infrastruttura

I clienti che richiedono livelli elevati di garanzia rispetto al fatto che i dati siano sicuri possono anche abilitare la crittografia AES a 256 bit a livello di infrastruttura di Archiviazione di Azure. Quando la crittografia dell'infrastruttura è abilitata, i dati in un account di archiviazione vengono crittografati due volte, una volta a livello di servizio e una volta a livello di infrastruttura, con due algoritmi di crittografia diversi e due chiavi diverse. La doppia crittografia dei dati di Archiviazione di Azure protegge da uno scenario in cui uno degli algoritmi o delle chiavi di crittografia può essere compromesso. In questo scenario, il livello aggiuntivo di crittografia continua a proteggere i dati.

La crittografia a livello di servizio supporta l'uso di chiavi gestite da Microsoft o chiavi gestite dal cliente con Azure Key Vault. La crittografia a livello di infrastruttura si basa sulle chiavi gestite da Microsoft e usa sempre una chiave separata.

Per altre informazioni su come creare un account di archiviazione che abilita la crittografia dell'infrastruttura, vedere Creare un account di archiviazione con crittografia dell'infrastruttura abilitata per la doppia crittografia dei dati.

Crittografia lato client per BLOB e code

Le librerie client Archiviazione BLOB di Azure per .NET, Java e Python supportano la crittografia dei dati all'interno delle applicazioni client prima di caricare in Archiviazione di Azure e decrittografare i dati durante il download nel client. Le librerie client di archiviazione code per .NET e Python supportano anche la crittografia lato client.

Nota

Prendere in considerazione l'uso delle funzionalità di crittografia lato servizio fornite da Archiviazione di Azure per proteggere i dati, anziché la crittografia lato client.

Le librerie client di archiviazione BLOB e archiviazione code usano AES per crittografare i dati utente. Esistono due versioni della crittografia lato client disponibili nelle librerie client:

  • La versione 2 usa la modalità Galois/Counter Mode (GCM) con AES. Gli SDK di archiviazione BLOB e archiviazione code supportano la crittografia lato client con v2.
  • La versione 1 usa la modalità CBC (Cipher Block Chaining) con AES. L'archiviazione BLOB, l'archiviazione code e gli SDK di archiviazione tabelle supportano la crittografia lato client con v1.

Avviso

L'uso della crittografia lato client v1 non è più consigliato a causa di una vulnerabilità di sicurezza nell'implementazione della libreria client in modalità CBC. Per altre informazioni su questa vulnerabilità di sicurezza, vedere Archiviazione di Azure che aggiorna la crittografia lato client in SDK per risolvere le vulnerabilità di sicurezza. Se si usa attualmente v1, è consigliabile aggiornare l'applicazione per usare la crittografia lato client v2 e eseguire la migrazione dei dati.

Azure Table Storage SDK supporta solo la crittografia lato client v1. L'uso della crittografia lato client con Archiviazione tabelle non è consigliato.

La tabella seguente illustra quali librerie client supportano le versioni della crittografia lato client e fornisce linee guida per la migrazione alla crittografia lato client v2.

Libreria client Versione della crittografia lato client supportata Migrazione consigliata Indicazioni aggiuntive
Librerie client di Archiviazione BLOB per .NET (versione 12.13.0 e successive), Java (versione 12.18.0 e successive) e Python (versione 12.13.0 e successive) 2.0

1.0 (solo per compatibilità con le versioni precedenti)
Aggiornare il codice per usare la crittografia lato client v2.

Scaricare i dati crittografati per decrittografarli e quindi crittografarlo nuovamente con la crittografia lato client v2.
Crittografia lato client per i BLOB
Libreria client di Archiviazione BLOB per .NET (versione 12.12.0 e successive), Java (versione 12.17.0 e successive) e Python (versione 12.12.0 e successive) 1.0 (scelta non consigliata) Aggiornare l'applicazione per usare una versione di BLOB Storage SDK che supporta la crittografia lato client v2. Per informazioni dettagliate, vedere Matrice di supporto SDK per la crittografia lato client .

Aggiornare il codice per usare la crittografia lato client v2.

Scaricare i dati crittografati per decrittografarli e quindi crittografarlo nuovamente con la crittografia lato client v2.
Crittografia lato client per i BLOB
Libreria client di Archiviazione code per .NET (versione 12.11.0 e successive) e Python (versione 12.4 e successive) 2.0

1.0 (solo per compatibilità con le versioni precedenti)
Aggiornare il codice per usare la crittografia lato client v2. Crittografia lato client per le code
Libreria client di Archiviazione code per .NET (versione 12.10.0 e successive) e Python (versione 12.3.0 e successive) 1.0 (scelta non consigliata) Aggiornare l'applicazione per usare una versione dell'SDK di Archiviazione code che supporta la crittografia lato client v2. Vedere Matrice di supporto dell'SDK per la crittografia lato client

Aggiornare il codice per usare la crittografia lato client v2.
Crittografia lato client per le code
Libreria client di archiviazione tabelle per .NET, Java e Python 1.0 (scelta non consigliata) Non disponibile. N/D

Passaggi successivi