CloudFlare реализовала поддержку Encrypted SNI
24 сентября CloudFlare объявили о поддержке расширения TLS 1.3 Encrypted SNI.
Преимущества ESNI
- Никто не видит на какой домен вы заходите. Все что знает провайдер это только IP адрес на который вы обращаетесь.
- Domain Fronting не нужен.
Как ESNI работает
В современном интернете на одном IP адресе может располагаться множество различных доменов. Чтобы предоставить вам верный сертификат серверу необходимо знать на какой именно домен вы обращаетесь. Поэтому hostname передается открытым текстом, до начала установления TLS сессии.
Схема работы SNI
ESNI шифрует и эту часть общения клиента с сервером. Клиент берет публичный ключ сервера из DNS и шифрует им все данные до установления TLS сессии.
Схема работы ESNI
Ложка дегтя
ENSI сильно зависим от DNS. Настолько сильно что при текущей реализации DNS (plain text) поставить DPI на DNS протокол и блокировать все поля с публичными ключами серверов элементарно. Эта проблема исправима только массовым переходом на DNSSEC или DNS over HTTPS. Судя по блогу разработчиков Хрома этот переход уже на горами.
ESNI должен поддерживаться браузерами. Пока с поддержкой не очень.
Что мы от этого получим?
Цензура в интернете сильно усложнится. Сейчас большинство блокировок происходит по DNS именам. Все эти блокировки перестанут работать. Останутся только блокировки DNS запросов или IP адресов.
Блокировки DNS запросов перестанут работать после включения по умолчанию DNS over HTTPS в стандартных браузерах. И останется только одна возможность блокировать по IP адресам. Можно блокировать или DNS сервера или неугодные сайты.
Блокировки по IP адресам это для очень смелых людей. Одной блокировкой может зацепить множество непричастных доменов и нет адекватного способа проверить заранее кого именно зацепит. А блокируемый сервис может в пару кликов, да и вообще автоматически, сменить адрес на не заблокированный. Его пользователи даже ничего не заметят.
Итого
Жизнь станет чуть-чуть лучше. Но не сейчас. До полноценной поддержки ESNI еще необходимо сделать несколько шагов.
Ссылки
Проверить свой браузер на поддержку TLS 1.3, ESNI и шифрование DNS можно тут.