Crittografia del servizio di archiviazione di Azure per dati inattivi

Archiviazione di Azure usa la crittografia lato servizio per crittografare automaticamente i dati quando vengono salvati in modo permanente nel cloud. 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 crittografie 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 di Archiviazione di Azure è abilitata per tutti gli account di archiviazione, inclusi Resource Manager e gli account di archiviazione classici. La crittografia di Archiviazione di Azure non può essere disabilitata. 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). Vengono crittografati anche tutti i BLOB nel livello archivio. Tutte le opzioni di ridondanza di Archiviazione di Azure supportano la crittografia e tutti i dati nelle aree primarie e secondarie vengono crittografati quando la replica geografica è abilitata. 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.

Ogni BLOB in blocchi, BLOB di accodamento o BLOB di pagine scritto in Archiviazione di Azure dopo la crittografia del 20 ottobre 2017. I BLOB creati prima di questa data continuano a essere crittografati da un processo in background. Per forzare la crittografia di un BLOB creato prima del 20 ottobre 2017, è possibile riscrivere il BLOB. Per informazioni su come controllare lo stato di crittografia di un BLOB, vedere Controllare lo stato di crittografia di un BLOB.

Per altre informazioni sui moduli crittografici sottostanti la 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 uno dei tipi 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 modello di protezione hardware gestito( HSM). Per altre informazioni sulle chiavi gestite dal cliente, vedere Usare chiavi gestite dal cliente per la crittografia di 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 nell'archiviazione BLOB può includere una chiave di crittografia nella richiesta per un 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 all'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 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 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 Modulo di protezione hardware di Azure Key Vault o di Key Vault Archivio chiavi del cliente
Responsabilità della rotazione delle chiavi Microsoft Customer Customer
Controllo tasto 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 supporti le chiavi gestite dal cliente per le code.
2 Per informazioni sulla creazione di un account che supporta l'uso di chiavi gestite dal cliente con l'archiviazione tabelle, vedere Creare un account che supporti le chiavi gestite dal cliente per le tabelle.

Nota

Microsoft chiavi gestite vengono ruotate in modo appropriato in base ai requisiti di conformità. Se si hanno requisiti di rotazione delle chiavi specifici, Microsoft consiglia di passare alle chiavi gestite dal cliente in modo da poter gestire e controllare manualmente 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 su chiavi gestite 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 del caricamento in Archiviazione di Azure e la decrittografia dei 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. Sono disponibili due versioni della crittografia lato client 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. Gli SDK di archiviazione BLOB, archiviazione code e 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 della modalità CBC. Per altre informazioni su questa vulnerabilità di sicurezza, vedere Archiviazione di Azure che aggiorna la crittografia lato client in SDK per risolvere la vulnerabilità di sicurezza. Se si usa attualmente la versione 1, è consigliabile aggiornare l'applicazione per usare la crittografia lato client v2 ed 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 versioni successive) e Python (versione 12.13.0 e versioni successive) 2.0

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

Scaricare tutti i dati crittografati per decrittografarlo, quindi ricrittografarlo con la crittografia lato client v2.
Crittografia lato client per i BLOB
Libreria client di archiviazione BLOB per .NET (versione 12.12.0 e versioni successive), Java (versione 12.17.0 e versioni successive) e Python (versione 12.12.0 e versioni successive) 1.0 (non consigliato) 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 dell'SDK per la crittografia lato client .

Aggiornare il codice per usare la crittografia lato client v2.

Scaricare tutti i dati crittografati per decrittografarlo, quindi ricrittografarlo con la crittografia lato client v2.
Crittografia lato client per i BLOB
Libreria client di archiviazione code per .NET (versione 12.11.0 e successiva) e Python (versione 12.4 e versioni successive) 2.0

1.0 (solo per la 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 versioni successive) e Python (versione 12.3.0 e versioni successive) 1.0 (non consigliato) Aggiornare l'applicazione per usare una versione di Queue Storage SDK versione che supporta la crittografia lato client v2. Vedere matrice di supporto 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 (non consigliato) Non disponibile. N/D

Passaggi successivi