Старіння кореневого сертифіката 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 Encry. Зокрема, приблизно 30% Android-пристроїв, що знаходяться в побуті, не мають даних про кореневий сертифікат Let's Encrypt, підтримка якого з'явилася тільки починаючи з платформи Android 7.1.1, випущеної наприкінці 2016 року.

Let's Encrypt не планував укладати нову угоду про крос-підпис, оскільки це накладає додаткову відповідальність на учасників угоди, позбавляє самостійності та пов'язує руки у плані дотримання всіх процедур та правил іншого центру, що посвідчує. Але через виникнення потенційних проблем на великій кількості Android-пристроїв план було переглянуто. З центром IdenTrust було укладено нову угоду, в рамках якої створено альтернативний крос-підписаний проміжний сертифікат Let's Encrypt. Крос-підпис діятиме три роки і дозволить зберегти підтримку пристроїв Android, починаючи з версії 2.3.6.

Тим не менш, новий проміжний сертифікат не охоплює багато інших застарілих систем. Наприклад, після старіння сертифіката DST Root CA X3 30 вересня сертифікати Let's Encrypt перестануть сприйматися в вже не підтримуваних прошивках і операційних системах, в яких для забезпечення довіри до сертифікатів Let's Encrypt буде потрібно ручне додавання сертифіката ISRG Root X1. Проблеми виявлятимуться в:

  • 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);
  • Android <2.3.6;
  • Mozilla Firefox <50;
  • Ubuntu <16.04;
  • Debian < 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, який не має крос-підпису. Цей спосіб призведе до втрати сумісності зі старими Android-клієнтами.

Додатково можна відзначити подолання проектом Let's Encrypt рубежу два мільярди згенерованих сертифікатів. Рубіж в один мільярд було досягнуто у лютому минулого року. Щодня генерується 2.2-2.4 мільйони нових сертифікатів. Число активних сертифікатів становить 192 млн. (сертифікат діє три місяці) і охоплює близько 260 млн. доменів (рік тому було охоплено 195 млн. доменів, два роки тому — 150 млн., три роки тому — 60 млн.). За статистикою сервісу Firefox Telemetry загальносвітова частка запитів сторінок по HTTPS становить 82% (рік тому – 81%, два роки тому – 77%, три роки тому – 69%, чотири роки тому – 58%).

Джерело: opennet.ru

Додати коментар або відгук