Atestado do Microsoft Azure

O Atestado do Microsoft Azure é uma solução unificada para verificar remotamente a confiabilidade de uma plataforma e a integridade dos binários em execução dentro dela. O serviço oferece suporte à atestação de plataformas com suporte de Trusted Platform Modules (TPMs), bem como à capacidade de atestar o estado de Ambientes de Execução Confiáveis (TEEs), como enclaves do Intel® Software Guard Extensions (SGX), enclaves de Segurança Baseada em Virtualização (VBS), Trusted Platform Modules (TPMs), Inicialização Confiável para VMs do Azure e VMs confidenciais do Azure.

O atestado é um processo usado para demonstrar que os binários de software foram instanciados corretamente em uma plataforma confiável. Em seguida, as partes que dependem remotamente podem ter confiança de que somente o software pretendido está em execução no hardware confiável. O Atestado do Azure é um serviço unificado voltado ao cliente e uma estrutura para o atestado.

O Atestado do Azure permite paradigmas de segurança de ponta, como a Computação confidencial do Azure e a proteção de borda inteligente. O serviço recebe evidências de entidades de computação, as transforma em um conjunto de declarações, valida-as em relação a políticas configuráveis e produz provas criptográficas para aplicativos baseados em declarações (por exemplo, partes confiáveis e autoridades de auditoria).

Atestado do Azure dá suporte ao atestado de plataforma e convidado de CVMs (VMs Confidenciais) baseadas em AMD SEV-SNP. O atestado de plataforma baseado no Atestado do Azure ocorre automaticamente durante o caminho de inicialização crítico das CVMs, sem necessidade de ação por parte do cliente. Para ver mais detalhes sobre o atestado de convidado, consulte Anunciamos a disponibilidade geral do atestado de convidado para VMs confidenciais.

Casos de uso

O Atestado do Azure fornece serviços de atestado abrangentes para vários ambientes e casos de uso diferentes.

Atestado SEV-SNP da AMD em VMs Confidenciais

A VM Confidencial do Azure (CVM) é baseada em processadores AMD com tecnologia SEV-SNP. A CVM oferece a opção de criptografia de disco de SO de VM com chaves gerenciadas pela plataforma ou pelo cliente e vincula as chaves de criptografia de disco ao TPM da máquina virtual. Quando um CVM é inicializado, o relatório SNP que contém as medidas de firmware da VM convidada é enviado para o Atestado do Azure. O serviço valida as medições e emite um token de atestado que é usado para liberar chaves do HSM gerenciado ou do Azure Key Vault. Essas chaves são usadas para descriptografar o estado vTPM da VM convidada, desbloquear o disco do sistema operacional e iniciar o CVM. O processo de atestado e liberação de chave é executado automaticamente em cada inicialização do CVM e garante que ele seja inicializado somente após o atestado bem-sucedido do hardware.

Atestado SEV-SNP da AMD em Contêineres Confidenciais

Os Contêineres Confidenciais do Azure são baseados em processadores AMD com tecnologia SEV-SNP. Contêineres confidenciais, hospedados em Instâncias de Contêiner do Azure e em Serviço de Kubernetes do Azure (em versão prévia), oferecem a capacidade de executar grupos de contêineres em um ambiente de execução confiável SEV-SNP protegido que isola esse grupo de contêineres do plano de controle de gerenciamento de contêineres e outros contêineres em execução. O atestado em contêineres confidenciais envolve a obtenção do relatório de atestado de hardware da AMD diretamente do processador. Você pode realizar essa tarefa com o contêiner sidecar SKR ou incorporá-la diretamente à lógica do aplicativo. O relatório de hardware pode então ser usado com o Atestado do Azure e o HSM gerenciado ou o Azure Key Vault Premium (AKV) para recuperar segredos. Você também pode fornecer o relatório de hardware ao seu próprio sistema de cofre de chaves, conforme desejado.

Atestado de Início Confiável

Os clientes do Azure podem impedir infecções de bootkit e rootkit habilitando o Início confiável para suas máquinas virtuais (VMs). Quando a Inicialização Segura e o vTPM estão habilitados na VM com a extensão de atestado de convidado instalada, as medições do vTPM são enviadas periodicamente ao Atestado do Azure para monitorar a integridade da inicialização. Uma falha de atestado indica um possível malware, que aparece para os clientes por meio do Microsoft Defender para Nuvem, por meio de Alertas e Recomendações.

Atestado de TPM

O atestado baseado em Trusted Platform Modules (TPM) é fundamental para fornecer prova do estado de uma plataforma. O TPM funciona como a raiz da confiança e o coprocessador de segurança para fornecer a validade de criptografia para medidas (evidência). Os dispositivos com um TPM podem depender do atestado para provar que a integridade da inicialização não está comprometida e usar as declarações para detectar a habilitação do estado do recurso durante a inicialização.

Os aplicativos cliente podem ser criados para aproveitar o atestado TPM, delegando tarefas confidenciais de segurança para ocorrerem apenas depois que uma plataforma for validada para ser segura. Em seguida, esses aplicativos podem usar o Atestado do Azure para estabelecer a confiança rotineiramente na plataforma e a capacidade dela de acessar dados confidenciais.

Atestado de enclave de SGX

O Intel® Software Guard Extensions (SGX) refere-se ao isolamento de nível de hardware, que é compatível com determinados modelos de CPUs Intel. O SGX permite que o código seja executado em compartimentos seguros chamados enclaves SGX. Depois, as permissões de acesso e de memória são gerenciadas pelo hardware para garantir uma superfície de ataque mínima com isolamento adequado.

Os aplicativos cliente podem ser projetados para tirar proveito dos enclaves do SGX, delegando a realização de tarefas sensíveis à segurança dentro desses enclaves. Em seguida, esses aplicativos podem usar o Atestado do Azure para rotineiramente estabelecer a confiança no enclave e sua capacidade de acessar dados confidenciais.

Os processadores escaláveis Intel® Xeon® dão suporte apenas a soluções de atestado baseadas em ECDSA para atestar remotamente enclaves SGX. Utilizando o modelo de atestado baseado em ECDSA, o Atestado do Azure dá suporte à validação de processadores Intel® Xeon® E3 e plataformas de servidor escalonáveis baseadas em processador Intel® Xeon®.

Observação

Para executar o atestado das plataformas de servidor escalonáveis baseadas em processador Intel® Xeon® usando Atestado do Azure, os usuários devem instalar a versão 1.10.0 do Azure DCAP ou superior.

Atestado de enclave aberto

O OE (Open Enclave) é uma coleção de bibliotecas destinadas à criação de uma abstração unificada de enclaves para que os desenvolvedores criem aplicativos baseados em TEE. Ele oferece um modelo de aplicativo seguro universal que minimiza as especificidades de plataforma. A Microsoft o considera como uma base essencial para a democratização das tecnologias de enclave baseadas em hardware, como o SGX, e para a adoção delas no Azure.

O OE padroniza os requisitos específicos para a verificação de uma evidência de enclave. Isso qualifica o OE como um consumidor de atestado altamente qualificado do Atestado do Azure.

O Atestado do Azure é executado em um Ambiente de Execução Confiável (TEE)

O Atestado do Azure é crítico para cenários de Computação Confidencial, pois ele executa as seguintes ações:

  • Verifica se as evidências do enclave são válidas.
  • Avalia as evidências do enclave com relação a uma política definida pelo cliente.
  • Gerencia e armazena políticas específicas do locatário.
  • Gera e assina um token que é usado por partes confiantes para interagir com o enclave.

Para manter a Microsoft operacionalmente fora da base computacional confiável (TCB), operações críticas do Atestado do Azure, como validação da cotação de atestação, geração de tokens, avaliação de políticas e assinatura de tokens, são transferidas para um enclave SGX.

Por que usar o Atestado do Azure

O Atestado do Azure é a escolha preferencial para atestar os TEEs, pois oferece os seguintes benefícios:

  • Estrutura unificada para atestar vários ambientes, como TPMs, enclaves SGX e enclaves VBS.
  • Permite a criação de provedores de atestado personalizados e a configuração de políticas para restringir a geração de token.
  • Protege seus dados em uso por meio da implementação em um enclave SGX ou em uma Máquina Virtual Confidencial baseada em AMD SEV-SNP.
  • Serviço altamente disponível.

Como estabelecer confiança com o Atestado do Azure

  1. Verifique se o token de atestado é gerado pelo Atestado do Azure – um token de atestado gerado pelo Atestado do Azure é assinado usando um certificado autoassinado. A URL dos certificados de assinatura é exposta por meio de um ponto de extremidade de metadados OpenID. Uma parte confiável pode recuperar o certificado de assinatura e realizar a verificação da assinatura do token de atestado. Para obter mais informações, consulte exemplos de código.
  2. Verifique se Atestado do Azure está em execução dentro de um contêiner de SEV-SNP – os certificados de assinatura de token incluem informações sobre o TEE no qual Atestado do Azure é executado. Esse collateral de TEE é um relatório SEV-SNP. A terceira parte confiável pode verificar se Atestado do Azure está em execução dentro de um TEE válido validando localmente o relatório. Para obter exemplos de código, consulte SEV-SNP.
  3. Validar a vinculação do relatório de TEE do Atestado do Azure com a chave que assinou o token de atestado - A parte confiável pode verificar se o hash da chave pública que assinou o token de atestado corresponde ao campo de dados do relatório no relatório de TEE do Atestado do Azure. Para obter mais informações, consulte o exemplo de código.
  4. Valide se as medições do código do Atestado do Azure correspondem aos valores publicados do Azure: o colateral de TEE incorporado aos certificados de assinatura dos tokens de atestado inclui medições de código do Atestado do Azure. Uma parte confiadora pode validar que o relatório pertence ao Atestado do Azure comparando valores específicos recuperados do colateral do TEE no certificado de assinatura do token de atestação com os valores fornecidos pela equipe do Atestado do Azure. Para SEV-SNP, HOST_DATA deve ser validado. Para obter mais informações, consulte o exemplo de código. Se você estiver interessado em executar essa validação, envie uma solicitação na página Suporte do Azure. A equipe do Atestado do Azure entra em contato com você quando esses valores específicos estiverem programados para serem rotacionados.
  5. Tenha confiança na procedência da compilação - O Atestado do Azure está integrado à Signing Transparency (MST) da Microsoft. MST registra assinaturas de código em um livro-razão imutável e à prova de adulteração. O serviço MST fornece recibos criptograficamente verificáveis e compatíveis com SCITT que fornecem visibilidade clara das implantações do Atestado do Azure, fortalecendo a confiança, a auditoria e a conformidade regulatória. Para saber mais sobre o MST e como validar artefatos de compilação, consulte Sobre o ledger de Transparência de Assinatura da Microsoft.

Espera-se que os valores que identificam instâncias válidas do Atestado do Azure sejam alterados quando os certificados de assinatura de código forem rotacionados ou quando as atualizações de segurança vierem a requerer novas versões de política. A equipe de Atestado do Azure segue este agendamento de distribuição para cada rotação planejada:

  1. A equipe de Atestado do Azure notifica os consumidores sobre os novos valores com um período de carência de dois meses para implementar alterações de código relevantes.
  2. Após o período de carência de dois meses, o Atestado do Azure começa a usar os novos valores.
  3. Três meses após a data de notificação, o Atestado do Azure para de usar os valores antigos.

Para rotações não planejadas, incluindo aquelas exigidas por atualizações de segurança, a equipe de Atestado do Azure comunica novos valores com um período de carência de um mês.

Suporte à BCDR (continuidade dos negócios e recuperação de desastre)

A BCDR (Continuidade dos Negócios e Recuperação de Desastres) do Atestado do Azure permite reduzir as interrupções de serviço resultantes de problemas de disponibilidade ou eventos de desastres significativos em uma região.

Os clusters implantados em duas regiões funcionarão de maneira independente em circunstâncias normais. No caso de uma falha ou uma interrupção de uma região, ocorrerá o seguinte:

  • A BCDR do Atestado do Azure fornecerá um failover integrado no qual os clientes não precisam tomar nenhuma providência extra para a recuperação.
  • O Gerenciador de Tráfego do Azure da região detecta que a sonda de integridade está com falha e altera o ponto de extremidade para a região emparelhada.
  • As conexões existentes não funcionam e recebem erros internos do servidor ou problemas de tempo limite.
  • Todas as operações do plano de controle são bloqueadas. Os clientes não podem criar provedores de atestado na região primária.
  • Todas as operações do plano de dados, incluindo chamadas de atestação e configuração de políticas, são processadas pela região secundária. Os clientes podem continuar a trabalhar em operações de plano de dados com o URI original correspondente à região primária.

Próximas etapas