Criptografia de Dados do Azure em repouso
O Microsoft Azure inclui ferramentas para proteger os dados de acordo com as necessidades de segurança e conformidade da sua empresa. O presente documento centra-se nos seguintes aspetos:
- Como os dados são protegidos em repouso no Microsoft Azure
- Discute os vários componentes que participam na implementação da proteção de dados,
- Analisa os prós e contras das diferentes abordagens de proteção de gerenciamento de chaves.
A criptografia em repouso é um requisito de segurança comum. No Azure, as organizações podem criptografar dados em repouso sem o risco ou o custo de uma solução personalizada de gerenciamento de chaves. 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 têm várias opções para gerenciar de perto a criptografia ou as chaves de criptografia.
O que é a encriptação em repouso?
A encriptação é a codificação segura dos dados utilizada para proteger a confidencialidade dos dados. Os designs de Criptografia em repouso no Azure usam 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 à medida que são gravados no armazenamento.
- A mesma chave de encriptação é usada para desencriptar esses dados à medida que são preparados para utilização na memória.
- Os dados podem ser particionados e chaves diferentes podem ser usadas para cada partição.
- As chaves devem ser armazenadas em um local seguro com controle de acesso baseado em identidade e políticas de auditoria. As chaves de criptografia de dados que são 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 gestão e controlo, bem como as garantias de escala e disponibilidade, requerem construções adicionais. Os conceitos e componentes da Criptografia do Microsoft Azure em repouso são descritos abaixo.
A finalidade da encriptação em repouso
A criptografia em repouso fornece proteção de dados para dados armazenados (em repouso). Os ataques contra dados em repouso incluem tentativas de obter acesso físico ao hardware no qual os dados são armazenados e, em seguida, comprometer os dados contidos. Em tal ataque, o disco rígido de um servidor pode ter sido manipulado incorretamente durante a manutenção, permitindo que um invasor remova o disco rígido. Mais tarde, o invasor colocaria o disco rígido em um computador sob seu controle para tentar acessar os dados.
A criptografia em repouso foi projetada para impedir que o invasor acesse os dados não criptografados, garantindo que os dados sejam criptografados quando estiverem no disco. Se um invasor obtiver um disco rígido com dados criptografados, mas não as chaves de criptografia, o invasor deverá derrotar a criptografia para ler os dados. Este ataque é muito mais complexo e consome recursos do que aceder a dados não encriptados num 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 também pode ser exigida pela necessidade de uma organização de governança de dados e esforços de conformidade. Regulamentações do setor e do governo, como HIPAA, PCI e FedRAMP, estabelecem salvaguardas específicas em relação à proteção de dados e requisitos de criptografia. A encriptação em repouso é uma medida obrigatória necessária para o cumprimento de alguns desses regulamentos. Para obter mais informações sobre a abordagem da Microsoft para a validação FIPS 140-2, consulte Federal Information Processing Standard (FIPS) Publication 140-2.
Além de satisfazer os requisitos normativos e de conformidade, a criptografia em repouso oferece proteção de defesa profunda. O Microsoft Azure fornece uma plataforma compatível para serviços, aplicativos e dados. Ele também fornece instalações abrangentes e segurança física, controle de acesso a dados e auditoria. No entanto, é importante fornecer medidas de segurança adicionais "sobrepostas" caso uma das outras medidas de segurança falhe e a criptografia em repouso forneça tal medida de segurança.
A Microsoft está comprometida com as opções de criptografia em repouso em todos os serviços de nuvem e dando aos clientes controle de chaves de criptografia e logs de uso de chaves. 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, o objetivo da criptografia em repouso é que os dados persistentes no disco sejam criptografados com uma chave de criptografia secreta. Para atingir esse objetivo, a criação segura de chaves, o armazenamento, o controle de acesso e o gerenciamento das chaves de criptografia devem ser fornecidos. 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 o controle de acesso a essas chaves são fundamentais 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 chaves recomendada e fornece uma experiência de gerenciamento comum entre serviços. As chaves são armazenadas e gerenciadas em cofres de chaves, e o acesso a um cofre de chaves pode ser dado a usuários ou serviços. O Azure Key Vault dá suporte à criação de chaves do cliente ou à importação de chaves do cliente para uso em cenários de chave de criptografia gerenciados pelo cliente.
Microsoft Entra ID
As permissões para usar as chaves armazenadas no Cofre de Chaves do Azure, seja para gerenciar ou acessá-las para criptografia e descriptografia de Criptografia em repouso, podem ser dadas às contas do Microsoft Entra.
Criptografia de envelope com uma hierarquia de chaves
Mais de uma chave de criptografia é usada em uma implementação de criptografia em repouso. O armazenamento de uma chave de criptografia no Cofre de Chaves do Azure garante acesso seguro à chave e gerenciamento central de chaves. No entanto, o acesso local do serviço às chaves de criptografia é mais eficiente para criptografia e descriptografia em massa do que interagir com o Cofre da Chave para cada operação de dados, permitindo uma criptografia mais forte e um melhor desempenho. Limitar o uso de uma única chave de criptografia diminui o risco de que a chave seja comprometida e o custo de recriptografia quando uma chave precisa ser substituída. Os modelos de criptografia do Azure em repouso usam criptografia de envelope, onde uma chave de criptografia de chave criptografa uma chave de criptografia de dados. Este modelo forma uma hierarquia de chaves que é mais capaz de atender aos requisitos de desempenho e segurança:
- Chave de Criptografia de Dados (DEK) – Uma chave simétrica AES256 usada para criptografar uma partição ou bloco de dados, às vezes também referida 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 de criptografia e descriptografia de dados maximiza o desempenho.
- Chave de Criptografia de Chave (KEK) – 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 que nunca sai do Cofre de chaves permite que as próprias chaves de criptografia de dados sejam criptografadas e controladas. A entidade que tem acesso ao KEK pode ser diferente da entidade que requer o DEK. Uma entidade pode intermediar o acesso à DEK para limitar o acesso de cada DEK a uma partição específica. Como o KEK é necessário para descriptografar os DEKs, os clientes podem apagar criptograficamente DEKs e dados desativando o KEK.
Os 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. Diferentes modelos de armazenamento de chaves são suportados. Para obter mais informações, consulte Modelos de criptografia de dados.
Criptografia em repouso nos serviços de nuvem da Microsoft
Os serviços Microsoft Cloud são usados em todos os três modelos de nuvem: IaaS, PaaS e SaaS. Abaixo você tem exemplos de como eles se encaixam em cada modelo:
- Serviços de software, referidos como Software como Serviço ou SaaS, que têm aplicações fornecidas pela nuvem, como o Microsoft 365.
- Serviços de plataforma nos quais 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 Infraestrutura como Serviço (IaaS), em que o cliente implanta sistemas operacionais e aplicativos hospedados na nuvem e, possivelmente, aproveita outros serviços de nuvem.
Criptografia em repouso para clientes SaaS
Os clientes de Software como Serviço (SaaS) normalmente têm a criptografia em repouso habilitada ou disponível em cada serviço. O Microsoft 365 tem várias opções para os clientes verificarem ou habilitarem a criptografia em repouso. Para obter informações sobre os serviços do Microsoft 365, consulte Criptografia no Microsoft 365.
Criptografia em repouso para clientes PaaS
Os dados do cliente de plataforma como serviço (PaaS) normalmente residem em um serviço de armazenamento, como o Blob Storage, mas também podem ser armazenados em cache ou armazenados 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 para as plataformas de armazenamento e aplicativos que você usa.
Criptografia em repouso para clientes IaaS
Os clientes de infraestrutura como serviço (IaaS) podem ter uma variedade de serviços e aplicativos em uso. Os serviços IaaS podem habilitar a criptografia em repouso em suas máquinas virtuais hospedadas no Azure e VHDs usando a Criptografia de Disco do Azure.
Armazenamento criptografado
Assim como a PaaS, as soluções IaaS podem aproveitar outros serviços do Azure que armazenam dados criptografados em repouso. Nesses casos, você pode habilitar o suporte à Criptografia em repouso conforme fornecido por cada serviço do Azure consumido. Os modelos de criptografia de dados enumeram as principais plataformas de armazenamento, serviços e aplicativos e o modelo de criptografia em repouso suportado.
Computação criptografada
Todos os discos gerenciados, instantâneos e imagens são criptografados usando a criptografia do serviço de armazenamento usando uma chave gerenciada pelo serviço. Uma solução de Criptografia em repouso mais completa garante que os dados nunca sejam persistidos de forma não criptografada. Durante o processamento dos dados em uma máquina virtual, os dados podem ser persistidos no arquivo de paginação do Windows ou no arquivo de permuta do Linux, em um despejo de memória ou em um log de aplicativo. Para garantir que esses dados sejam criptografados em repouso, os aplicativos IaaS podem usar o Azure Disk Encryption em uma máquina virtual IaaS do Azure (Windows ou Linux) e no disco virtual.
Criptografia personalizada em repouso
É recomendável que, sempre que possível, os aplicativos IaaS aproveitem as opções de Criptografia de Disco do Azure e Criptografia em repouso fornecidas por quaisquer serviços do Azure consumidos. 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 dos clientes aproveitando determinados componentes do Azure. Especificamente, os desenvolvedores devem usar o serviço Azure Key Vault para fornecer armazenamento seguro de chaves, bem como fornecer aos seus clientes opções consistentes de gerenciamento de chaves com as da maioria dos serviços da plataforma Azure. Além disso, as soluções personalizadas devem usar identidades de serviço gerenciado do Azure para permitir que as contas de serviço acessem chaves de criptografia. Para obter informações do desenvolvedor sobre o Cofre da Chave do Azure e as Identidades de Serviço Gerenciado, consulte seus respetivos SDKs.
Suporte ao modelo de criptografia de provedores de recursos do Azure
Cada um dos Serviços do Microsoft Azure dá suporte a um ou mais dos modelos de criptografia em repouso. No entanto, para alguns serviços, um ou mais modelos de encriptação podem não ser aplicáveis. Para serviços que dão suporte a cenários de chave gerenciados pelo cliente, eles podem oferecer suporte apenas a um subconjunto dos tipos de chave que o Cofre de Chaves do Azure oferece suporte para chaves de criptografia de chave. Além disso, os serviços podem liberar suporte para esses cenários e tipos de chave em agendas diferentes. Esta seção descreve o suporte à criptografia em repouso no momento em que este artigo foi escrito para cada um dos principais serviços de armazenamento de dados do Azure.
Criptografia de disco do Azure
Qualquer cliente que use os recursos de IaaS (Infraestrutura como Serviço) do Azure pode obter criptografia em repouso para suas VMs e discos IaaS por meio da Criptografia de Disco do Azure. Para obter mais informações sobre a criptografia de disco do Azure, consulte Azure Disk Encryption para VMs Linux ou Azure Disk Encryption para VMs do Windows.
Armazenamento do Azure
Todos os serviços de Armazenamento do Azure (armazenamento de Blob, armazenamento de filas, armazenamento de tabelas e arquivos do Azure) oferecem suporte à criptografia do lado do servidor em repouso; Alguns serviços também suportam chaves gerenciadas pelo cliente e criptografia do lado do cliente.
- Lado do servidor: todos os Serviços de Armazenamento do Azure habilitam a criptografia do lado do servidor por padrão usando chaves gerenciadas pelo serviço, o que é transparente para o aplicativo. Para obter mais informações, veja Azure Storage Service Encryption for Data at Rest (Encriptação do Serviço de Armazenamento do Azure para Dados Inativos). O armazenamento de Blobs do Azure e os Arquivos do Azure também oferecem suporte a chaves RSA gerenciadas pelo cliente de 2048 bits no Cofre de Chaves do Azure. Para obter mais informações, consulte Criptografia do serviço de armazenamento usando chaves gerenciadas pelo cliente no Cofre de Chaves do Azure.
- Lado do cliente: Blobs, Tabelas e Filas do Azure dão suporte à criptografia do lado do cliente. Ao usar a criptografia do lado do cliente, os clientes criptografam os dados e carregam os dados como um blob criptografado. A gestão de chaves é feita pelo cliente. Para obter mais informações, consulte Criptografia do lado do cliente e Cofre da chave do Azure para armazenamento do Microsoft Azure.
Base de Dados SQL do Azure
Atualmente, o Banco de Dados SQL do Azure dá suporte à criptografia em repouso para cenários de criptografia do lado do serviço gerenciado pela Microsoft e do lado do cliente.
Atualmente, o suporte para criptografia de servidor é fornecido por meio do recurso SQL chamado Criptografia de Dados Transparente. Depois que um cliente do Banco de Dados SQL do Azure habilita a TDE, as chaves são criadas e gerenciadas automaticamente para eles. A criptografia em repouso pode ser habilitada nos níveis de banco de dados e servidor. A partir de junho de 2017, a Criptografia de Dados Transparente (TDE) está habilitada por padrão em bancos de dados recém-criados. A Base de Dados SQL do Azure suporta chaves RSA de 2048 bits geridas pelo cliente no Cofre de Chaves do Azure. Para obter mais informações, consulte Criptografia de dados transparente com suporte a 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 é suportada por meio do recurso Sempre Encrypted . Always Encrypted usa uma chave que é criada e armazenada pelo cliente. Os clientes podem armazenar a chave mestra em um repositório de certificados do Windows, no Cofre de Chaves do Azure ou em um Módulo de Segurança de Hardware local. Usando o SQL Server Management Studio, os usuários do SQL escolhem qual chave gostariam de usar para criptografar qual coluna.
Conclusão
A proteção dos dados do cliente armazenados nos Serviços do Azure é de suma importância para a Microsoft. Todos os serviços hospedados do Azure estão comprometidos em fornecer opções de Criptografia em repouso. Os serviços do Azure oferecem suporte a chaves gerenciadas por serviço, chaves gerenciadas pelo cliente ou criptografia do lado do cliente. Os serviços do Azure estão a melhorar amplamente a disponibilidade da Encriptação em repouso e estão planeadas novas opções para pré-visualização e disponibilidade geral nos próximos meses.
Próximos passos
- Consulte modelos de criptografia de dados para saber mais sobre chaves gerenciadas por serviço e chaves gerenciadas pelo cliente.
- Saiba como o Azure usa criptografia dupla para mitigar ameaças que vêm com a criptografia de dados.
- Saiba o que a Microsoft faz para garantir a integridade da plataforma e a segurança dos hosts que atravessam os pipelines de compilação, integração, operacionalização e reparo de hardware e firmware.