الرموز المميزة للتفويض

رمز الحامل المميز (JWT: RFC 7516) صادرة عن Google للتحقّق من أنّ المتصل لديه الإذن بالتشفير أو فك التشفير مورد.

لمنع إساءة الاستخدام، يجب على خدمة قائمة التحكم في الوصول إلى المفاتيح (KACLS) التحقق من أن يُسمح للمتصل بتشفير الكائن (ملف أو مستند) قبل إحاطة المفتاح وفك تشفيره قبل فك إحاطة DEK.

الرمز المميز للتفويض لـ "مستندات Google" التشفير من جهة العميل في 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

الرمز المميّز للتفويض لميزة "التشفير من جهة العميل" في 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

هذا ملخص عادي بترميز 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 فقط.