Configurar criptografia de disco, ADE (Azure Disk Encryption), criptografia como host e criptografia de disco confidencial
A criptografia em repouso é um requisito de segurança comum. No Azure, as organizações podem criptografar dados em repouso sem ter o risco nem o custo de uma solução de gerenciamento de chaves personalizada. As organizações têm a opção de permitir que o Azure gerencie completamente a criptografia em repouso. Além disso, as organizações possuem várias opções para gerenciar de maneira rigorosa a criptografia ou as chaves de criptografia.
O que é criptografia em repouso?
A criptografia é a codificação segura dos dados usados para proteger a confidencialidade dos dados. Os designs de Criptografia em Repouso no Azure utilizam criptografia simétrica para criptografar e descriptografar grandes quantidades de dados rapidamente de acordo com um modelo conceitual simples:
- Uma chave de criptografia simétrica é usada para criptografar dados, pois eles são gravados no armazenamento.
- A mesma chave de criptografia é usada para descriptografar esses dados conforme estiverem prontos para serem usados na memória.
- Os dados podem ser particionados e chaves diferentes podem ser usadas para cada partição.
- As chaves devem ser armazenadas em uma localização segura com controle de acesso baseado em identidade e políticas de auditoria. As chaves de criptografia de dados armazenadas fora de locais seguros são criptografadas com uma chave de criptografia de chave mantida em um local seguro.
Na prática, os principais cenários de gerenciamento e controle, bem como garantias de escala e disponibilidade, exigem outros constructos. Os conceitos e componentes do Microsoft Azure Encryption at Rest são descritos na próxima seção.
A finalidade da criptografia em repouso
A criptografia em repouso oferece proteção de dados para dados armazenados (em repouso). Os ataques contra dados em repouso incluem tentativas de obter acesso físico ao hardware em que os dados são armazenados e, em seguida, comprometer os dados contidos. Nesse ataque, o disco rígido de um servidor pode ser mal tratado durante a manutenção, permitindo que um invasor remova o disco rígido. Mais tarde, o invasor poderia colocar o disco rígido em um computador sob seu controle para tentar acessar os dados.
A criptografia em repouso é projetada para impedir que o invasor acesse os dados não criptografados, assegurando que os dados sejam criptografados quando em disco. Se um invasor tiver um disco rígido com os dados criptografados, mas não tiver as chaves de criptografia, ele precisará superar a criptografia para ler os dados. Esse ataque é muito mais complexo e consome mais recursos do que o acesso a dados não criptografados em um disco rígido. Por esse motivo, a criptografia em repouso é altamente recomendada e é um requisito de alta prioridade para muitas organizações.
A criptografia em repouso pode ser exigida pela necessidade de uma organização de atender a normas e aos esforços de governança de dados. As regulamentações governamentais e do setor como HIPAA, PCI e FedRAMP estabelecem proteções específicas sobre a proteção de dados e requisitos de criptografia. A criptografia em repouso é uma medida obrigatória necessária para oferecer conformidade com alguns desses regulamentos. Para obter mais informações sobre a abordagem da Microsoft para validação fips 140-2, consulte a Publicação 140-2 do Federal Information Processing Standard (FIPS).
Além de atender a requisitos de regulamentação e conformidade, a criptografia em repouso fornece proteção com defesa em profundidade. O Microsoft Azure fornece uma plataforma em conformidade com serviços, aplicativos e dados. Ele também fornece uma abrangente segurança física e das instalações, controle de acesso a dados e auditoria. No entanto, é importante fornecer outras medidas de segurança "sobrepostas" caso uma das outras medidas de segurança falhe e a criptografia em repouso forneça tal medida de segurança.
A Microsoft tem o compromisso de fornecer opções de criptografia em repouso nos serviços de nuvem e de proporcionar aos clientes controle das chaves de criptografia e dos logs de uso da chave. Além disso, a Microsoft está trabalhando para criptografar todos os dados do cliente em repouso por padrão.
Componentes de Criptografia do Azure em Repouso
Conforme descrito anteriormente, a meta da criptografia em repouso é que os dados que são persistentes no disco sejam criptografados com uma chave de criptografia secreta. Para atingir essa meta, é necessário fornecer criação de chave segura, armazenamento, controle de acesso e gerenciamento das chaves de criptografia. Embora os detalhes possam variar, as implementações de Criptografia em Repouso dos serviços do Azure podem ser descritas em termos ilustrados no diagrama a seguir.
Azure Key Vault
O local de armazenamento das chaves de criptografia e controle de acesso a essas chaves é central para um modelo de criptografia em repouso. As chaves precisam ser altamente seguras, mas gerenciáveis por usuários especificados e disponíveis para serviços específicos. Para os serviços do Azure, o Azure Key Vault é a solução de armazenamento de chave recomendada e fornece uma experiência de gerenciamento comum em todos os serviços. As chaves são armazenadas e gerenciadas em cofres de chaves e o acesso a um cofre de chave pode ser fornecido para usuários ou serviços. O Azure Key Vault fornece suporte à criação de chaves pelo cliente ou importação de chaves do cliente para uso em cenários de chaves de criptografia gerenciadas pelo cliente.
Microsoft Entra ID
As permissões para usar as chaves armazenadas no Azure Key Vault, para gerenciá-las ou acessá-las para criptografia em repouso e descriptografia, podem ser fornecidas às contas do Microsoft Entra.
Criptografia de envelope com uma hierarquia de chaves
Mais de uma chave de criptografia é utilizada em uma implementação de criptografia em repouso. O armazenamento de uma chave de criptografia no Azure Key Vault garante o acesso de chave seguro e o gerenciamento central de chaves. No entanto, o acesso local do serviço a chaves de criptografia é mais eficiente para criptografia e descriptografia em massa do que interagir com Key Vault para cada operação de dados, permitindo uma criptografia mais forte e melhor desempenho. Limitar o uso de uma única chave de criptografia diminui o risco de que a chave seja comprometida e o custo da reencritação quando uma chave deve ser substituída. A criptografia do Azure em modelos rest usa criptografia de envelope, em que uma chave de criptografia de chave criptografa uma chave de criptografia de dados. Esse modelo forma uma hierarquia de chaves que é mais capaz de atender aos requisitos de desempenho e segurança:
- DEK (Chave de Criptografia de Dados) – uma chave AES256 simétrica usada para criptografar uma partição ou um bloco de dados, às vezes também conhecida como simplesmente uma Chave de Dados. Um único recurso pode ter muitas partições e muitas Chaves de Criptografia de Dados. Criptografar cada bloco de dados com uma chave diferente torna os ataques de análise de criptografia mais difíceis. E manter DEKs locais para o serviço, criptografando e descriptografando dados, maximiza o desempenho.
- KEK (chave de criptografia de chave) – uma chave de criptografia usada para criptografar as chaves de criptografia de dados usando criptografia de envelope, também conhecida como encapsulamento. O uso de uma Chave de Criptografia de Chave permite que as chaves de criptografia de dados sejam criptografadas e controladas. A entidade que tem acesso à KEK pode ser diferente da entidade que requer a DEK. Uma entidade pode intermediar o acesso ao DEK para limitar o acesso de cada DEK a uma partição específica. Como a KEK é necessária para descriptografar as DEKs, os clientes podem apagar as DEKs e os dados criptograficamente desativando a KEK.
Provedores de recursos e instâncias de aplicativos armazenam as chaves de criptografia de dados criptografadas como metadados. Somente uma entidade com acesso à chave de criptografia de chave pode descriptografar essas chaves de criptografia de dados. Há suporte para diferentes modelos de armazenamento de chaves.
Criptografia em repouso em serviços em nuvem da Microsoft
Os serviços do Microsoft Cloud são utilizados em todos os três modelos de nuvem: IaaS, PaaS, SaaS. A seguir, são apresentados exemplos de como ajustam-se em cada modelo:
- Serviços de software conhecidos como Software como um Serviço ou SaaS, que têm aplicativos fornecidos pela nuvem, como o Microsoft 365.
- Serviços de plataforma em que os clientes usam a nuvem para coisas como armazenamento, análise e funcionalidade de barramento de serviço em seus aplicativos.
- Serviços de infraestrutura ou IaaS (Infraestrutura como Serviço) em que o cliente implanta sistemas operacionais e aplicativos hospedados na nuvem e possivelmente usando outros serviços de nuvem.
Criptografia em repouso para clientes SaaS
Os clientes de Software como Serviço (SaaS), geralmente possuem criptografia em repouso habilitada ou disponível em cada serviço. O Microsoft 365 tem várias opções para que os clientes verifiquem ou habilitem criptografia em repouso. Para obter informações sobre os serviços do Microsoft 365, consulte Criptografia no Microsoft 365.
Criptografia em repouso para clientes de PaaS
Em uma plataforma como serviço (PaaS), os dados dos clientes geralmente residem em um serviço de armazenamento, como o armazenamento de blobs, mas podem ser armazenados em cache ou no ambiente de execução do aplicativo, como uma máquina virtual. Para ver as opções de criptografia em repouso disponíveis para você, examine os modelos de criptografia de dados: tabela de serviços de suporte para as plataformas de armazenamento e aplicativo que você usa.
Criptografia em repouso para clientes de IaaS
Os clientes de IaaS (infraestrutura como serviço) podem ter vários serviços e aplicativos em uso. Os serviços de IaaS podem habilitar a criptografia em repouso em suas máquinas virtuais hospedadas no Azure e VHDs utilizando o Azure Disk Encryption.
Armazenamento criptografado
Assim como o PaaS, as soluções de IaaS podem usar outros serviços do Azure que armazenam dados criptografados em repouso. Nestes casos, é possível habilitar o suporte para criptografia em repouso, conforme fornecido por cada serviço do Azure consumido. Os Modelos de Criptografia de Dados: tabela de serviços suportados enumera as principais plataformas de armazenamento, serviços e aplicativos e o modelo de Criptografia em Descanso com suporte.
Computação criptografada
Todos os discos gerenciados, instantâneos e imagens são criptografados usando a Criptografia do Serviço de Armazenamento com uma chave gerenciada pelo serviço. Uma solução completa de Criptografia em Repouso exige que os dados nunca sejam persistidos em forma não criptografada. Ao processar os dados em uma máquina virtual, os dados podem ser persistidos no arquivo de página do Windows ou no arquivo de troca do Linux, em um despejo de memória ou em um log de aplicativos. Para garantir que esses dados sejam criptografados em repouso, os aplicativos de IaaS podem usar o Azure Disk Encryption em uma máquina virtual de IaaS do Azure (Windows ou Linux) e no disco virtual.
Criptografia personalizada em repouso
É recomendável que, sempre que possível, os aplicativos IaaS usem as opções de Criptografia de Disco do Azure e Criptografia em Repouso fornecidas por quaisquer serviços consumidos do Azure. Em alguns casos, como requisitos de criptografia irregulares ou armazenamento não baseado no Azure, um desenvolvedor de um aplicativo IaaS pode precisar implementar a criptografia em repouso. Os desenvolvedores de soluções iaaS podem se integrar melhor ao gerenciamento do Azure e às expectativas do cliente usando determinados componentes do Azure. Especificamente, os desenvolvedores devem usar o serviço do Azure Key Vault para fornecer armazenamento seguro de chaves e fornecer aos clientes opções consistentes de gerenciamento de chaves com a maioria dos serviços de plataforma do Azure. Além disso, as soluções personalizadas devem usar identidades de serviço gerenciado do Azure para permitir que contas de serviço acessem chaves de criptografia. Para obter informações de desenvolvedor sobre o Azure Key Vault e as Identidades de Serviço Gerenciado, confira seus respectivos SDKs.
Suporte ao modelo de criptografia dos provedores de recursos do Azure
Os Serviços do Microsoft Azure dão suporte a um ou mais dos modelos de criptografia em repouso. Para alguns serviços, no entanto, um ou mais dos modelos de criptografia podem não ser aplicáveis. Para serviços que dão suporte a cenários de chave gerenciados pelo cliente, eles podem dar suporte apenas a um subconjunto dos tipos de chave que o Azure Key Vault dá suporte para chaves de criptografia de chave. Além disso, os serviços podem liberar suporte para esses cenários e tipos-chave em agendas diferentes. Esta seção descreve o suporte de criptografia em repouso no momento desta escrita para cada um dos principais serviços de armazenamento de dados do Azure.
Criptografia de disco do Azure
Qualquer cliente que utiliza recursos de IaaS (Infraestrutura como Serviço) pode alcançar criptografia em repouso para seus discos e VMs de IaaS através do Azure Disk Encryption. Para obter mais informações sobre a criptografia do Disco do Azure, consulte Azure Disk Encryption para VMs Linux ou Azure Disk Encryption para VMs windows.
Armazenamento do Azure
Todos os serviços de Armazenamento do Azure (Armazenamento de Blobs, Armazenamento de Fila, Armazenamento de Tabelas e Arquivos do Azure) oferecem suporte para a criptografia do servidor em repouso; alguns serviços também suportam chaves gerenciadas pelo cliente e criptografia realizada pelo cliente.
- No servidor: Todos os serviços de Armazenamento do Azure habilitam a criptografia do servidor por padrão que usa chaves de serviço gerenciado, que é transparente para o aplicativo. Para obter mais informações, consulte a Criptografia do Serviço de Armazenamento do Azure para dados em repouso. O Armazenamento de Blob do Azure e os Arquivos do Azure também oferecem suporte a chaves RSA de 2048 bits gerenciadas pelo cliente no Azure Key Vault. Para obter mais informações, consulte Criptografia do Serviço de Armazenamento usando chaves gerenciadas pelo cliente no Azure Key Vault.
- No cliente: os Blobs do Azure, tabelas e filas oferecem suporte para criptografia de cliente. Ao usar criptografia do cliente, os clientes criptografam os dados e carregam os dados como um blob criptografado. O gerenciamento de chaves é feito pelo cliente. Para obter mais informações, consulte Client-Side Encryption e Azure Key Vault para o Armazenamento do Microsoft Azure.
Banco de Dados SQL do Azure
O Banco de Dados SQL do Azure dá suporte à criptografia em repouso para cenários de criptografia gerenciada pela Microsoft no lado do cliente e no lado do serviço.
O suporte para criptografia do servidor atualmente é fornecido através do recurso SQL chamado Transparent Data Encryption. Depois que um cliente do Banco de Dados SQL do Azure habilita o TDE, as chaves são criadas e gerenciadas automaticamente para ele. A criptografia em repouso pode ser habilitada nos níveis de servidor e banco de dados. A partir de junho de 2017, a TDE (Transparent Data Encryption) está habilitada por padrão em bancos de dados recém-criados. O Banco de Dados SQL do Azure dá suporte a chaves gerenciadas pelo cliente RSA de 2048 bits no Azure Key Vault. Para obter mais informações, consulte Transparent Data Encryption com o suporte Bring Your Own Key para o Banco de Dados SQL do Azure e o Data Warehouse.
A criptografia do lado do cliente dos dados do Banco de Dados SQL do Azure tem suporte por meio do recurso Always Encrypted . O Always Encrypted usa uma chave criada e armazenada pelo cliente. Os clientes podem armazenar a chave pai em um repositório de certificados do Windows, no Azure Key Vault ou em um módulo de segurança de hardware local. Utilizando o SQL Server Management Studio, os usuários de SQL escolhem que chave gostariam de usar para criptografar determinada coluna.
Conclusão
A proteção dos dados do cliente armazenados nos Serviços do Azure é de fundamental importância para a Microsoft. Todos os serviços hospedados do Azure estão comprometido em fornecer opções de criptografia em repouso. Os serviços do Azure dão suporte a chaves gerenciadas pelo serviço, chaves gerenciadas pelo cliente ou criptografia do lado do cliente. Os serviços do Azure estão aprimorando amplamente a disponibilidade de Criptografia em Repouso e novas opções estão planejadas para versão prévia e disponibilidade geral nos próximos meses.