אסימוני הרשאה

אסימון למוכ"ז (JWT: RFC 7516) שמנפיקה Google כדי לאמת שלמבצע הקריאה יש הרשאה להצפין או לפענח משאב.

כדי למנוע ניצול לרעה, שירות רשימת בקרת הגישה למפתחות (KACLS) צריך לאמת שהמבצע מורשה להצפין את האובייקט (קובץ או מסמך) לפני שהוא עוטף את המפתח, ולפענח אותו לפני שהוא פותח את האריזה של ה-DEK.

אסימון הרשאה להצפנה מצד הלקוח (CSE) ב-Docs וב-Drive, ביומן Google וב-Meet

ייצוג ב-JSON
{
  "aud": string,
  "email": string,
  "email_type": string,
  "exp": string,
  "iat": string,
  "iss": string,
  "kacls_url": string,
  "perimeter_id": string,
  "resource_name": string,
  "role": string
}
שדות
aud

string

הקהל, כפי שזוהה על ידי Google. צריך לבדוק את ההגדרות המקומיות.

email

string (UTF-8)

זוהי כתובת האימייל של המשתמש.

email_type

string

מכיל אחד מהערכים הבאים:

  • google: כתובת האימייל הזו שייכת לחשבון Google.
  • google-visitor: כתובת האימייל הזו לא שייכת לחשבון Google, אבל Google אימתה אותה באמצעות קוד אימות.
  • customer-idp: כתובת האימייל הזו לא שייכת לחשבון Google, אבל כתובת האימייל של המשתמש הופקה באמצעות IdP שהוגדר על ידי הלקוח.
  • אפשר לא להגדיר את ההצהרה. במקרה כזה, ערך ברירת המחדל הוא 'google'.
exp

string

מועד התפוגה.

iat

string

זמן ההנפקה.

iss

string

מנפיק האסימון. צריך לאמת אותו מול הקבוצה המהימנה של מנפיקי האימות.

kacls_url

string

כתובת ה-URL הבסיסית של KACLS שמוגדרת, ומשמשת למניעת התקפות אדם בתווך (PITM).

perimeter_id

string (UTF-8)

(אופציונלי) ערך שמקושר למיקום המסמך, שאפשר להשתמש בו כדי לבחור את ההיקף שייבדק בזמן הוצאת המסמך מהאריזה. גודל מקסימלי: 128 בייטים.

resource_name

string (UTF-8)

מזהה של האובייקט המוצפן על ידי ה-DEK. גודל מקסימלי: 128 בייטים.

role

string

מכיל אחד מהערכים הבאים:

  • reader: מותר להתקשר רק למספר unwrap.
  • writer: מותר לבצע שיחות גם אל wrap וגם אל unwrap

טוקן הרשאה ל-CSE של Gmail

ייצוג ב-JSON
{
  "aud": string,
  "email": string,
  "exp": string,
  "iat": string,
  "message_id": string,
  "iss": string,
  "kacls_url": string,
  "perimeter_id": string,
  "resource_name": string,
  "role": string,
  "spki_hash": string,
  "spki_hash_algorithm": string
}
שדות
aud

string

הקהל, כפי שזוהה על ידי Google. צריך לבדוק את ההגדרות המקומיות.

email

string (UTF-8)

זוהי כתובת האימייל של המשתמש.

exp

string

מועד התפוגה.

iat

string

זמן ההנפקה.

message_id

string

מזהה של ההודעה שבה מתבצעת פעולת ההצפנה או החתימה. משמש כסיבה של הלקוח למטרות ביקורת.

iss

string

מנפיק האסימון. צריך לאמת אותו מול הקבוצה המהימנה של מנפיקי האימות.

kacls_url

string

כתובת ה-URL הבסיסית של KACLS שמוגדרת, ומשמשת למניעת התקפות אדם בתווך (PITM).

perimeter_id

string (UTF-8)

(אופציונלי) ערך שמקושר למיקום המסמך, שאפשר להשתמש בו כדי לבחור את ההיקף שייבדק בזמן הוצאת המסמך מהאריזה. גודל מקסימלי: 128 בייטים.

resource_name

string (UTF-8)

מזהה של האובייקט המוצפן על ידי ה-DEK. גודל מקסימלי: 512 בייטים.

role

string

מכיל אחד מהערכים הבאים:

  • decrypter: אפשר לפענח.
  • signer: יכול לחתום.
spki_hash

string

סיכום (digest) סטנדרטי בקידוד base64 של SubjectPublicKeyInfo בקידוד DER של המפתח הפרטי שאליו מתבצעת הגישה.

spki_hash_algorithm

string

האלגוריתם ששימש ליצירת spki_hash. יכול להיות SHA-256.

אסימון הרשאה לשירות העברת KACLS

ייצוג ב-JSON
{
  "aud": string,
  "email": string,
  "exp": string,
  "iat": string,
  "iss": string,
  "kacls_url": string,
  "resource_name": string,
  "role": string
}
שדות
aud

string

הקהל, כפי שזוהה על ידי Google. צריך לבדוק את ההגדרות המקומיות.

email

string (UTF-8)

זוהי כתובת האימייל של המשתמש.

exp

string

מועד התפוגה.

iat

string

זמן ההנפקה.

iss

string

מנפיק האסימון. צריך לאמת אותו מול הקבוצה המהימנה של מנפיקי האימות.

kacls_url

string

כתובת ה-URL הבסיסית של KACLS שמוגדרת, ומשמשת למניעת התקפות אדם בתווך (PITM).

role

string

מכיל אחד מהערכים הבאים:

  • migrator: מותר להתקשר רק למספר rewrap.
  • verifier: מותר להתקשר רק למספר digest.