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