Google Cloud Attestation 令牌声明

本文档介绍了 Google Cloud Attestation 令牌中的声明。这些令牌是实体证明令牌 (EAT),以 JSON Web 令牌 (JWT) 的形式进行编码。可以使用 https://jwt.io/ 等工具对 JWT 进行解码。

声明是在 Google Cloud Attestation well-known 端点上定义的。

解码后的令牌示例

Google Cloud Attestation 令牌中的声明因机密虚拟机实例中使用的机密计算技术而异。

AMD SEV

以下是解码后的 AMD SEV 证明令牌的示例:

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

以下是解码后的 Intel TDX 证明令牌的示例:

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

令牌声明

下表介绍了 Google Cloud Attestation 令牌中的高级声明。这些声明符合 OpenID Connect 1.0 规范。

well-known 个端点值 说明
claims_supported 请参阅顶级声明。
id_token_signing_alg_values_supported 令牌支持的签名算法(alg 值)。 机密虚拟机支持 RS256 算法。
issuer

机密虚拟机用作其签发者标识符的 HTTPS 方案。

值为 https://confidentialcomputing.googleapis.com。

jwks_uri

用于验证令牌签名的公钥的路径。 您可以将这些密钥发布到 Cloud Storage 存储桶中。

您可以在以下网址中找到 jwks_uri 密钥: https://www.googleapis.com/service_accounts/v1/metadata/jwk/signer@confidentialspace-sign.iam.gserviceaccount.com。

示例值为 https://example.storage.googleapis.com/jwks.json。

response_types_supported 支持的机密虚拟机响应类型列表。机密虚拟机支持 id_token。
scopes_supported 机密虚拟机实例支持的 OAuth 2.0 范围值。机密虚拟机仅支持 openid。
subject_types_supported 机密虚拟机支持的主体标识符类型。机密虚拟机支持 public。

顶级声明

下表介绍了 Google Cloud Attestation 证明令牌中受支持的顶级声明。

声明 类型 说明
aud 字符串

受众群体。对于与工作负载身份池搭配使用的默认令牌,受众群体为 https://sts.googleapis.com。此令牌由机密虚拟机实例中的启动器每小时提取一次。

对于具有自定义受众群体的令牌,受众群体会从令牌请求中的受众群体进行回显。长度上限为 512 字节。

dbgstat 字符串 硬件的调试状态。不适用于 AMD SEV。
eat_nonce 字符串或字符串数组 证明令牌的一个或多个随机数。这些值会从自定义令牌请求中发送的令牌选项回显。每个随机数必须介于 10 到 74 字节之间(含 10 和 74 字节)。最多允许使用 6 个随机数。
eat_profile 字符串 定义令牌架构的实体证明令牌 (EAT) 配置文件的 URI。值为 https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims。
exp 整数,Unix 时间戳 令牌不得用于处理的过期时间(在此时间或之后)。该值是一个 JSON 数字,表示从 1970-01-01T0:0:0Z(以世界协调时间 [UTC] 为单位)到过期时间之间的秒数。
google_service_accounts 字符串数组 正在运行保密虚拟机工作负载的经过验证的服务账号。
hwmodel 字符串

硬件令牌的唯一标识符。标识符必须是以下值之一:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
iat 整数,Unix 时间戳 JWT 的签发时间。该值是一个 JSON 数字,表示从 1970-01-01T0:0:0Z(以世界协调时间 [UTC] 为准)到问题发生时所经过的秒数。
iss 字符串 令牌的颁发者,设置为 https://confidentialcomputing.googleapis.com。
nbf 整数,Unix 时间戳 允许处理 JWT 的时间。该值是一个 JSON 数字,表示自 1970-01-01T0:0:0Z 以来经过的秒数(以世界协调时间 [UTC] 为单位)。
oemid Uint64 Google 的 私有企业编号 (PEN),即 11129。
secboot 布尔值 安全启动是否已启用,这可确保在虚拟机启动过程中对固件和操作系统进行身份验证。
sub 字符串

用于标识虚拟机实例的主体:

  • 对于 AMD SEV 实例,这是实例的 selfLink 网址: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME。
  • 对于 Intel TDX 实例,这是包含不可变数字 ID 的 Compute Engine 资源名称: //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID。
submods 数组 各种声明的数组。请参阅子模块声明。
swname 字符串

虚拟机的获批操作系统的名称。

值始终为 GCE。

tdx 对象 包含 Intel TDX 实例声明的对象。请参阅 Intel TDX 声明。

Intel TDX 声明

下表介绍了 Intel TDX 实例的 Google Cloud Attestation 令牌中的 tdx 声明。

声明 类型 说明
tcb_evaluation_data_number Uint32 与平台 FMSPC 关联的单调递增的 Intel TCB 评估数据编号(来自 Intel TCB 信息)。
gcp_attester_tcb_date 字符串 Intel TCB 评估基准的时间戳 (UTC)。
mrtd1 字符串(十六进制) 初始可信网域内容和虚拟固件 (OVMF) 的衡量。
rtmr01 字符串(十六进制) 运行时测量寄存器 0(虚拟固件配置和系统参数)。
rtmr1 字符串(十六进制) 运行时测量寄存器 1(客户操作系统引导加载程序和内核测量结果)。
rtmr2 字符串(十六进制) 运行时度量注册信息 2(初始 RAM 磁盘 (initramfs) 和内核命令行)。
rtmr3 字符串(十六进制) 运行时测量寄存器 3(客户运行时扩展程序和应用)。
fmspc 字符串(十六进制) 用于 Intel Provisioning Certification Service (PCS) 查找的 6 字节 Family-Model-Stepping SKU。
tee_tcb_svn 字符串(十六进制) 启动信任网域时 TDX TCB 组件安全版本号的 16 字节数组。
pcesvn Uint16 配置认证 Enclave (PCE) 的 SVN。
sgx_tcb_comp_svn 字符串(十六进制) Intel SGX TCB 组件安全版本号的 16 字节数组。
xfam 字符串(十六进制) 已启用的 CPU 扩展功能的 8 字节掩码。
tdattributes 字符串(十六进制) TD 执行属性的 8 字节位图。
1 请勿在访问政策中使用这些衡量指标。它们会受到底层基础设施(例如固件更新)变化的影响,而这些变化可能随时发生。提供这些指标主要是为了提高透明度。

子模组声明

下表介绍了 Google Cloud Attestation 令牌中的 submods 声明。

声明 类型 说明
gce 对象 请参阅 Compute Engine 声明。

Compute Engine 声明

下表介绍了 Google Cloud Attestation 令牌中的 gce 声明。

声明 类型 说明
instance_id 字符串 虚拟机实例 ID。
instance_name 字符串 虚拟机实例名称。
project_id 字符串 虚拟机运行所在项目的 项目 ID。
project_number 字符串 虚拟机所运行项目的项目编号。
zone 字符串 机密虚拟机实例运行所在的 Compute Engine 可用区。

后续步骤