Revendications du jeton d'attestation Google Cloud

Ce document décrit les revendications dans les jetons d'attestation Google Cloud. Les jetons sont des jetons d'attestation d'entité (EAT, Entity Attestation Tokens), qui sont encodés sous forme de jetons Web JSON (JWT, JSON Web Tokens). Les jetons JWT peuvent être décodés à l'aide d'outils tels que https://jwt.io/.

Les revendications sont définies au niveau du point de terminaison well-known de l'attestation Google Cloud.

Exemples de jetons décodés

Les revendications d'un jeton d'attestation Google Cloud varient en fonction de la technologie d'informatique confidentielle utilisée dans votre instance de VM confidentielle.

AMD SEV

Voici un exemple de jeton d'attestation AMD SEV décodé :

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

Voici un exemple de jeton d'attestation Intel TDX décodé :

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

Revendications par jeton

Le tableau suivant décrit les revendications de haut niveau dans un jeton d'attestation Google Cloud. Ces revendications sont conformes à la spécification OpenID Connect 1.0.

Valeurs des points de terminaison well-known Description
claims_supported Consultez Revendications de premier niveau.
id_token_signing_alg_values_supported Algorithmes de signature (valeurs alg) acceptés par le jeton. Confidential VM est compatible avec l'algorithme RS256.
issuer

Schéma HTTPS utilisé par Confidential VM comme identifiant de l'émetteur.

La valeur est https://confidentialcomputing.googleapis.com.

jwks_uri

Chemin d'accès aux clés publiques utilisées pour valider la signature du jeton. Vous pouvez publier ces clés dans un bucket Cloud Storage.

Vous trouverez les clés jwks_uri dans https://www.googleapis.com/service_accounts/v1/metadata/jwk/signer@confidentialspace-sign.iam.gserviceaccount.com.

Exemple de valeur : https://example.storage.googleapis.com/jwks.json.

response_types_supported Liste des types de réponses Confidential VM acceptés. Confidential VM est compatible avec id_token.
scopes_supported Valeurs du champ d'application OAuth 2.0 acceptées par l'instance Confidential VM. Confidential VM n'est compatible qu'avec openid.
subject_types_supported Types d'identifiants de sujet compatibles avec Confidential VM. Confidential VM est compatible avec public.

Revendications de premier niveau

Le tableau suivant décrit les revendications de premier niveau acceptées dans un jeton d'attestation Google Cloud.

Revendication Type Description
aud Chaîne

L'audience. Pour le jeton par défaut utilisé avec un pool d'identités de charge de travail, l'audience est https://sts.googleapis.com. Ce jeton est récupéré toutes les heures par le lanceur dans l'instance Confidential VM.

Pour les jetons avec des audiences personnalisées, l'audience est reprise de l'audience dans la demande de jeton. La valeur ne doit pas dépasser 512 octets.

dbgstat Chaîne État du débogage du matériel. Non disponible pour AMD SEV.
eat_nonce Chaîne ou tableau de chaînes Un ou plusieurs nonces pour le jeton d'attestation. Les valeurs sont reprises des options de jeton envoyées dans la demande de jeton personnalisé. Chaque nonce doit comporter entre 10 et 74 octets inclus. Vous ne pouvez pas utiliser plus de six nonces.
eat_profile Chaîne URI du profil de jeton d'attestation d'entité (EAT) définissant le schéma du jeton. La valeur est https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
exp Int, code temporel Unix Délai d'expiration au-delà duquel le jeton ne doit plus être accepté pour traitement. La valeur est un nombre JSON qui représente le nombre de secondes écoulées depuis 1970-01-01T0:0:0Z (en UTC) jusqu'au délai d'expiration.
google_service_accounts Tableau de chaînes. Comptes de service validés qui exécutent la charge de travail de VM confidentielle.
hwmodel Chaîne

Identifiant unique du jeton matériel. L'identifiant doit correspondre à l'une des valeurs suivantes :

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
iat Int, code temporel Unix Heure d'émission du JWT. La valeur est un nombre JSON qui représente le nombre de secondes écoulées depuis 1970-01-01T0:0:0Z (mesuré en UTC) jusqu'à l'heure du problème.
iss Chaîne Émetteur du jeton, défini sur https://confidentialcomputing.googleapis.com.
nbf Int, code temporel Unix Heure après laquelle le jeton JWT peut être traité. La valeur est un nombre JSON qui représente le nombre de secondes écoulées depuis 1970-01-01T0:0:0Z, mesuré en UTC.
oemid Uint64 Le numéro d'entreprise privée (PEN) de Google, qui est 11129.
secboot Booléen Si le démarrage sécurisé est activé, ce qui garantit que le micrologiciel et le système d'exploitation sont authentifiés lors du processus de démarrage de la VM.
sub Chaîne

Sujet identifiant l'instance de machine virtuelle :

  • Pour les instances AMD SEV, il s'agit de l'URL selfLink de l'instance : https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME.
  • Pour les instances Intel TDX, il s'agit du nom de ressource Compute Engine contenant des ID numériques immuables : //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID.
submods Tableau Diverses affirmations. Consultez Revendications de sous-modules.
swname Chaîne

Nom du système d'exploitation approuvé pour la VM.

La valeur est toujours GCE.

tdx Objet Objet contenant des revendications pour les instances Intel TDX. Consultez les affirmations concernant Intel TDX.

Affirmations concernant Intel TDX

Le tableau suivant décrit les revendications tdx dans un jeton d'attestation Google Cloud pour les instances Intel TDX.

Revendication Type Description
tcb_evaluation_data_number Uint32 Numéro de données d'évaluation TCB associé au FMSPC de la plate-forme à partir des informations TCB d'Intel.
gcp_attester_tcb_date Chaîne Code temporel (UTC) de la référence d'évaluation TCB Intel.
mrtd1 Chaîne (hexadécimale) Mesure du contenu initial du domaine de confiance et du micrologiciel virtuel (OVMF).
rtmr01 Chaîne (hexadécimale) Registre 0 de mesure de l'exécution (configuration du micrologiciel virtuel et paramètres système).
rtmr1 Chaîne (hexadécimale) Registre de mesure d'exécution 1 (mesures du bootloader et du noyau de l'OS invité).
rtmr2 Chaîne (hexadécimale) Registre de mesure du runtime 2 (disque RAM initial (initramfs) et ligne de commande du noyau).
rtmr3 Chaîne (hexadécimale) Registre de mesure du temps d'exécution 3 (extensions et applications du temps d'exécution client).
fmspc Chaîne (hexadécimale) SKU de 6 octets pour la recherche du service de certification de provisionnement Intel (PCS, Intel Provisioning Certification Service).
tee_tcb_svn Chaîne (hexadécimale) Tableau de 16 octets des numéros de version de sécurité des composants TCB TDX lors du lancement du domaine de confiance.
pcesvn Uint16 Numéro SVN de l'enclave de certification du provisionnement (PCE).
sgx_tcb_comp_svn Chaîne (hexadécimale) Tableau de 16 octets contenant les numéros de version de sécurité des composants Intel SGX TCB.
xfam Chaîne (hexadécimale) Masque de 8 octets des fonctionnalités étendues du processeur activées.
tdattributes Chaîne (hexadécimale) Bitmap de 8 octets des attributs d'exécution de TD.
1 N'utilisez pas ces mesures dans les règles d'accès. Elles sont affectées par les modifications apportées à l'infrastructure sous-jacente, comme les mises à jour du micrologiciel, qui peuvent se produire à tout moment. Ces mesures sont fournies principalement à des fins de transparence.

Réclamations de sous-modules

Le tableau suivant décrit les revendications submods dans un jeton d'attestation Google Cloud.

Revendication Type Description
gce Objet Consultez Revendications Compute Engine.

Réclamations Compute Engine

Le tableau suivant décrit les revendications gce dans un jeton d'attestation Google Cloud.

Revendication Type Description
instance_id Chaîne ID de l'instance de VM.
instance_name Chaîne Nom de l'instance de VM.
project_id Chaîne ID du projet dans lequel la VM est exécutée.
project_number Chaîne Numéro du projet dans lequel la VM est exécutée.
zone Chaîne Zone Compute Engine dans laquelle l'instance de Confidential VM est exécutée.

Étapes suivantes