Техническое: ESNI, NSS и тестовый сервер TLS 1.3
Некоторое время назад тестовый сервер TLS 1.3, который я реализовал и, в меру сил, поддерживаю по адресу tls13.1d.pw, продемонстрировал свою практическую полезность. А я забыл об этом написать на dxdt.ru – соответственно, пишу сейчас.
Тестовый сервер поддерживает сочетание HelloRetryRequest (HRR) и ESNI (зашифрованное поле SNI). То есть, сервер иногда отправляет клиенту запрос на пересогласование параметров и при этом обрабатывает ESNI. HRR+ESNI – весьма редкое сочетание, на обычном сервере скорее не встречается (но может быть имитировано в рамках активной атаки), это и позволило мне обнаружить в NSS (библиотека, используемая браузером Firefox) ошибку, которая до этого успешно прошла через релиз-тесты.
Ошибка состояла в следующем: использование ESNI должно скрывать имя сервера, но в NSS соединение с HRR+ESNI обрабатывалось некорректно, соответственно, во втором ClientHello, в ответ на запрос HRR, имя сервера передавалось в открытом виде (в обычном расширении SNI). В итоге – утекало имя сервера, а на tls13.1d.pw в некоторых случаях не удавалось отобразить сведения про ESNI для пользователей Firefox (причина в том, что во втором ClientHello, из которого только и имеет смысл брать сведения о соединении, ESNI просто не было). Об ошибке я сообщил в Mozilla, ошибка (Bug 1517714) исправлена в релизе NSS_3.43, вышедшем в марте. Сейчас исправленный релиз уже разошёлся по всем основным сборкам браузера Firefox.
Адрес записки: https://dxdt.ru/2019/05/23/8785/
Похожие записки:
- Реплика: гарантированные "маловероятные ошибки" в ML-KEM
- Двадцать лет и сайт dxdt.ru
- "Пасхалки" в трафике
- Уводящие помехи GPS/GNSS
- Название для ML-KEM на русском
- Мониторинг жонглёров
- Интернет-протокол "дымовой завесы"
- TLS-сертификаты dxdt.ru
- Очередная атака на предикторы в схемах оптимизации CPU
- SPF и домен Microsoft hotmail.com
- Техническое: один практический пример ошибочных настроек DNS
Написать комментарий