ПРИМЕНЕНИЕ VPN ПРОТОКОЛА WIREGUARD ДЛЯ ОРГАНИЗАЦИИ
ПРИМЕНЕНИЕ VPN ПРОТОКОЛА WIREGUARD ДЛЯ ОРГАНИЗАЦИИ
Усатова Ольга Александровна
PhD д-р Казахского национального университета им.аль-Фараби,
Казахстан, г. Алматы
Мустафев Рустем Нургазыулы
магистрант Казахского национального университета им.аль-Фараби,
Казахстан, г. Алматы
АННОТАЦИЯ
В статье рассматривается особенности нового типа виртуального туннеля шифрования (VPN), которые являются неотъемлемыми элементами любой системы безопасности. VPN защищает сотрудников, когда они работают удаленно из дома или во время поездок. Рассматривается и анализируется конкретный системный материал взаимосвязанных и взаимообусловленных научных утверждений, синтезирующих суть репродуктивности темы, взаимодействия предотвращений при раскрытии веб-трафика, особенно трафика, содержащего конфиденциальные данные, в открытом интернете.
Ключевые слова: безопасность, шифрование, веб-трафик, сети VPN, частные сети, интернет-провайдеры.
Введение
WireGuard — это ориентированная на безопасность виртуальная частная сеть (VPN), известная своей простотой и удобством использования. Он использует проверенные криптографические протоколы и алгоритмы для защиты данных. Первоначально разработанное для ядра Linux, теперь его можно развернуть на Windows, macOS, BSD, iOS и Android.
Виртуальные частные сети (VPN) незаменимы для бизнеса и защиты их данных. VPN связывают филиалы удаленных офисов с основной корпоративной сетью, позволяют сотрудникам в роуминге использовать внутренние приложения компании и позволяют облачным серверам быть частью той же сети, что и локальные.
Большинство существующих сегодня VPN-решений были разработаны давным-давно, поэтому они довольно медленные и слишком сложные. Wire-Guard, проект, который ставит безопасность и простоту на первое место.
Исследователь безопасности и разработчик ядра Джейсон Доненфельд (Jason Donenfeld) придумал WireGuard в 2017 году, когда ему требовалось скрытное решение для туннелирования трафика, которое можно было бы использовать во время тестирования на проникновение. Чем больше он рассматривал существующие варианты, тем больше понимал, что VPN-туннели, такие как IPsec и OpenVPN, не работают должным образом, и их сложно правильно настроить и управлять ими [1,с.25]. Поэтому он решил создать совершенно новый протокол и реализацию VPN, которые позволили бы избежать некоторых дизайнерских решений, которые превратили другие технологии туннелирования в проекты-монстры с огромными кодовыми базами и бесчисленными ручками и переключателями.
Протокол WireGuard отказывается от криптографической гибкости — концепции предложения выбора между различными алгоритмами шифрования, обмена ключами и хеширования — поскольку это привело к небезопасному развертыванию с другими технологиями. Вместо этого в протоколе используется набор современных, тщательно протестированных и рецензируемых криптографических примитивов, что приводит к надежным криптографическим вариантам по умолчанию, которые пользователи не могут изменить или неправильно настроить. Если когда-либо обнаруживается какая-либо серьезная уязвимость в используемых криптопримитивах, выпускается новая версия протокола, и существует механизм согласования версии протокола между узлами.
WireGuard использует ChaCha20 для симметричного шифрования с Poly1305 для аутентификации сообщений, комбинация, которая более эффективна, чем AES, на встроенных архитектурах ЦП, которые не имеют криптографического аппаратного ускорения; Curve25519 для соглашения о ключах Диффи-Хеллмана на эллиптических кривых (ECDH); BLAKE2s для хэширования, которое быстрее, чем SHA-3; и рукопожатие 1,5 Round Trip Time (1,5-RTT), основанное на платформе Noise и обеспечивающее секретность пересылки. Он также включает встроенную защиту от олицетворения ключа, атак типа «отказ в обслуживании» и повторного воспроизведения, а также некоторую постквантовую криптографическую стойкость [2,c.40].
В протоколе WireGuard каждый одноранговый узел идентифицируется для других с помощью коротких открытых ключей аналогично тому, как работает аутентификация на основе ключей в OpenSSH. Открытые ключи также используются для определения того, какие IP-адреса назначаются каждому узлу внутри туннеля в рамках новой концепции, которую разработчики WireGuard называют маршрутизацией с использованием криптоключа.
Протокол также является скрытным, поскольку он не отвечает ни на какие пакеты от пиров, которые он не распознает, поэтому сканирование сети не покажет, что WireGuard работает на машине. Кроме того, соединение между узлами, которые могут действовать как клиенты и серверы одновременно, отключается, когда нет обмена данными.
Протокол WireGuard был проверен несколькими группами исследователей безопасности из частного сектора и научных кругов и официально проверен в различных вычислительных моделях [2, с.45].
Основная реализация WireGuard предназначена для Linux и представлена в виде модуля ядра. Код предназначен для легкого аудита, и Доненфельд сказал, что его можно прочитать за полдня.
По сравнению с OpenVPN, который имеет более 100 000 строк кода и зависит от OpenSSL — еще одной огромной кодовой базы — модуль ядра WireGuard содержит около 4 000 строк кода, и в него встроен криптографический код. Это означает, что он имеет меньшую поверхность атаки по сравнению с другими проектами VPN, и, поскольку он не отвечает на неаутентифицированные пакеты, его намного сложнее атаковать. Ниже перечислены качества WireGuard и OpenVPN в шифрований и безопасности (таблица 1).
Таблица 1.
Поддерживаемые методы шифрования
Шифрование и безопасность |
WireGuard |
OpeanVPN |
Шифры шифрования и протоколы аутентификации |
AES, ChaCha20, Poly1305(и многие другие) |
ChaCha20, Poly1035 |
Идеальная прямая секретность |
Поддерживается |
Поддерживается |
Известные уязвимости |
Нет |
Нет |
В Linux WireGuard работает исключительно в пространстве ядра, поэтому его производительность намного выше, чем у OpenVPN, который живет в пользовательском пространстве и использует драйвер виртуального сетевого интерфейса. Многие тесты WireGuard, в том числе на собственном веб-сайте проекта, демонстрируют в четыре раза более высокую производительность и скорость соединения, чем OpenVPN, и более высокие скорости, чем VPN на основе IPsec на том же оборудовании.
Однако реализации WireGuard для Android, iOS, macOS, OpenBSD и Windows написаны на безопасном для памяти языке программирования Go. Помимо некоторых поддерживаемых сообществом проектов прошивки Android, в которые интегрирован модуль ядра WireGuard, реализации WireGuard, отличные от Linux, работают в пользовательском пространстве и не обладают такой же производительностью, как реализация ядра. Тем не менее, в большинстве случаев им по-прежнему удается соответствовать или превосходить OpenVPN. Сравнение и анализ произведенные в ходе тестирования двух VPN (таблица 2).
Таблица 2.
Тестирования скоростей
Город |
OpeanVPN |
WireGuard |
Алматы |
112Мб/сек |
221Мб/сек(2,5раза быстрее) |
Москва |
120Мб/сек |
238Мб/сек(2,5раза быстрее |
После данных тестов становиться понятней на сколько WireGuard быстрее своих аналогов.
Использование VPN всегда увеличивает общий объем потребляемых данных. Это связано с тем, что процесс туннелирования требует от вас отправки дополнительной информации через Интернет, что приводит к увеличению использования данных.
Накладные расходы на данные могут повлиять на скорость вашей VPN. Если у вас контракт на сотовый телефон с оплатой по мере использования, вы также можете потратить больше денег и/или раньше достичь запланированного лимита данных.
Используемый протокол VPN влияет на объем служебных данных. Наше исследование показало, что WireGuard потребляет гораздо меньше данных, чем OpenVPN. Краткое изложение результатов после теста представлено на рисунке 1.
Рисунок 1. Прирост данных
Чтобы протестировать использование данных каждым протоколом, было использовано приложения Linux WireGuard и OpenVPN и произведен подсчет, сколько дополнительных данных они добавляли к соединению по сравнению с отсутствием использования VPN. Для каждого теста мы копировали тестовый файл размером 109 МБ между двумя виртуальными серверами. Мы провели 3 разных теста и взяли средний прирост данных
Заключение.
После проведенных тестов можно отметить следующее:
Во-первых при тестирований на шифрование данных стало понятно что OpenVPN предлагает большую свободу, когда речь идет о шифровании и безопасности, но WireGuard легче подвергается аудиту и имеет меньшую поверхность атаки. Оба протокола очень безопасны, но менее технически подкованные пользователи могут предпочесть доверять экспертам WireGuard, а не брать дело в свои руки.
Во-вторых по скорости работы было понятно, что OpeanVPN уступает в два раза от WireGuard. WireGuard — гораздо более быстрый протокол, чем OpenVPN, при правильной интеграции в службу VPN. Он был разработан для этой цели, и делает это хорошо. Если вы делаете что-то чувствительное к скорости на пример потоковую передачу, или загрузку больших данных удаленно то тут стоит выбрать WireGuard.
В-третьих при тестировании VPN для использования данных пришли к выводу что WireGuard использует гораздо меньше данных, чем OpenVPN. В то время как OpenVPN UDP имеет большие накладные расходы на передачу данных в размере 17,23%, WireGuard добавляет всего 4,53% к вашему потреблению данных. При использовании OpenVPN TCP эти накладные расходы еще больше — 19,96%.
WireGuard произвел большое впечатление на индустрию VPN, многие ведущие VPN теперь поддерживают его. OpenVPN старше, более надежен и безопасен для конфиденциальности, но WireGuard удивительно быстр и очень безопасен. Поэтому ответ на вопрос, следует ли использовать OpenVPN или WireGuard для VPN-подключения зависит от того, для каких целей он используется.
Список литературы:
- WireGuard: Next Generation Kernel Network Tunnel - Jason A. Donenfeld, 2020 г.
- WireGuard im Einstaz – Markus Stubbing, 2019 г.