Устаревание корневого сертификата IdenTrust приведёт к потере доверия к Let’s Encrypt на старых устройствах
27 сентября 2021 года
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 не планировал заключать новое соглашение о кросс-подписи, так как это накладывает дополнительную ответственность на участников соглашения, лишает самостоятельности и связывает руки в плане соблюдения всех процедур и правил другого удостоверяющего центра. Но из-за возникновения потенциальных проблем на большом числе 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%).
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.