Modelos de encriptação de dados
Uma compreensão dos vários modelos de criptografia e seus prós e contras é essencial para entender como os vários provedores de recursos no Azure implementam a criptografia em repouso. Essas definições são compartilhadas entre todos os provedores de recursos no Azure para garantir linguagem e taxonomia comuns.
Há três cenários para criptografia do lado do servidor:
Criptografia do lado do servidor usando chaves gerenciadas por serviço
- Os Provedores de Recursos do Azure executam as operações de criptografia e descriptografia
- A Microsoft gerencia as chaves
- Funcionalidade completa na nuvem
Criptografia do lado do servidor usando chaves gerenciadas pelo cliente no Cofre de Chaves do Azure
- Os Provedores de Recursos do Azure executam as operações de criptografia e descriptografia
- O cliente controla as chaves através do Azure Key Vault
- Funcionalidade completa na nuvem
Criptografia do lado do servidor usando chaves gerenciadas pelo cliente em hardware controlado pelo cliente
- Os Provedores de Recursos do Azure executam as operações de criptografia e descriptografia
- O cliente controla as chaves no hardware controlado pelo cliente
- Funcionalidade completa na nuvem
Os modelos de Criptografia do lado do servidor referem-se à criptografia executada pelo serviço do Azure. Nesse modelo, o Provedor de Recursos executa as operações de criptografia e descriptografia. Por exemplo, o Armazenamento do Azure pode receber dados em operações de texto sem formatação e executar a criptografia e descriptografia internamente. O Provedor de Recursos pode usar chaves de criptografia gerenciadas pela Microsoft ou pelo cliente, dependendo da configuração fornecida.
Cada um dos modelos de criptografia do lado do servidor em repouso implica características distintas do gerenciamento de chaves, incluindo onde e como as chaves de criptografia são criadas e armazenadas, bem como os modelos de acesso e os procedimentos de rotação de chaves.
Para criptografia do lado do cliente, considere:
- Os serviços do Azure não podem ver dados desencriptados
- Os clientes gerenciam e armazenam chaves no local (ou em outros repositórios seguros). As chaves não estão disponíveis para os serviços do Azure
- Funcionalidade de nuvem reduzida
Os modelos de encriptação suportados no Azure dividem-se em dois grupos principais: "Encriptação de Cliente" e "Encriptação do lado do servidor", conforme mencionado anteriormente. Independentemente do modelo de criptografia em repouso usado, os serviços do Azure sempre recomendam o uso de um transporte seguro, como TLS ou HTTPS. Portanto, a criptografia no transporte deve ser abordada pelo protocolo de transporte e não deve ser um fator importante para determinar qual modelo de criptografia em repouso usar.
Modelo de criptografia do cliente
Modelo de Criptografia de Cliente refere-se à criptografia que é executada fora do Provedor de Recursos ou do Azure pelo serviço ou aplicativo de chamada. A criptografia pode ser executada pelo aplicativo de serviço no Azure ou por um aplicativo em execução no data center do cliente. Em ambos os casos, ao usar esse modelo de criptografia, o Provedor de Recursos do Azure recebe um blob de dados criptografado sem a capacidade de descriptografar os dados de qualquer forma ou ter acesso às chaves de criptografia. Neste modelo, o gerenciamento de chaves é feito pelo serviço/aplicativo de chamada e é opaco para o serviço do Azure.
Criptografia do lado do servidor usando chaves gerenciadas por serviço
Para muitos clientes, o requisito essencial é garantir que os dados sejam criptografados sempre que estiverem em repouso. A criptografia do lado do servidor usando chaves gerenciadas por serviço habilita esse modelo, permitindo que os clientes marquem o recurso específico (Conta de Armazenamento, Banco de Dados SQL, etc.) para criptografia e deixando todos os aspetos de gerenciamento de chaves, como emissão de chaves, rotação e backup para a Microsoft. A maioria dos serviços do Azure que dão suporte à criptografia em repouso normalmente dá suporte a esse modelo de descarregamento do gerenciamento das chaves de criptografia para o Azure. O provedor de recursos do Azure cria as chaves, coloca-as em armazenamento seguro e as recupera quando necessário. O serviço tem acesso total às chaves e tem controle total sobre o gerenciamento do ciclo de vida das credenciais.
Portanto, a criptografia do lado do servidor usando chaves gerenciadas pelo serviço atende rapidamente à necessidade de ter a criptografia em repouso com baixa sobrecarga para o cliente. Quando disponível, um cliente normalmente abre o portal do Azure para a assinatura de destino e o provedor de recursos e marca uma caixa indicando que deseja que os dados sejam criptografados. Em alguns Gestores de Recursos, a encriptação do lado do servidor com chaves geridas pelo serviço está ativada por predefinição.
A criptografia do lado do servidor com chaves gerenciadas pela Microsoft implica que o serviço tem acesso total para armazenar e gerenciar as chaves. Embora alguns clientes possam querer gerenciar as chaves porque sentem que ganham maior segurança, o custo e o risco associados a uma solução de armazenamento de chaves personalizada devem ser considerados ao avaliar esse modelo. Em muitos casos, uma organização pode determinar que as restrições de recursos ou os riscos de uma solução local podem ser maiores do que o risco do gerenciamento em nuvem das chaves de criptografia em repouso. No entanto, esse modelo pode não ser suficiente para organizações que têm requisitos para controlar a criação ou o ciclo de vida das chaves de criptografia ou para ter pessoal diferente gerenciando as chaves de criptografia de um serviço do que aqueles que gerenciam o serviço (ou seja, segregação do gerenciamento de chaves do modelo de gerenciamento geral para o serviço).
Chave de acesso
Quando a criptografia do lado do servidor com chaves gerenciadas pelo serviço é usada, a criação da chave, o armazenamento e o acesso ao serviço são todos gerenciados pelo serviço. Normalmente, os provedores de recursos fundamentais do Azure armazenam as Chaves de Criptografia de Dados em um armazenamento próximo aos dados e rapidamente disponível e acessível, enquanto as Chaves de Criptografia de Chave são armazenadas em um armazenamento interno seguro.
Vantagens
- Configuração simples
- A Microsoft gerencia a rotação, o backup e a redundância de chaves
- O cliente não tem o custo associado à implementação ou o risco de um esquema de gerenciamento de chaves personalizado.
Desvantagens
- Nenhum controle do cliente sobre as chaves de criptografia (especificação de chave, ciclo de vida, revogação, etc.)
- Não há capacidade de separar o gerenciamento de chaves do modelo de gerenciamento geral para o serviço
Criptografia do lado do servidor usando chaves gerenciadas pelo cliente no Azure Key Vault e no Azure Managed HSM
Para cenários em que o requisito é criptografar os dados em repouso e controlar as chaves de criptografia, os clientes podem usar a criptografia do lado do servidor usando chaves gerenciadas pelo cliente no Cofre de Chaves. Alguns serviços podem armazenar apenas a Chave de Criptografia de Chave raiz no Cofre de Chaves do Azure e armazenar a Chave de Criptografia de Dados criptografada em um local interno mais próximo dos dados. Nesse cenário, os clientes podem trazer suas próprias chaves para o Key Vault (BYOK – Bring Your Own Key), ou gerar novas, e usá-las para criptografar os recursos desejados. Enquanto o Provedor de Recursos executa as operações de criptografia e descriptografia, ele usa a chave de criptografia de chave configurada como a chave raiz para todas as operações de criptografia.
Perda de chaves de criptografia de chave significa perda de dados. Por esse motivo, as chaves não devem ser excluídas. O backup das chaves deve ser feito sempre que criado ou girado. A proteção Soft-Delete e purge deve ser ativada em qualquer cofre que armazene chaves de criptografia de chave para proteger contra apagamento criptográfico acidental ou mal-intencionado. Em vez de excluir uma chave, é recomendável definir enabled como false na chave de criptografia de chave. Use controles de acesso para revogar o acesso a usuários ou serviços individuais no Cofre de Chaves do Azure ou no HSM gerenciado.
Nota
Para obter uma lista de serviços que suportam chaves geridas pelo cliente no Azure Key Vault e no Azure Managed HSM, consulte Serviços que suportam CMKs no Azure Key Vault e no Azure Managed HSM.
Chave de Acesso
O modelo de criptografia do lado do servidor com chaves gerenciadas pelo cliente no Cofre de Chaves do Azure envolve o serviço acessando as chaves para criptografar e descriptografar conforme necessário. As chaves de encriptação em repouso são disponibilizadas a um serviço através de uma política de controlo de acesso. Esta política concede à identidade do serviço acesso para receber a chave. Um serviço do Azure em execução em nome de uma assinatura associada pode ser configurado com uma identidade nessa assinatura. O serviço pode executar a autenticação do Microsoft Entra e receber um token de autenticação identificando-se como esse serviço agindo em nome da assinatura. Esse token pode então ser apresentado ao Key Vault para obter uma chave à qual ele tenha tido acesso.
Para operações usando chaves de criptografia, uma identidade de serviço pode ter acesso a qualquer uma das seguintes operações: descriptografar, criptografar, unwrapKey, wrapKey, verificar, assinar, obter, listar, atualizar, criar, importar, excluir, fazer backup e restaurar.
Para obter uma chave para uso na criptografia ou descriptografia de dados em repouso, a identidade de serviço que a instância de serviço do Resource Manager executará como deve ter UnwrapKey (para obter a chave para descriptografia) e WrapKey (para inserir uma chave no cofre de chaves ao criar uma nova chave).
Nota
Para obter mais detalhes sobre a autorização do Cofre da Chave, consulte a página Proteger o cofre da chave na documentação do Cofre da Chave do Azure.
Vantagens
- Controle total sobre as chaves usadas – as chaves de criptografia são gerenciadas no Cofre de Chaves do cliente sob o controle do cliente.
- Capacidade de criptografar vários serviços para um mestre
- Pode separar o gerenciamento de chaves do modelo de gerenciamento geral para o serviço
- Pode definir o serviço e a localização da chave entre regiões
Desvantagens
- O cliente tem total responsabilidade pelo gerenciamento de acesso chave
- O cliente tem total responsabilidade pelo gerenciamento do ciclo de vida das chaves
- Configuração adicional e sobrecarga de configuração
Criptografia do lado do servidor usando chaves gerenciadas pelo cliente em hardware controlado pelo cliente
Alguns serviços do Azure habilitam o modelo de gerenciamento de chaves Host Your Own Key (HYOK). Esse modo de gerenciamento é útil em cenários onde há a necessidade de criptografar os dados em repouso e gerenciar as chaves em um repositório proprietário fora do controle da Microsoft. Nesse modelo, o serviço deve usar a chave de um site externo para descriptografar a Chave de Criptografia de Dados (DEK). As garantias de desempenho e disponibilidade são afetadas e a configuração é mais complexa. Além disso, como o serviço tem acesso ao DEK durante as operações de criptografia e descriptografia, as garantias gerais de segurança desse modelo são semelhantes a quando as chaves são gerenciadas pelo cliente no Cofre de Chaves do Azure. Como resultado, esse modelo não é apropriado para a maioria das organizações, a menos que elas tenham requisitos específicos de gerenciamento de chaves. Devido a essas limitações, a maioria dos serviços do Azure não oferece suporte à criptografia do lado do servidor usando chaves gerenciadas pelo cliente em hardware controlado pelo cliente. Uma das duas chaves na Encriptação de Chave Dupla segue este modelo.
Chave de Acesso
Quando a criptografia do lado do servidor usando chaves gerenciadas pelo cliente em hardware controlado pelo cliente é usada, as chaves de criptografia de chave são mantidas em um sistema configurado pelo cliente. Os serviços do Azure que dão suporte a esse modelo fornecem um meio de estabelecer uma conexão segura com um armazenamento de chaves fornecido pelo cliente.
Vantagens
- Controle total sobre a chave raiz usada – as chaves de criptografia são gerenciadas por uma loja fornecida pelo cliente
- Capacidade de criptografar vários serviços para um mestre
- Pode separar o gerenciamento de chaves do modelo de gerenciamento geral para o serviço
- Pode definir o serviço e a localização da chave entre regiões
Desvantagens
- Responsabilidade total pelo armazenamento, segurança, desempenho e disponibilidade das chaves
- Responsabilidade total pela gestão de acessos chave
- Responsabilidade total pela gestão chave do ciclo de vida
- Custos significativos de instalação, configuração e manutenção contínua
- Maior dependência da disponibilidade da rede entre o datacenter do cliente e os datacenters do Azure.