Crittografia del servizio di archiviazione di Azure per dati inattivi
Archiviazione di Azure usa la crittografia sul lato servizio per crittografare automaticamente i dati salvati in modo permanente 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 l'archiviazione BLOB e l'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 di Archiviazione di Azure vengono crittografati e decrittografati in modo trasparente con la crittografia AES a 256 bit, una delle crittografie a blocchi più solide disponibili, 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, compresi 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 (accesso frequente o accesso sporadico) o dal modello di distribuzione (Azure Resource Manager o classico). Tutti i BLOB in blocchi, i BLOB di accodamento e i BLOB di pagine nuovi ed esistenti vengono crittografati, inclusi i BLOB nel livello di accesso 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.
Per altre informazioni sui moduli di crittografia sottostanti la crittografia di Archiviazione di Azure, vedere API di crittografia: nuova generazione.
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 chiavi personali, sono disponibili due opzioni. È possibile usare uno o entrambi i tipi di gestione delle chiavi:
- È 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 nel modulo di protezione hardware di Azure Key Vault. 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 per operazioni di lettura o scrittura nell'archivio BLOB può includere una chiave di crittografia nella richiesta per un controllo granulare sulla modalità di crittografia e decrittografia dei dati dei BLOB. 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 il cui ambito è impostato sull'intero account di archiviazione. Gli ambiti di crittografia consentono di gestire la crittografia con una chiave il cui ambito è impostato su un contenitore o un singolo BLOB. È possibile usare gli ambiti di crittografia per creare limiti sicuri tra 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 | Tutte le date | Archiviazione BLOB, File di Azure 1,2 | Archiviazione BLOB |
Archiviazione chiavi | Archivio chiavi Microsoft | Azure Key Vault o modulo di protezione hardware di Key Vault | Archivio chiavi personale del cliente |
Responsabilità della rotazione delle chiavi | Microsoft | Cliente | Cliente |
Controllo delle chiavi | Microsoft | Cliente | Cliente |
Ambito delle chiavi | 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
Le chiavi gestite da Microsoft vengono ruotate in modo appropriato in base ai requisiti di conformità. Se si dispone di requisiti di rotazione delle chiavi specifici, Microsoft consiglia di passare alle chiavi gestite dal cliente in modo da poter gestire e controllare autonomamente la rotazione.
Crittografare i dati in modo doppio con la 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 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 di 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
È consigliabile usare le 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. Nelle librerie client sono disponibili due versioni della crittografia lato 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 si avvale della modalità Cipher Block Chaining (CBC) 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 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 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. Non è consigliabile usare la crittografia lato client con Archiviazione tabelle.
La tabella seguente illustra le librerie client che 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 tutti i dati crittografati per decrittografarli, quindi ricrittografarli 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 (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 tutti i dati crittografati per decrittografarli, quindi ricrittografarli 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 (non consigliata) | Aggiornare l'applicazione per usare una versione di Queue Storage SDK che supporta la crittografia lato client v2. Vedere Matrice di supporto di 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 consigliata) | Non disponibile. | N/D |