Что такое WireGuard VPN и как он работает?

Как работает самый быстрый из доступных протоколов шифрования для VPN

IMG_2055.jpg
Casey Ford, PhDРуководитель отдела коммуникаций
Ania-Piotrowska.jpg
Ania M. Piotrowska, PhDТехнический рецензент
2 минуты чтения
Pablo: Improve quality
Поделиться

Может показаться, что с VPN всё просто: включил, подождал подключения - и через секунду IP-адрес скрыт, данные зашифрованы. Но анонимность в интернете - отнюдь не волшебство. Технология, лежащая в основе VPN, - это сложный многоступенчатый процесс.

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

Высокая скорость WireGuard достигается за счёт тщательно подобранных и эффективных протоколов на каждом этапе шифрования, а также благодаря лаконичной кодовой базе. Хотя этот протокол и не используется большинством традиционных VPN, он стал основным для новых децентрализованных VPN (dVPN). Сейчас многие VPN быстро перенимают этот опыт.

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

Earlybird-email banner (1).webp

Что такое WireGuard VPN?

WireGuard is an open-source communications protocol which provides the encrypted routing procedures through which many modern VPNs protect users’ data and privacy. Для каждого этапа процесса асимметричного шифрования он использует самые современные протоколы, что делает его самым быстрым VPN-протоколом на сегодняшний день.

WireGuard был запущен в 2015 году, а релиз для Linux состоялся в 2020 году. Теперь он совместим со всеми основными операционными системами и устройствами и всё чаще используется новыми VPN-сервисами. Благодаря высокой скорости, открытому коду для аудита и низкому расходу трафика ожидается, что WireGuard вскоре превзойдёт более распространённые протоколы, используемые массовыми VPN.

Узнайте больше о том, как работает шифрование данных, из подробного руководства Nym.

Что такое VPN?

Как работает VPN на базе WireGuard?

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

Протоколы WireGuard

Этап шифрования

Protocol

Handshake

Noise

Key exchange

Curve25519

Key derivation

HKDF

Encryption

ChaCha20

Authentication

Poly1305

Hashing

Blake2s

Networking

UDP

Рукопожатие

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

Обмен и вывод ключей

Затем сервер и клиент обмениваются открытыми ключами для проверки подлинности друг друга. Для обмена ключами WireGuard использует Curve25519 - передовую криптосистему на эллиптических кривых, основанную на функции открытого ключа Диффи-Хеллмана.

Сервер и клиент используют обменянные ключи для создания уникального ключа, известного только им. Это делается с помощью функции формирования ключей (KDF). На этапе вывода ключей WireGuard использует HKDF (функцию формирования ключей на основе HMAC), которая выгодна для VPN-маршрутизации благодаря высоконадёжному двухэтапному процессу и гибкости в отношении длины ключей. Выведенный ключ используется для симметричного шифрования между клиентом и VPN-сервером.

Шифрование и аутентификация

На этапах шифрования и аутентификации WireGuard использует ChaCha20-Poly1305 - комбинацию потокового шифра ChaCha20 и кода аутентификации сообщений Poly1305. Этот алгоритм высокопроизводителен и в целом быстрее, чем AES-GCM.

Хеширование

Хеширование - это процесс в маршрутизации зашифрованных данных, при котором входные данные любого размера преобразуются в строку символов фиксированной длины. После преобразования полученные данные (или «хеш-значение») можно использовать для проверки, не был ли пакет данных изменён при передаче. Если так, то хеш-значение у получателя будет отличаться от того, что было у отправителя. WireGuard использует Blake2 в качестве хеш-функции — это быстрее и оптимальнее предыдущих стандартов (например, Sha-1 и -2) и считается таким же безопасным, как продвинутые стандарты вроде Sha-3.

Транспортный уровень

Транспортный уровень отвечает за преобразование данных вашего трафика в зашифрованные пакеты для отправки через сеть. WireGuard оборачивает зашифрованные данные с помощью протокола UDP (User Datagram Protocol). Этот протокол связи обеспечивает быструю и безопасную передачу данных. Он не использует TCP, поскольку этот протокол менее эффективен в VPN-сетях из-за большего объёма служебных данных и известных проблем (так называемых «TCP-коллапсов»).

Routing

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

Расшифровка

Since it is the VPN server that provides the encryption for your data to their server, once there that layer of encryption is removed or decrypted using the above keys. Однако при условии, что исходное соединение между вашим устройством и конечным получателем в интернете защищено через HTTPS, один слой шифрования должен сохраниться, что не позволит VPN видеть ваши данные в открытом виде. После того как VPN-шифрование снято, VPN сможет видеть конечный пункт назначения, куда нужно отправить ваши данные. При включённом по умолчанию HTTPS-шифровании ваш трафик будет зашифрован сквозным образом при использовании VPN на базе WireGuard.

Совместимость с WireGuard

WireGuard иногда критикуют за более ограниченную совместимость по сравнению с другими протоколами, например OpenVPN. Но это преувеличение: речь идёт о совместимости с конкретным оборудованием (например, роутерами), а не с операционными системами.

  • Операционные системы: WireGuard совместим с большинством основных ОС и устройств: Windows, macOS, Linux, Android, iOS и современными версиями BSD.

  • Роутеры: с точки зрения оборудования проблема WireGuard в том, что он пока не так широко совместим с VPN-роутерами, как, например, OpenVPN. Это неудивительно, ведь WireGuard присутствует на рынке всего четыре года. По мере выхода новых моделей роутеров в ближайшие годы Nym ожидает, что этот разрыв в совместимости быстро сократится.

Преимущества VPN на базе WireGuard

Speed

WireGuard - один из самых быстрых VPN-протоколов: он более чем на 50% быстрее OpenVPN, который был отраслевым стандартом на протяжении двух десятилетий. Минимальная кодовая база

Код WireGuard на удивление компактен - всего около 4000 строк. Для сравнения: версии OpenVPN содержат около 100 000 строк кода. Это делает производительность WireGuard чрезвычайно оптимизированной и эффективной.

Высокий уровень безопасности

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

Быстрое переподключение

WireGuard построен как протокол без сохранения состояния (stateless), то есть он не требует постоянного поддержания состояния соединения между узлами. Такая архитектура позволяет безболезненно обрабатывать разрывы соединения, поскольку нет необходимости восстанавливать сессию или состояние подключения. Как только пакеты снова начинают передаваться, WireGuard продолжает работу с того же места.

С открытым исходным кодом

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

Недостатки VPN на базе WireGuard

Отсутствие обфускации

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

Другие инструменты, такие как Obfsproxy, Shadowsocks или Stunnel, можно использовать вместе с WireGuard, чтобы добавить обфускацию в процесс VPN-маршрутизации.

Не интегрирован во все VPN

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

Отсутствие поддержки на роутерах

WireGuard пока поддерживается далеко не таким количеством VPN-роутеров, как, например, OpenVPN, главным образом потому, что это оборудование было спроектировано и запрограммировано до появления WireGuard. Поэтому Nym ожидает, что в ближайшие годы ситуация с совместимостью роутеров и WireGuard изменится.

Протокол WireGuard в сравнении с другими VPN-протоколами

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

WireGuard против OpenVPN

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

OpenVPN: даёт гибкие настройки для пользователей и разработчиков и широкий выбор шифров. Он также совместим с гораздо большим числом VPN-роутеров и чаще используется в корпоративных сетях.

WireGuard: значительно быстрее OpenVPN, имеет гораздо меньший расход трафика при том же уровне безопасности.

WireGuard против IPSec/IKEv2

IPSec (Internet Protocol Security) и IKEv2 (Internet Key Exchange version 2) - это протоколы для защиты интернет-соединений. Они часто используются вместе как IPSec/IKEv2.

IPSec/IKEv2: как и OpenVPN, поддерживает широкий спектр криптографических протоколов, но при этом имеет огромный объём служебных данных и кодовую базу в сотни тысяч строк. Это может приводить к ошибкам и неверной настройке, а также усложняет аудит.

WireGuard: проще и эффективнее, но без выбора шифров для пользователей.

WireGuard против PPTP

Протокол Point-to-Point Tunneling Protocol (PPTP) - один из старейших протоколов шифрования для VPN. Он был представлен Microsoft в середине 1990-х годов и до сих пор используется на некоторых устаревших платформах.

PPTP: использует MPPE (Microsoft Point-to-Point Encryption) с шифром RC4, который по современным меркам считается слабым. Однако он относительно быстр и прост в настройке, поэтому может быть полезен там, где скорость важнее защиты. WireGuard: не только чрезвычайно быстр, но и использует самые современные алгоритмы шифрования, делая компромисс между скоростью и безопасностью, который предлагает PPTP, совершенно ненужным.

WireGuard против L2TP

L2TP (Layer 2 Tunneling Protocol) - это расширение PPTP и L2F (Layer 2 Forwarding Protocol).

L2TP: сам по себе не обеспечивает шифрование, поэтому часто используется вместе с IPsec для шифрования и защиты передаваемых данных (L2TP/IPsec).

WireGuard: поскольку L2TP не шифрует пользовательские данные, сравнивать его с WireGuard бессмысленно.

WireGuard: ускоряя децентрализованные сети

Когда речь заходит о приватности в сети, WireGuard вызывает такой интерес и признание именно благодаря своей способности обеспечивать быструю и безопасную маршрутизацию для децентрализованных VPN (dVPN), ориентированных на приватность.

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

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

NymVPN даёт пользователям выбор. Они могут одним переключением выбрать двухступенчатый dVPN-режим на базе WireGuard для быстрой и приватной защиты в повседневных задачах. Или для особенно чувствительных задач (например, переписки и криптотранзакций) можно выбрать непревзойдённый пятиступенчатый режим микснета на базе протокола Sphinx, который специально разработан для работы с трафиком микснета.

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

Больше, чем просто VPN

Открывая доступ к интернету без слежки

WireGuard VPN: Часто задаваемые вопросы

По умолчанию WireGuard использует фиксированные UDP-порты, что упрощает маршрутизацию, но потенциально делает трафик более распознаваемым (хотя плагины обфускации или встроенная маршрутизация, как в NymVPN, могут маскировать поведение портов).

NymVPN помещает сессию двухступенчатого dVPN на базе WireGuard в обёртку микснета, добавляя слои для сокрытия метаданных, сохраняя при этом скорость WireGuard для повседневного серфинга.

WireGuard регулярно (по истечении короткого времени или после достижения определённого объёма данных) меняет сеансовые ключи (через ChaCha20-Poly1305), ограничивая последствия компрометации ключа и гарантируя безопасность прошлых сеансов.

Минимальная кодовая база WireGuard эффективно работает на Linux, macOS, Android, iOS и встраиваемых устройствах, однако на маломощном оборудовании накладные расходы на обмен ключами могут создавать небольшую нагрузку на ЦП.

WireGuard очень эффективен и обычно потребляет меньше энергии, чем более тяжёлые протоколы, такие как OpenVPN с TLS, благодаря более быстрому выполнению handshake, сокращающему время активности радиомодуля.

Об авторах

IMG_2055.jpg

Casey Ford, PhD

Руководитель отдела коммуникаций
Кейси - глава отдела коммуникаций, ведущий автор и редакционный рецензент в Nym. У него степень PhD по философии, он исследует пересечение децентрализованных технологий и социальной жизни.
Ania-Piotrowska.jpg

Ania M. Piotrowska, PhD

Технический рецензент
Аня — главный научный сотрудник компании Nym. Ания возглавляет исследовательскую команду Nym, специализирующуюся на безопасности, распределенных системах и анонимной связи, включая луковую маршрутизацию и микснеты.

Новые сниженные цены

Самый приватный VPN в мире

Попробуйте NymVPN бесплатно

Продолжить чтение...

Pablo: Improve quality

Что такое шифрование? Полное руководство

Объяснение технологий, обеспечивающих безопасность онлайн-данных, и их ограничений в плане приватности

1 минута чтения