Эта статья была обновлена и дополнена протоколами WireGuard® и Stealth VPN.

Мы объясняем, что такое протокол VPN и что он делает. Мы также сравниваем сильные и слабые стороны наиболее распространенных протоколов, включая OpenVPN, WireGuard®, IKEv2, PPTP и L2TP.

Прежде чем доверить VPN защиту вашей интернет-активности, вам необходимо убедиться, что они внедрили необходимые меры безопасности. Оценка более технических аспектов VPN может быть сложной. Это часто означает попытку разобраться в мешанине различных аббревиатур.

Мы начали серию постов, в которых объясняем некоторые из наших мер безопасности, чтобы люди могли принимать более обоснованные решения. Наш первый пост объяснял, что означает HMAC SHA-384. Этот пост будет посвящен изучению протоколов VPN: что они делают, как они работают и что означает, если VPN-сервис использует OpenVPN поверх L2TP, например.

Этот пост углубляется в некоторые внутренние механизмы работы VPN. Хотя мы стараемся объяснять термины ясно, этот пост будет более полезен, если у вас есть некоторые базовые технические знания. Если вы не уверены, как работает VPN, возможно, будет полезно прочитать статью по ссылке ниже, прежде чем продолжить.

Узнайте, как работает VPN

Протоколы VPN

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

Протокол VPN обычно состоит из двух каналов: канала данных и канала управления. Канал управления отвечает за обмен ключами, аутентификацию и обмен параметрами (например, предоставление IP или маршрутов и DNS-серверов). Канал данных, как вы могли догадаться, отвечает за транспортировку данных вашего интернет-трафика. Вместе эти два канала устанавливают и поддерживают безопасный туннель VPN. Однако, чтобы ваши данные проходили через этот безопасный туннель, они должны быть инкапсулированы.

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

Это все немного технично, поэтому общий обзор: когда вы подключаетесь к VPN-серверу, VPN использует свой канал управления для установки общих ключей и подключения между вашим устройством и сервером. Как только это подключение установлено, канал данных начинает передавать ваш интернет-трафик. Когда VPN обсуждает сильные и слабые стороны своей производительности или говорит о «безопасном туннеле VPN», он говорит о своем канале данных. Как только туннель VPN установлен, канал управления получает задачу поддержания стабильности подключения.

PPTP

Протокол туннелирования точка-точка (PPTP) — один из старых протоколов VPN. Он был изначально разработан при поддержке Microsoft, поэтому все версии Windows и большинство других операционных систем имеют встроенную поддержку PPTP.

PPTP использует протокол точка-точка (PPP), который сам по себе похож на прото-VPN. Несмотря на то, что PPP довольно старый, он может аутентифицировать пользователя (обычно с помощью MS-CHAP v2) и инкапсулировать данные самостоятельно, позволяя ему выполнять обязанности как канала управления, так и канала данных. Однако PPP не является маршрутизируемым; он не может быть отправлен через интернет самостоятельно. Поэтому PPTP снова инкапсулирует инкапсулированные данные PPP с помощью общей инкапсуляции маршрутизации (GRE) для создания своего канала данных.

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

Шифрование: Протокол шифрования точка-точка от Microsoft (MPPE(новое окно)), который использует алгоритм RSA RC4. Максимальная сила MPPE — 128-битные ключи.

Скорость: Поскольку его протоколы шифрования не требуют большой вычислительной мощности (RC4 и только 128-битные ключи), PPTP поддерживает высокую скорость подключения.

Известные уязвимости: У PPTP было множество известных уязвимостей безопасности с 1998 года. Одна из самых серьезных уязвимостей использует неинкапсулированную аутентификацию MS-CHAP v2 для выполнения атаки «человек посередине» (MITM).

Порты брандмауэра: TCP-порт 1723. Использование GRE в PPTP означает, что он не может пройти через брандмауэр трансляции сетевых адресов и является одним из самых простых для блокировки протоколов VPN. (Брандмауэр NAT позволяет нескольким людям использовать один публичный IP-адрес одновременно. Это важно, потому что у большинства отдельных пользователей нет собственного IP-адреса.)

Стабильность: PPTP не так надежен и не восстанавливается так быстро, как OpenVPN, при нестабильных сетевых подключениях.

Вывод: Если вы беспокоитесь о защите своих данных, нет причин использовать PPTP. Даже Microsoft посоветовала(новое окно) своим пользователям перейти на другие протоколы VPN для защиты своих данных.

L2TP/IPSec

Протокол туннелирования второго уровня (L2TP) должен был заменить PPTP. L2TP может обрабатывать аутентификацию самостоятельно и выполняет инкапсуляцию UDP, поэтому в некотором смысле он может формировать как канал управления, так и канал данных. Однако, подобно PPTP, он сам не добавляет никакого шифрования. Хотя L2TP может отправлять PPP, чтобы избежать присущих PPP слабостей, L2TP обычно используется в паре с набором безопасности интернет-протокола (IPSec) для обработки его шифрования и аутентификации.

IPSec — это гибкая структура, которая может применяться к VPN, а также к маршрутизации и безопасности уровня приложений. Когда вы подключаетесь к VPN-серверу с L2TP/IPSec, IPSec согласовывает общие ключи и аутентифицирует подключение защищенного канала управления между вашим устройством и сервером.

Затем IPSec инкапсулирует данные. Когда IPSec выполняет эту инкапсуляцию, он применяет заголовок аутентификации и использует Encapsulation Security Payload (ESP). Эти специальные заголовки добавляют цифровую подпись к каждому пакету, чтобы злоумышленники не могли подделать ваши данные, не оповестив VPN-сервер.

ESP шифрует инкапсулированные пакеты данных, чтобы ни один злоумышленник не мог их прочитать (и, в зависимости от настроек VPN, также аутентифицирует пакет данных). Как только IPSec инкапсулировал данные, L2TP снова инкапсулирует эти данные с помощью UDP, чтобы они могли пройти через канал данных.

Несколько протоколов VPN, включая IKEv2, используют шифрование IPSec. Хотя IPSec в целом безопасен, он очень сложен, что может привести к плохой реализации. L2TP/IPSec поддерживается в большинстве основных операционных систем.

Шифрование: L2TP/IPSec может использовать шифрование 3DES или AES, хотя, учитывая, что 3DES теперь считается слабым шифром, он используется редко.

Скорость: L2TP/IPSec, как правило, медленнее, чем OpenVPN, при использовании той же стойкости шифрования. Это в основном связано с тем, что шифрование AES, используемое OpenVPN, аппаратно ускоряется на большинстве распространенных процессоров.

Известные уязвимости: L2TP/IPSec — это продвинутый протокол VPN, но утекшая презентация АНБ(новое окно) предполагает, что разведывательное агентство уже нашло способы его взломать. Кроме того, из-за сложности IPSec многие VPN-провайдеры использовали общие ключи(новое окно) для настройки L2TP/IPSec.

Порты брандмауэра: UDP-порт 500 используется для начального обмена ключами, UDP-порт 5500 — для обхода NAT, а UDP-порт 1701 — для разрешения трафика L2TP. Поскольку он использует эти фиксированные порты, L2TP/IPSec легче заблокировать, чем некоторые другие протоколы.

Стабильность: L2TP/IPSec не так стабилен, как некоторые более продвинутые протоколы VPN. Его сложность может привести к частым обрывам сети.

Вывод: Безопасность L2TP/IPSec, несомненно, является улучшением по сравнению с PPTP, но она может не защитить ваши данные от продвинутых злоумышленников. Его более низкая скорость и нестабильность также означают, что пользователям следует рассматривать использование L2TP/IPSec только в том случае, если нет других вариантов.

IKEv2/IPSec

Обмен ключами интернета версии два (IKEv2) — это относительно новый протокол туннелирования, который на самом деле является частью самого набора IPSec. Microsoft и Cisco сотрудничали при разработке оригинального протокола IKEv2/IPSec, но сейчас существует множество итераций с открытым исходным кодом.

IKEv2 настраивает канал управления, аутентифицируя защищенный канал связи между вашим устройством и VPN-сервером с помощью алгоритма обмена ключами Диффи — Хеллмана(новое окно). Затем IKEv2 использует этот защищенный канал связи для установки так называемой ассоциации безопасности, что просто означает, что ваше устройство и VPN-сервер используют одни и те же ключи шифрования и алгоритмы для связи.

Как только ассоциация безопасности установлена, IPSec может создать туннель, применить аутентифицированные заголовки к вашим пакетам данных и инкапсулировать их с помощью ESP. (Опять же, в зависимости от используемого шифра, ESP может обрабатывать аутентификацию сообщения.) Инкапсулированные пакеты данных затем снова инкапсулируются в UDP, чтобы они могли пройти через туннель.

IKEv2/IPSec поддерживается в Windows 7 и более поздних версиях, macOS 10.11 и более поздних версиях, а также в большинстве мобильных операционных систем.

Шифрование: IKEv2/IPSec может использовать ряд различных криптографических алгоритмов, включая AES, Blowfish и Camellia. Он поддерживает 256-битное шифрование.

Скорость: IKEv2/IPSec — это быстрый протокол VPN, хотя обычно не такой быстрый, как аппаратно ускоренный OpenVPN или WireGuard.

Известные уязвимости: У IKEv2/IPSec нет известных слабостей, и почти все эксперты по ИТ-безопасности считают его безопасным, если он правильно реализован с Perfect Forward Secrecy.

Порты брандмауэра: UDP-порт 500 используется для начального обмена ключами, а UDP-порт 4500 — для обхода NAT. Поскольку он всегда использует эти порты, IKEv2/IPSec легче заблокировать, чем некоторые другие протоколы.

Стабильность: IKEv2/IPSec поддерживает протокол мобильности и многоадресности (Mobility and Multihoming), что делает его более надежным, чем большинство других протоколов VPN, особенно для пользователей, которые часто переключаются между различными сетями WiFi.

Вывод: Благодаря сильной безопасности, высокой скорости и повышенной стабильности IKEv2/IPSec является хорошим протоколом VPN. Однако недавнее появление WireGuard означает, что причин выбирать его вместо более нового протокола VPN мало.

OpenVPN

OpenVPN — это протокол туннелирования с открытым исходным кодом. В отличие от протоколов VPN, которые полагаются на набор IPSec, OpenVPN использует SSL/TLS для обработки обмена ключами и настройки своего канала управления, а также уникальный протокол OpenVPN для обработки инкапсуляции и канала данных.

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

Шифрование: OpenVPN может использовать любой из различных криптографических алгоритмов, содержащихся в библиотеке OpenSSL(новое окно), для шифрования своих данных, включая AES, RC5 и Blowfish.

Подробнее о шифровании AES

Скорость: При использовании UDP OpenVPN поддерживает быстрые соединения, хотя IKEv2/IPSec и WireGuard обычно считаются более быстрыми.

Известные уязвимости: У OpenVPN нет известных уязвимостей, при условии, что он реализован с достаточно сильным алгоритмом шифрования и Perfect Forward Secrecy. Это отраслевой стандарт для VPN, заботящихся о безопасности данных.

Порты брандмауэра: OpenVPN может быть настроен на работу на любом порту UDP или TCP, включая TCP-порт 443, который обрабатывает весь трафик HTTPS, что делает его очень трудным для блокировки.

Стабильность: OpenVPN в целом очень стабилен и имеет режим TCP для преодоления цензуры.

Вывод: OpenVPN безопасен, надежен и имеет открытый исходный код. Это один из лучших протоколов VPN, используемых в настоящее время, особенно для пользователей, которые в первую очередь заботятся о безопасности данных. Его способность маршрутизировать соединения через TCP (см. ниже) также делает его хорошим выбором для уклонения от цензуры. Однако, хотя WireGuard и лишен антицензурного преимущества OpenVPN, он также безопасен и быстрее, чем OpenVPN.

WireGuard®

WireGuard(новое окно) — это протокол VPN с открытым исходным кодом, который безопасен, быстр и эффективен.

Шифрование: WireGuard использует ChaCha20 для симметричного шифрования (RFC7539(новое окно)), Curve25519 для анонимного обмена ключами, Poly1305 для аутентификации данных и BLAKE2s для хеширования (RFC7693(новое окно)). Он автоматически поддерживает Perfect Forward Secrecy.

Скорость: WireGuard использует новые, высокоскоростные криптографические алгоритмы. ChaCha20, например, намного проще шифров AES той же стойкости и почти такой же быстрый, даже несмотря на то, что большинство устройств теперь поставляются с инструкциями для AES, встроенными в их оборудование. Результат — WireGuard предлагает высокую скорость соединения и имеет низкие требования к ЦП.

Известные уязвимости: WireGuard прошел различные формальные проверки, и для включения в ядро Linux кодовая база WireGuard Linux была независимо проверена(новое окно) третьей стороной.

Порты брандмауэра: WireGuard можно настроить на использование любого порта, и он обычно работает через UDP. Однако Proton VPN также предлагает WireGuard TCP в большинстве наших приложений.

Стабильность: WireGuard — очень стабильный протокол VPN, который вводит новые функции, которых нет у других протоколов туннелирования, например, поддержание VPN-соединения при смене VPN-серверов или сетей WiFi.

Вывод: Ультрасовременный протокол VPN, WireGuard быстр, эффективен и безопасен. Он не так «проверен в боях», как OpenVPN, и не предлагает антицензурных возможностей OpenVPN на основе TCP (см. ниже), но для большинства людей в большинстве случаев это именно тот протокол VPN, который мы рекомендуем использовать.

Подробнее о WireGuard

OpenVPN против WireGuard

Stealth

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

Stealth основан на WireGuard, туннелированном через TLS. Поэтому он использует то же шифрование, что и WireGuard, с добавленным слоем шифрования TLS. В остальном он идентичен WireGuard (описанному выше).

Подробнее о Stealth

Другие важные термины

Просматривая сравнения различных протоколов VPN, вы могли столкнуться с аббревиатурами или техническими терминами, которые вам не знакомы. Мы объясним некоторые из наиболее важных здесь.

TCP против UDP

Протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP) — это два разных способа, которыми устройства могут общаться друг с другом через интернет. Оба они работают на основе интернет-протокола, который отвечает за отправку пакетов данных на IP-адреса и от них.

Когда вы видите, что протокол туннелирования использует порт TCP или порт UDP, это означает, что он устанавливает соединение между вашим компьютером и VPN-сервером, используя один из этих двух протоколов.

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

Это звучит как хорошая функция, но выполнение проверок занимает время, что приводит к снижению производительности. Запуск VPN через TCP (TCP поверх TCP) может замедлить ваше соединение в так называемом TCP meltdown (коллапс TCP).

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

Однако это также хорошо для преодоления цензуры. Это связано с тем, что трафик HTTPS(новое окно) использует TCP-порт 443, поэтому, если вы маршрутизируете свое VPN-соединение через тот же порт, оно выглядит как обычный защищенный VPN-трафик.

Возможность запускать VPN-трафик через порт 443 — одно из самых больших преимуществ использования OpenVPN (и WireGuard, если используется пользовательская реализация TCP протокола от Proton VPN).

Подробнее о TCP и UDP

Perfect Forward Secrecy

Perfect Forward Secrecy (совершенная прямая секретность) — критически важный компонент безопасности зашифрованной связи. Он относится к операциям, которые управляют генерацией ваших ключей шифрования. Если ваш VPN поддерживает Perfect Forward Secrecy, он будет создавать уникальный набор ключей для каждого сеанса (т.е. каждый раз, когда вы устанавливаете новое VPN-соединение).

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

Протоколы, используемые приложениями Proton VPN

Мы запустили Proton VPN, чтобы обеспечить активистам, диссидентам и журналистам безопасный и конфиденциальный доступ к интернету. Чтобы обезопасить сообщество Proton, мы используем только надежные и проверенные протоколы VPN. В следующем списке показано, какие протоколы VPN поддерживаются в наших различных приложениях:

  • Windows: OpenVPN, WireGuard® и Stealth
  • macOS: OpenVPN, IKEv2, WireGuard и Stealth
  • Android: OpenVPN, WireGuard и Stealth
  • iOS/iPadOS: OpenVPN, IKEv2, WireGuard и Stealth
  • Linux: OpenVPN и WireGuard

Вы можете использовать OpenVPN и WireGuard в режимах UDP или TCP.

Узнайте, как сменить протоколы VPN

Наши приложения для Windows, macOS, Android и iOS/iPadOS поддерживают Smart Protocol. Это функция против цензуры, которая интеллектуально зондирует сети, чтобы обнаружить лучшую конфигурацию протокола VPN, необходимую для оптимальной производительности или обхода цензуры.

Например, она может автоматически переключаться с IKEv2 на OpenVPN или с OpenVPN UDP на OpenVPN TCP, используя различные порты по мере необходимости.

Подробнее о Smart Protocol

Все наши приложения используют самые строгие настройки безопасности, поддерживаемые протоколом VPN. OpenVPN, WireGuard и IKEv2/IPSec — единственные протоколы, которые подавляющее большинство экспертов по ИТ-безопасности признают безопасными.

Мы отказываемся предлагать какие-либо VPN-соединения с использованием PPTP или L2TP/IPSec (хотя они дешевле в эксплуатации и проще в настройке), потому что их безопасность не соответствует нашим стандартам.

Когда вы входите в Proton VPN, вы можете быть уверены, что ваше VPN-соединение использует новейшие и самые надежные протоколы туннелирования.

С уважением,
Команда Proton VPN

ПОЛУЧИТЬ PROTON VPN

Вы можете следить за нами в социальных сетях, чтобы быть в курсе последних релизов Proton VPN:

Twitter (новое окно)| Facebook(новое окно) | Reddit(новое окно)

Чтобы получить бесплатный аккаунт зашифрованной электронной почты Proton Mail, посетите: proton.me/mail(новое окно)