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

Мы объясняем, что такое протокол 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

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

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

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

Шифрование: протокол Microsoft Point-to-Point Encryption (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

Протокол Layer two tunneling protocol (L2TP) был призван заменить PPTP. L2TP может самостоятельно обрабатывать аутентификацию и выполняет инкапсуляцию UDP, поэтому в некотором роде он может формировать как канал управления, так и канал данных. Однако, подобно PPTP, он сам не добавляет никакого шифрования. Хотя L2TP может отправлять PPP, чтобы избежать присущих PPP слабостей, L2TP обычно работает в паре с набором Internet Protocol security (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

Internet key exchange version two (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 нет известных слабостей, и почти все эксперты по IT-безопасности считают его безопасным при правильной реализации с совершенной прямой секретностью (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.

Заключение: WireGuard — это современный протокол VPN, который быстр, эффективен и безопасен. Он не так «проверен в боях», как OpenVPN, и не предлагает возможности антицензуры на основе TCP, как OpenVPN (см. ниже), но для большинства людей большую часть времени это протокол 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» (TCP meltdown).

Например, если у вас трафик 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 — единственные протоколы, которые подавляющее большинство экспертов по IT-безопасности признают безопасными.

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

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

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

ПОЛУЧИТЬ PROTON VPN

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

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

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