Declarações de token do Google Cloud Attestation

Este documento descreve as declarações nos tokens do Google Cloud Attestation. Os tokens são tokens de atestação de entidade (EATs), que são codificados como JSON Web Tokens (JWTs). Os JWTs podem ser decodificados usando ferramentas como https://jwt.io/.

As declarações são definidas no endpoint well-known do Google Cloud Attestation.

Exemplos de tokens decodificados

As declarações em um token de atestado do Google Cloud Attestation variam de acordo com a tecnologia de Computação Confidencial usada na sua instância de VMs confidenciais.

AMD SEV

Confira a seguir um exemplo de token de atestado da SEV da AMD decodificado:

{
  "alg": "RS256",
  "kid": "6e66f1aededf736581df2599ee20387718978dcd",
  "typ": "JWT"
}.
{
  "aud": "AUDIENCE",
  "exp": 1715359550,
  "iat": 1715355950,
  "iss": "https://confidentialcomputing.googleapis.com",
  "nbf": 1698861565,
  "sub": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME",
  "eat_nonce": [
    "thisIsAcustomNonce",
    "thisIsAMuchLongerCustomNonceWithPaddingFor74Bytes0000000000000000000000000"
  ],
  "secboot": true,
  "oemid": 11129,
  "hwmodel": "GCP_AMD_SEV",
  "swname": "GCE",
  "eat_profile": "https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims",
  "submods": {
    "gce": {
      "zone": "ZONE",
      "project_id": "PROJECT_ID",
      "project_number": "PROJECT_NUMBER",
      "instance_name": "INSTANCE_NAME",
      "instance_id": "INSTANCE_ID"
    }
  },
  "google_service_accounts": [
    "470652426305-compute@developer.gserviceaccount.com"
  ]
}

Intel TDX

Confira a seguir um exemplo de um token de atestado do Intel TDX decodificado:

{
  "alg": "RS256",
  "kid": "6e66f1aededf736581df2599ee20387718978dcd",
  "typ": "JWT"
}.
{
  "aud": "AUDIENCE",
  "exp": 1715359550,
  "iat": 1715355950,
  "iss": "https://confidentialcomputing.googleapis.com",
  "nbf": 1698861565,
  "sub": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID",
  "eat_nonce": "thisIsAcustomNonce",
  "secboot": true,
  "oemid": 11129,
  "hwmodel": "GCP_INTEL_TDX",
  "swname": "GCE",
  "dbgstat": "disabled-since-boot",
  "eat_profile": "https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims",
  "submods": {
    "gce": {
      "zone": "ZONE",
      "project_number": "PROJECT_NUMBER",
      "instance_id": "INSTANCE_ID"
    }
  },
  "tdx": {
    "gcp_attester_tcb_date": "2026-06-01T00:00:00Z",
    "tcb_evaluation_data_number": 17,
    "fmspc": "00806F000000",
    "tee_tcb_svn": "06010300000000000000000000000000",
    "pcesvn": 11,
    "sgx_tcb_comp_svn": "08080202040100060000000000000000",
    "xfam": "e702060000000000",
    "tdattributes": "0000000000000000",
    "mrtd": "c68518a0ebb42136c12b2275164f8c72f25fa9a343922286a41b52bc7e4c2787e35b7782b132454191a27e366bc33e8a",
    "rtmr0": "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1",
    "rtmr1": "b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2",
    "rtmr2": "c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3",
    "rtmr3": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  },
  "google_service_accounts": [
    "470652426305-compute@developer.gserviceaccount.com"
  ]
}

Declarações de token

A tabela a seguir descreve as declarações de alto nível em um token do Google Cloud Attestation. Essas declarações estão em conformidade com a especificação do OpenID Connect 1.0.

Valores de endpoint well-known Descrição
claims_supported Consulte Declarações de nível superior.
id_token_signing_alg_values_supported Os algoritmos de assinatura (valores alg) compatíveis com o token. A VM confidencial é compatível com o algoritmo RS256.
issuer

O esquema HTTPS que a VM confidencial usa como identificador do emissor.

O valor é https://confidentialcomputing.googleapis.com.

jwks_uri

O caminho para as chaves públicas usadas para verificar a assinatura do token. Você pode publicar essas chaves em um bucket do Cloud Storage.

As chaves jwks_uri podem ser encontradas em https://www.googleapis.com/service_accounts/v1/metadata/jwk/signer@confidentialspace-sign.iam.gserviceaccount.com.

Um exemplo de valor é https://example.storage.googleapis.com/jwks.json.

response_types_supported A lista de tipos de resposta da VM confidencial compatíveis. A VM confidencial é compatível com id_token.
scopes_supported Os valores de escopo do OAuth 2.0 compatíveis com a instância de VM confidencial. A VM confidencial é compatível apenas com openid.
subject_types_supported Os tipos de identificadores de assunto compatíveis com a VM confidencial. A VM confidencial é compatível com public.

Declarações de nível superior

A tabela a seguir descreve as declarações de nível superior compatíveis em um token do Google Cloud Attestation.

Reivindicação Tipo Descrição
aud String

O público-alvo. Para o token padrão usado com um pool de identidades da carga de trabalho, o público-alvo é https://sts.googleapis.com. Esse token é buscado a cada hora pelo iniciador na instância de VM confidencial.

Para tokens com públicos-alvo personalizados, o público-alvo é repetido da solicitação de token. O comprimento máximo é de 512 bytes.

dbgstat String O status de depuração do hardware. Não disponível para SEV da AMD.
eat_nonce String ou matriz de strings Um ou mais valores de uso único para o token de atestação. Os valores são repetidos das opções de token enviadas na solicitação de token personalizado. Cada nonce precisa ter entre 10 e 74 bytes, inclusive. É permitido um máximo de seis nonces.
eat_profile String O URI do perfil do Entity Attestation Token (EAT) que define o esquema do token. O valor é https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
exp Int, carimbo de data/hora Unix O prazo de validade em que o token não pode ser aceito para processamento. O valor é um número JSON que representa a quantidade de segundos de 1970-01-01T0:0:0Z, medidos em UTC, até o expiry time.
google_service_accounts Matriz de strings As contas de serviço validadas que estão executando a carga de trabalho da VM confidencial.
hwmodel String

O identificador exclusivo do token de hardware. O identificador precisa ser um dos seguintes valores:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
iat Int, carimbo de data/hora Unix O horário em que o JWT foi emitido. O valor é um número JSON que representa o número de segundos de 1970-01-01T0:0:0Z, medido em UTC até o horário do problema.
iss String O emissor do token, que é definido como https://confidentialcomputing.googleapis.com.
nbf Int, carimbo de data/hora Unix O horário após o qual o JWT pode ser processado. O valor é um número JSON que representa a quantidade de segundos desde 1970-01-01T0:0:0Z, medidos em UTC.
oemid Uint64 O Número de empresa privada (PEN, na sigla em inglês) do Google, que é 11129.
secboot Booleano Se a inicialização segura está ativada, o que garante que o firmware e o sistema operacional sejam autenticados durante o processo de inicialização da VM.
sub String

O assunto que identifica a instância de máquina virtual:

  • Para instâncias do SEV AMD, esse é o URL selfLink da instância: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME.
  • Para instâncias do Intel TDX, esse é o nome do recurso do Compute Engine que contém IDs numéricos imutáveis: //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID.
submods Matriz Uma matriz de várias declarações. Consulte Reivindicações de submod.
swname String

O nome do sistema operacional aprovado para a VM.

O valor é sempre GCE.

tdx Objeto Um objeto que contém declarações para instâncias do Intel TDX. Consulte Declarações do Intel TDX.

Declarações do Intel TDX

A tabela a seguir descreve as declarações tdx em um token de atestado do Google Cloud Attestation para instâncias do Intel TDX.

Reivindicação Tipo Descrição
tcb_evaluation_data_number Uint32 Número de dados de avaliação de TCB monotonamente crescente da Intel associado ao FMSPC da plataforma das informações de TCB da Intel.
gcp_attester_tcb_date String Carimbo de data/hora (UTC) do comparativo de mercado de avaliação do TCB da Intel.
mrtd1 String (hex) Medição do conteúdo inicial do domínio de confiança e do firmware virtual (OVMF).
rtmr01 String (hex) O registro de medição de tempo de execução 0 (configuração de firmware virtual e parâmetros do sistema).
rtmr1 String (hex) Registro de medição de tempo de execução 1 (medições do carregador de inicialização e do kernel do SO convidado).
rtmr2 String (hex) Registro de medição de tempo de execução 2 (disco RAM inicial (initramfs) e linha de comando do kernel).
rtmr3 String (hex) Registro de medição de tempo de execução 3 (extensões e aplicativos de tempo de execução do cliente).
fmspc String (hex) SKU de 6 bytes da família-modelo-stepping para pesquisa do serviço de certificação de provisionamento da Intel (PCS, na sigla em inglês).
tee_tcb_svn String (hex) Matriz de 16 bytes de números de versão de segurança de componentes TCB do TDX quando o domínio de confiança foi lançado.
pcesvn Uint16 SVN do enclave de certificação de provisionamento (PCE, na sigla em inglês).
sgx_tcb_comp_svn String (hex) Matriz de 16 bytes de números de versão de segurança de componentes TCB do Intel SGX.
xfam String (hex) Máscara de 8 bytes de recursos estendidos de CPU ativados.
tdattributes String (hex) Bitmap de 8 bytes de atributos de execução de TD.
1 Não use essas medições em políticas de acesso. Elas são afetadas por mudanças na infraestrutura subjacente, como atualizações de firmware, que podem acontecer a qualquer momento. Essas medições são fornecidas principalmente para fins de transparência.

Reivindicações de submods

A tabela a seguir descreve as declarações submods em um token de Google Cloud Attestation.

Reivindicação Tipo Descrição
gce Objeto Consulte Reivindicações do Compute Engine.

Reivindicações do Compute Engine

A tabela a seguir descreve as declarações gce em um token do Google Cloud Attestation.

Reivindicação Tipo Descrição
instance_id String O ID da instância de VM.
instance_name String O nome da instância de VM.
project_id String O ID do projeto em que a VM está sendo executada.
project_number String O número do projeto em que a VM está sendo executada.
zone String A zona do Compute Engine em que a instância de VM confidencial está em execução.

A seguir