本文說明 Google Cloud Attestation 權杖中的聲明。這些權杖是實體認證權杖 (EAT),以 JSON 網頁符記 (JWT) 編碼。您可以使用 https://jwt.io/ 等工具解碼 JWT。
聲明是在 Google Cloud Attestation 端點 well-known定義。
已解碼的權杖範例
Google Cloud Attestation 權杖中的聲明會因機密 VM 執行個體使用的機密運算技術而異。
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 驗證權杖中的高階聲明。這些憑證附加資訊符合 OpenID Connect 1.0 規格。
well-known 個端點值 |
說明 |
|---|---|
claims_supported |
請參閱「最高層級的聲明」。 |
id_token_signing_alg_values_supported |
權杖支援的簽署演算法 (alg 值)。
機密 VM 支援 RS256 演算法。
|
issuer |
Confidential VM 用於做為簽發者 ID 的 HTTPS 配置。
值為 |
jwks_uri |
用來驗證權杖簽章的公開金鑰路徑。您可以將這些金鑰發布至 Cloud Storage bucket。
您可以在以下網址找到
範例值為 |
response_types_supported |
支援的機密 VM 回應類型清單。機密 VM 支援
id_token。
|
scopes_supported |
機密 VM 執行個體支援的
OAuth 2.0 範圍值。機密 VM 僅支援 openid。
|
subject_types_supported |
機密 VM 支援的主體 ID 類型。機密 VM 支援 public。 |
頂層聲明
下表說明 Google Cloud Attestation 權杖中支援的頂層聲明。
| 領取 | 類型 | 說明 |
|---|---|---|
aud |
字串 |
目標對象。如果是搭配工作負載身分集區使用的預設權杖,對象為 如果是含有自訂目標對象的權杖,系統會從權杖要求中的目標對象,回應目標對象。長度上限為 512 個位元組。 |
dbgstat |
字串 | 硬體的偵錯狀態。不適用於 AMD SEV。 |
eat_nonce |
字串或字串陣列 | 驗證權杖的一或多個隨機碼。這些值會從自訂權杖要求中傳送的權杖選項回傳。每個隨機值必須介於 10 到 74 個位元組之間 (含 10 和 74)。最多只能有六個隨機碼。 |
eat_profile |
字串 |
定義權杖結構定義的實體驗證權杖 (EAT) 設定檔 URI。值為 https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims。
|
exp |
Int,Unix 時間戳記 |
權杖的到期時間,到期後不得再用於處理程序。這個值是 JSON 數字,代表從 1970-01-01T0:0:0Z (以世界標準時間為準) 到到期時間的秒數。
|
google_service_accounts |
字串陣列 | 執行機密 VM 工作負載的已驗證服務帳戶。 |
hwmodel |
字串 |
硬體權杖的專屬 ID。ID 必須是下列其中一個值:
|
iat |
Int,Unix 時間戳記 |
JWT 的核發時間。這個值是 JSON 數字,代表從 1970-01-01T0:0:0Z (以世界標準時間為準) 到問題發生時間的秒數。 |
iss |
字串 |
權杖核發者,已設為 https://confidentialcomputing.googleapis.com。 |
nbf |
Int,Unix 時間戳記 |
JWT 可處理的時間。這個值是 JSON 數字,代表從 1970-01-01T0:0:0Z 起算的秒數,以世界標準時間為準。 |
oemid |
Uint64 |
Google
私人企業號碼 (PEN),即 11129。
|
secboot |
布林值 | 是否啟用安全啟動功能,確保 VM 啟動程序期間驗證韌體和作業系統。 |
sub |
字串 |
識別虛擬機器執行個體的主體:
|
submods |
陣列 | 一系列各種聲明。請參閱「子模組聲明」一文。 |
swname |
字串 |
虛擬機的核准作業系統名稱。 這個值一律為 |
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 評估基準的世界標準時間戳記。 |
mrtd1
|
字串 (十六進位) | 測量初始信任網域內容和虛擬韌體 (OVMF)。 |
rtmr01
|
字串 (十六進位) | 執行階段測量暫存器 0 (虛擬韌體設定和系統參數)。 |
rtmr1 |
字串 (十六進位) | 執行階段測量暫存器 1 (訪客 OS 系統啟動載入程式和核心測量)。 |
rtmr2 |
字串 (十六進位) | 執行階段測量暫存器 2 (初始 RAM 磁碟 (initramfs) 和核心指令列)。 |
rtmr3 |
字串 (十六進位) | 執行階段評估記錄 3 (客戶執行階段擴充功能和應用程式)。 |
fmspc |
字串 (十六進位) | Intel 供應認證服務 (PCS) 查詢的 6 位元組系列型號步進 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 位元組點陣圖。 |
Submods claims
下表說明 Google Cloud 驗證權杖中的 submods 聲明。
| 領取 | 類型 | 說明 |
|---|---|---|
gce |
物件 | 請參閱「Compute Engine 索賠」。 |
Compute Engine 申請
下表說明 Google Cloud 認證權杖中的 gce 聲明。
| 領取 | 類型 | 說明 |
|---|---|---|
instance_id |
字串 | VM 執行個體 ID。 |
instance_name |
字串 | VM 執行個體名稱。 |
project_id |
字串 | VM 執行的專案 專案 ID。 |
project_number |
字串 | VM 執行的專案編號。 |
zone |
字串 | 機密 VM 執行個體執行的 Compute Engine 可用區。 |
後續步驟
如要進一步瞭解認證聲明,請參閱 IETF 草案「The Entity Attestation Token (EAT)」。
如要進一步瞭解 OpenID 權杖聲明,請參閱「OpenID Connect Core 1.0」。
如要進一步瞭解權杖和如何擷取權杖,請參閱「vTPM 認證程式碼研究室」。