En este documento, se describen las declaraciones en los tokens de certificación de Google Cloud. Los tokens son tokens de certificación de entidades (EAT), que se codifican como tokens web JSON (JWT). Los JWT se pueden decodificar con herramientas como https://jwt.io/.
Las declaraciones se definen en el extremo well-known de la certificación de Google Cloud.
Ejemplos de tokens decodificados
Las declaraciones de un token de certificación de Google Cloud varían según la tecnología de Confidential Computing que se use en tu instancia de Confidential VM.
AMD SEV
A continuación, se muestra un ejemplo de un token de certificación de SEV de 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
A continuación, se muestra un ejemplo de un token de certificación de 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"
]
}
Reclamaciones de tokens
En la siguiente tabla, se describen las declaraciones de alto nivel en un token de atestación de Google Cloud. Estos reclamos cumplen con la especificación de OpenID Connect 1.0.
Valores del extremo well-known |
Descripción |
|---|---|
claims_supported |
Consulta Reclamos de nivel superior. |
id_token_signing_alg_values_supported |
Son los algoritmos de firma (valores de alg) admitidos por el token.
Confidential VM admite el algoritmo RS256.
|
issuer |
Es el esquema HTTPS que usa Confidential VM como identificador de emisor.
El valor es |
jwks_uri |
Es la ruta de acceso a las claves públicas que se usan para verificar la firma del token. Puedes publicar estas claves en un bucket de Cloud Storage.
Puedes encontrar las claves de
Un valor de ejemplo es |
response_types_supported |
Es la lista de tipos de respuesta de Confidential VM admitidos. Confidential VM admite id_token.
|
scopes_supported |
Valores de alcance de
OAuth 2.0 que admite la instancia de VM confidencial. Confidential VM solo admite openid.
|
subject_types_supported |
Son los tipos de identificadores de sujeto que admite Confidential VM. Confidential VM admite public.
|
Afirmaciones de nivel superior
En la siguiente tabla, se describen los principales reclamos admitidos en un token de certificación de Google Cloud.
| Solicitar | Tipo | Descripción |
|---|---|---|
aud |
String |
El público Para el token predeterminado que se usa con un grupo de identidades para cargas de trabajo, el público es En el caso de los tokens con públicos personalizados, el público se repite desde el público en la solicitud del token. La longitud máxima es de 512 bytes. |
dbgstat |
String | Es el estado de depuración del hardware. No está disponible para la SEV de AMD. |
eat_nonce |
Cadena o array de cadenas | Es uno o más nonces para el token de certificación. Los valores se repiten a partir de las opciones del token enviadas en la solicitud del token personalizado. Cada nonce debe tener entre 10 y 74 bytes inclusive. Se permite un máximo de seis nonces. |
eat_profile |
String |
Es el URI del perfil del token de certificación de entidad (EAT) que define el esquema del token. El valor es https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
|
exp |
Número entero, marca de tiempo de Unix |
Es la fecha y hora de vencimiento a partir de las cuales no se debe aceptar el token para su procesamiento. El valor es un número JSON que representa la cantidad de segundos desde 1970-01-01T0:0:0Z, medidos en UTC, hasta el hora de vencimiento.
|
google_service_accounts |
Array de cadenas | Son las cuentas de servicio validadas que ejecutan la carga de trabajo de la VM confidencial. |
hwmodel |
String |
Es el identificador único del token de hardware. El identificador debe ser uno de los siguientes valores:
|
iat |
Número entero, marca de tiempo de Unix |
Es la fecha y hora en que se emitió el JWT. El valor es un número JSON que
representa la cantidad de segundos desde
1970-01-01T0:0:0Z, medidos
en UTC hasta la hora del problema.
|
iss |
String |
El emisor del token, que se establece en https://confidentialcomputing.googleapis.com.
|
nbf |
Número entero, marca de tiempo de Unix |
Es la fecha y hora después de la cual se permite procesar el JWT. El valor es un número JSON que representa la cantidad de segundos desde 1970-01-01T0:0:0Z, medidos en UTC.
|
oemid |
Uint64 |
El
Número de empresa privada (PEN) de Google, que es 11129.
|
secboot |
Booleano | Indica si el inicio seguro está habilitado, lo que garantiza que el firmware y el sistema operativo se autentiquen durante el proceso de inicio de la VM. |
sub |
String |
Es el asunto que identifica la instancia de máquina virtual:
|
submods |
Arreglo | Es un array de varios reclamos. Consulta Reclamos de submods. |
swname |
String |
Es el nombre del sistema operativo aprobado para la VM. El valor siempre es |
tdx |
Objeto | Es un objeto que contiene reclamos para instancias de Intel TDX. Consulta las afirmaciones de Intel TDX. |
Afirmaciones sobre Intel TDX
En la siguiente tabla, se describen las declaraciones tdx en un token de certificación de Google Cloud para instancias de TDX de Intel.
| Solicitar | Tipo | Descripción |
|---|---|---|
tcb_evaluation_data_number |
Uint32 | Número de datos de evaluación del TCB de Intel aumentado de forma monotónica asociado con el FMSPC de la plataforma de la información del TCB de Intel. |
gcp_attester_tcb_date |
String | Es la marca de tiempo (UTC) del modelo de referencia de evaluación del TCB de Intel. |
mrtd1
|
Cadena (hexadecimal) | Medición del contenido inicial del dominio de confianza y del firmware virtual (OVMF). |
rtmr01
|
Cadena (hexadecimal) | Registro de medición del tiempo de ejecución 0 (parámetros del sistema y configuración del firmware virtual). |
rtmr1 |
Cadena (hexadecimal) | Registro de medición de tiempo de ejecución 1 (mediciones del bootloader y el kernel del SO invitado). |
rtmr2 |
Cadena (hexadecimal) | Registro de medición del tiempo de ejecución 2 (línea de comandos del kernel y del disco RAM inicial [initramfs]). |
rtmr3 |
Cadena (hexadecimal) | Registro de medición del tiempo de ejecución 3 (extensiones y aplicaciones del tiempo de ejecución del cliente). |
fmspc |
Cadena (hexadecimal) | SKU de 6 bytes de familia-modelo-revisión para la búsqueda del Servicio de certificación de aprovisionamiento (PCS) de Intel. |
tee_tcb_svn |
Cadena (hexadecimal) | Es un array de 16 bytes con los números de versión de seguridad de los componentes del TCB de TDX cuando se inició el dominio de confianza. |
pcesvn |
Uint16 | Es la versión de SVN del enclave de certificación de aprovisionamiento (PCE). |
sgx_tcb_comp_svn |
Cadena (hexadecimal) | Es un array de 16 bytes que contiene los números de versión de seguridad de los componentes del TCB de Intel SGX. |
xfam |
Cadena (hexadecimal) | Máscara de 8 bytes de las funciones extendidas de CPU habilitadas. |
tdattributes |
Cadena (hexadecimal) | Mapa de bits de 8 bytes de los atributos de ejecución de TD. |
Reclamos de submods
En la siguiente tabla, se describen las declaraciones submods en un token de atestación de Google Cloud.
| Solicitar | Tipo | Descripción |
|---|---|---|
gce |
Objeto | Consulta las reclamaciones de Compute Engine. |
Reclamos de Compute Engine
En la siguiente tabla, se describen los reclamos de gce en un token de certificación de Google Cloud.
| Solicitar | Tipo | Descripción |
|---|---|---|
instance_id |
String | Es el ID de la instancia de VM. |
instance_name |
String | Es el nombre de la instancia de VM. |
project_id |
String | El ID del proyecto en el que se ejecuta la VM. |
project_number |
String | Es el número del proyecto en el que se ejecuta la VM. |
zone |
String | Es la zona de Compute Engine en la que se ejecuta la instancia de VM confidencial. |
¿Qué sigue?
Consulta el borrador del IETF sobre El token de certificación de entidad (EAT) para obtener más información sobre las declaraciones de certificación.
Consulta OpenID Connect Core 1.0 para obtener más información sobre las declaraciones de tokens de OpenID.
Para obtener más información sobre los tokens y cómo recuperarlos, consulta el Codelab de certificación de vTPM.