Вы включаете Encrypted Client Hello, открываете сайт, и соединение работает. Кто-то спрашивает, нужен ли ещё VPN, и честный ответ таков: эти две функции скрывают разное от разных сторон. ECH защищает части рукопожатия TLS, которые иначе могут раскрыть имя сервера, которое вы запросили. VPN помещает ваш трафик в туннель, который заканчивается в конечной точке оператора. Путаница между ними приводит либо к переплате за защиту, которая у вас уже есть, либо к вере в защиту, которой у вас никогда не было.

Что раскрывает рукопожатие без ECH

Соединение TLS начинается с ClientHello, и в старой форме нужное имя сервера передаётся в нём открытым текстом. Любой, кто способен наблюдать за рукопожатием, от оператора сети до пассивного датчика на маршруте, может прочитать это имя, хотя данные приложения после этого зашифрованы. Адрес назначения тоже виден, поэтому имя часто является подтверждающей информацией, а не единственным сигналом.

Это и есть та конкретная утечка, на которую нацелен ECH. Она узкая, и сужать её стоит, но это не то же самое, что скрывать, куда идёт ваш трафик.

Что ECH действительно меняет

При совместимой поддержке клиента и сервера и необходимой настройке ECH шифрует внутренний ClientHello ключами, опубликованными сервером, так что наблюдатель видит внешнее рукопожатие, не несущее настоящего имени сервера. Трафик по-прежнему идёт на тот же адрес, в то же время, примерно в тех же объёмах. Время и размер остаются наблюдаемыми, а IP-адрес назначения никогда не был частью того, что шифрует ECH.

Поддержка тоже не универсальна. Не каждый клиент, сервис или отдельное соединение использует ECH, и о его наличии нельзя судить по значку замка или по тому, что вы сменили страну VPN. Для диагностики нужно смотреть на рукопожатие, а не на украшение браузера.

Что вместо этого меняет VPN

VPN передаёт закрытый трафик внутри туннеля к конечной точке, поэтому ближайший к вам наблюдатель видит соединение с VPN, а не с пунктом назначения. Это меняет то, кто что может наблюдать, и меняет адрес, который видит пункт назначения. Он не шифрует ничего, что приложение уже не зашифровало, и не скрывает соединение от оператора VPN, который по конструкции находится на маршруте.

Оба естественно сочетаются: приложение может использовать TLS и ECH, пока туннель защищает окружающий сетевой сегмент. Ни один не устанавливает, что может видеть или сохранять каждая сторона, потому что стороны занимают разные позиции на маршруте.

Где место DNS

Незащищённый DNS-запрос раскрывает имя резолверу и всем, кто наблюдает за этим путём, что является отдельной экспозицией от рукопожатия TLS. ECH не шифрует DNS, а VPN меняет личность резолвера только если вы также отправляете запросы через туннель или используете зашифрованный резолвер. Люди включают одно из трёх и предполагают, что два других последовали.

Проверяйте путь резолвера отдельно от пути рукопожатия. Они отказывают независимо, и настраиваются они в разных местах.

Как понять, на какой уровень вы смотрите

Спросите, что выявило бы наблюдение. Если вопрос в том, какое имя сервера было запрошено, то соответствующие уровни — рукопожатие и резолвер. Если вопрос в том, в какую сеть пошёл трафик и кто мог видеть его в пути, то это туннель. Если вопрос в том, какой аккаунт что сделал на сайте, ни один из них не поможет, потому что сайт по-прежнему получает запрос и любую предоставленную вами личность.

Сохраняйте проверку сертификатов и политику DNS нетронутыми, пока исследуете совместимость. Отключение проверки, чтобы тест прошёл, меняет смысл результата, а не показывает, что защищает ECH.

Запишите, какой уровень вы действительно включили, прежде чем добавлять ещё один. Большая часть путаницы здесь происходит из предположения, что один элемент управления охватывает запрос, его имя, его назначение и его личность одновременно.

Похожие статьи