يوضّح هذا الدليل طريقة عمل التشفير وفك التشفير باستخدام واجهة برمجة التطبيقات لميزة "التشفير من جهة العميل" في Google Workspace.
يجب إضافة أي خدمات موفِّر هوية (IdP) يستخدمها المستخدمون الذين يشاركون الملفات المشفَّرة إلى القائمة المسموح بها. يمكنك عادةً العثور على تفاصيل موفِّر الهوية المطلوبة في ملف .well-known المتاح للجميع، وإلا يمكنك التواصل مع مشرف Google Workspace في المؤسسة للحصول على تفاصيل موفِّر الهوية.
تشفير البيانات
عندما يطلب مستخدم Google Workspace حفظ بيانات مشفَّرة من جهة العميل (CSE) أو تخزينها، يرسل Google Workspace طلب wrap
إلى عنوان URL لنقطة نهاية خدمة إدارة مفاتيح التشفير (KACLS) من أجل التشفير.
بالإضافة إلى عمليات فحص الأمان الاختيارية، مثل عمليات الفحص المستندة إلى المحيط الخارجي ومطالبات JWT، يجب أن تنفّذ خدمة KACLS الخطوات التالية:
التحقّق من صحة بيانات المستخدم الذي يقدّم الطلب
- تحقَّق من صحة كل من رمز المصادقة المميز ورمز التفويض المميز.
- تأكَّد من أنّ رموز التفويض والمصادقة المميزة تخص المستخدم نفسه من خلال إجراء مطابقة غير حساسة لحالة الأحرف في مطالبات البريد الإلكتروني.
- عندما يحتوي رمز المصادقة المميز على مطالبة
google_email
الاختيارية، يجب مقارنتها بمطالبة البريد الإلكتروني في رمز الموافقة المميز باستخدام طريقة غير حساسة لحالة الأحرف. لا تستخدِم مطالبة البريد الإلكتروني ضمن رمز المصادقة المميز لإجراء هذه المقارنة. - في الحالات التي لا يتضمّن فيها رمز المصادقة المميز مطالبة
google_email
الاختيارية، يجب مقارنة مطالبة البريد الإلكتروني في رمز المصادقة المميز بمطالبة البريد الإلكتروني في رمز التفويض المميز، باستخدام طريقة غير حساسة لحالة الأحرف. - في الحالات التي تصدر فيها Google رمزًا مميزًا للتفويض لعنوان بريد إلكتروني غير مرتبط بحساب على Google، يجب أن يكون الادعاء
email_type
موجودًا. يشكّل ذلك جزءًا مهمًا من ميزة "وصول الضيوف"، إذ يوفّر معلومات قيّمة لقوائم التحكّم بالوصول إلى المفاتيح (KACL) من أجل فرض تدابير أمان إضافية على المستخدمين الخارجيين.- في ما يلي بعض الأمثلة على كيفية استخدام نظام KACLS لهذه المعلومات:
- لفرض متطلبات تسجيل إضافية
- لتقييد جهة إصدار رمز المصادقة المميز بموفِّر هوية مخصّص لجلسات الضيوف
- لفرض مطالبات إضافية على رمز المصادقة المميز
- إذا لم يضبط العميل إعدادات "وصول الضيوف"، يمكن رفض جميع الطلبات التي تم ضبط
email_type
فيها علىgoogle-visitor
أوcustomer-idp
. سيستمر قبول الطلبات التي تتضمّن قيمةemail_type
تساويgoogle
أو قيمةemail_type
غير محدّدة.
- عندما يحتوي رمز المصادقة على مطالبة
delegated_to
الاختيارية، يجب أن يحتوي أيضًا على مطالبةresource_name
، ويجب مقارنة هاتين المطالبتين بمطالبتَيdelegated_to
وresource_name
في رمز التفويض. يجب مقارنة مطالباتdelegated_to
باستخدام طريقة غير حساسة لحالة الأحرف، ويجب أن تتطابق قيمةresource_name
في الرموز المميزة مع قيمةresource_name
الخاصة بالعملية. - تأكَّد من أنّ قيمة المطالبة
role
في رمز التفويض هيwriter
أوupgrader
. - تأكَّد من أنّ مطالبة
kacls_url
في رمز الإذن تتطابق مع عنوان URL الحالي لخدمة KACLS. يتيح هذا التحقّق رصد خوادم محتملة للهجوم الوسيط تم إعدادها من قِبل أشخاص من الداخل أو مشرفي نطاقات غير موثوق بهم. - إجراء عملية تحقّق من المحيط باستخدام بيانات المصادقة والتفويض.
يجب تشفير الأجزاء التالية باستخدام خوارزمية تشفير مصادَق عليها:
- مفتاح تشفير البيانات (DEK)
- قيمتا
resource_name
وperimeter_id
من رمز التفويض المميز - أي بيانات حسّاسة إضافية
سجِّل العملية، بما في ذلك المستخدم الذي بدأها، و
resource_name
والسبب الذي تم تمريره في الطلب.عرض عنصر ثنائي مبهم سيخزّنه Google Workspace بجانب العنصر المشفّر وسيتم إرساله كما هو في أي عملية لاحقة لفك تشفير المفتاح. أو يمكنك عرض ردّ منظَّم يفيد بحدوث خطأ.
- يجب أن يحتوي العنصر الثنائي على النسخة الوحيدة من مفتاح تشفير البيانات المشفَّر، ويمكن تخزين البيانات الخاصة بالتنفيذ فيه.
فك تشفير البيانات
عندما يطلب مستخدم Google Workspace فتح بيانات مشفَّرة من جهة العميل (CSE)، يرسل Google Workspace طلب unwrap
إلى عنوان URL لنقطة نهاية KACLS لفك التشفير. بالإضافة إلى عمليات فحص الأمان الاختيارية، مثل عمليات الفحص المستندة إلى المحيط الخارجي ومطالبات JWT، يجب أن تنفّذ خدمة KACLS الخطوات التالية:
التحقّق من صحة بيانات المستخدم الذي يقدّم الطلب
- تحقَّق من صحة كل من رمز المصادقة المميز ورمز التفويض المميز.
- تأكَّد من أنّ رموز التفويض والمصادقة المميزة تخص المستخدم نفسه من خلال إجراء مطابقة غير حساسة لحالة الأحرف في مطالبات البريد الإلكتروني.
- عندما يحتوي رمز المصادقة المميز على مطالبة
google_email
الاختيارية، يجب مقارنتها بمطالبة البريد الإلكتروني في رمز الموافقة المميز باستخدام طريقة غير حساسة لحالة الأحرف. لا تستخدِم مطالبة البريد الإلكتروني ضمن رمز المصادقة المميز لإجراء هذه المقارنة. - في الحالات التي لا يتضمّن فيها رمز المصادقة المميز مطالبة
google_email
الاختيارية، يجب مقارنة مطالبة البريد الإلكتروني في رمز المصادقة المميز بمطالبة البريد الإلكتروني في رمز التفويض المميز، باستخدام طريقة غير حساسة لحالة الأحرف. - في الحالات التي تصدر فيها Google رمزًا مميزًا للتفويض لعنوان بريد إلكتروني غير مرتبط بحساب على Google، يجب أن يكون الادعاء
email_type
موجودًا. يشكّل ذلك جزءًا مهمًا من ميزة "وصول الضيوف"، إذ يوفّر معلومات قيّمة لقوائم التحكّم بالوصول إلى المفاتيح (KACL) من أجل فرض تدابير أمان إضافية على المستخدمين الخارجيين.- في ما يلي بعض الأمثلة على كيفية استخدام نظام KACLS لهذه المعلومات:
- لفرض متطلبات تسجيل إضافية
- لتقييد جهة إصدار رمز المصادقة المميز بموفِّر هوية مخصّص لجلسات الضيوف
- لفرض مطالبات إضافية على رمز المصادقة المميز
- إذا لم يضبط العميل إعدادات "وصول الضيوف"، يمكن رفض جميع الطلبات التي تم ضبط
email_type
فيها علىgoogle-visitor
أوcustomer-idp
. سيستمر قبول الطلبات التي تتضمّن قيمةemail_type
تساويgoogle
أو قيمةemail_type
غير محدّدة.
- عندما يحتوي رمز المصادقة على مطالبة
delegated_to
الاختيارية، يجب أن يحتوي أيضًا على مطالبةresource_name
، ويجب مقارنة هاتين المطالبتين بمطالبتَيdelegated_to
وresource_name
في رمز التفويض. يجب مقارنة مطالباتdelegated_to
باستخدام طريقة غير حساسة لحالة الأحرف، ويجب أن تتطابق قيمةresource_name
في الرموز المميزة مع قيمةresource_name
الخاصة بالعملية. - تأكَّد من أنّ قيمة المطالبة
role
في رمز التفويض هيreader
أوwriter
. - تأكَّد من أنّ مطالبة
kacls_url
في رمز الإذن تتطابق مع عنوان URL الحالي لخدمة KACLS. ويتيح ذلك رصد خوادم محتملة من نوع "هجوم الوسيط" (Man-in-the-middle) تم إعدادها من قِبل موظفين داخليين أو مشرفي نطاقات غير مصرح لهم.
فك تشفير الأجزاء التالية باستخدام خوارزمية تشفير مصادَق عليها:
- مفتاح تشفير البيانات (DEK)
- قيمتا
resource_name
وperimeter_id
من رمز التفويض المميز - أي بيانات حسّاسة إضافية
تأكَّد من تطابق
resource_name
في رمز التفويض والبيانات الثنائية المشفرة.إجراء فحص محيطي باستخدام كل من مطالبات المصادقة والتفويض
سجِّل العملية، بما في ذلك المستخدم الذي بدأها، و
resource_name
والسبب الذي تم تمريره في الطلب.أرجِع مفتاح DEK غير المشفّر أو ردًّا يتضمّن خطأ منظَّمًا.