HTTPS, DoH, ECH и VPN скрывают разные вещи
Каждый механизм убирает из цепочки своего наблюдателя, и ни один не убирает всех. Сравните, что именно защищено, прежде чем добавлять ещё один туннель.
Добавление VPN в браузер, который уже использует HTTPS, DoH и ECH, не складывает три защиты в одну; оно меняет то, кто может наблюдать за чем. Каждый механизм убирает отдельную сторону из отдельного обмена, и каждый что-то оставляет. Полезный вопрос не в том, какой механизм сильнее, а в том, какого наблюдателя вы пытаетесь убрать, потому что ответ решает, помогает ли туннель вообще. Сравнение оставшихся наблюдателей полезнее списка возможностей.
Четыре механизма, четыре наблюдателя
Начните с четырёх отношений и стороны, которую каждое из них призвано не пускать. Таблица ниже — та, что я использую при разборе, потому что она заставляет назвать наблюдателя, а не технологию.
| Mechanism | Relationship it protects | Observer it does not remove |
|---|---|---|
| HTTPS | The application's TLS connection to its named endpoint | The access network still sees the destination address |
| DoH | The DNS exchange to the selected HTTPS resolver | That resolver sees every query |
| ECH | The sensitive ClientHello fields, where supported and accepted | Destination addresses, and DNS if it is not covered |
| VPN | Covered packets carried to the VPN peer | The VPN operator sees the destinations |
Ценность таблицы в том, чего она не говорит. Она не выстраивает механизмы по рангу и не утверждает, что использование всех четырёх убирает всех четырёх наблюдателей. Облачное веб-приложение, которое уже завершает TLS на своём краю, защищено от сети доступа для этого обмена, и никакой туннель не улучшает это конкретное свойство. Туннель может изменить лишь то, какая сеть видит внешние пакеты и какой оператор теперь находится на пути.
Что на самом деле скрывает HTTPS
HTTPS защищает обмен приложения между клиентом и конечной точкой, имя которой указано в сертификате. Он не скрывает адрес назначения, не скрывает сам факт соединения и не скрывает имя, если только не задействован ECH. Проверка сертификата — часть защиты, а не формальность вокруг неё.
VPN не обязан завершать этот TLS, а переадресующий выход не следует считать аутентифицированной конечной точкой приложения. Если в проекте выход расшифровывает трафик, это другая архитектура с другим заявлением о доверии.
Что переносят DoH и ECH и что оставляют
DoH переносит обмен DNS на HTTPS-резолвер, то есть этот резолвер видит ваши запросы вместо резолвера локальной сети. Это реальное и ограниченное изменение: выбранный резолвер становится стороной, способной сопоставить запросы с адресами, к которым вы затем подключаетесь, — именно та корреляция, о которой говорит RFC 8484. Шифрованный транспорт не делает получателя не знающим о запросах, на которые он отвечает.
ECH защищает чувствительную часть ClientHello, чтобы пассивный наблюдатель на пути не мог прочитать нужное имя сервера. Он зависит от поддерживающего развёртывания и от согласия сервера и сети, и оставляет другие каналы: адреса назначения остаются видимыми, а DNS всё ещё может раскрыть имя.
Другое, чего ECH не делает, — он не доказывает сам себя. Соединение по TLS 1.3 не является доказательством того, что ECH был принят, а браузер, предлагающий ECH серверу без поддержки, тихо откатывается назад. Проверяйте фактическое состояние соединения, а не выводите его из версии протокола.
В этом общая картина всего сравнения: каждый механизм проверяется на своём уровне, и ни один не подтверждается успехом другого.
Что переносит VPN и что добавляет
Когда веб-трафик входит в VPN, сеть доступа видит внешний обмен с узлом VPN вместо отдельных подключений приложений, а оператор VPN занимает позицию на дальнейшем пути. Это перенос границы доверия, а не её устранение. Оператор теперь видит, к каким назначениям вы обращаетесь, даже если содержимое остаётся зашифрованным от конца до конца. Улучшение ли это, целиком зависит от того, какой из этих двух сторон вы доверяете меньше.
Сохраняйте HTTPS приложения и защиту нужного резолвера, пока делаете это. Туннель не заменяет проверку сертификата, а отключение защиты резолвера из-за того, что трафик идёт через туннель, убирает контроль, ничего не давая взамен.
Выбор исходя из требования
Сформулируйте реальное требование, потому что именно оно определяет проект. Допуск к приватным ресурсам, управляемая точка выхода, конкретная угроза сети доступа и авторизация устройства — это четыре разные потребности с четырьмя разными ответами, и компании, использующей только публичные облачные приложения, всё равно приходится решать вопросы авторизации и обработки данных. Дополнительные уровни могут быть уместны, не будучи взаимозаменяемыми. Более сложное соединение не является измерением анонимности и само по себе не является аргументом безопасности.
Спецификацию ECH, RFC 9849, стоит прочитать ради того, что механизм покрывает и чего не покрывает, и она честна насчёт каналов, которые не трогает. Сравнивайте механизмы по наблюдателю, которого каждый убирает, запишите этого наблюдателя и решите, обращается ли к нему дополнительный уровень. Если ответ таков, что наблюдатель и так был вне вашей модели угроз, туннель — это затраты без пользы.