Глоссарий
Что такое SNI (Server Name Indication)
Поле в TLS-handshake, в открытом виде сообщающее серверу, к какому хосту ты пытаешься подключиться, видимое всем, кто наблюдает.
Server Name Indication — SNI — это поле в TLS handshake. Когда браузер подключается к сайту через HTTPS, он отправляет SNI-значение в открытом виде в самом первом сообщении: "хочу говорить с www.example.com". Сервер использует это, чтобы выбрать правильный сертификат (несколько сайтов часто шарят один IP через virtual hosting), и затем обе стороны устанавливают шифрование на всё, что следует.
Подвох: SNI в открытом виде. Любой, кто смотрит на провод — провайдер, кафе Wi-Fi, DPI-бокс — видит хост. Хотя каждый байт страницы после handshake зашифрован, домен назначения открыт во время handshake.
Зачем существует SNI
До SNI каждому HTTPS-сайту нужен был свой IP-адрес. Сервер получал зашифрованный handshake и не мог понять, какой сертификат предъявить. SNI это починил, добавив хост в незашифрованную часть handshake. Теперь сотни сайтов могут шарить IP — сервер читает SNI, выбирает сертификат, handshake завершается.
Так в масштабе работают shared hosting и CDN. Cloudflare, Fastly, Akamai обслуживают миллионы доменов с маленького набора IP. SNI — то, что делает это возможным.
Что SNI раскрывает
Даже с полным HTTPS:
- Провайдер знает каждый домен, который ты посещаешь.
- Сеть твоего работодателя знает.
- Государственная разведывательная аппаратура знает.
- Любой, кто запускает DPI на пути, знает.
Содержимое страницы зашифровано. Назначение — нет. Для приватности от сети это боковой канал, опровергающий рассуждение "но HTTPS меня защищает".
Encrypted SNI: медленный rollout
Encrypted Client Hello (ECH) и более старый Encrypted SNI (ESNI) пытаются зашифровать хост, чтобы сеть не могла его прочитать. Оба работают, шифруя SNI ключом, который публикует адресат через DNS.
Внедрение частичное:
- Cloudflare поддерживает ECH.
- Firefox поддерживает ECH (по умолчанию выключен в некоторых регионах).
- Chrome — экспериментальная поддержка.
- Большинство CDN и крупных сайтов не развернули.
Пока ECH не повсеместен, SNI течёт. И в сетях с агрессивным DPI даже браузеры с ECH фильтруются или принудительно даунгрейдятся — цензор может детектировать попытку ECH и заблокировать её.
Как VLESS Reality использует SNI, чтобы исчезнуть
VLESS Reality берёт SNI и превращает его в камуфляж. SNI handshake'a — это SNI настоящего публичного сайта вроде microsoft.com. Сертификат, возвращаемый — настоящий сертификат microsoft.com, подписанный настоящим CA. Для DPI, наблюдающего за проводом, это соединение неотличимо от любой другой HTTPS-сессии к microsoft.com — тот же SNI, тот же сертификат, тот же тайминг handshake.
Чтобы заблокировать, цензор должен заблокировать microsoft.com — чего обычно не сделают, потому что слишком много другого трафика от него зависит. Это структурная разница между Reality и "обфусцированными" VPN, пытающимися подделать TLS-handshake. Reality использует настоящие.
Прочитай Deep packet inspection, объяснение о том, как это вписывается в более широкую картину цензуры, или страницу протокола VLESS Reality для деталей реализации.
Попробуй Fexyn бесплатно 7 дней — Stealth использует настоящий SNI к публичным хостам, чтобы DPI видел обычный HTTPS, а не VPN.
Связанные термины
Попробуй Fexyn бесплатно 7 дней
Приложение для Windows доступно сейчас в бета-версии. WireGuard, VLESS Reality и OpenVPN — без логов истории просмотров, DNS-запросов и содержимого трафика.
Цены