Rivendicazioni dei token di Google Cloud Attestation

Questo documento descrive le attestazioni nei token di Google Cloud Attestation. I token sono token di attestazione dell'entità (EAT), codificati come token web JSON (JWT). I JWT possono essere decodificati utilizzando strumenti come https://jwt.io/.

Le attestazioni sono definite nell'endpoint well-known di Google Cloud Attestation.

Esempi di token decodificati

Le rivendicazioni in un token di attestazione Google Cloud variano a seconda della tecnologia Confidential Computing utilizzata nell'istanza Confidential VM.

AMD SEV

Di seguito è riportato un esempio di token di attestazione AMD SEV decodificato:

{
  "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

Di seguito è riportato un esempio di token di attestazione Intel TDX decodificato:

{
  "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"
  ]
}

Rivendicazioni di token

La tabella seguente descrive le attestazioni di alto livello in un token di attestazione Google Cloud. Queste attestazioni sono conformi alla specifica OpenID Connect 1.0.

Valori dell'endpoint well-known Descrizione
claims_supported Vedi Rivendicazioni di primo livello.
id_token_signing_alg_values_supported Gli algoritmi di firma (valori alg) supportati dal token. Confidential VM supporta l'algoritmo RS256.
issuer

Lo schema HTTPS che Confidential VM utilizza come identificatore dell'emittente.

Il valore è https://confidentialcomputing.googleapis.com.

jwks_uri

Il percorso delle chiavi pubbliche utilizzate per verificare la firma del token. Puoi pubblicare queste chiavi in un bucket Cloud Storage.

Puoi trovare le chiavi jwks_uri in https://www.googleapis.com/service_accounts/v1/metadata/jwk/signer@confidentialspace-sign.iam.gserviceaccount.com.

Un valore di esempio è https://example.storage.googleapis.com/jwks.json.

response_types_supported L'elenco dei tipi di risposta Confidential VM supportati. Confidential VM supporta id_token.
scopes_supported I valori dell'ambito OAuth 2.0 supportati dall'istanza VM Confidential. Confidential VM supporta solo openid.
subject_types_supported I tipi di identificatori del soggetto supportati da Confidential VM. Confidential VM supporta public.

Rivendicazioni di primo livello

La tabella seguente descrive le attestazioni di primo livello supportate in un token di attestazione Google Cloud.

Attestazione Tipo Descrizione
aud Stringa

Il pubblico. Per il token predefinito utilizzato con un pool di identità del carico di lavoro, il pubblico è https://sts.googleapis.com. Questo token viene recuperato ogni ora dal launcher nell'istanza Confidential VM.

Per i token con segmenti di pubblico personalizzati, il segmento di pubblico viene ripreso dalla richiesta di token. La lunghezza massima è di 512 byte.

dbgstat Stringa Lo stato di debug dell'hardware. Non disponibile per AMD SEV.
eat_nonce Stringa o array di stringhe Uno o più nonce per il token di attestazione. I valori vengono ripresi dalle opzioni del token inviate nella richiesta di token personalizzato. Ogni nonce deve essere compreso tra 10 e 74 byte inclusi. Sono consentiti massimo sei nonce.
eat_profile Stringa L'URI del profilo del token di attestazione dell'entità (EAT) che definisce lo schema del token. Il valore è https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
exp Int, timestamp Unix L'ora di scadenza a partire dalla quale il token non deve essere accettato per l'elaborazione. Il valore è un numero JSON che rappresenta il numero di secondi da 1970-01-01T0:0:0Z misurati in UTC fino all'ora di scadenza.
google_service_accounts Array di stringhe I service account convalidati che eseguono il workload della VM confidenziale.
hwmodel Stringa

L'identificatore univoco del token hardware. L'identificatore deve essere uno dei seguenti valori:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
iat Int, timestamp Unix L'ora in cui è stato emesso il JWT. Il valore è un numero JSON che rappresenta il numero di secondi da 1970-01-01T0:0:0Z misurato in UTC fino all'ora del problema.
iss Stringa L'emittente del token, impostata su https://confidentialcomputing.googleapis.com.
nbf Int, timestamp Unix Il momento dopo il quale è consentito elaborare il JWT. Il valore è un numero JSON che rappresenta il numero di secondi trascorsi da 1970-01-01T0:0:0Z, misurato in UTC.
oemid Uint64 Il numero aziendale privato (PEN) di Google, che è 11129.
secboot Booleano Se l'avvio protetto è abilitato, il che garantisce che il firmware e il sistema operativo vengano autenticati durante il processo di avvio della VM.
sub Stringa

L'oggetto che identifica l'istanza di macchina virtuale:

  • Per le istanze AMD SEV, questo è l'URL selfLink dell'istanza: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME.
  • Per le istanze Intel TDX, questo è il nome della risorsa Compute Engine contenente ID numerici immutabili: //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID.
submods Array Una serie di varie rivendicazioni. Consulta Richieste di rivendicazione dei submoduli.
swname Stringa

Il nome del sistema operativo approvato per la VM.

Il valore è sempre GCE.

tdx Oggetto Un oggetto contenente attestazioni per le istanze Intel TDX. Consulta le affermazioni relative a Intel TDX.

Affermazioni relative a Intel TDX

La tabella seguente descrive le rivendicazioni tdx in un token di attestazione Google Cloud per le istanze Intel TDX.

Attestazione Tipo Descrizione
tcb_evaluation_data_number Uint32 Numero di dati di valutazione TCB di Intel associato all'FMSPC della piattaforma da Intel TCB Info.
gcp_attester_tcb_date Stringa Timestamp (UTC) del benchmark di valutazione di Intel TCB.
mrtd1 Stringa (esadecimale) Misurazione dei contenuti iniziali del dominio attendibile e del firmware virtuale (OVMF).
rtmr01 Stringa (esadecimale) Registro di misurazione del runtime 0 (configurazione del firmware virtuale e parametri di sistema).
rtmr1 Stringa (esadecimale) Registro di misurazione del runtime 1 (misurazioni del bootloader e del kernel del sistema operativo guest).
rtmr2 Stringa (esadecimale) Registro di misurazione del runtime 2 (riga di comando del kernel e del disco RAM iniziale (initramfs)).
rtmr3 Stringa (esadecimale) Il registro di misurazione del runtime 3 (estensioni e applicazioni runtime del cliente).
fmspc Stringa (esadecimale) SKU Family-Model-Stepping di 6 byte per la ricerca del servizio di certificazione del provisioning (PCS) di Intel.
tee_tcb_svn Stringa (esadecimale) Array di 16 byte dei numeri di versione di sicurezza dei componenti TCB di TDX al momento dell'avvio del Trust Domain.
pcesvn Uint16 SVN dell'enclave di certificazione del provisioning (PCE).
sgx_tcb_comp_svn Stringa (esadecimale) Array di 16 byte dei numeri di versione di sicurezza dei componenti TCB di Intel SGX.
xfam Stringa (esadecimale) Maschera di 8 byte delle funzionalità estese della CPU abilitate.
tdattributes Stringa (esadecimale) Bitmap di 8 byte degli attributi di esecuzione TD.
1 Non utilizzare queste misurazioni nei criteri di accesso. Sono interessati dalle modifiche all'infrastruttura sottostante, ad esempio gli aggiornamenti firmware, che possono verificarsi in qualsiasi momento. Queste misurazioni vengono fornite principalmente a fini di trasparenza.

Rivendicazioni relative alle submod

La tabella seguente descrive le rivendicazioni submods in un token di attestazione Google Cloud.

Attestazione Tipo Descrizione
gce Oggetto Consulta Richieste di Compute Engine.

Richieste di Compute Engine

La tabella seguente descrive le rivendicazioni gce in un token di attestazione Google Cloud.

Attestazione Tipo Descrizione
instance_id Stringa L'ID istanza VM.
instance_name Stringa Il nome dell'istanza VM.
project_id Stringa L' ID progetto del progetto in cui è in esecuzione la VM.
project_number Stringa Il numero di progetto del progetto in cui è in esecuzione la VM.
zone Stringa La zona Compute Engine in cui è in esecuzione l'istanza VM confidenziale.

Passaggi successivi