يُرجى توجيه أي أسئلة حول هذه السياسة إلى منتدى سياسة "الشفافية والاتساق": ct-policy@chromium.org
عند التحقّق من صحة شهادة بروتوكول أمان طبقة النقل (TLS) الخاصة باتصال في تطبيق يوافق على سياسة "شفافية الشهادات"، يتم تقييمها للتأكّد من امتثالها لسياسة "شفافية الشهادات" (CT) في Android. يُقال إنّ الشهادات التي تتضمّن طوابع زمنية للشهادات الموقّعة (SCT) وتستوفي هذه السياسة متوافقة مع "شفافية الشهادات".
يتم تحقيق امتثال شهادة الشفافية من خلال شهادة ومجموعة من شهادات SCT المصاحبة التي تستوفي مجموعة من المتطلبات الفنية التي تفرضها مكتبات TLS الشائعة (بما في ذلك Conscrypt المضمّنة) أثناء التحقّق من صحة الشهادة، والتي يتم تحديدها في هذه السياسة.
حالات سجلّات CT
يتم تحديد امتثال Android لسياسة "شفافية الشهادات" من خلال تقييم شهادات SCT من سجلّات "شفافية الشهادات" والتأكّد من أنّ هذه السجلّات في الحالات الصحيحة في وقت التحقّق. مجموعة الحالات المحتملة التي يمكن أن يكون فيها سجلّ "الشفافية والامتثال" هي:
Pending
Qualified
Usable
ReadOnly
Retired
Rejected
للمساعدة في فهم متطلبات الامتثال لسياسة "الشفافية والاتّساق" في Android، تم وصف تعريفات هذه الحالات ومتطلبات السجلات في كل حالة، بالإضافة إلى كيفية تأثير هذه الحالات في سلوك Android، بالتفصيل في شرح دورة حياة سجلّ "الشفافية والاتّساق" ضمن مستندات Chrome.
الشهادات المتوافقة مع "الشفافية والتعاقد"
تكون شهادة TLS متوافقة مع "شفافية الشهادات" إذا كانت مصحوبة بمجموعة من شهادات SCT التي تستوفي معيارًا واحدًا على الأقل من المعايير المحدّدة لاحقًا، وذلك حسب طريقة تسليم شهادات SCT إلى Android. في تطبيقات Android التي تفرض استخدام "شفافية الشهادات"، يجب أن تكون جميع شهادات TLS الموثوق بها علنًا متوافقة مع "شفافية الشهادات" ليتم التحقّق منها بنجاح. ومع ذلك، لا تُعتبر الشهادات التي لم يتم تسجيلها في "شفافية الشهادات" أو التي تحتوي على عدد غير كافٍ من شهادات SCT شهادات صادرة بشكل خاطئ.
عند تقييم شهادة للتأكّد من امتثالها لمتطلبات "الشفافية والامتثال"، يأخذ نظام التشغيل Android في الاعتبار عدة عوامل، بما في ذلك عدد شهادات SCT المتوفّرة، والجهة التي تدير سجلّ "الشفافية والامتثال" الذي أصدر شهادة SCT، وحالة سجلّ "الشفافية والامتثال" الذي أصدر شهادة SCT، وذلك في وقت التحقّق من صحة الشهادة وفي وقت إنشاء شهادة SCT بواسطة سجلّ "الشفافية والامتثال".
استنادًا إلى طريقة عرض بيانات SCT على Android، يمكن تحقيق امتثال CT من خلال استيفاء أحد المعايير التالية:
النماذج المضمّنة:
- يجب أن تتضمّن الشهادة على الأقل بيانًا واحدًا مضمّنًا لشهادة الشفافية (SCT) من سجلّ شهادات شفافية كان
Qualified
أوUsable
أوReadOnly
في وقت التحقّق. - تتوفّر "شهادات SCT المضمّنة" من N سجلّ مختلف على الأقل من سجلّات شهادات الشفافية التي كانت
Qualified
أوUsable
أوReadOnly
أوRetired
في وقت التحقّق، حيث يتم تحديد N في الجدول التالي. - من بين شهادات SCT التي تستوفي الشرط 2، يجب أن يتم إصدار شهادتين على الأقل من مشغّلي سجلات CT مختلفين معترف بهم من قِبل Android.
- من بين شهادات SCT التي تستوفي الشرط 2، يجب أن تكون شهادة واحدة على الأقل صادرة من سجلّ تعترف به Android على أنّه متوافق مع RFC 6962.
مدة صلاحية الشهادة | عدد شهادات SCT من سجلات CT مختلفة |
---|---|
<= 180 يومًا | 2 |
أكثر من 180 يومًا | 3 |
شهادات SCT يتم تسليمها عبر بروتوكول OCSP أو TLS:
- يجب أن تتضمّن الشهادة على الأقل شهادتَي SCT من سجلّ شهادات الشفافية الذي كان في حالة
Qualified
أوUsable
أوReadOnly
في وقت التحقّق. - من بين شهادات SCT التي تستوفي المتطلب 1، يجب أن يتم إصدار شهادتَين على الأقل من مشغّلي سجلات CT مختلفين معترف بهم من قِبل Android.
- من بين شهادات SCT التي تستوفي الشرط 1، يجب أن تكون شهادة واحدة على الأقل صادرة من سجلّ CT معترف به من قِبل Android على أنّه متوافق مع RFC6962.
بالنسبة إلى شهادات SCT المضمّنة وتلك التي يتم تقديمها باستخدام بروتوكول حالة الشهادة على الإنترنت (OCSP) أو بروتوكول أمان طبقة النقل (TLS)، يتم تحديد تفرد مشغّل السجلّ من خلال توفّر إدخالات منفصلة ضمن قسم المشغّلين في قائمة السجلّ.
في الحالات النادرة التي تغيّر فيها سجلّات شهادات الشفافية مشغّليها خلال فترة صلاحيتها، تتضمّن سجلّات شهادات الشفافية اختياريًا قائمة previous_operators
، مصحوبة بالطابع الزمني النهائي الذي كان هذا السجلّ يعمل به لدى المشغّل السابق.
لمنع تغييرات مشغّل السجلّ من إيقاف الشهادات الحالية، يتم تحديد مشغّل السجلّ لكل شهادة SCT على أنّه المشغّل في وقت إصدار شهادة SCT، وذلك من خلال مقارنة الطابع الزمني لشهادة SCT بالطوابع الزمنية previous_operators
، إذا كانت متوفّرة.
ملاحظات مهمة
طالما أنّ أحد معايير "الامتثال لبروتوكول الشفافية والشهادات" المذكورة أعلاه يتم استيفاؤه من خلال بعض مجموعات شهادات SCT المعروضة في عملية المصافحة، لن تؤثّر شهادات SCT الإضافية، بغض النظر عن حالة شهادة SCT، في حالة "الامتثال لبروتوكول الشفافية والشهادات" للشهادة بشكل إيجابي أو سلبي.
للمساهمة في امتثال الشهادة لمتطلبات "الشفافية والامتثال"، يجب أن يكون قد تم إصدار SCT قبل الطابع الزمني Retired
للسجلّ، إذا كان متوفّرًا.
يستخدم نظام التشغيل Android أقدم شهادة SCT من بين جميع شهادات SCT المعروضة لتقييم الامتثال لبروتوكول "الشفافية والرضا" (CT) مقارنةً بالطوابع الزمنية Retired
لسجلّ CT.
ويشمل ذلك الحالات الحدّية التي يتم فيها إيقاف سجلّ CT نهائيًا أثناء عملية إرسال طلبات تسجيل الشهادات.
يشير مصطلح "SCT مضمّنة" إلى SCT يتم تسليمها باستخدام إضافة SignedCertificateTimestampList
X.509v3 ضمن الشهادة نفسها. لا تتوافق العديد من خوادم TLS مع OCSP Stapling أو إضافة TLS، لذا يجب أن تكون مراجع التصديق مستعدة لتضمين شهادات SCT في الشهادات الصادرة لضمان إتمام عملية التحقّق أو معالجة EV بنجاح في Android.
كيف تتم إضافة سجلات "الشفافية والاتساق" إلى Android؟
يمكنك الاطّلاع على معايير تحوّل سجلّات CT إلى Qualified
، بالإضافة إلى الظروف التي قد تؤدي إلى تحوّلها إلى Retired
، في سياسة سجلّات CT في Chrome.
مهلة فرض "الشفافية والموافقة"
تنشر Google يوميًا قائمة جديدة بسجلات "شفافية الشهادات" تحتوي على
log_list_timestamp
جديدة. سيحاول أجهزة Android تنزيل أحدث إصدار من هذه القائمة مرة واحدة يوميًا لأغراض التحقّق. في أي وقت، إذا لم تتوفّر قائمة سجلات على الجهاز أو إذا كان الطابع الزمني لقائمة السجلات أقدم من 70 يومًا، سيتم إيقاف ميزة "الشفافية والامتثال".
يوفّر هذا المهلة ضمانًا مهمًا لمنظومة CT المتكاملة بأنّه يمكن نقل سجلات CT الجديدة إلى حالة "قابل للاستخدام" بأمان خلال فترة زمنية ثابتة بعد أن تصبح Qualified
.
قائمة سجلّات Android
يتم نشر قائمة سجلات Android في log_list.json، ويتم تعديلها يوميًا. يتم تقديم قائمة السجلّات هذه بدون واجهة برمجة تطبيقات ثابتة أو اتفاقية مستوى خدمة أو ضمانات توفّر.
يتيح نظام التشغيل Android قائمة سجلات "الشفافية والامتثال لسياسة التحقّق من الشهادات" لأغراض مقدّمي الشهادات (مثل مراجع التصديق) ومراقبي "الشفافية والامتثال لسياسة التحقّق من الشهادات" ومدقّقيها الذين يريدون الحفاظ على التوافق مع أنظمة "الشفافية والامتثال لسياسة التحقّق من الشهادات" وWebPKI أو التحقيق في محتوياتها.
إنّ الاعتماد غير المصرّح به على قائمة سجلّات شهادة الشفافية في Android لا يعرّض المستخدمين للخطر فحسب، بل يعرّض أيضًا مستخدمي Android والمنظومة المتكاملة لشهادة الشفافية للخطر بشكل عام. إذا كنت بصدد استكشاف إمكانية إضافة ميزة "فرض الشفافية والامتثال" إلى تطبيقك، استخدِم آلية متوافقة مع منصة Android.
ويتم استخدام قائمة سجلّات CT لنظام Android بشكل مخالف لهذه السياسة على مسؤوليتك الخاصة، وقد يؤدي ذلك إلى تعطُّل تطبيقك أو مكتبتك. يجب أن يتمكّن Android من إجراء تغييرات على قائمة سجلّات "الشفافية والاتّساق" استجابةً للحوادث في منظومة "الشفافية والاتّساق" المتكاملة للحفاظ على سلامة مستخدمي Android وأمانهم. قد تتّخذ Android خطوات لضمان ألا تؤدي التبعيات الخارجية لقائمة سجلّات شهادة الشفافية إلى تعريض قدرة Android على الاستجابة لهذه الحوادث للخطر، بما في ذلك إجراء تغييرات غير معلَن عنها على قائمة السجلّات لتعطيل الاستخدام غير المصرَّح به.