Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se à recomendação da lista de verificação Well-Architected Framework Security:
| SE:07 | Criptografar dados usando métodos modernos padrão do setor para proteger a confidencialidade e a integridade. Alinhar o escopo de criptografia com classificações de dados; priorizar métodos de criptografia de plataforma nativa. |
|---|
Se os dados não estiverem protegidos, eles poderão ser modificados mal-intencionados, o que leva à perda de integridade e confidencialidade.
Este guia descreve as recomendações para criptografar e proteger seus dados. A criptografia é o processo de usar algoritmos de criptografia para tornar os dados ilegíveis e bloquear os dados com uma chave. No estado criptografado, os dados não podem ser decifrados. Ele só pode ser descriptografado usando uma chave emparelhada com a chave de criptografia.
Definições
| Termos | Definição |
|---|---|
| Certificados | Arquivos digitais que contêm as chaves públicas para criptografia ou descriptografia. |
| Conjunto de criptografias | Um conjunto de algoritmos que são usados para criptografar e descriptografar informações para proteger uma conexão de rede pelo TLS (Transport Layer Security). |
| Computação Confidencial | A computação confidencial é a proteção dos dados em uso executando a computação em um ambiente de execução confiável com base em hardware e atestado. |
| Desencriptação | O processo no qual os dados criptografados são desbloqueados com um código secreto. |
| Criptografia dupla | O processo de criptografar dados usando duas ou mais camadas independentes de criptografia. |
| Encryption | O processo pelo qual os dados se tornaram ilegíveis e bloqueados com um código secreto. |
| Hash | O processo de transformar dados em texto ou números com a intenção de ocultar informações. |
| Teclas | Um código secreto usado para bloquear ou desbloquear dados criptografados. |
| Signature | Um carimbo criptografado de autenticação nos dados. |
| Assinatura | O processo de verificar a autenticidade dos dados usando uma assinatura. |
| X.509 | Um padrão que define o formato de certificados de chave pública. |
Mandatos organizacionais ou requisitos regulatórios podem impor mecanismos de criptografia. Por exemplo, pode haver um requisito de que os dados devem permanecer apenas na região selecionada e as cópias dos dados sejam mantidas nessa região.
Esses requisitos geralmente são o mínimo básico. Esforce-se por um nível mais alto de proteção. Você é responsável por evitar vazamentos de confidencialidade e adulteração de dados confidenciais, sejam dados externos do usuário ou dados de funcionários.
Os mecanismos de criptografia provavelmente precisam proteger os dados em três estágios:
Dados em repouso são todas as informações mantidas em objetos de armazenamento.
Um exemplo de proteção de dados em repouso é usar o BitLocker para criptografar dados salvos no armazenamento em um disco.
Dados em trânsito são informações transferidas entre componentes, locais ou programas.
Um exemplo de proteção de dados em trânsito é criptografar dados com TLS para que os pacotes que se movem por redes públicas e privadas sejam seguros.
Os dados em uso são dados que estão sendo trabalhados ativamente na memória.
Um exemplo de proteção de dados em uso é criptografar com computação confidencial para proteger os dados conforme eles são processados.
As escolhas anteriores não são mutuamente exclusivas. Eles geralmente são usados juntos no contexto de toda a solução. Um estágio pode atuar como um controle compensatório. Por exemplo, talvez seja necessário isolar dados para evitar a violação quando os dados são lidos da memória.
Determinar os requisitos de criptografia
Classifique os dados por sua finalidade e nível de confidencialidade para determinar quais dados você precisa criptografar. Para dados que devem ser criptografados, determine o nível de proteção necessário. Você precisa de criptografia TLS de ponta a ponta para todos os dados em trânsito? Para dados em repouso, quais recursos do Azure podem atender às suas necessidades? Você precisa criptografar dados duas vezes em cada ponto de armazenamento? Como implementar a proteção de informações?
É importante equilibrar suas decisões de criptografia porque há compensações significativas.
Compensação: cada salto de criptografia pode introduzir latência de desempenho. Complexidades operacionais podem ocorrer em relação à solução de problemas e à observabilidade. A recuperação pode ser um desafio.
Escopo dessas compensações. Antecipe as compensações de dados classificados como confidenciais. Os requisitos podem até determinar as compensações, por exemplo, se um determinado tipo de dados deve ser criptografado e armazenado dentro de determinados limites.
Há casos em que a criptografia não é possível devido a limitações técnicas, investimento ou outros motivos. Verifique se esses motivos são claros, válidos e documentados.
Mecanismos de criptografia fortes não devem ser sua única forma de defesa. Implementar processos de prevenção contra roubo de dados, métodos de teste adequados e detecção de anomalias.
Para obter informações sobre classificação, consulte Recomendações sobre classificação de dados.
Usar mecanismos de criptografia nativos
A maioria dos serviços do Azure fornece um nível base de criptografia. Explore as opções de criptografia fornecidas pela plataforma.
É altamente recomendável que você não desabilite os recursos da plataforma para desenvolver sua própria funcionalidade. Os recursos de criptografia de plataforma usam padrões modernos do setor, são desenvolvidos por especialistas e são altamente testados.
Para ocasiões raras, se você precisar substituir a criptografia fornecida pela plataforma, avalie os prós e contras e use algoritmos criptográficos padrão do setor.
Os desenvolvedores devem usar APIs de criptografia que são incorporadas ao sistema operacional em vez de bibliotecas de criptografia nãoplataforma. Para .NET, siga o modelo de criptografia do .NET.
Escolher uma abordagem de chaves de criptografia
Por padrão, os serviços do Azure usam chaves de criptografia gerenciadas pela Microsoft para criptografar e descriptografar dados. O Azure é responsável pelo gerenciamento de chaves.
Você pode optar por chaves gerenciadas pelo cliente. O Azure ainda usa suas chaves, mas você é responsável por operações de chave. Você tem a flexibilidade de alterar as chaves quando quiser. A descriptografia é um motivo convincente para usar chaves gerenciadas pelo cliente.
Você deve emparelhar criptografia forte com descriptografia forte. Do ponto de vista de segurança, proteger uma chave de descriptografia é importante porque a rotação é uma maneira comum de controlar o raio de explosão se uma chave estiver comprometida. Monitore o acesso para detectar acesso e atividades anômalas.
Armazene chaves separadas dos dados criptografados. Essa desacoplamento ajuda a garantir que o comprometimento de uma entidade não afete a outra. Se você usar chaves gerenciadas pelo cliente, armazene-as em um repositório de chaves. Armazene dados altamente confidenciais em um HSM (módulo de segurança de hardware gerenciado).
Ambos os repositórios são protegidos com acesso baseado em identidade. Esse recurso permite que você negue o acesso, até mesmo à plataforma.
Usar algoritmos de criptografia padrão
Use algoritmos de criptografia bem estabelecidos e sigam os padrões do setor em vez de criar implementações personalizadas.
Os padrões do setor para algoritmos exigem que os esquemas de criptografia tenham um certo nível de entropia. As fontes de entropia são injetadas durante a criptografia. A entropia torna o algoritmo forte e dificulta a extração de informações por um invasor. Determine os limites toleráveis da entropia. Os procedimentos de criptografia têm uso intensivo de processador. Encontre o equilíbrio certo para que você esteja maximizando os ciclos de computação que são gastos na criptografia, em relação às metas gerais de desempenho da solicitação de computação.
Compensação: se você escolher um algoritmo altamente complexo ou injetar mais do que uma quantidade razoável de entropia, isso prejudicará o desempenho do sistema.
Usar hashes e somas de verificação
Normalmente, o hash é uma técnica de detecção de erros. Você também pode usar hash para segurança porque detecta alterações nos dados que podem ser causadas por adulteração. As funções de hash são baseadas na criptografia, mas não usam chaves. As funções de hash usam algoritmos para produzir somas de verificação. Somas de verificação podem comparar dados para verificar a integridade dele.
Os aplicativos devem usar a família SHA-2 de algoritmos de hash, como SHA-256, SHA-384 ou SHA-512.
Criptografar dados em repouso
Classifique e proteja objetos de armazenamento de informações de acordo com os requisitos de conformidade internos e externos. Confira as seguintes recomendações:
Criptografe dados usando opções nativas fornecidas para serviços de armazenamento, armazenamentos de dados e outros recursos usados para persistir dados. Criptografe esses dados mesmo que você armazene dados nesses serviços de armazenamento ou recursos apenas temporariamente. Além disso, criptografe seus dados de backup para manter o mesmo nível de segurança que a fonte original.
Para obter mais informações, consulte a proteção de dados em repouso.
Use criptografia dupla. Se os requisitos de negócios exigem uma garantia mais alta, você pode executar criptografia dupla. Criptografar dados em duas ou mais camadas usando chaves gerenciadas pelo cliente independentes. Armazene os dados em um HSM gerenciado. Para ler os dados, você precisa de acesso a ambas as chaves. Se uma chave estiver comprometida, a outra chave ainda protegerá os dados. Essa técnica visa aumentar os custos do invasor.
Você também pode usar a criptografia fornecida pela plataforma para criptografar dados duas vezes. A criptografia fornecida pela plataforma protege a mídia de armazenamento no nível da infraestrutura e você aplica outra camada de criptografia no nível de dados. Por exemplo, um serviço de agente de mensagens tem criptografia fornecida pela plataforma por meio de chaves gerenciadas pela Microsoft que protegem o pipe de mensagem. Esse método permite criptografar as mensagens com chaves gerenciadas pelo cliente.
Use mais de uma chave de criptografia. Use uma KEK (chave de criptografia de chave) para proteger sua DEK (chave de criptografia de dados).
Use controles de acesso baseados em identidade para controlar o acesso aos dados. Adicione firewalls de rede para fornecer uma camada extra de segurança que bloqueia o acesso inesperado e não seguro.
Para obter mais informações, consulte Recomendações parade gerenciamento de identidade e acesso.
Armazene chaves em um HSM gerenciado que tenha controle de acesso com privilégios mínimos. Separe os dados das chaves para os dados.
Armazene uma quantidade limitada de dados para criptografar apenas o que é necessário. Seus dados não devem viver mais do que o ciclo de criptografia. Quando os dados não forem mais necessários, exclua os dados criptografados sem gastar ciclos de descriptografia.
Criptografar dados em trânsito
Use protocolos seguros para comunicação cliente-servidor. Os protocolos de transporte têm uma camada interna de segurança. O TLS é o padrão do setor para a troca de dados entre pontos de extremidade de cliente e servidor.
Não use versões inferiores ao TLS 1.2. Migre soluções para dar suporte ao TLS 1.2 e use essa versão por padrão. Todos os serviços do Azure dão suporte ao TLS 1.2 em pontos de extremidade HTTPS públicos.
Risco: clientes mais antigos que não dão suporte ao TLS 1.2 podem não funcionar corretamente se não houver suporte para compatibilidade com versões anteriores.
Toda a comunicação do site deve usar HTTPS, independentemente da confidencialidade dos dados transferidos. Durante um handshake cliente-servidor, negocie o uso da política HSTS (Segurança de Transporte Estrito HTTP) para que o transporte HTTPS seja mantido e não seja removido para HTTP durante a comunicação. Esta política protege contra ataques de homem no meio.
O suporte para HSTS é para versões mais recentes. Você pode quebrar a compatibilidade com versões anteriores com navegadores mais antigos.
Observação
Você também pode criptografar protocolos para estabelecer conexões seguras para bancos de dados. Por exemplo, o Banco de Dados SQL do Azure dá suporte ao protocolo TDS (Fluxo de Dados Tabular), que integra um handshake do TLS.
Um conjunto de criptografias é um conjunto de algoritmos que são usados para padronizar o handshake entre o cliente e o servidor. As criptografias garantem que a troca seja criptografada e autenticada. A escolha das criptografias depende da versão do TLS que o servidor usa. Para alguns serviços, como o Gateway de Aplicativo do Azure, você pode escolher a versão do TLS e os pacotes de criptografia que deseja dar suporte. Implemente conjuntos de criptografia que usam o AES (Advanced Encryption Standard) como uma criptografia de bloco simétrico. AES-128, AES-192 e AES-256 são aceitáveis.
Gerenciar o ciclo de vida dos certificados. Os certificados têm um tempo de vida predeterminado. Não mantenha certificados de longa duração e não os deixe expirar por conta própria. Implemente um processo que renove certificados em uma frequência aceitável. Você pode automatizar o processo de renovações que ocorrem em intervalos curtos.
Observação
Se você usar a fixação de certificado, familiarize-se com as limitações de agilidade e gerenciamento de certificados.
Seu fluxo de trabalho não deve permitir que certificados inválidos sejam aceitos no ambiente. O processo de fixação de certificado deve validar certificados e impor essa verificação de validação. Você deve monitorar os logs de acesso para garantir que a chave de assinatura seja usada com permissões adequadas.
Se uma chave estiver comprometida, o certificado deverá ser revogado imediatamente. Uma AC (autoridade de certificação) fornece uma CRL (lista de certificados revogados) que indica os certificados que são invalidados antes de sua expiração. Sua verificação de validação deve considerar CRLs.
Compensação: o processo de validação de certificação pode ser complicado e geralmente envolve uma AC. Determine os dados que você deve criptografar com certificados. Para outros tipos de comunicação, determine se você pode implementar controles de compensação localizados para adicionar segurança.
Uma maneira de localizar controles é com TLS mútuo (mTLS). Ele estabelece a confiança em ambas as direções entre o cliente e o servidor. O cliente e o servidor têm seus próprios certificados e cada certificado é autenticado com seu par de chaves pública ou privada. Com o mTLS, você não depende da AC externa. A compensação é a complexidade adicional do gerenciamento de dois certificados.
Criptografar duas conexões VPN, se necessário. Execute criptografia dupla para adicionar defesa em profundidade ao túnel VPN. Ao usar dois servidores VPN, você pode ocultar o endereço IP entre os servidores e também ocultar o endereço IP entre o servidor e o destino. Durante esse processo, os dados em trânsito também são criptografados duas vezes.
Compensação: em comparação com configurações de VPN simples, as configurações de VPN duplas geralmente são mais caras e as conexões geralmente são mais lentas.
Implementar processos de registro em log e monitoramento. Acompanhe os recursos de entrada de acesso que armazenam informações sobre clientes, como ip de origem, porta e protocolo. Use essas informações para detectar anomalias.
Criptografar dados em uso
Para cargas de trabalho de alta segurança, segmentação, isolamento e privilégios mínimos são padrões de design recomendados.
No contexto de proteção em uso, os limites de hardware podem exigir criptografia de dados enquanto eles estão em uso na CPU física e na memória para garantir o isolamento de VMs, código de gerenciamento de host e outros componentes. A criptografia e a descriptografia de dados só devem ser feitas dentro desses limites de isolamento.
Requisitos regulatórios ou de segurança mais rigorosos também podem exigir evidências baseadas em hardware e assinadas criptograficamente de que os dados estão sendo criptografados durante o uso, isso pode ser obtido por meio do atestado. A computação confidencial é uma dessas tecnologias que dá suporte ao requisito. Serviços específicos no Azure oferecem a capacidade de proteger dados enquanto eles estão sendo computados. Para obter mais informações, consulte a Facilitação do Azure: Computação Confidencial do Azure.
Considere o ciclo de vida de fim de dados que você está protegendo os dados geralmente se move por vários sistemas em seu tempo de vida, tome cuidado para garantir que todas as partes componentes de uma solução possam fornecer os níveis necessários de proteção ou garantir que sua estratégia de gerenciamento de dados forneça segmentação ou mascaramento apropriados.
Facilitação do Azure
As seções a seguir descrevem os serviços e recursos do Azure que você pode usar para criptografar seus dados.
Chaves gerenciadas pelo cliente
Armazene chaves gerenciadas pelo cliente no Azure Key Vault ou em um HSM gerenciado pelo Key Vault.
O Key Vault trata as chaves como qualquer outro segredo. O RBAC (controles de acesso baseado em função) do Azure acessa as chaves por meio de um modelo de permissão. Esse controle baseado em identidade deve ser usado com políticas de acesso do Key Vault.
Para obter mais informações, consulte Fornecer acesso a chaves, certificados e segredos do Key Vault usando RBAC.
O Azure Key Vault Premium e o Managed-HSM aprimoram ainda mais a oferta, incluindo recursos de computação confidencial e Versão de Chave Segura , que dá suporte a uma política para garantir que uma chave só seja liberada para uma carga de trabalho que possa provar criptograficamente que está sendo executada dentro de um TEE (Ambiente de Execução Confiável).
Proteção de dados em repouso
O Armazenamento do Azure criptografa automaticamente seus dados com criptografias de bloco quando os dados são persistidos em uma conta de armazenamento. Para o Armazenamento de Blobs do Azure e o Armazenamento de Filas do Azure, o Armazenamento também fornece criptografia do lado do cliente por meio de bibliotecas.
Para obter mais informações, consulte Criptografia de armazenamento.
As Máquinas Virtuais do Azure têm arquivos de disco que servem como volumes de armazenamento virtual. Você pode criptografar os arquivos de disco virtual para que o conteúdo não possa ser acessado.
Os discos gerenciados podem ser exportados do portal. A criptografia e a criptografia do lado do servidor no host só podem proteger os dados depois que eles são exportados. No entanto, você deve proteger os dados durante o processo de exportação. Você pode usar o Azure Disk Encryption para proteger e proteger seus dados durante o processo de exportação.
O Azure oferece várias opções de criptografia para discos gerenciados. Para obter mais informações, consulte Visão geral das opções de criptografia de disco gerenciado.
O Banco de Dados SQL oferece um recurso de criptografia de dados transparente usado para criptografar um arquivo de banco de dados no nível da página.
Proteção de dados em trânsito
Com o Key Vault, você pode provisionar, gerenciar e implantar certificados SSL (Protocolo SSL) ou TLS públicos e privados. Você pode usar os certificados com o Azure e com seus recursos conectados internos.
Proteção de dados em uso
Serviços específicos no Azure oferecem a capacidade de proteger dados enquanto são computados dentro da CPU física e da memória de um host usando a computação confidencial do Azure.
As Máquinas Virtuais Confidenciais oferecem uma máquina virtual inteira em execução dentro de um TEE, a memória e a execução do conteúdo da CPU da máquina virtual são criptografadas oferecendo uma abordagem simples de "lift &shift" para mover aplicativos não modificados com altos requisitos de segurança para o Azure. Cada VM confidencial do Azure tem seu próprio TPM (Virtual Trust Platform Module) dedicado. A criptografia é executada enquanto os componentes do sistema operacional são inicializados com segurança.
Nós de trabalho confidenciais do AKS, contêineres confidenciais no AKS ou contêineres confidenciais nas Instâncias de Contêiner do Azure (ACI) oferecem a capacidade de executar e gerenciar contêineres não modificados dentro de um TEE que permite que os clientes se beneficiem da proteção em uso. As ofertas de contêiner são baseadas em Máquinas Virtuais Confidenciais e se beneficiam das mesmas proteções.
As soluções de Enclave de Aplicativo são aplicativos criados especialmente aproveitando extensões de CPU específicas oferecidas por SKUs de máquina virtual que dão suporte a SGX (Extensões do Intel Software Guard), elas oferecem uma TCB (Base de Computação Confiável) muito granular, mas exigem que os aplicativos sejam codificados especificamente para aproveitar os recursos.
Os Serviços de Banco de Dados Confidenciais, como o Banco de Dados do Azure para PostgreSQL de computação confidencial, fornecem criptografia baseada em hardware para operações de processamento de banco de dados usando enclaves seguros do Intel SGX ou do AMD SEV-SNP. Isso permite que as organizações que processam dados confidenciais atendam aos requisitos regulatórios que exigem proteção de dados em uso, mantendo o desempenho e a compatibilidade do banco de dados com aplicativos existentes.
A versão de chave segura pode ser combinada com essas tecnologias para garantir que os dados criptografados só sejam descriptografados dentro de um TEE, o que prova que ele fornece o nível de proteção necessário por meio de um processo conhecido como Atestado.
Gerenciamento de segredos
Você pode usar o Key Vault para armazenar e controlar com segurança o acesso a tokens, senhas, certificados, chaves de API e outros segredos. Use o Key Vault como uma solução de gerenciamento de chaves e certificados. O SKU Premium dá suporte a HSMs.
Example
O exemplo a seguir mostra soluções de criptografia que você pode usar para gerenciar chaves, certificados e segredos.
Links relacionados
- Modelo de criptografia .NET
- Criptografia de Disco do Azure
- Criptografia de armazenamento para dados em repouso
- Fixação de certificado nos serviços do Azure
- Fornecer acesso a chaves, certificados e segredos do Key Vault usando o RBAC
- Visão geral das opções de criptografia de disco gerenciado
- Criptografia de dados transparente
- Visão geral do Módulo da Plataforma confiável
- Computação confidencial do Azure
Links da comunidade
Lista de verificação de segurança
Consulte o conjunto completo de recomendações.