Crittografia dei dati inattivi di AzureAzure Data Encryption-at-Rest

Sono disponibili diversi strumenti in Microsoft Azure per proteggere i dati in base alle esigenze di sicurezza e conformità dell'azienda.There are multiple tools within Microsoft Azure to safeguard data according to your company’s security and compliance needs. Questo documento è incentrato su:This paper focuses on:

  • come proteggere i dati inattivi in Microsoft Azure,How data is protected at rest across Microsoft Azure
  • i vari componenti che compongono l'implementazione di protezione dei dati,Discusses the various components taking part in the data protection implementation,
  • i pro e i contro dei vari principali approcci alla protezione della gestione.Reviews pros and cons of the different key management protection approaches.

La crittografia dei dati inattivi è un requisito di sicurezza comune.Encryption at Rest is a common security requirement. Uno dei vantaggi di Microsoft Azure è che le organizzazioni possono ottenere la crittografia dei dati inattivi senza il costo di implementazione e gestione e il rischio di una soluzione di gestione delle chiavi personalizzata.A benefit of Microsoft Azure is that organizations can achieve Encryption at Rest without having the cost of implementation and management and the risk of a custom key management solution. Le organizzazioni hanno la possibilità di lasciare che sia Azure a gestire completamente la crittografia dei dati inattivi.Organizations have the option of letting Azure completely manage Encryption at Rest. Sono inoltre disponibili varie opzioni per gestire con precisione la crittografia o le chiavi di crittografia.Additionally, organizations have various options to closely manage encryption or encryption keys.

Che cos'è la crittografia dei dati inattivi?What is encryption at rest?

La crittografia dei dati inattivi si riferisce alla codifica crittografica (crittografia) dei dati quando questi vengono resi persistenti.Encryption at Rest refers to the cryptographic encoding (encryption) of data when it is persisted. 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:The Encryption at Rest designs in Azure use symmetric encryption to encrypt and decrypt large amounts of data quickly according to a simple conceptual model:

  • Viene usata una chiave di crittografia simmetrica per crittografare i dati quando vengono resi persistenti.A symmetric encryption key is used to encrypt data as it is persisted
  • La chiave di crittografia viene usata per decrittografare i dati durante la loro preparazione per l'uso in memoria.The same encryption key is used to decrypt that data as it is readied for use in memory
  • I dati possono essere partizionati ed è possibile usare chiavi differenti per ogni partizione.Data may be partitioned, and different keys may be used for each partition
  • Le chiavi devono essere archiviate in un luogo sicuro con criteri di controllo dell'accesso che limitano l'accesso a specifiche identità e la registrazione dell'uso delle chiavi.Keys must be stored in a secure location with access control policies limiting access to certain identities and logging key usage. Le chiavi di crittografia dati vengono spesso crittografate con la crittografia asimmetrica per limitare ulteriormente l'accesso (come descritto in Gerarchia delle chiavi, più avanti in questo articolo).Data encryption keys are often encrypted with asymmetric encryption to further limit access (discussed in the Key Hierarchy, later in this article)

Questi sono gli elementi di alto livello più comuni per la crittografia dei dati inattivi.The above describes the common high-level elements of Encryption at Rest. A livello pratico, gli scenari di gestione e di controllo delle chiavi, nonché le garanzie di scalabilità e disponibilità, richiedono costrutti aggiuntivi.In practice, key management and control scenarios, as well as scale and availability assurances, require additional constructs. Di seguito sono descritti i concetti e i componenti relativi alla crittografia dei dati inattivi di Microsoft Azure.Microsoft Azure Encryption at Rest concepts and components are described below.

Scopo della crittografia dei dati inattiviThe purpose of encryption at rest

La funzione della crittografia dei dati inattivi è garantire la protezione dei dati inattivi (come descritto in precedenza). 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.Encryption at rest is intended to provide data protection for data at-rest (as described above.) Attacks against data at-rest include attempts to obtain physical access to the hardware on which the data is stored, and then compromise the contained data. In un attacco di questo tipo, l'unità disco rigido del server potrebbe essere manipolata durante le attività di manutenzione, consentendo a un utente malintenzionato di rimuovere il disco rigido.In such an attack, a server’s hard drive may have been mishandled during maintenance allowing an attacker to remove the hard drive. L'autore dell'attacco potrà quindi inserire il disco rigido in un computer sotto il proprio controllo per tentare di accedere ai dati.Later the attacker would put the hard drive into a computer under their control to attempt to access the data.

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.Encryption at rest is designed to prevent the attacker from accessing the unencrypted data by ensuring the data is encrypted when on disk. Se un utente malintenzionato riesce a ottenere un disco rigido con i dati crittografati ma non ha accesso alle chiavi di crittografia, non sarà in grado di compromettere i dati, se non con grande difficoltà.If an attacker were to obtain a hard drive with such encrypted data, and no access to the encryption keys, the attacker would not compromise the data without great difficulty. In uno scenario di questo tipo, sarebbe necessario tentare attacchi contro i dati crittografati, che sono molto più complessi e con un maggior consumo di risorse rispetto all'accesso ai dati non crittografati su un disco rigido.In such a scenario, an attacker would have to attempt attacks against encrypted data which are much more complex and resource consuming than accessing unencrypted data on a hard drive. Per questo motivo, la crittografia dei dati inattivi è estremamente utile e costituisce un requisito di alta priorità per molte organizzazioni.For this reason, encryption at rest is highly recommended and is a high priority requirement for many organizations.

In alcuni casi, la crittografia dei dati inattivi è anche necessaria per i requisiti di conformità e governance dei dati dell'organizzazione.In some cases, encryption at rest is also required by an organization’s need for data governance and compliance efforts. Regolamenti governativi e di settore, come HIPAA, PCI e FedRAMP, definiscono specifiche misure di sicurezza relativi ai requisiti di protezione e crittografia dei dati.Industry and government regulations such as HIPAA, PCI and FedRAMP, lay out specific safeguards regarding data protection and encryption requirements. Per molte di queste normative, la crittografia dei dati inattivi è una misura obbligatoria necessaria per la conformità della protezione e la gestione dei dati.For many of those regulations encryption at rest is a mandatory measure required for compliant data management and protection.

Oltre ai requisiti normativi e di conformità, la crittografia dei dati inattivi deve essere considerata come una funzionalità di difesa avanzata della piattaforma.In addition to compliance and regulatory requirements, encryption at rest should be perceived as a defense-in-depth platform capability. Anche se Microsoft offre una piattaforma conforme per i servizi, le applicazioni e i dati, caratteristiche per la sicurezza fisica e delle strutture, nonché il controllo dell'accesso ai dati, è importante offrire ulteriori misure di sicurezza "sovrapposte", nel caso una delle altre abbia esito negativo.While Microsoft provides a compliant platform for services, applications, and data, comprehensive facility and physical security, data access control and auditing, it is important to provide additional “overlapping” security measures in case one of the other security measures fails. La crittografia dei dati inattivi fornisce un meccanismo di difesa aggiuntivo di questo tipo.Encryption at rest provides such an additional defense mechanism.

Microsoft si impegna per rendere disponibili opzioni di crittografia dei dati inattivi tra i vari servizi cloud, fornire ai clienti un'adeguata facilità di gestione delle chiavi di crittografia e offrire la possibilità di accedere a log che indicano quando vengono usate le chiavi di crittografia.Microsoft is committed to providing encryption at rest options across cloud services and to provide customers suitable manageability of encryption keys and access to logs showing when encryption keys are used. Microsoft, inoltre, prevede di applicare la crittografia dei dati inattivi a tutti i dati dei clienti per impostazione predefinita.Additionally, Microsoft is working towards the goal of making all customer data encrypted at rest by default.

Componenti della crittografia dei dati inattivi di AzureAzure Encryption at Rest Components

Come descritto in precedenza, l'obiettivo della crittografia dei dati inattivi è crittografare i dati resi persistenti su disco con una chiave di crittografia segreta.As described previously, the goal of encryption at rest is that data that is persisted on disk is encrypted with a secret encryption key. Per raggiungere tale obiettivo, sono necessarie funzionalità per la creazione, l'archiviazione, il controllo dell'accesso e la gestione delle chiavi di crittografia.To achieve that goal secure key creation, storage, access control and management of the encryption keys must be provided. Anche se i dettagli possono variare, i servizi per la crittografia dei dati inattivi di Azure possono essere descritti nei termini dei concetti illustrati nel diagramma seguente.Though details may vary, Azure services Encryption at Rest implementations can be described in terms of the below concepts which are then illustrated in the following diagram.

Componenti

Azure Key VaultAzure 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.The storage location of the encryption keys and access control to those keys is central to an encryption at rest model. Le chiavi devono essere estremamente protette ma gestibili dagli utenti specificati e disponibili per servizi specifici.The keys need to be highly secured but manageable by specified users and available to specific services. 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.For Azure services, Azure Key Vault is the recommended key storage solution and provides a common management experience across services. 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.Keys are stored and managed in key vaults, and access to a key vault can be given to users or services. 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.Azure Key Vault supports customer creation of keys or import of customer keys for use in customer-managed encryption key scenarios.

Azure Active DirectoryAzure Active Directory

Le autorizzazioni per l'uso delle chiavi archiviate in Azure Key Vault (per la gestione o per accedervi per la crittografia e la decrittografia dei dati inattivi) possono essere assegnate agli account di Azure Active Directory.Permissions to use the keys stored in Azure Key Vault, either to manage or to access them for Encryption at Rest encryption and decryption, can be given to Azure Active Directory accounts.

Gerarchia delle chiaviKey Hierarchy

Viene usata più di una chiave di crittografia in un'implementazione della crittografia per i dati inattivi.More than one encryption key is used in an encryption at rest implementation. La crittografia asimmetrica è utile per stabilire l'attendibilità e l'autenticazione necessarie per la gestione e l'accesso alle chiavi.Asymmetric encryption is useful for establishing the trust and authentication needed for key access and management. La crittografia simmetrica è più efficiente per la crittografia e la decrittografia in blocco, perché consente una crittografia più avanzata e prestazioni migliori.Symmetric encryption is more efficient for bulk encryption and decryption, allowing for stronger encryption and better performance. Inoltre, 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.Additionally, limiting the use of a single encryption key decreases the risk that the key will be compromised and the cost of re-encryption when a key must be replaced. Per sfruttare i vantaggi della crittografia asimmetrica e simmetrica e limitare l'uso e l'esposizione di una singola chiave, i modelli di crittografia dei dati inattivi di Azure usano una gerarchia delle chiavi che comprende i tipi di chiavi seguenti:To leverage the benefits of asymmetric and symmetric encryption and limit the use and exposure of a single key, Azure encryptions at rest models use a key hierarchy made up of the following types of keys:

  • Chiave DEK (Data Encryption Key): una chiave AES256 simmetrica usata per crittografare una partizione o un blocco di dati.Data Encryption Key (DEK) – A symmetric AES256 key used to encrypt a partition or block of data. Una singola risorsa può avere diverse partizioni e più chiavi DEK.A single resource may have many partitions and many Data Encryption Keys. La crittografia di ogni blocco di dati con una chiave diversa rende più complessi gli attacchi di crittoanalisi.Encrypting each block of data with a different key makes crypto analysis attacks more difficult. È necessario l'accesso alle chiavi DEK per il provider di risorse o l'istanza dell'applicazione che esegue la crittografia e la decrittografia di un blocco specifico.Access to DEKs is needed by the resource provider or application instance that is encrypting and decrypting a specific block. Quando una chiave DEK viene sostituita con una nuova chiave, devono essere nuovamente crittografati con la nuova chiave solo i dati nel blocco associato.When a DEK is replaced with a new key only the data in its associated block must be re-encrypted with the new key.
  • Chiave KEK (Key Encryption Key): una chiave asimmetrica usata per crittografare le chiavi di crittografia.Key Encryption Key (KEK) – An asymmetric encryption key used to encrypt the Data Encryption Keys. L'uso di una chiave di crittografia delle chiavi consente di crittografare e controllare le stesse chiavi di crittografia dati.Use of a Key Encryption Key allows the data encryption keys themselves to be encrypted and controlled. L'entità che ha accesso alla chiave KEK può essere diversa dall'entità che richiede la chiave DEK.The entity that has access to the KEK may be different than the entity that requires the DEK. Questo consente a un'entità di gestire l'accesso alla chiave DEK allo scopo di garantire l'accesso limitato di ogni chiave DEK a una partizione specifica.This allows an entity to broker access to the DEK for the purpose of ensuring limited access of each DEK to specific partition. Poiché è necessaria la chiave KEK per decrittografare le chiavi DEK, la chiave KEK è di fatto un singolo punto che consente di eliminare in modo efficace le chiavi DEK eliminando la chiave KEK.Since the KEK is required to decrypt the DEKs, the KEK is effectively a single point by which DEKs can be effectively deleted by deletion of the KEK.

Le chiavi di crittografia dei dati, crittografate con le chiavi di crittografia delle chiavi, sono archiviate separatamente e solo un'entità che ha accesso alla chiave di crittografia delle chiavi può ottenere le chiavi di crittografia dei dati crittografate con tale chiave.The Data Encryption Keys, encrypted with the Key Encryption Keys are stored separately and only an entity with access to the Key Encryption Key can get any Data Encryption Keys encrypted with that key. Sono supportati diversi modelli di archiviazione delle chiavi.Different models of key storage are supported. Ogni modello verrà illustrato in modo più dettagliato nella sezione successiva.We will discuss each model in more detail later in the next section.

Modelli di crittografia dei datiData Encryption Models

Comprendere i diversi modelli di crittografia, e i relativi vantaggi e svantaggi, è fondamentale per capire come i vari provider di risorse in Azure implementano la crittografia dei dati inattivi.Understanding the various encryption models, and their pros and cons is essential for understanding how the various resource providers in Azure implement encryption at Rest. Queste definizioni sono condivise tra tutti i provider di risorse in Azure per garantire un linguaggio e una tassonomia comuni.These definitions are shared across all resource providers in Azure to ensure common language and taxonomy.

Esistono tre scenari per la crittografia sul lato server:There are three scenarios for server-side encryption:

  • Crittografia lato server con chiavi gestite dal servizioServer-side encryption using Service Managed keys

    • I provider di risorse di Azure eseguono le operazioni di crittografia e decrittografiaAzure Resource Providers perform the encryption and decryption operations
    • Microsoft gestisce le chiaviMicrosoft manages the keys
    • Funzionalità cloud completeFull cloud functionality
  • Crittografia lato server con chiavi gestite dal cliente in Azure Key VaultServer-side encryption using customer-managed keys in Azure Key Vault

    • I provider di risorse di Azure eseguono le operazioni di crittografia e decrittografiaAzure Resource Providers perform the encryption and decryption operations
    • Il cliente controlla le chiavi tramite Azure Key VaultCustomer controls keys via Azure Key Vault
    • Funzionalità cloud completeFull cloud functionality
  • Crittografia lato server con chiavi gestite dal cliente su hardware controllato dal clienteServer-side encryption using customer-managed keys on customer-controlled hardware

    • I provider di risorse di Azure eseguono le operazioni di crittografia e decrittografiaAzure Resource Providers perform the encryption and decryption operations
    • Il cliente controlla le chiavi su hardware controllato dal clienteCustomer controls keys on customer-controlled hardware
    • Funzionalità cloud completeFull cloud functionality

Per la crittografia lato client, considerare quanto segue:For client-side encryption, consider the following:

  • I servizi di Azure non possono visualizzare i dati decrittografatiAzure services cannot see decrypted data
  • I clienti mantengono e archiviano le chiavi in locale o in altri archivi sicuri.Customers manage and store keys on-premises (or in other secure stores). Le chiavi non sono disponibili per i servizi di AzureKeys are not available to Azure services
  • Funzionalità cloud ridotteReduced cloud functionality

Come indicato in precedenza, i modelli di crittografia supportati in Azure sono suddivisi in due gruppi principali: "Crittografia client" e "Crittografia lato server".The supported encryption models in Azure split into two main groups: “Client Encryption” and “Server-side Encryption” as mentioned previously. Si noti che, indipendente dal modello di crittografia dei dati inattivi in uso, per i servizi di Azure è sempre consigliabile usare un trasporto protetto, ad esempio TLS o HTTPS.Note that, independent of the encryption at rest model used, Azure services always recommend the use of a secure transport such as TLS or HTTPS. La crittografia a livello di trasporto deve quindi essere gestita dal protocollo di trasporto e non deve rappresentare un fattore determinante per la scelta del modello di crittografia dei dati inattivi da usare.Therefore, encryption in transport should be addressed by the transport protocol and should not be a major factor in determining which encryption at rest model to use.

Modello di crittografia clientClient encryption model

Il modello di crittografia client fa riferimento alla crittografia che viene eseguita all'esterno del provider di risorse o da Azure dal servizio o dall'applicazione chiamante.Client Encryption model refers to encryption that is performed outside of the Resource Provider or Azure by the service or calling application. La crittografia può essere eseguita dall'applicazione del servizio in Azure o da un'applicazione in esecuzione nel data center del cliente.The encryption can be performed by the service application in Azure, or by an application running in the customer data center. In entrambi i casi, quando si usa questo modello di crittografia, il provider di risorse di Azure riceve un blob di dati crittografato senza alcuna possibilità di decrittografare i dati o avere accesso alle chiavi di crittografia.In either case, when leveraging this encryption model, the Azure Resource Provider receives an encrypted blob of data without the ability to decrypt the data in any way or have access to the encryption keys. In questo modello la gestione delle chiavi viene eseguita dal servizio o dall'applicazione chiamante ed è opaca al servizio di Azure.In this model, the key management is done by the calling service/application and is opaque to the Azure service.

Client

Modello di crittografia lato serverServer-side encryption model

I modelli di crittografia lato server fanno riferimento alla crittografia che viene eseguita dal servizio di Azure.Server-side Encryption models refer to encryption that is performed by the Azure service. In questo modello, le operazioni di crittografia e decrittografia sono eseguite dal provider di risorse.In that model, the Resource Provider performs the encrypt and decrypt operations. Archiviazione di Azure può ad esempio ricevere i dati in operazioni di testo normale ed esegue internamente la crittografia e la decrittografia.For example, Azure Storage may receive data in plain text operations and will perform the encryption and decryption internally. Il provider di risorse può usare chiavi di crittografia gestite da Microsoft o dal cliente, a seconda della configurazione specificata.The Resource Provider might use encryption keys that are managed by Microsoft or by the customer depending on the provided configuration.

Server

Modelli di gestione delle chiavi per la crittografia lato serverServer-side encryption key management models

Ognuno dei modelli di crittografia dei dati inattivi lato server implica caratteristiche distintive per la gestione delle chiavi.Each of the server-side encryption at rest models implies distinctive characteristics of key management. Questo include le posizioni e le modalità di creazione e archiviazione delle chiavi di crittografia, nonché i modelli di accesso e le procedure di rotazione delle chiavi.This includes where and how encryption keys are created, and stored as well as the access models and the key rotation procedures.

Crittografia lato server con chiavi gestite dal servizioServer-side encryption using service-managed keys

Per molti clienti, il requisito essenziale consiste nel garantire che i dati siano crittografati ogni volta che sono inattivi.For many customers, the essential requirement is to ensure that the data is encrypted whenever it is at rest. La crittografia lato server tramite le chiavi gestite dal servizio rende possibile questo modello, consentendo ai clienti di contrassegnare le specifiche risorse (account di archiviazione, database SQL e così via) per la crittografia e lasciare a Microsoft tutti gli aspetti di gestione, come il rilascio, la rotazione e il backup delle chiavi.Server-side encryption using Service Managed Keys enables this model by allowing customers to mark the specific resource (Storage Account, SQL DB, etc.) for encryption and leaving all key management aspects such as key issuance, rotation and backup to Microsoft. La maggior parte dei servizi di Azure che supportano la crittografia dei dati inattivi in genere supporta questo modello di offload della gestione delle chiavi di crittografia in Azure.Most Azure Services that support encryption at rest typically support this model of offloading the management of the encryption keys to Azure. Il provider di risorse di Azure crea le chiavi, le inserisce in un archivio protetto e le recupera quando necessario.The Azure resource provider creates the keys, places them in secure storage, and retrieves them when needed. Questo significa che il servizio ha l'accesso completo alle chiavi e il pieno controllo della gestione del ciclo di vita delle credenziali.This means that the service has full access to the keys and the service has full control over the credential lifecycle management.

gestito

La crittografia lato server con chiavi gestite dal servizio consente pertanto di soddisfare rapidamente l'esigenza di implementare la crittografia dei dati inattivi con un sovraccarico limitato per il cliente.Server-side encryption using service managed keys therefore quickly addresses the need to have encryption at rest with low overhead to the customer. Quando disponibile, un cliente apre il portale di Azure per la sottoscrizione e il provider di risorse di destinazione e seleziona una casella per indicare che vuole che i dati vengano crittografati.When available a customer typically opens the Azure portal for the target subscription and resource provider and checks a box indicating they would like the data to be encrypted. In alcuni manager delle risorse la crittografia lato server con chiavi gestite dal servizio è attiva per impostazione predefinita.In some Resource Managers server-side encryption with service-managed keys is on by default.

La crittografia lato server con chiavi gestite da Microsoft implica che il servizio ha accesso completo all'archiviazione e gestisce le chiavi.Server-side encryption with Microsoft-managed keys does imply the service has full access to store and manages the keys. Anche se alcuni clienti potrebbero voler gestire le chiavi perché pensano di poter garantire una maggiore sicurezza, durante la valutazione di questo modello è importante tenere conto del costo e del rischio associato a una soluzione personalizzata di archiviazione delle chiavi.While some customers may want to manage the keys because they feel they can ensure greater security, the cost and risk associated with a custom key storage solution should be considered when evaluating this model. In molti casi, un'organizzazione può stabilire che i vincoli di risorse o i rischi di una soluzione locale potrebbero essere maggiori rispetto al rischio associato alla gestione nel cloud delle chiavi di crittografia dei dati inattivi.In many cases an organization may determine that resource constraints or risks of an on-premises solution may greater than the risk of cloud management of the encryption at rest keys. Questo modello, tuttavia, potrebbe non essere sufficiente per le organizzazioni che dispongono di requisiti per il controllo della creazione o del ciclo di vita delle chiavi di crittografia oppure per fare in modo che la gestione delle chiavi di crittografia venga eseguita da personale diverso da quello che gestisce il servizio (ad esempio, separando la gestione delle chiavi dal modello di gestione generale per il servizio).However, this model might not be sufficient for organizations that have requirements to control the creation or lifecycle of the encryption keys or to have different personnel manage a service’s encryption keys than those managing the service (i.e., segregation of key management from the overall management model for the service).

Accesso alle chiaviKey access

Quando si usa la crittografia lato server con chiavi gestite dal servizio, la creazione delle chiavi, l'archiviazione e l'accesso al servizio sono gestiti dal servizio.When Server-side encryption with Service Managed keys is used, the key creation, storage and service access are all managed by the service. In genere, i principali provider di risorse di Azure archiviano le chiavi DEK in un archivio vicino ai dati e rapidamente disponibile e accessibile, mentre le chiavi KEK sono archiviate in un archivio interno protetto.Typically, the foundational Azure resource providers will store the Data Encryption Keys in a store that is close to the data and quickly available and accessible while the Key Encryption Keys are stored in a secure internal store.

VantaggiAdvantages

  • Configurazione sempliceSimple setup
  • Microsoft gestisce la rotazione, il backup e la ridondanza delle chiaviMicrosoft manages key rotation, backup and redundancy
  • Il cliente non deve sostenere il costo associato all'implementazione o il rischio di uno schema di gestione delle chiavi personalizzato.Customer does not have the cost associated with implementation or the risk of a custom key management scheme.

SvantaggiDisadvantages

  • Nessun controllo del cliente sulle chiavi di crittografia (specifica della chiave, ciclo di vita, revoca e così via)No customer control over the encryption keys (key specification, lifecycle, revocation, etc.)
  • Nessuna possibilità di separare la gestione delle chiavi dal modello generale di gestione per il servizioNo ability to segregate key management from overall management model for the service

Crittografia lato server con chiavi gestite dal cliente in Azure Key VaultServer-side encryption using customer managed keys in Azure Key Vault

Per gli scenari in cui il requisito prevede di crittografare i dati inattivi e controllare le chiavi di crittografia, i clienti possono usare la crittografia lato server con chiavi gestite dal cliente in Azure Key Vault.For scenarios where the requirement is to encrypt the data at rest and control the encryption keys customers can use server-side Encryption using Customer Managed Keys in Key Vault. Alcuni servizi possono archiviare solo la chiave KEK radice in Azure Key Vault e archiviano la chiave DEK crittografata in un percorso interno più vicino ai dati.Some services may store only the root Key Encryption Key in Azure Key Vault and store the encrypted Data Encryption Key in an internal location closer to the data. In questo scenario, i clienti possono usare le proprie chiavi nell'insieme di credenziali delle chiavi (BYOK, Bring Your Own Key) o generare nuove chiavi e usarle per crittografare le risorse desiderate.In that scenario customers can bring their own keys to Key Vault (BYOK – Bring Your Own Key), or generate new ones, and use them to encrypt the desired resources. Mentre il provider di risorse esegue le operazioni di crittografia e decrittografia, usa la chiave configurata come chiave radice per tutte le operazioni di crittografia.While the Resource Provider performs the encryption and decryption operations it uses the configured key as the root key for all encryption operations.

Accesso alle chiaviKey Access

Il modello di crittografia lato server con chiavi gestite dal cliente in Azure Key Vault prevede che il servizio di accesso alle chiavi possa eseguire la crittografia e la decrittografia in base alle esigenze.The server-side encryption model with customer managed keys in Azure Key Vault involves the service accessing the keys to encrypt and decrypt as needed. Le chiavi per la crittografia dei dati inattivi vengono rese accessibili a un servizio tramite un criterio di controllo di accessoEncryption at rest keys are made accessible to a service through an access control policy. che concede all'identità del servizio l'accesso per ricevere la chiave.This policy grants the service identity access to receive the key. Un servizio di Azure in esecuzione per conto di una sottoscrizione associata può essere configurato con un'identità all'interno della sottoscrizione.An Azure service running on behalf of an associated subscription can be configured with an identity in that subscription. Il servizio può eseguire l'autenticazione di Azure Active Directory e ricevere un token di autenticazione che lo identifica come un servizio che opera per conto della sottoscrizione.The service can perform Azure Active Directory authentication and receive an authentication token identifying itself as that service acting on behalf of the subscription. Il token può quindi essere presentato all'insieme di credenziali delle chiavi per ottenere una chiave a cui è stato consentito l'accesso.That token can then be presented to Key Vault to obtain a key it has been given access to.

Per le operazioni con chiavi di crittografia, può essere concesso l'accesso a un'identità del servizio per qualsiasi delle operazioni seguenti: decrypt, encrypt, unwrapkey, wrapkey, verify, sign, get, list, update, create, import, delete, backup e restore.For operations using encryption keys, a service identity can be granted access to any of the following operations: decrypt, encrypt, unwrapKey, wrapKey, verify, sign, get, list, update, create, import, delete, backup, and restore.

Per ottenere una chiave da usare per la crittografia o la decrittografia dei dati inattivi, l'identità del servizio con cui verrà eseguita l'istanza del servizio Resource Manager deve disporre di UnwrapKey (per ottenere la chiave per la decrittografia) e WrapKey (per inserire una chiave nell'insieme di credenziali delle chiavi al momento della creazione di una nuova chiave).To obtain a key for use in encrypting or decrypting data at rest the service identity that the Resource Manager service instance will run as must have UnwrapKey (to get the key for decryption) and WrapKey (to insert a key into key vault when creating a new key).

Nota

Per altri dettagli sull'autorizzazione dell'insieme di credenziali delle chiavi, vedere la pagina Proteggere l'insieme di credenziali delle chiavi nella documentazione di Azure Key Vault.For more detail on Key Vault authorization see the secure your key vault page in the Azure Key Vault documentation.

VantaggiAdvantages

  • Controllo completo delle chiavi in uso: le chiavi di crittografia vengono gestite nell'insieme di credenziali delle chiavi del cliente, sotto il controllo del cliente.Full control over the keys used – encryption keys are managed in the customer’s Key Vault under the customer’s control.
  • Possibilità di crittografare più servizi in uno masterAbility to encrypt multiple services to one master
  • Possibilità di separare la gestione delle chiavi dal modello generale di gestione per il servizioCan segregate key management from overall management model for the service
  • Possibilità di definire il servizio e la posizione delle chiavi tra diverse aree geograficheCan define service and key location across regions

SvantaggiDisadvantages

  • Il cliente ha la piena responsabilità per la gestione dell'accesso alle chiaviCustomer has full responsibility for key access management
  • Il cliente ha la piena responsabilità per la gestione del ciclo di vita delle chiaviCustomer has full responsibility for key lifecycle management
  • Sovraccarico aggiuntivo per l'installazione e la configurazioneAdditional Setup & configuration overhead

Crittografia lato server con chiavi gestite dal servizio su hardware controllato dal clienteServer-side encryption using service managed keys in customer controlled hardware

Per gli scenari in cui il requisito prevede la crittografia dei dati inattivi e la gestione delle chiavi in un repository proprietario al di fuori del controllo di Microsoft, alcuni servizi di Azure rendono possibile il modello di gestione delle chiavi HYOK (Host Your Own Key).For scenarios where the requirement is to encrypt the data at rest and manage the keys in a proprietary repository outside of Microsoft’s control, some Azure services enable the Host Your Own Key (HYOK) key management model. In questo modello, il servizio deve recuperare la chiave da un sito esterno, pertanto sono interessate le garanzie di disponibilità e prestazioni e la configurazione è più complessa.In this model, the service must retrieve the key from an external site and therefore performance and availability guarantees are impacted, and configuration is more complex. Inoltre, poiché il servizio non ha accesso alla chiave DEK durante le operazioni di crittografia e decrittografia, le garanzie di sicurezza complessiva di questo modello sono simili allo scenario in cui le chiavi sono gestite dal cliente in Azure Key Vault.Additionally, since the service does have access to the DEK during the encryption and decryption operations the overall security guarantees of this model are similar to when the keys are customer managed in Azure Key Vault. Di conseguenza, questo modello non è appropriato per la maggior parte delle organizzazioni, a meno che specifici requisiti di gestione delle chiavi non lo rendano necessario.As a result, this model is not appropriate for most organizations unless they have specific key management requirements necessitating it. A causa di queste limitazioni, la maggior parte dei servizi di Azure non supporta la crittografia lato server con chiavi gestite dal server su hardware controllato del cliente.Due to these limitations, most Azure Services do not support server-side encryption using server-managed keys in customer controlled hardware.

Accesso alle chiaviKey Access

Quando si usa la crittografia lato server con chiavi gestite dal servizio su hardware controllato dal cliente, le chiavi vengono mantenute in un sistema configurato dal cliente.When server-side encryption using service managed keys in customer controlled hardware is used the keys are maintained on a system configured by the customer. I servizi di Azure che supportano questo modello forniscono un sistema per stabilire una connessione sicura a un archivio delle chiavi fornito dal cliente.Azure services that support this model provide a means of establishing a secure connection to a customer supplied key store.

VantaggiAdvantages

  • Controllo completo della chiave radice in uso: le chiavi di crittografia vengono gestite tramite un archivio fornito dal clienteFull control over the root key used – encryption keys are managed by a customer provided store
  • Possibilità di crittografare più servizi in uno masterAbility to encrypt multiple services to one master
  • Possibilità di separare la gestione delle chiavi dal modello generale di gestione per il servizioCan segregate key management from overall management model for the service
  • Possibilità di definire il servizio e la posizione delle chiavi tra diverse aree geograficheCan define service and key location across regions

SvantaggiDisadvantages

  • Piena responsabilità per l'archiviazione delle chiavi, la sicurezza, le prestazioni e la disponibilitàFull responsibility for key storage, security, performance and availability
  • Piena responsabilità per la gestione dell'accesso alle chiaviFull responsibility for key access management
  • Piena responsabilità per la gestione del ciclo di vita delle chiaviFull responsibility for key lifecycle management
  • Significativi costi di installazione, configurazione e manutenzioneSignificant setup, configuration and ongoing maintenance costs
  • Maggiore dipendenza dalla disponibilità della rete tra il data center del cliente e i data center di Azure.Increased dependency on network availability between the customer datacenter and Azure datacenters.

Crittografia dei dati inattivi nei servizi cloud MicrosoftEncryption at rest in Microsoft cloud services

I servizi cloud Microsoft vengono usati in tutti e tre i modelli cloud: IaaS, PaaS e SaaS.Microsoft Cloud services are used in all three cloud models: IaaS, PaaS, SaaS. Di seguito sono riportati alcuni esempi di come si integrano in ciascun modello:Below you have examples of how they fit on each model:

  • Servizi software, denominati SaaS (Software as a Service), in cui l'applicazione è fornita dal cloud, come ad esempio Office 365.Software services, referred to as Software as a Server or SaaS, which have application provided by the cloud such as Office 365.
  • Servizi della piattaforma, con cui i clienti sfruttano il cloud nelle proprie applicazioni, che usano il cloud per elementi quali le funzionalità di archiviazione, di analisi e del bus di servizio.Platform services which customers leverage the cloud in their applications, using the cloud for things like storage, analytics and service bus functionality.
  • 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.Infrastructure services, or Infrastructure as a Service (IaaS) in which customer deploy operating systems and applications that are hosted in the cloud and possibly leveraging other cloud services.

Crittografia dei dati inattivi per i clienti SaaSEncryption at rest for SaaS customers

Per i clienti SaaS (Software as a Service) in genere la crittografia dei dati inattivi è abilitata o disponibile in ogni servizio.Software as a Service (SaaS) customers typically have encryption at rest enabled or available in each service. Office 365 offre diverse opzioni con cui i clienti possono verificare o abilitare la crittografia dei dati inattivi.Office 365 has several options for customers to verify or enable encryption at rest. Per informazioni sui servizi di Office 365, vedere le tecnologie di crittografia dei dati per Office 365.For information about Office 365 services see Data Encryption Technologies for Office 365.

Crittografia dei dati inattivi per i clienti PaaSEncryption at rest for PaaS customers

I dati dei clienti PaaS (Platform as a Service) in genere si trovano in un ambiente di esecuzione dell'applicazione e qualsiasi provider di risorse di Azure usato per archiviare i dati dei clienti.Platform as a Service (PaaS) customer’s data typically resides in an application execution environment and any Azure Resource Providers used to store customer data. Per visualizzare le opzioni disponibili per la crittografia dei dati inattivi, esaminare la tabella seguente per le piattaforme di archiviazione e per le applicazioni in uso.To see the encryption at rest options available to you examine the table below for the storage and application platforms that you use. Se supportati, vengono forniti collegamenti a istruzioni sull'abilitazione della crittografia dei dati inattivi per ogni provider di risorse.Where supported, links to instructions on enabling Encryption at Rest are provided for each resource provider.

Crittografia dei dati inattivi per i clienti IaaSEncryption at rest for IaaS customers

I clienti IaaS (Infrastructure as a Service) possono avere un'ampia gamma di servizi e applicazioni in uso.Infrastructure as a Service (IaaS) customers can have a variety of services and applications in use. 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.IaaS services can enable encryption at rest in their Azure hosted virtual machines and VHDs using Azure Disk Encryption.

Archiviazione crittografataEncrypted storage

Come le soluzioni PaaS, quelle IaaS possono sfruttare altri servizi di Azure che archiviano dati inattivi crittografati.Like PaaS, IaaS solutions can leverage other Azure services that store data encrypted at rest. In questi casi, è possibile abilitare il supporto per la crittografia dei dati inattivi come specificato da ogni servizio di Azure in uso.In these cases, you can enable the Encryption at Rest support as provided by each consumed Azure service. Nella tabella seguente sono enumerate le principali piattaforme per l'archiviazione, i servizi e le applicazioni, insieme al modello di crittografia dei dati inattivi supportato.The below table enumerates the major storage, services and application platforms and the model of Encryption at Rest supported. Se supportati, vengono forniti collegamenti a istruzioni sull'abilitazione della crittografia dei dati inattivi.Where supported, links are provided to instructions on enabling Encryption at Rest.

Calcolo crittografatoEncrypted compute

Una soluzione completa di crittografia dei dati inattivi richiede che i dati non vengano mai resi persistenti in formato non crittografato.A complete Encryption at Rest solution requires that the data is never persisted in unencrypted form. Mentre sono in uso, in un server che esegue il caricamento dei dati in memoria, i dati possono essere resi persistenti in locale in vari modi, tra cui il file di paging di Windows, un dump di arresto anomalo del sistema e qualsiasi registrazione che l'applicazione può eseguire.While in use, on a server loading the data in memory, data can be persisted locally in various ways including the Windows page file, a crash dump, and any logging the application may perform. Per garantire la crittografia di questi dati inattivi, le applicazioni IaaS possono usare Crittografia dischi di Azure su una macchina virtuale IaaS di Azure (Windows o Linux) e un disco virtuale.To ensure this data is encrypted at rest IaaS applications can use Azure Disk Encryption on an Azure IaaS virtual machine (Windows or Linux) and virtual disk.

Crittografia dei dati inattivi personalizzataCustom encryption at rest

È 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.It is recommended that whenever possible, IaaS applications leverage Azure Disk Encryption and Encryption at Rest options provided by any consumed Azure services. 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.In some cases, such as irregular encryption requirements or non-Azure based storage, a developer of an IaaS application may need to implement encryption at rest themselves. Gli sviluppatori di soluzioni IaaS possono ottimizzare l'integrazione con la gestione di Azure le aspettative dei clienti sfruttando determinati componenti di Azure.Developers of IaaS solutions can better integrate with Azure management and customer expectations by leveraging certain Azure components. 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.Specifically, developers should use the Azure Key Vault service to provide secure key storage as well as provide their customers with consistent key management options with that of most Azure platform services. Inoltre, le soluzioni personalizzate devono usare le identità dei servizi gestiti di Azure per consentire agli account del servizio di accedere alle chiavi di crittografia.Additionally, custom solutions should use Azure Managed Service Identities to enable service accounts to access encryption keys. Per informazioni su Azure Key Vault e le identità dei servizi gestiti, vedere i rispettivi SDK.For developer information on Azure Key Vault and Managed Service Identities see their respective SDKs.

Supporto per il modello di crittografia dei provider di risorse di AzureAzure resource providers encryption model support

Ogni servizio di Microsoft Azure supporta uno o più modelli di crittografia dei dati inattivi.Microsoft Azure Services each support one or more of the encryption at rest models. Per alcuni servizi, tuttavia, uno o più dei modelli di crittografia potrebbero non essere applicabili.For some services, however, one or more of the encryption models may not be applicable. I servizi possono inoltre rilasciare il supporto per questi scenari con pianificazioni diverse.Additionally, services may release support for these scenarios at different schedules. 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.This section describes the encryption at rest support at the time of this writing for each of the major Azure data storage services.

Crittografia dischi di AzureAzure disk encryption

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.Any customer using Azure Infrastructure as a Service (IaaS) features can achieve encryption at rest for their IaaS VMs and disks through Azure Disk Encryption. Per altre informazioni su Crittografia dischi di Azure, vedere la documentazione di Crittografia dischi di Azure.For more information on Azure Disk encryption see the Azure Disk Encryption documentation.

Archiviazione di AzureAzure storage

L'archiviazione BLOB e file di Azure supporta la crittografia dei dati inattivi per gli scenari di crittografia lato server, nonché i dati dei clienti crittografati (crittografia lato client).Azure Blob, and File supports encryption at rest for server-side encrypted scenarios as well as customer encrypted data (client-side encryption).

SQL AzureSQL Azure

SQL Azure attualmente supporta la crittografia dei dati inattivi per gli scenari di crittografia sul lato client e sul lato del servizio gestito da Microsoft.SQL Azure currently supports encryption at rest for Microsoft managed service side and client-side encryption scenarios.

Il supporto per la crittografia server viene attualmente fornito tramite la funzionalità di SQL denominata Transparent Data Encryption.Support for sever encryption is currently provided through the SQL feature called Transparent Data Encryption. Quando un cliente di SQL Azure abilita TDE, le chiavi vengono create e gestite automaticamente.Once a SQL Azure customer enables TDE key are automatically created and managed for them. La crittografia dei dati inattivi può essere abilitata a livello di database e di server.Encryption at rest can be enabled at the database and server levels. A partire da giugno 2017, la funzionalità Transparent Data Encryption (TDE) sarà abilitata per impostazione predefinita nei nuovi database creati.As of June 2017, Transparent Data Encryption (TDE) will be enabled by default on newly created databases.

La crittografia lato client dei dati di SQL Azure è supportata tramite la funzionalità Always Encrypted.Client-side encryption of SQL Azure data is supported through the Always Encrypted feature. Always Encrypted usa una chiave creata e archiviata dal client.Always Encrypted uses a key that created and stored by the 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.Customers can store the master key in a Windows certificate store, Azure Key Vault, or a local Hardware Security Module. Tramite SQL Server Management Studio, gli utenti SQL possono scegliere la chiave da usare per crittografare ogni colonna.Using SQL Server Management Studio, SQL users choose what key they’d like to use to encrypt which column.

Modello di crittografiaEncryption Model
ClientClient
Gestione della chiaveKey Management Chiave gestita dal servizioService Managed Key Gestita dal cliente nell'insieme di credenziali delle chiaviCustomer Managed in Key Vault Gestita dal cliente in localeCustomer Managed On-premises
Archiviazione e databaseStorage and Databases
Disco (IaaS)Disk (IaaS) - Yes Yes -
SQL Server (IaaS)SQL Server (IaaS) Yes Yes Yes Yes
SQL Azure (PaaS)SQL Azure (PaaS) Yes PreviewPreview - Yes
Archiviazione di Azure (BLOB di blocchi/pagine)Azure Storage (Block/Page Blobs) Yes PreviewPreview - Yes
Archiviazione di Azure (file)Azure Storage (Files) Yes - - -
Archiviazione di Azure (tabelle, code)Azure Storage (Tables, Queues) - - - Yes
Cosmos DB (Document DB)Cosmos DB (Document DB) Yes - - -
StorSimpleStorSimple Yes - - Yes
BackupBackup - - - Yes
Intelligence e analisiIntelligence and Analytics
Data factory di AzureAzure Data Factory Yes - - -
Azure Machine LearningAzure Machine Learning - PreviewPreview - -
Analisi di flusso di AzureAzure Stream Analytics Yes - - -
HDInsights (Archiviazione BLOB di Azure)HDInsights (Azure Blob Storage) Yes - - -
HDInsights (Archiviazione di Data Lake)HDInsights (Data Lake Storage) Yes - - -
Archivio Azure Data LakeAzure Data Lake Store Yes Yes - -
Azure Data CatalogAzure Data Catalog Yes - - -
Power BIPower BI Yes - - -
Servizi IoTIoT Services
Hub IoTIoT Hub - - - Yes
Bus di servizioService Bus Sì (livello Premium)Yes (Premium tier) - - Yes
Hub eventiEvent Hubs Yes - - -

ConclusioniConclusion

La protezione dei dati dei clienti archiviati nei servizi di Azure è di importanza fondamentale per Microsoft.Protection of customer data stored within Azure Services is of paramount importance to Microsoft. Per tutti i servizi di Azure ospitati è prevista la disponibilità di opzioni di crittografia dei dati inattivi.All Azure hosted services are committed to providing Encryption at Rest options. Servizi fondamentali come Archiviazione di Azure, SQL Azure e alcuni servizi di intelligence e analisi forniscono già opzioni di questo tipo.Foundational services such as Azure Storage, SQL Azure and key analytics and intelligence services already provide Encryption at Rest options. Alcuni di questi servizi supportano le chiavi controllate dal cliente e la crittografia lato client, nonché le chiavi e la crittografia gestite dal servizio.Some of these services support either customer controlled keys and client-side encryption as well as service managed keys and encryption. Microsoft sta apportando notevoli miglioramenti alla disponibilità della crittografia dei dati inattivi nei servizi di Microsoft Azure e nei prossimi mesi sono previste nuove opzioni in versione di anteprima e per la disponibilità generale.Microsoft Azure services are broadly enhancing Encryption at Rest availability and new options are planned for preview and general availability in the upcoming months.