تشفير البيانات وفك تشفيرها

يوضّح هذا الدليل آلية عمل التشفير وفك التشفير باستخدام واجهة برمجة التطبيقات لميزة "التشفير من جهة العميل" في Google Workspace.

يجب إضافة أي خدمات موفِّر الهوية (IdP) إلى القائمة المسموح بها التي يستخدمها المستخدمون الذين يشاركون الملفات المشفَّرة. يمكنك عادةً العثور على التفاصيل المطلوبة لموفِّر الهوية في ملف .well-known المتاح للجميع، وإلا يُرجى التواصل مع مشرف Google Workspace في المؤسسة للحصول على تفاصيل موفِّر الهوية.

تشفير البيانات

عندما يطلب أحد مستخدمي Google Workspace حفظ البيانات المشفَّرة من جهة العميل (CSE) أو تخزينها، تُرسِل Google Workspace طلب wrap إلى عنوان URL لنقطة نهاية KACLS للتشفير. بالإضافة إلى عمليات فحص الأمان الاختيارية، مثل عمليات فحص الحدود الخارجية وعمليات التحقق المستندة إلى مطالبة JWT، على نظام KACLS تنفيذ الخطوات التالية:

  1. تأكَّد من هوية المستخدم الذي قدّم الطلب.

    • تحقَّق من كلٍّ من الرمز المميز للمصادقة والرمز المميز للمصادقة.
    • تحقق من أن الرموز المميزة للمصادقة والمصادقة هي للمستخدم نفسه من خلال إجراء مطابقة غير حساسة لحالة الأحرف في مطالبات البريد الإلكتروني.
    • عندما يحتوي الرمز المميّز للمصادقة على مطالبة google_email الاختيارية، يجب مقارنته بمطالبة البريد الإلكتروني الواردة في رمز التفويض باستخدام أسلوب غير حساس لحالة الأحرف. لا تستخدم مطالبة البريد الإلكتروني ضمن الرمز المميز للمصادقة لهذه المقارنة.
    • في الحالات التي يفتقر فيها الرمز المميّز للمصادقة إلى المطالبة الاختيارية google_email، يجب مقارنة المطالبة بالبريد الإلكتروني ضمن الرمز المميّز للمصادقة بالمطالبة بالبريد الإلكتروني في الرمز المميّز للتفويض، باستخدام طريقة غير حساسة لحالة الأحرف.
    • وفي الحالات التي تُصدر فيها Google رمزًا مميزًا للتفويض لبريد إلكتروني غير مرتبط بحساب على Google، يجب أن تكون مطالبة email_type موجودة. يشكل ذلك جزءًا مهمًا من ميزة "وصول الضيوف"، حيث يوفّر معلومات قيّمة لـ KACLS لفرض تدابير أمان إضافية على المستخدمين الخارجيين.
      • في ما يلي بعض الأمثلة حول كيفية استخدام نظام KACLS لهذه المعلومات:
      • فرض متطلبات تسجيل إضافية.
      • لحصر جهة إصدار الرمز المميّز للمصادقة على موفِّر هوية مخصّص للضيف،
      • لطلب مطالبات إضافية بشأن الرمز المميّز للمصادقة.
      • إذا لم يضبط العميل إمكانية وصول الضيوف، يمكن رفض جميع الطلبات التي تم فيها ضبط email_type على google-visitor أو customer-idp. سيستمر قبول الطلبات التي تتضمّن email_type من google أو التي لم يتم ضبط email_type لها.
    • تحقّق من أنّ المطالبة role في الرمز المميّز للتفويض هي "كاتب" أو "ترقية".
    • تحقَّق من أنّ المطالبة kacls_url في الرمز المميّز للتفويض تتطابق مع عنوان URL الحالي لخدمة KACLS. تسمح عملية التحقّق هذه برصد أي خوادم وسيطة محتملة تم ضبطها من قِبل أشخاص من الداخل أو مشرفي النطاقات المخادعين.
    • إجراء فحص للبيئة باستخدام كل من مطالبات المصادقة والترخيص.
  2. تشفير الأجزاء التالية باستخدام خوارزمية تشفير تمت مصادقتها:

    • مفتاح تشفير البيانات (DEK)
    • القيمتان resource_name وperimeter_id من الرمز المميّز للتفويض
    • أي بيانات حساسة إضافية
  3. سجِّل العملية، بما في ذلك المستخدم الذي أنشأ العملية، وresource_name، والسبب الذي تم تمريره في الطلب.

  4. عرض عنصر ثنائي غير شفاف ليتم تخزينه من خلال Google Workspace مع العنصر المشفَّر وإرساله كما هو في أي عملية لاحقة لإلغاء التفاف المفتاح. أو يمكنك عرض رد بخطأ منظّم.

    • يجب أن يحتوي الكائن الثنائي على النسخة الوحيدة من DEK المشفّر، ويمكن تخزين بيانات خاصة بالتنفيذ فيه.

فك تشفير البيانات

عندما يطلب مستخدم Google Workspace فتح بيانات مشفَّرة من جهة العميل، ترسل Google Workspace طلب unwrap إلى عنوان URL لنقطة نهاية KACLS لفك التشفير. بالإضافة إلى فحوصات الأمان الاختيارية، مثل عمليات الفحص المستنِدة إلى مطالبات JWT وعمليات فحص الحدود الجغرافية، يجب على نظام KACLS تنفيذ الخطوات التالية:

  1. تأكَّد من هوية المستخدم الذي قدّم الطلب.

    • تحقَّق من كلٍّ من الرمز المميز للمصادقة والرمز المميز للمصادقة.
    • تحقق من أن الرموز المميزة للمصادقة والمصادقة هي للمستخدم نفسه من خلال إجراء مطابقة غير حساسة لحالة الأحرف في مطالبات البريد الإلكتروني.
    • عندما يحتوي الرمز المميّز للمصادقة على مطالبة google_email الاختيارية، يجب مقارنته بمطالبة البريد الإلكتروني الواردة في رمز التفويض باستخدام أسلوب غير حساس لحالة الأحرف. لا تستخدم مطالبة البريد الإلكتروني ضمن الرمز المميز للمصادقة لهذه المقارنة.
    • في الحالات التي يفتقر فيها الرمز المميّز للمصادقة إلى المطالبة الاختيارية google_email، يجب مقارنة المطالبة بالبريد الإلكتروني ضمن الرمز المميّز للمصادقة بالمطالبة بالبريد الإلكتروني في الرمز المميّز للتفويض، باستخدام طريقة غير حساسة لحالة الأحرف.
    • وفي الحالات التي تُصدر فيها Google رمزًا مميزًا للتفويض لبريد إلكتروني غير مرتبط بحساب على Google، يجب أن تكون مطالبة email_type موجودة. يشكل ذلك جزءًا مهمًا من ميزة "وصول الضيوف"، حيث يوفّر معلومات قيّمة لـ KACLS لفرض تدابير أمان إضافية على المستخدمين الخارجيين.
      • في ما يلي بعض الأمثلة حول كيفية استخدام نظام KACLS لهذه المعلومات:
      • فرض متطلبات تسجيل إضافية.
      • لحصر جهة إصدار الرمز المميّز للمصادقة على موفِّر هوية مخصّص للضيف،
      • لطلب مطالبات إضافية بشأن الرمز المميّز للمصادقة.
      • إذا لم يضبط العميل إمكانية وصول الضيوف، يمكن رفض جميع الطلبات التي تم فيها ضبط email_type على google-visitor أو customer-idp. سيستمر قبول الطلبات التي تتضمّن email_type من google أو التي لم يتم ضبط email_type لها.
    • تحقّق من أنّ مطالبة role في الرمز المميّز للتفويض هي "قارئ" أو "كاتب".
    • تحقَّق من أنّ المطالبة kacls_url في الرمز المميّز للتفويض تتطابق مع عنوان URL الحالي لخدمة KACLS. ويسمح هذا باكتشاف الخوادم الوسيطة المحتملة التي يهيأها مستخدمون داخليون أو مشرفو نطاقات مخادعون.
  2. فك تشفير الأجزاء التالية باستخدام خوارزمية تشفير تمت مصادقتها:

    • مفتاح تشفير البيانات (DEK)
    • القيمتان resource_name وperimeter_id من الرمز المميّز للتفويض
    • أي بيانات حساسة إضافية
  3. تحقق من تطابق resource_name في الرمز المميز للتفويض والرمز الثنائي الثنائي الذي تم فك تشفيره.

  4. نفِّذ فحصًا للبيئة باستخدام كل من مطالبات المصادقة والترخيص.

  5. سجِّل العملية، بما في ذلك المستخدم الذي أنشأ العملية، وresource_name، والسبب الذي تم تمريره في الطلب.

  6. اعرض DEK غير المرفق أو رد بخطأ منظم.