Сравнение VPN-протоколов: что на самом деле блокируется

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

Два вопроса, обычно объединяемые в один

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

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

Как идентифицируется каждый протокол и что стоит за его блокировкой
Протокол Что его выдает Стоимость блокировки
WireGuard Один UDP-пакет. Инициация рукопожатия всегда составляет 148 байт и начинается с типа сообщения 1; ответ всегда составляет 92 байта. Цензору нужно одно правило, и оно никогда не требует обновления. Одно статическое правило
AmneziaWG Ничего фиксированного, если правильно настроено. Мусорные пакеты предшествуют рукопожатию, дополнение изменяет размеры, а четыре константы типа сообщения заменены — так что одно правило, которое ловит WireGuard, не ловит ничего. Анализ трафика
OpenVPN Опкод в первом байте его первого пакета, если только не включен tls-crypt — это шифрует управляющий канал и устраняет демаскирующий фактор. Запуск на TCP-порту 443 не делает его похожим на HTTPS сам по себе; нет приветствия TLS в форме браузера, которое инспектор мог бы найти. Правило и обслуживание
IKEv2/IPsec Его порты. IKEv2 работает на UDP 500 и 4500, оба фиксированные и хорошо известные. Закрытие двух портов — это не совсем фильтрация; это скорее уборка. Одно статическое правило
Shadowsocks Исторически, за счет отсутствия рукопожатия: соединение, которое с первого байта имеет высокую энтропию, само по себе является категорией, и цензор может его заблокировать. Современные AEAD и реализации 2022 года сопротивляются этому; старые конфигурации потоковых шифров — нет. Анализ трафика
VLESS + Reality (Xray) Ничего при рукопожатии. Зондирующий запрос без ключа передается на реальный сайт, который имитируется, и получает его реальный сертификат, поэтому зондирование подтверждает легенду, а не разоблачает ее. Необходимые побочные эффекты

«Стоимость блокировки» — это усилия цензора, а не ваши. Одна статическая правило означает строку конфигурации, которая никогда не требует пересмотра. Необходимость коллатерального ущерба означает, что единственная надежная блокировка также ломает что-то, что сеть хочет сохранить.

WireGuard

Современный стандарт: быстрый, компактный и построенный на фиксированном наборе криптографии без необходимости согласования.

Что его выдает

Один UDP-пакет. Инициация рукопожатия всегда составляет 148 байт и начинается с типа сообщения 1; ответ всегда составляет 92 байта. Цензору нужно одно правило, и оно никогда не требует обновления.

Под активным зондированием

Не требуется. Он идентифицируется из первого отправляемого пакета, поэтому никому не нужно стучать на сервер.

Обратитесь к нему, когда

Сеть не фильтрует. На обычном соединении это то, что нужно использовать — ничто другое не даст вам такой скорости за такую малую сложность.

Его философия дизайна заключалась в том, чтобы устранить выбор: нет согласования шифров, поэтому нет атаки на понижение и нет возможности настроить его плохо. То же решение приводит к фиксированной форме пакета, что делает его тривиальным для идентификации отпечатка пальца, и нет настройки, которая изменяет это, потому что наличие настроек — это то, что он избегал. Страны, которые блокируют WireGuard, не побеждают его криптографию; они сопоставляют константу. Отличная безопасность и отсутствие камуфляжа — это последовательная позиция, а не противоречие.

Условия: wireguard · deep-packet-inspection · handshake

AmneziaWG

WireGuard с удаленным отпечатком пальца: та же криптография, настраиваемая форма пакета.

Что его выдает

Ничего фиксированного, если правильно настроено. Мусорные пакеты предшествуют рукопожатию, дополнение изменяет размеры, а четыре константы типа сообщения заменены — так что одно правило, которое ловит WireGuard, не ловит ничего.

Под активным зондированием

Держится. Нет характерного ответа, который распознавал бы зонд, хотя сервер, который отвечает только на это и ничего больше, все еще является сервером, делающим что-то необычное.

Обратитесь к нему, когда

WireGuard заблокирован, и вы контролируете оба конца. Это самый низкозатратный шаг вверх от работающей настройки WireGuard.

Важное предупреждение не является криптографическим. Оба одноранговых узла должны согласиться на каждый параметр, и неправильная, а не недействительная конфигурация подключается и передает трафик, все еще неся шаблон, который существовал для того, чтобы скрыть дополнение. Две конкретные ловушки: значения заголовка H1 до H4 должны все отличаться, и S1 + 56 не должно равняться S2 — инициация рукопожатия составляет 148 байт против 92 байт ответа, длиннее ровно на 56, так что эта комбинация дополняет их до одинакового размера друг с другом. Ни одна из ошибок не выдает сообщение об ошибке.

Условия: amneziawg · junk-packets · header-magic

OpenVPN

Давно устоявшийся: медленнее и гораздо более настраиваемый, способный работать через TCP на порту, который использует HTTPS.

Что его выдает

Опкод в первом байте его первого пакета, если только не включен tls-crypt — это шифрует управляющий канал и устраняет демаскирующий фактор. Запуск на TCP-порту 443 не делает его похожим на HTTPS сам по себе; нет приветствия TLS в форме браузера, которое инспектор мог бы найти.

Под активным зондированием

Зависит от конфигурации. С tls-auth или tls-crypt сервер не будет отвечать зондирующим запросам без ключа; без них он отвечает и идентифицирует себя.

Обратитесь к нему, когда

Вам нужно использовать оборудование или операционную систему, на которой никогда не будет WireGuard, или вам нужно использовать TCP, потому что UDP полностью заблокирован.

Репутация блокируемости связана с использованием настроек по умолчанию. tls-crypt значительно меняет ситуацию и требует всего одной строки конфигурации, но большинство пользовательских настроек его не используют. Гибкость имеет и обратную сторону: та же конфигурируемость, которая позволяет создать усиленную защиту, позволяет и более слабую, и снаружи обе выглядят одинаково.

Условия: openvpn · sni-filtering · active-probing

IKEv2/IPsec

Встроен в телефоны и ноутбуки, и именно поэтому туннель выживает при переходе с Wi-Fi на мобильные данные.

Что его выдает

Его порты. IKEv2 работает на UDP 500 и 4500, оба фиксированные и хорошо известные. Закрытие двух портов — это не совсем фильтрация; это скорее уборка.

Под активным зондированием

Не требуется, по той же причине, что и для WireGuard.

Обратитесь к нему, когда

Ничто не блокирует вас, и вы хотите туннель без необходимости установки клиента, на устройстве, которое перемещается между сетями.

Действительно хорош в решении задачи, для которой он был разработан. MOBIKE поддерживает сессию активной при смене сети, поэтому он является тихим стандартом в корпоративных развертываниях. Против цензуры он не имеет никакой защиты: нет обфускации, нет гибкости портов, и рукопожатие так же узнаваемо, как у WireGuard, без компенсирующей скорости.

Условия: ikev2 · ip-blocking

Shadowsocks

Зашифрованный прокси, разработанный в Китае специально для этой проблемы — не VPN, и разница имеет значение.

Что его выдает

Исторически, за счет отсутствия рукопожатия: соединение, которое с первого байта имеет высокую энтропию, само по себе является категорией, и цензор может его заблокировать. Современные AEAD и реализации 2022 года сопротивляются этому; старые конфигурации потоковых шифров — нет.

Под активным зондированием

Современные версии держатся. Атаки на потоковые шифры в 2020 году работали путем воспроизведения измененного трафика на предполагаемый сервер и чтения его реакции; аутентифицированное шифрование закрывает эту лазейку.

Обратитесь к нему, когда

Вы хотите легкий, прикладной туннель и готовы обрабатывать все, что он не охватывает.

Поскольку он проксирует приложения, а не переносит устройство, все, что не настроено на его использование, продолжает работать нормально — часто включая DNS, что тихо сводит на нет смысл. Это также не одно и то же: указание реализации и шифра говорит больше, чем указание протокола. Любые рекомендации о Shadowsocks, написанные до 2022 года, следует рассматривать как относящиеся к другому протоколу.

Условия: shadowsocks · proxy-vs-vpn · dns-leak

VLESS + Reality (Xray)

Не шифрование, а имитация: сервер представляет подлинный TLS стороннего веб-сайта, поэтому проверка видит посещение этого сайта.

Что его выдает

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

Под активным зондированием

Разработан против нее. Это свойство сделало Reality рекомендованным по умолчанию в наиболее строго фильтруемых сетях.

Обратитесь к нему, когда

Все остальное заблокировано, включая AmneziaWG, и вы готовы запускать и поддерживать сервер.

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

Условия: reality · vless · tls-fingerprinting · active-probing

Выбирая один

Нет рейтинга, потому что правильный ответ зависит от того, что происходит с вашим соединением. На незафильтрованной сети используйте WireGuard и перестаньте об этом думать. Когда WireGuard перестает подключаться, AmneziaWG — это минимальное изменение, которое помогает, потому что это тот же туннель с измененной формой. Когда и это перестает работать, оставшийся подход — это перестать выглядеть как туннель вообще, что и делает Reality и почему его запуск стоит дороже.

Двигайтесь вверх, а не вниз. Каждый шаг добавляет задержку, конфигурацию и способы быть незаметно неправильно настроенным, и ни один из них не добавляет безопасности — криптография уже была отличной внизу лестницы.

Что мы используем

Unblock Master использует AmneziaWG и Reality по указанным выше причинам, а не в качестве списка функций: страны, из которых подключаются наши пользователи, — это те, где обычный WireGuard распознается сразу. Мы здесь не нейтральная сторона, поэтому на этой странице описаны механизмы обнаружения достаточно подробно, чтобы вы могли проверить утверждения по документации других.

Глоссарий используемых здесь терминов