Google Cloud Attestation

A atestação é o processo que estabelece confiança na Computação confidencial. O atestado funciona como um mecanismo de verificação digital, garantindo que os dados confidenciais sejam processados apenas em ambientes de execução confiáveis (TEEs) baseados em hardware que foram rigorosamente verificados.

O atestado do Google Cloud oferece uma solução unificada para verificar remotamente a confiabilidade de todos os ambientes confidenciais do Google. O serviço oferece suporte à atestação de ambientes confidenciais com suporte de um módulo de plataforma confiável virtual (vTPM) para SEV e o módulo TDX para Intel TDX.

O atestado do Google Cloud pode ser aplicado aos seguintes serviços Google Cloud:

Serviço de computação confidencial Tecnologia de computação confidencial Suporte do Google Cloud Attestation
VM confidencial AMD SEV
VM confidencial AMD SEV-SNP
VM confidencial Intel TDX
Confidential Space AMD SEV
Confidential Space Intel TDX
Confidential GKE Nodes AMD SEV

Embora o atestado do Google Cloud seja conveniente, as ferramentas de código aberto também podem receber relatórios de atestado diretamente para instâncias de VMs confidenciais. Para mais detalhes, consulte Solicitar um relatório de atestado.

Como funciona a comprovação do Google Cloud

O atestado do Google Cloud coleta internamente endossos diretamente de fornecedores de hardware e mantém seu próprio conjunto de valores de referência e políticas de avaliação adaptadas especificamente para cada ambiente confidencial. Ele fornece APIs para usuários do Google Cloud buscarem tokens de declarações de resultados de atestado.

O Google Cloud Attestation coleta informações do seu ambiente confidencial e as verifica em relação a valores aprovados e políticas mantidas pelo Google. Essas verificações são convertidas em declarações verificáveis que aderem ao padrão IETF Remote ATtestation ProcedureS (RATS) Entity Attestation Token (EAT). Em seguida, o Google Cloud Attestation fornece provas criptográficas dessas declarações que podem ser usadas por serviços que dependem delas, como o Secret Manager e o Identity and Access Management (IAM) do Google.

As provas criptográficas podem ser validadas das seguintes maneiras:

  1. Usando uma chave pública. Para mais informações, consulte Tokens do OIDC. Essa é a opção mais simples e funciona de forma nativa com aplicativos compatíveis com OIDC.

  2. Usando um certificado raiz. Para mais informações, consulte Tokens de PKI. Essa opção permite a verificação off-line, sem que cada parte confiável precise descobrir a chave de verificação. Para um exemplo completo de validação off-line, consulte o codelab Usar o Confidential Space com recursos protegidos que não são armazenados com um provedor de nuvem.

Visão geral da arquitetura RATS

A arquitetura de procedimentos de atestado remoto (RATS, na sigla em inglês) envolve as seguintes entidades principais:

  • Atestador: uma entidade que fornece evidências da própria confiabilidade. Em Google Cloud, esse é um ambiente confidencial (por exemplo, VM confidencial, nós confidenciais do GKE ou Confidential Space).

  • Verificador: uma entidade que avalia as evidências e gera resultados de atestado. Este é o Google Cloud Attestation.

  • Parte confiante: uma entidade que depende dos resultados do atestado para tomar decisões (por exemplo, um app para dispositivos móveis, um bucket de armazenamento ou um sistema de gerenciamento de chaves).

A arquitetura do RATS abrange as seguintes funções principais:

  • Proprietário da parte confiante: uma entidade que configura a política de avaliação para a parte confiante.

  • Proprietário do verificador: uma entidade que configura a política de avaliação para o verificador (por exemplo, o Google).

  • Endossante: uma entidade que fornece endossos para validar as capacidades do atestador (por exemplo, OEMs de hardware como AMD, Intel ou Nvidia).

  • Provedor de valores de referência: uma entidade que fornece valores de referência para o verificador validar as declarações do atestador.

Fluxo de trabalho de atestado do modelo de passaporte

O Google Cloud Attestation usa o modelo de passaporte. O fluxo de trabalho de alto nível do modelo de passaporte envolve as seguintes etapas:

  1. O atestador (ambiente confidencial) solicita um resultado de atestado do verificador (atestado do Google Cloud) fornecendo evidências.

  2. O verificador avalia as evidências e emite um resultado de atestado.

  3. O atestador apresenta esse resultado à parte confiante.

Nesse fluxo de trabalho, o atestado do Google Cloud atua como o verificador. Ambientes confidenciais, como VMs confidenciais, nós confidenciais do GKE ou Confidential Space, atuam como atestadores. As partes confiáveis incluem o EKM da Thales, o Google IAM e outros corretores de tokens.

Para garantir a atualização dos resultados de atestado, o Google Cloud Attestation usa um número criptográfico que não pode ser reutilizado. O atestador pode fornecer um número aleatório, que é acordado com a parte confiante, ao verificador. A parte confiável pode validar esse número para garantir a atualização e a correção.