سيؤدي انتهاء صلاحية شهادة جذر IdenTrust إلى فقدان الثقة في Let's Encrypt على الأجهزة القديمة

في 30 سبتمبر الساعة 17:01 بتوقيت موسكو، تم الحصول على الشهادة الجذرية لشركة IdenTrust (DST Root CA X3)، والتي تم استخدامها للتوقيع المتبادل على الشهادة الجذرية لمرجع تصديق Let's Encrypt (ISRG Root X1)، والتي يتم التحكم فيها بواسطة المجتمع ويقدم شهادات مجانية للجميع، تنتهي صلاحيتها. يضمن التوقيع المتبادل موثوقية شهادات Let's Encrypt عبر مجموعة واسعة من الأجهزة وأنظمة التشغيل والمتصفحات بينما تم دمج شهادة الجذر الخاصة بـ Let's Encrypt في مخازن الشهادات الجذرية.

كان من المخطط في الأصل أنه بعد إهمال DST Root CA X3، سيتحول مشروع Let's Encrypt إلى إنشاء التوقيعات باستخدام شهادة الجذر الخاصة به فقط، ولكن مثل هذه الخطوة ستؤدي إلى فقدان التوافق مع عدد كبير من الأنظمة القديمة التي لم تكن كذلك. أضف شهادة الجذر Let's Encrypt إلى مستودعاتهم. على وجه الخصوص، ما يقرب من 30% من أجهزة Android المستخدمة لا تحتوي على بيانات حول شهادة الجذر Let's Encrypt، والتي ظهر دعمها فقط بدءًا من نظام Android 7.1.1، الذي تم إصداره في نهاية عام 2016.

لم تخطط شركة Let's Encrypt للدخول في اتفاقية جديدة للتوقيع المتبادل، حيث يفرض ذلك مسؤولية إضافية على أطراف الاتفاقية، ويحرمهم من الاستقلالية ويقيد أيديهم فيما يتعلق بالامتثال لجميع الإجراءات والقواعد الخاصة بسلطة تصديق أخرى. ولكن بسبب المشاكل المحتملة على عدد كبير من أجهزة أندرويد، تمت مراجعة الخطة. تم إبرام اتفاقية جديدة مع هيئة إصدار الشهادات IdenTrust، والتي تم في إطارها إنشاء شهادة وسيطة بديلة موقعة بشكل متقاطع من Let's Encrypt. سيكون التوقيع المتبادل صالحًا لمدة ثلاث سنوات وسيحتفظ بالدعم لأجهزة Android بدءًا من الإصدار 2.3.6.

ومع ذلك، فإن الشهادة المتوسطة الجديدة لا تغطي العديد من الأنظمة القديمة الأخرى. على سبيل المثال، عندما يتم إهمال شهادة DST Root CA X3 في 30 سبتمبر، لن يتم قبول شهادات Let's Encrypt بعد الآن على البرامج الثابتة وأنظمة التشغيل غير المدعومة التي تتطلب إضافة شهادة ISRG Root X1 يدويًا إلى مخزن الشهادات الجذر لضمان الثقة في شهادات Let's Encrypt . سوف تظهر المشاكل في:

  • OpenSSL حتى الفرع 1.0.2 شاملاً (تم إيقاف صيانة الفرع 1.0.2 في ديسمبر 2019)؛
  • إن إس إس <3.26؛
  • جافا 8 <8u141، جافا 7 <7u151؛
  • ويندوز <إكس بي SP3؛
  • ماك <10.12.1؛
  • iOS <10 (آيفون <5)؛
  • أندرويد <2.3.6؛
  • موزيلا فايرفوكس <50؛
  • أوبونتو <16.04؛
  • ديبيان <8.

في حالة OpenSSL 1.0.2، يرجع سبب المشكلة إلى خطأ يمنع معالجة الشهادات الموقعة بشكل صحيح في حالة انتهاء صلاحية إحدى الشهادات الجذرية المستخدمة للتوقيع، حتى لو ظلت سلاسل الثقة الصالحة الأخرى قائمة. ظهرت المشكلة لأول مرة في العام الماضي بعد أن أصبحت شهادة AddTrust المستخدمة للتوقيع المتبادل على الشهادات من سلطة التصديق Sectigo (Comodo) قديمة. جوهر المشكلة هو أن OpenSSL قام بتحليل الشهادة كسلسلة خطية، بينما وفقًا لـ RFC 4158، يمكن أن تمثل الشهادة رسمًا بيانيًا دائريًا موزعًا موجهًا مع مراسي ثقة متعددة يجب أخذها في الاعتبار.

يُعرض على مستخدمي التوزيعات الأقدم المستندة إلى OpenSSL 1.0.2 ثلاثة حلول لحل المشكلة:

  • إزالة شهادة الجذر IdenTrust DST Root CA X3 يدويًا وتثبيت شهادة الجذر ISRG Root X1 المستقلة (غير الموقعة).
  • عند تشغيل أوامر openssl check وs_client، يمكنك تحديد خيار "-trusted_first".
  • استخدم على الخادم شهادة معتمدة من خلال شهادة جذر منفصلة SRG Root X1، والتي لا تحتوي على توقيع مشترك. ستؤدي هذه الطريقة إلى فقدان التوافق مع عملاء Android الأقدم.

بالإضافة إلى ذلك، يمكننا أن نلاحظ أن مشروع Let's Encrypt قد تجاوز حاجز ملياري شهادة تم إنشاؤها. تم الوصول إلى رقم المليار في فبراير من العام الماضي. يتم إنشاء ما بين 2.2 إلى 2.4 مليون شهادة جديدة يوميًا. ويبلغ عدد الشهادات النشطة 192 مليونًا (الشهادة صالحة لمدة ثلاثة أشهر) وتغطي حوالي 260 مليون نطاق (تمت تغطية 195 مليون نطاق قبل عام، و150 مليونًا قبل عامين، و60 مليونًا قبل ثلاث سنوات). وفقًا لإحصائيات خدمة Firefox Telemetry، تبلغ الحصة العالمية لطلبات الصفحات عبر HTTPS 82% (قبل عام - 81%، قبل عامين - 77%، قبل ثلاث سنوات - 69%، قبل أربع سنوات - 58%).

المصدر: opennet.ru

إضافة تعليق