במאמר הזה מוסבר על ההצהרות באסימוני Google Cloud Attestation. הטוקנים הם טוקנים לאימות ישויות (EAT), שמקודדים כאסימוני אינטרנט מסוג JSON (JWT). אפשר לפענח אסימוני JWT באמצעות כלים כמו https://jwt.io/.
הטענות מוגדרות בנקודת הקצה של well-known Google Cloud Attestation.
דוגמאות לטוקנים מפוענחים
הטענות באסימון Google Cloud Attestation שונות בהתאם לטכנולוגיית Confidential Computing שבה נעשה שימוש במופע Confidential 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 Attestation. הטענות האלה תואמות למפרט OpenID Connect 1.0.
ערכי נקודת קצה well-known |
תיאור |
|---|---|
claims_supported |
מידע על תלונות ברמה העליונה |
id_token_signing_alg_values_supported |
אלגוריתמי החתימה (ערכי alg) שהטוקן תומך בהם.
מכונה וירטואלית חסויה תומכת באלגוריתם RS256.
|
issuer |
סכמת ה-HTTPS שמשמשת את Confidential VM כמזהה המנפיק שלה.
הערך הוא |
jwks_uri |
הנתיב למפתחות הציבוריים שמשמשים לאימות חתימת הטוקן. אפשר לפרסם את המפתחות האלה בקטגוריה של Cloud Storage.
אפשר למצוא את מפתחות
ערך לדוגמה: |
response_types_supported |
רשימת סוגי התגובות הנתמכים של Confidential VM. Confidential VM תומך ב-
id_token.
|
scopes_supported |
ערכי ההיקף של
OAuth 2.0 שמופע המכונה הווירטואלית הסודית תומך בהם. Confidential VM תומך רק ב-openid.
|
subject_types_supported |
סוגי מזהי הנושא שנתמכים במכונות וירטואליות לעיבוד נתונים מאובטח. Confidential VM
תומך ב-public.
|
טענות ברמה העליונה
בטבלה הבאה מתוארים ההצהרות הנתמכות ברמה העליונה באסימון Google Cloud Attestation.
| הצהרה | סוג | תיאור |
|---|---|---|
aud |
String |
הקהל. באסימון ברירת המחדל שמשמש עם מאגר זהויות של כוח עבודה, הקהל הוא באסימונים עם קהלים בהתאמה אישית, הקהל משוכפל מהקהל בבקשת האסימון. האורך המקסימלי הוא 512 בייטים. |
dbgstat |
String | סטטוס ניפוי הבאגים של החומרה. האפשרות הזו לא זמינה ב-AMD SEV. |
eat_nonce |
מחרוזת או מערך מחרוזות | ערך nonce אחד או יותר עבור טוקן האימות. הערכים מוחזרים מאפשרויות האסימון שנשלחו בבקשה לאסימון מותאם אישית. כל ערך nonce צריך להיות באורך של 10 עד 74 בייט, כולל. אפשר להשתמש בעד שישה ערכי nonce. |
eat_profile |
String |
ה-URI של פרופיל אסימון האימות של הישות (EAT) שמגדיר את סכימת האסימון. הערך הוא https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
|
exp |
מספר שלם, חותמת זמן של Unix |
תאריך התפוגה שעד אליו או אחריו לא ניתן לקבל את הטוקן לעיבוד. הערך הוא מספר JSON שמייצג את מספר השניות מ-1970-01-01T0:0:0Z שנמדד ב-UTC עד למועד התפוגה.
|
google_service_accounts |
מערך מחרוזות | חשבונות השירות שאומתו ומריצים את עומס העבודה של Confidential VM. |
hwmodel |
String |
המזהה הייחודי של אסימון החומרה. המזהה צריך להיות אחד מהערכים הבאים:
|
iat |
מספר שלם, חותמת זמן של Unix |
הזמן שבו הונפק ה-JWT. הערך הוא מספר JSON שמייצג את מספר השניות מ-1970-01-01T0:0:0Z, שנמדד ב-UTC עד לזמן ההנפקה.
|
iss |
String |
הישות שהנפיקה את האסימון, שמוגדרת לערך
https://confidentialcomputing.googleapis.com.
|
nbf |
מספר שלם, חותמת זמן של Unix |
הזמן שאחריו מותר לעבד את ה-JWT. הערך הוא מספר JSON שמייצג את מספר השניות מ-1970-01-01T0:0:0Z, שנמדד ב-UTC.
|
oemid |
Uint64 |
Google
Private Enterprise Number (PEN), שהוא 11129.
|
secboot |
בוליאני | האם ההפעלה המאובטחת מופעלת, כדי לוודא שהקושחה ומערכת ההפעלה מאומתות במהלך תהליך האתחול של המכונה הווירטואלית. |
sub |
String |
נושא שבו מצוין המזהה של המכונה הווירטואלית:
|
submods |
מערך | מערך של תלונות שונות. מידע על תלונות לגבי יצירות נגזרות |
swname |
String |
השם של מערכת ההפעלה שאושרה למכונה הוירטואלית. הערך הוא תמיד |
tdx |
אובייקט | אובייקט שמכיל טענות לגבי מופעי Intel TDX. מידע נוסף על Intel TDX |
תלונות בנושא Intel TDX
בטבלה הבאה מתוארים tdxהצהרות באסימון Google Cloud Attestation עבור מכונות Intel TDX.
| הצהרה | סוג | תיאור |
|---|---|---|
tcb_evaluation_data_number |
Uint32 | Monotonically increasing Intel TCB Evaluation Data Number שמשויך ל-FMSPC של הפלטפורמה מתוך Intel TCB Info. |
gcp_attester_tcb_date |
String | חותמת הזמן (UTC) של בסיס ההשוואה להערכת TCB של Intel. |
mrtd1
|
מחרוזת (הקסדצימלית) | מדידה של התוכן הראשוני של דומיין המהימנות ושל קושחה וירטואלית (OVMF). |
rtmr01
|
מחרוזת (הקסדצימלית) | בזמן הריצה, המדידה רושמת 0 (הגדרת קושחה וירטואלית ופרמטרים של המערכת). |
rtmr1 |
מחרוזת (הקסדצימלית) | רישום מדידות בזמן ריצה 1 (מדידות של טוען האתחול והליבה של מערכת ההפעלה של האורח). |
rtmr2 |
מחרוזת (הקסדצימלית) | רישום מדידה בזמן ריצה 2 (דיסק RAM ראשוני (initramfs) ושורת פקודה של ליבת המערכת). |
rtmr3 |
מחרוזת (הקסדצימלית) | רישום מדידות בזמן ריצה 3 (הרחבות ואפליקציות של זמן ריצה של לקוחות). |
fmspc |
מחרוזת (הקסדצימלית) | מק"ט של 6 בייט מסוג Family-Model-Stepping לחיפוש בשירות Intel Provisioning Certification (PCS). |
tee_tcb_svn |
מחרוזת (הקסדצימלית) | מערך של 16 בייטים של מספרי גרסאות האבטחה של רכיבי TDX TCB כשהופעל Trust Domain. |
pcesvn |
Uint16 | מספר הגרסה של ה-SVN של ה-Provisioning Certification Enclave (PCE). |
sgx_tcb_comp_svn |
מחרוזת (הקסדצימלית) | מערך של 16 בייטים של מספרי גרסאות אבטחה של רכיבי Intel SGX TCB. |
xfam |
מחרוזת (הקסדצימלית) | מסכת 8 בייט של תכונות מורחבות של המעבד שהופעלו. |
tdattributes |
מחרוזת (הקסדצימלית) | מפת סיביות (bitmap) של 8 בייט של מאפייני ההפעלה של TD. |
תלונות על שינויים במשחקים
בטבלה הבאה מתוארים ה-submodsclaims בטוקן
Google Cloud Attestation.
| הצהרה | סוג | תיאור |
|---|---|---|
gce |
אובייקט | מידע על תביעות ב-Compute Engine |
טענות לגבי Compute Engine
בטבלה הבאה מתוארים הgceטענות באסימון אימות ב-Google Cloud.
| הצהרה | סוג | תיאור |
|---|---|---|
instance_id |
String | מזהה מכונת ה-VM. |
instance_name |
String | השם של מכונת ה-VM. |
project_id |
String | מזהה הפרויקט של הפרויקט שבו המכונה הווירטואלית פועלת. |
project_number |
String | מספר הפרויקט שבו המכונה הווירטואלית פועלת. |
zone |
String | התחום (zone) ב-Compute Engine שבו פועלת מכונת Confidential VM. |
המאמרים הבאים
מידע נוסף על הצהרות אימות זמין בטיוטה של IETF בנושא The Entity Attestation Token (EAT).
למידע נוסף על טענות באסימוני OpenID, אפשר לעיין במאמר בנושא OpenID Connect Core 1.0.
מידע נוסף על אסימונים ועל אחזור שלהם זמין במאמר vTPM Attestation Codelab.