انقضای گواهینامه ریشه 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 درصد از دستگاه‌های اندرویدی در حال استفاده، داده‌ای روی گواهی ریشه Let's Encrypt ندارند، که پشتیبانی از آن تنها با پلتفرم Android 7.1.1 که در پایان سال 2016 منتشر شد، ظاهر شد.

Let's Encrypt قصد نداشت قرارداد امضای متقابل جدیدی را امضا کند، زیرا این امر مسئولیت بیشتری را بر دوش طرفین قرارداد تحمیل می کند، استقلال را از آنها سلب می کند و دستان آنها را از نظر انطباق با کلیه رویه ها و قوانین یک مرجع صدور گواهی دیگر می بندد. اما به دلیل مشکلات احتمالی در تعداد زیادی از دستگاه های اندرویدی، این طرح بازنگری شد. قرارداد جدیدی با مرجع صدور گواهینامه IdenTrust منعقد شد که در چارچوب آن یک گواهی میانی با امضای متقابل Let's Encrypt ایجاد شد. امضای متقاطع به مدت سه سال معتبر خواهد بود و از دستگاه های اندرویدی که از نسخه 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 متوقف شد).
  • NSS < 3.26;
  • Java 8 < 8u141, Java 7 < 7u151;
  • Windows < XP SP3;
  • macOS < 10.12.1;
  • iOS < 10 (iPhone < 5)؛
  • اندروید < 2.3.6;
  • Mozilla Firefox < 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 verify و s_client، می توانید گزینه "--trusted_first" را مشخص کنید.
  • در سرور از گواهی تایید شده توسط یک گواهی ریشه جداگانه SRG Root X1 استفاده کنید که دارای امضای متقاطع نیست. این روش منجر به از دست دادن سازگاری با کلاینت های قدیمی اندروید می شود.

علاوه بر این، می‌توانیم توجه کنیم که پروژه Let's Encrypt بر نقطه عطف دو میلیارد گواهینامه تولید شده غلبه کرده است. نقطه عطف یک میلیاردی در فوریه سال گذشته به دست آمد. روزانه 2.2-2.4 میلیون گواهی جدید تولید می شود. تعداد گواهینامه های فعال 192 میلیون است (یک گواهینامه برای سه ماه اعتبار دارد) و حدود 260 میلیون دامنه را پوشش می دهد (195 میلیون دامنه یک سال پیش، 150 میلیون دو سال پیش، 60 میلیون سه سال پیش). طبق آمار سرویس تله متری فایرفاکس، سهم جهانی درخواست صفحه از طریق HTTPS 82٪ است (یک سال پیش - 81٪، دو سال پیش - 77٪، سه سال پیش - 69٪، چهار سال پیش - 58٪).

منبع: opennet.ru

اضافه کردن نظر