В CDN Cloudflare внедрена поддержка ESNI для шифрования имени хоста в HTTPS-трафике
25 сентября 2018 года
Компания Cloudflare сообщила о реализации в своей сети доставки контента поддержки TLS-расширения ESNI (Encrypted Server Name Indication), обеспечивающего шифрование данных о хосте, запрашиваемом в рамках HTTPS-соединения.
До сих пор для организации работы на одном IP-адресе нескольких HTTPS-сайтов применялось расширение SNI, осуществляющее передачу имени хоста в открытом виде в сообщении ClientHello, передаваемом до установки шифрованного канала связи. Подобная особенность даёт возможность на стороне интернет-провайдера или владельца точки беспроводного доступа выборочно фильтровать HTTPS-трафик и анализировать какие сайты открывает пользователь, что не позволяет добиться полной конфиденциальности при применении HTTPS.
ESNI устраняет этот недостаток и полностью исключает утечку сведений о запрашиваемом сайте при анализе HTTPS-соединений. В сочетании с обращением через сеть доставки контента применение ESNI даёт возможность скрыть от провайдера и IP-адрес запрашиваемого ресурса. Системы инспектирования трафика будут видеть только обращения к CDN и не смогут применить блокировку без подмены TLS-сеанса, в случае которой в браузере пользователя будет показано соответствующее уведомление о подмене сертификата. Возможным каналом утечки остаётся DNS, но для скрытия обращения к DNS клиентом может применяться DNS-over-HTTPS или DNS-over-TLS.
На стороне клиента экспериментальная поддержка ESNI реализована в ночных сборках Firefox, а также в библиотеках BoringSSL (используется в Chromium), NSS (используется в Firefox) и picotls (используется в http-сервере h2o). При использовании ESNI имя хоста как и в SNI передаётся в сообщении ClientHello, но содержимое поля server_name зашифровано. Для шифрования используется секрет, вычисленный на основе ключей сервера и клиента. Для расшифровки перехваченного или полученного значения поля ESNI необходимо знать закрытый ключ клиента или сервера (плюс открытые ключи сервера или клиента). Информация об открытых ключах передаётся для серверного ключа в DNS с использованием TXT-поля "_esni", а для клиентского ключа в сообщении ClientHello. Расшифровка также возможна при помощи согласованного в процессе установки TLS-соединения общего секрета, известного только клиенту и серверу.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.