Является ли WireGuard будущим новых VPN? [Обновлено 2022 г.]
Содержание
Это может стать для вас неожиданностью, но индустрия VPN не видела обновления протоколов туннелирования почти два десятилетия назад.
Это произошло в 2001 году в виде OpenVPN с открытым исходным кодом, который является хорошо зарекомендовавшим себя протоколом, которому доверяют эксперты в отрасли.
Но WireGuard готов бросить вызов статусу OpenVPN как лучшего протокола VPN, решив некоторые присущие ему проблемы.
В этом блоге я максимально просто объясню, что такое WireGuard и как мы можем ожидать, что он повлияет на индустрию VPN.
WireGuard — меняет правила игры?
Я почти слышу, как вы спрашиваете: «Действительно ли необходимо еще больше усложнять протоколы туннелирования с выпуском еще одного»?
Это совершенно правильный вопрос. В конце концов, WireGuard — это всего лишь еще один протокол в уже длинном списке, в который входят OpenVPN, L2TP, SSTP, PPTP и IKEv2. Это протоколы, с которыми я обычно сталкиваюсь, когда делаю обзоры VPN.
Итак, что может предложить WireGuard такого, чего не могут предложить эти протоколы?
Давайте рассмотрим некоторые из наиболее заметных атрибутов, которые отличают этот новый протокол от тех, с которыми мы более знакомы.
1 Простота
Если есть одно качество, по которому можно определить WireGuard, это простота. И я имею в виду это во многих смыслах.
Во-первых, WireGuard намного проще, чем OpenVPN, потому что у него меньше кода.
Более распространенные протоколы VPN, т. е. OpenVPN и L2TP, занимают около 600 000 и 400 000 строк кода соответственно.
Напротив, WireGuard занимает менее 4000 строк кода!
Это принципиально новый уровень различий.
Меньший код имеет важные преимущества. Например, вероятность того, что что-то пойдет не так, и ошибки, влияющие на функциональность, намного ниже, когда ваша кодовая база настолько мала.
Более того, поверхность атаки или то, насколько код подвержен угрозам безопасности, зависит от размера кода. Чем он длиннее, тем уязвимее он будет для атак.
Таким образом, бережливый код выгоден и с точки зрения безопасности.
Наконец, аудит кода с меньшим количеством строк намного проще и занимает меньше времени, чем тот, который состоит из тысяч строк.
Tl;dr, более простой код означает:
- Протокол, скорее всего, будет работать гладко с минимальными сбоями
- Это более безопасно, потому что меньше уязвимостей для использования
- Его может проверить один человек, затрачивая менее половины времени на аудит других протоколов.
Удивительно, как простота может так много улучшить одним махом. И это отличительная черта WireGuard.
2 Простая реализация
Простая реализация WireGuard связана с тем, что это версионный протокол.
То есть его обновления будут выпущены в виде обновленных версий, каждая из которых будет содержать единую спецификацию шифрования, уникальную от других версий.
Напротив, OpenVPN может изменять свои криптографические алгоритмы и шифры по запросу администратора.
Это означает, что между клиентом и сервером не существует согласованного стандарта для пользователя OpenVPN.
Таким образом, формирование соединения занимает больше времени, поскольку OpenVPN должен согласовывать определенные стандарты рукопожатия и шифрования со стороной сервера каждый раз, когда пользователь подключается.
С другой стороны, одна версия WireGuard будет использовать одну спецификацию, поэтому сервер может сразу распознать все, что ему нужно знать о шифровании и других используемых стандартах.
Это ускоряет весь процесс подключения, чего не может сделать ни один другой протокол.
3 Более высокая производительность
WireGuard обещает значительно более высокую производительность и скорость по сравнению с другими протоколами.
Это связано с тем, что он работает в пространстве ядра, которое имеет высокое соотношение скорости к загрузке ЦП.
То есть вы получаете большую скорость при заданном уровне использования ЦП по сравнению с IPSec или OpenVPN.
WireGuard фактически сравнивал пропускную способность и время пинга для WireGuard, OpenVPN и двух разных вариантов IPSec.
На графике видно, что процессор достигает максимальной скорости 258 Мбит/с, в то время как WireGuard почти полностью достигает скорости 1 Гбит/с соединения Ethernet. Это пропускная способность 98,7% !
Вы можете четко наблюдать разницу между всеми протестированными VPN-протоколами. Лучшее в WireGuard — это то, что использование ЦП не достигло максимума даже при впечатляющей записанной пропускной способности.
Учитывая тот факт, что он все еще находится в стадии разработки и еще не является оптимизированным протоколом, эти результаты невероятно впечатляют.
Тот же тест также проверил время пинга WireGuard, а также трех других протоколов.
В очередной раз WireGuard превзошел другие протоколы, причем разница была наиболее заметной.
Эти результаты говорят сами за себя и дают представление о мощности и общей производительности WireGuard.
4 Безопасное шифрование
WireGuard также идет против течения в использовании стандартов и алгоритмов шифрования. Большинство протоколов используют надежные, но устаревшие алгоритмы шифрования для защиты туннеля VPN.
WireGuard использует алгоритмы шифрования, которые не поддерживает ни один другой существующий протокол. Эти:
- ChaCha20 (проверено Poly13045)
- BLAKE2s (хеширование и хеширование с ключом)
- Кривая25519 (ECDH)
- HKDF (получение ключа)
- SipHash24 (ключи хеш-таблицы)
Однако длина ключа для шифрования ограничена 256 битами. Это может беспокоить некоторых людей, но давайте будем честными, 256-битное шифрование уже является излишним.
Это становится очевидным, когда вы понимаете, что 256-битная длина шифрования означает 1,15 x 1077 различных возможных комбинаций ключей. Вероятность того, что кто-то случайно угадает ваш правильный ключ, составляет 1 к 1,15 х 1077.
У вас больше шансов стать свидетелем того, как яичница-болтунья расшифровывается сама по себе, чем правильно угадать ваши ключи шифрования.
А как насчет атак грубой силы?
Предполагая, что вы выполняете атаку грубой силы на очень быстром компьютере и вам посчастливилось найти правильный ключ после исчерпания половины комбинаций клавиш, вам все равно придется попробовать 5,75 x 10 ^ 76 разных ключей.
Если вы генерируете 100 000 000 ключей в секунду (что намного превышает средние возможности существующих компьютерных систем), вам придется ждать 1,82 x 1061 лет, прежде чем вы найдете правильный ключ.
За исключением того, что к тому времени вся вселенная будет мертва, а не только ты.
Итак, длина ключа — это фактор, который имеет значение только до определенного предела. После этого это становится неактуальным, например, в случае длины ключа более 256 бит.
Реальный вопрос заключается в алгоритмической силе и эффективности шифрования, которое использует WireGuard.
До тех пор, пока в алгоритмах шифрования WireGuard не будут обнаружены слабые места в системе безопасности, нет причин для беспокойства только потому, что он ограничен более короткими длинами ключей.
Тот факт, что WireGuard выдержал проверку аудиторами безопасности и криптографами (которая продолжается до сих пор), обнадеживает всех, кто сомневается в безопасности протокола.
На самом деле, он будет лучше своих аналогов только потому, что использует недавно разработанные криптографические праймеры.
Таким образом, с точки зрения безопасности WireGuard намного опережает старые протоколы VPN.
Обратная сторона
Итак, мы увидели все важные способы, которыми WireGuard готов атаковать существующие протоколы туннелирования.
Но давайте заглянем под ковер и посмотрим на некоторые потенциальные проблемы в WireGuard.
Работа в процессе
WireGuard — это бесплатный проект с открытым исходным кодом, который все еще находится в стадии разработки. Официальных стабильных релизов пока не вышло.
В его нынешнем виде вы не можете полностью полагаться на этот протокол, так как они, вероятно, содержат уязвимости в системе безопасности.
Статус WireGuard: в разработке
Не забывайте, что протокол еще не прошел надлежащий аудит безопасности. Все это еще в стадии разработки.
Хотя мы знаем достаточно, чтобы быть достаточно уверенными в возможностях WireGuard, когда он будет официально выпущен со стабильной сборкой, это время еще далеко в будущем.
Пока нет поддержки Windows
Вся разработка WireGuard ведется на Linux. Хотя его экспериментальные версии доступны для macOS, Android и iOS, официально клиент для Windows еще не выпущен.
Однако некоторые VPN-сервисы, о которых я расскажу ниже, предлагают приложение для Windows через сторонних клиентов.
Разработчик WireGuard Джейсон Доненфельд настоятельно не рекомендует использовать предполагаемые клиенты Windows:
Итак, прислушайтесь к этому предупреждению, ребята. Мы скоро получим поддержку Windows, но не сейчас.
Возможные проблемы с некоторыми функциями
VPN-сервис Perfect Privacy несколько месяцев назад опубликовал статью о WireGuard, в которой упомянули, что этот протокол не сможет поддерживать некоторые функции, такие как NeuroRouting и TrackStop.
Однако такие проблемы не обязательно сохранятся после выпуска полной версии WireGuard. Мы также можем ожидать варианты протокола, которые будут лучше работать с некоторыми функциями VPN.
Проблемы с ведением журнала
Одна из основных проблем, которая привлекла мое внимание, была поднята некоторыми провайдерами VPN относительно невозможности использования WireGuard без регистрации информации о пользователе.
Если эти опасения обоснованы, желательность WireGuard в качестве протокола VPN будет серьезно поставлена под сомнение.
По данным AzireVPN:
… когда дело доходит до WireGuard, поведение по умолчанию заключается в том, что конечная точка и разрешенный IP-адрес видны в интерфейсе сервера, что на самом деле не работает с нашей политикой конфиденциальности. Мы не должны знать о вашем исходном IP-адресе и не можем допустить, чтобы он был виден на наших серверах.
Однако этим ребятам удалось решить проблему логирования с помощью самого создателя кода WireGuard, Джейсона. По сути, он написал модифицированный модуль, похожий на руткит, который решил проблему.
Perfect Privacy также указал на ту же проблему с логированием. AirVPN, с другой стороны, проявил интерес к WireGuard, но также заявил, что не будет включать его в свои услуги до тех пор, пока не будет разработана стабильная, рецензируемая и хорошо проверенная версия протокола.
Общая тема всех этих заявлений и опасений сосредоточена вокруг того факта, что протокол ни в коем случае не является готовым продуктом.
Но, учитывая, что некоторые проблемы уже решаются, и тот факт, что на данный момент код все еще является экспериментальным, большинство выявленных проблем, вероятно, будут решены в свое время по мере дальнейшего развития протокола.
Будущие последствия
Несмотря на то, что WireGuard все еще является экспериментальным проектом, он уже оказался чрезвычайно многообещающим протоколом по ряду важных причин, включая скорость и безопасность.
Первоначальные сравнительные тесты определенно достаточно примечательны, чтобы привлечь внимание провайдеров и пользователей VPN.
Другой вопрос, сможет ли готовый продукт оправдать ажиотаж. Но если судить по существующим аудитам, сторонним проверкам и тестам производительности, шансы складываются в пользу WireGuard.
В настоящее время пользователям следует воздерживаться от использования этого протокола. В существующей экспериментальной форме он представляет интерес только для разработчиков.
Тем не менее, стабильная версия не так далека от выхода, как мы могли бы предположить. Вполне возможно, что в ближайшие несколько месяцев мы увидим WireGuard v1.0.
Итак, основываясь на всем, что мы обсудили в этой статье, вот что мы можем ожидать, когда этот протокол наконец получит официальный релиз:
- Простая реализация
- Меньше ошибок
- Высокая производительность
- Низкое время соединения
- Высокая функциональность
- Сильная безопасность
- Отличная кроссплатформенная совместимость
Провайдеры VPN с поддержкой WideGuard
Хотя Доненфельд неоднократно предупреждал, что использование этого протокола может быть опасным и подвергать пользователей угрозам безопасности, некоторые поставщики по-прежнему предлагают протокол WireGuard в своих пакетах VPN.
На момент написания этой статьи такими провайдерами были:
- Крот
- ИВПН
- АзирVPN
- Что-то VPN
Они могут быть вам интересны, если вы разработчик. В противном случае я бы посоветовал вам проявить немного терпения и подождать, пока не появится проверенный и проверенный официальный выпуск WireGuard.
Что эксперты говорят о WireGuard
С тех пор, как проект был запущен, WireGuard получил высокую оценку и восхищение кодеров и разработчиков программного обеспечения.
Линус Торвальдс, создатель ядра Linux, сказал об этом следующее :
Кстати, по несвязанной с этим проблеме: я вижу, что Джейсон действительно сделал
запрос на вытягивание, чтобы включить wireguard в ядро.Могу ли я просто еще раз заявить о своей любви к нему и надеяться, что он
скоро будет объединен? Возможно, код не идеален, но я просмотрел его, и по сравнению
с ужасами OpenVPN и IPSec это произведение искусства.
Грег Кроа-Хартман также не скрывал своего волнения от разрабатываемого протокола, заявляя:
Было здорово видеть, как Wireguard за эти годы превратился во что-то, что работает действительно хорошо. На прошлой неделе он пережил трафик LinuxCon/ELCE/Kernel Summit благодаря Константину Рябицеву и пакету.net, настроившему для нас сервер… Надеюсь, после сетевой конференции на следующей неделе будет более четкая дорожная карта для его слияния с деревом ядра.. Крипто-код в модуле ядра, вероятно, должен будет лучше работать с криптографическим API-интерфейсом в ядре, чего и следовало ожидать, но на самом деле нынешний криптографический API-интерфейс в ядре действительно нуждается в серьезном обновлении в один из дней, неудивительно, Джейсон. написал свой интерфейс.
Даже сенатор США Рон Уайден высказал свое мнение, написав письмо в NIST (Национальный институт стандартов и технологий), рекомендуя принять WireGuard для государственных VPN.
Недавно получила известность новая технология VPN с открытым исходным кодом под названием Wireguard. Для обеспечения безопасности его дизайн подчеркивает простоту настройки и сводит к минимуму количество доступных опций. Примечательно, что сейчас Wireguard внедряется в операционную систему Linux, что свидетельствует о его широкой поддержке в сфере технологий и безопасности…
… Я призываю NIST работать с заинтересованными сторонами для оценки соответствующих замен безопасности, включая Wireguard, для использования правительством.
Глава отдела конфиденциальности частного доступа к Интернету регулярно пишет на Reddit. Вы можете увидеть, как он высказывает свое экспертное мнение о субреддитах, связанных с VPN.
В следующем комментарии он поддерживает WireGuard как отличную идею, но также предостерег пользователей от его использования, пока он все еще находится на экспериментальной стадии:
WireGuard привлекла достаточно внимания, чтобы убедить меня в том, что Доненфельд замышляет нечто просто невероятное. Я имею в виду, если сенаторы США проявляют интерес, он должен быть ДЕЙСТВИТЕЛЬНО безопасным.
Последние мысли
WireGuard, безусловно, меняет ситуацию в индустрии VPN, обещая современные криптографические методы, безопасное туннелирование, отличную возможность аудита и бесперебойную работу.
Некоторые из крупнейших имен в мире разработчиков программного обеспечения чрезвычайно оптимистичны в отношении этого инновационного протокола VPN.
Но в то же время несколько VPN-компаний выразили обеспокоенность по поводу проблем с ведением журналов и совместимости с некоторыми проприетарными функциями.
Хотя эти опасения нельзя игнорировать, они немного преждевременны, учитывая, что предстоит еще много работы, прежде чем WireGuard станет полностью разработанным, проверенным и проверенным протоколом.
И когда это произойдет, мы можем стать свидетелями начала новой эры безопасных сетей.
Связанные руководства :