CC-BY-CA Vadim Rybalko, на основе мема
Рабочая группа инженеров Интернета IETF признала устаревшими протоколы шифрования TLS 1.0 и 1.1. Соответствующие стандарты RFC официально получили «исторический» статус с пометкой
deprecated
.Пометка
deprecated
означает, что IETF настоятельно не рекомендует использовать эти протоколы. В целях безопасности требуется отключить поддержку TLS 1.0 и 1.1 везде, где это возможно. Об этом говорится в опубликованном RFC 8996. Почему нельзя поддерживать протоколы TLS 1.0 и 1.1 — подробно объясняется в пунктах 3, 4 и 5 этого документа.Согласно объяснению IETF, удаление поддержки более старых версий из библиотек и программного обеспечения «уменьшает поверхность атаки, уменьшает возможность неправильной конфигурации и упрощает обслуживание библиотеки и продукта».
Одновременно со старыми версиями TLS также признаётся устаревшим протокол Datagram TLS (DTLS) версии 1.0 (RFC 4347), и только он, поскольку версия 1.1 не выходила.
Стандарту TLS 1.0 в этом году исполнилось 22 года. С момента его принятия стало лучше понятно, как следует проектировать протоколы шифрования. Выросли требования к надёжности шифров. К сожалению, TLS 1.0 и 1.1 не соответствуют этим требованиям.
Самое плохое, что TLS 1.0 и 1.1 не поддерживают работу с современными криптографическими шифрами. Например, при рукопожатии в них обязательно применяется алгоритм хэширования SHA-1. В этих версиях TLS невозможно установить более сильный алгоритм хэширования для подписей ServerKeyExchange или CertificateVerify.
Черновик данного RFC 8996 был опубликован 14 сентября 2018 года. В числе прочего, там упоминается, что алгоритм SHA-1 с криптостойкостью 2^77 нельзя считать безопасным по современным меркам: «2^77 операций [для атаки] — это ниже допустимой границы безопасности».
Речь идёт об атаке BEAST (Browser Exploit Against SSL/TLS) на TLS 1.0 и 1.1, а точнее — на блочные шифры, где в качестве вектора инициализации для сообщения
n
используется последний блок шифрования предыдущего сообщения (n-1)
.Разработчики всех ведущих браузеров сразу согласились выполнить рекомендации IETF.
Браузер Chrome первым отказался от поддержки старых версий TLS в январе 2019 года. Начиная версии 79 для устаревших протоколов выводилось предупреждение в консоли DevTools, а полное отключение запланировали на версию Chrome 81 в марте 2020 года (предварительные версии — с января 2020 года). Одновременно отказ от TLS 1.0 и 1.1 анонсировали Microsoft, Mozilla и Apple.
Правда, всё пошло не по плану. В марте 2020 года Firefox временно отказался удалять поддержку TLS 1.0 и 1.1. Формально это было сделано из-за коронавируса (см. скриншот ниже), но фактически разработчики Mozilla побоялись, что коллеги из Google пойдут на попятную и оставят поддержку TLS 1.0 и 1.1, так что Firefox станет единственным браузером без этой поддержки.
Но в итоге поддержку старых протоколов в браузерах всё-таки отключили. В случае необходимости в Firefox можно изменить настройку
security.tls.version.enable-deprecated
.Постепенно TLS 1.0 и 1.1 удаляют из приложений и сервисов. Это сделали Amazon, CloudFlare, GitHub, KeyCDN, PayPal и другие веб-сервисы. С 15 января 2020 года поддержка старых протоколов отключена на ресурсах Хабра.
redneko
Ускорилось бы внедрение TLS 1.3 с ESNI
suffix_ixbt
Какое такое ESNI? Нет его уже — теперь это ECH.
И rfc в финальную стадию так и не вышел.
Сотрудники nginx что говорят:
"Вот когда openssl поддержку ECH внедрит — так и мы сразу сделаем"
А сотрудники openssl отвечают:
"Вот когда финальный rfc выйдет — вот тогда и займёмся. И уже сообщили что в версии 3.0 совершенно точно не будет ECH !"
Так что ещё пару лет ждать как минимум :)
redneko
Спасибо за столь развёрнутый комментарий. Пора бы мне освежить знания (хотя бы чисто для себя)
saipr
Да, в NSS (Network Security Systems), начиная в версии nss-3.60, убрали поддержку tls13esni и добавили поддержку tcl13ech (в отличии от openssl). А на NSS базируется, в частности, Mozilla/Firefox.
domix32
это опечатка в tsl13ech или что-то новое?
saipr
Это просто файл tcl13ech.c в nss-3.60, поддержка ECH реализуется
suffix_ixbt
Прошу прощенния, но уважаемый domix32 прав — у Вас опечатка:
файл таки tls13ech.с а не tcl13ech.с как Вы написали :)
saipr
Спасибо! Вы правы! Просто tcl в голове засел!
saipr
Опечатка по Фрейму. Конечно tls