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 |
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
Exemple de valeur : |
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 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 :
|
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 :
|
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 |
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. |
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
Pour en savoir plus sur les revendications d'attestation, consultez le brouillon de l'IETF sur le jeton d'attestation d'entité (EAT).
Pour en savoir plus sur les revendications de jetons OpenID, consultez OpenID Connect Core 1.0.
Pour en savoir plus sur les jetons et leur récupération, consultez l'atelier de programmation sur l'attestation vTPM.