טענות (claims) של טוקן Google Cloud Attestation

במאמר הזה מוסבר על ההצהרות באסימוני 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 כמזהה המנפיק שלה.

הערך הוא 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 רשימת סוגי התגובות הנתמכים של 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

הקהל. באסימון ברירת המחדל שמשמש עם מאגר זהויות של כוח עבודה, הקהל הוא https://sts.googleapis.com. האסימון הזה מאוחזר כל שעה על ידי מרכז הבקרה במכונת ה-VM הסודית.

באסימונים עם קהלים בהתאמה אישית, הקהל משוכפל מהקהל בבקשת האסימון. האורך המקסימלי הוא 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

המזהה הייחודי של אסימון החומרה. המזהה צריך להיות אחד מהערכים הבאים:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
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

נושא שבו מצוין המזהה של המכונה הווירטואלית:

  • במקרים של מופעי AMD SEV, זו כתובת ה-URL של selfLink של המופע: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME.
  • עבור מכונות Intel TDX, זהו שם המשאב ב-Compute Engine שמכיל מזהים מספריים קבועים: //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID.
submods מערך מערך של תלונות שונות. מידע על תלונות לגבי יצירות נגזרות
swname String

השם של מערכת ההפעלה שאושרה למכונה הוירטואלית.

הערך הוא תמיד GCE.

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.
1 לא להשתמש במדדים האלה במדיניות גישה. הם מושפעים משינויים בתשתית הבסיסית, כמו עדכוני קושחה, שיכולים לקרות בכל שלב. המדדים האלה מוצגים בעיקר למטרות שקיפות.

תלונות על שינויים במשחקים

בטבלה הבאה מתוארים ה-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.

המאמרים הבאים