Осенью разработчики Let's Encrypt предупредили, что в 2021 году у пользователей устройств, работающих под управлением Android 7.1 (Nougat) и более старых версий ОС, могут возникнуть серьезные проблемы с сертификатами и доступом к сайтам. Таких старых девайсов в экосистеме Android, к сожалению, по-прежнему насчитывается около 34%.
Напомню, что проблема заключается в том, что 1 сентября 2021 года истекает срок партнерства между Let's Encrypt и организацией IdenTrust, и продлять его не планировалось. Это означает, что корневой сертификат Let's Encrypt, имеющий перекрестную подпись с IdenTrust DST Root X3, тоже истечет 1 сентября 2021 года.
Это не вызовет каких-либо неполадок в большинстве современных ОС, ведь Let's Encrypt уже давно имеет собственный корневой сертификат ISRG Root X1, и большинство операционных систем и браузеров могут работать с ним. Однако это не касается старых версий Android, не обновлявшихся с 2016 года. Они не доверяют собственному корневому сертификату Let's Encrypt, и это, скорее всего, вызовет проблемы в работе таких девайсов.
В итоге предполагалось, что осенью 2021 года пользователи старых устройств начнут испытывать сложности с доступом к сайтам и получать сообщения об ошибках сертификатов. Инженеры Let's Encrypt подсчитали, что на таких пользователей приходится примерно 1-5% всего трафика.
Вчера специалисты Let's Encrypt сообщили, что нашли решение проблемы, которое позволит старым Android-девайсам продолжать работать. И, по сути, это решение состоит в том, чтобы просто продолжать использовать просроченный сертификат от IdenTrust.
«В IdenTrust согласились выпустить перекрестную подпись на три года для нашего ISRG Root X1 от их DST Root CA X3. Это будет работать немного новаторски, так как подпись продолжит действовать после истечения срока действия DST Root CA X3. Это решение работает, так как Android намеренно не настаивает на соблюдении сроков истечения действия сертификатов, используемых в качестве якорей доверия [trust anchors].
Срок действия самозаверенного сертификата, представленного парой ключей DST Root CA X3, истекает. Однако корневые хранилища браузеров и ОС не содержат сертификатов как таковых, они содержат так называемые “якоря доверия” и стандарты для проверки, которая позволяют имплементациям выбирать, использовать ли эти якоря доверия. Android намеренно решил не использовать поле notAfter для якорей доверия. Так как наш ISRG Root X1 не был добавлен в старые доверенные хранилища Android, DST Root CA X3 не был удален. Таким образом, он может без каких-либо проблем выдать перекрестную подпись, срок действия которой превышает срок действия самого самозаверенного сертификата», — объясняют разработчики.
Срок действия новой перекрестной подписи истечет в начале 2024 года, и к тому времени Android-устройств с операционными системам, выпущенными в 2016 году и ранее, уже должно остаться ничтожно мало.