WireGuard

редактировать
Бесплатный протокол VPN с открытым исходным кодом

WireGuard
Logo of WireGuard.svg
Исходный автор ( s) Джейсон А. Доненфельд
Разработчик (и) Джейсон А. Доненфельд
Репозиторий Измените это на Wikidata
Написано наC (Linux модуль ядра, OpenBSD драйвер ядра), Go (реализация в пользовательском пространстве)
Операционная система
Тип Виртуальная частная сеть
Лицензия GPLv2
Веб-сайтwww.wireguard.com

WireGuard - это бесплатное программное приложение с открытым исходным кодом и протокол связи, реализующий виртуальную частную сеть (VPN) методы для создания безопасных двухточечных соединений в маршрутизируемых или мостовых конфигурациях. Он запускается как модуль внутри ядра Linux и нацелен на лучшую производительность и большее энергосбережение, чем IPsec и OpenVPN протоколы туннелирования. Он был написан Джейсоном А. Доненфельдом и опубликован под Стандартной общественной лицензией GNU (GPL) версии 2. Версия программного обеспечения для Linux достигла стабильного производственного выпуска и была включена в выпуск ядра Linux в конец марта 2020 г.

Содержание

  • 1 Acclaim
  • 2 Протокол
    • 2.1 Шифрование
      • 2.1.1 Дополнительный режим предварительного совместного использования симметричного ключа
    • 2.2 Сеть
    • 2.3 Расширяемость
  • 3 История
  • 4 Прием
  • 5 Реализации
  • 6 Программы пользовательского пространства, поддерживающие WireGuard
  • 7 См. Также
  • 8 Примечания
  • 9 Ссылки
  • 10 Дополнительная литература
  • 11 Внешние ссылки

Acclaim

WireGuard стремится обеспечить простую и эффективную реализацию виртуальной частной сети. В обзоре за 2018 год, проведенном Ars Technica, было обнаружено, что популярные технологии VPN, такие как OpenVPN и IPsec, часто сложны в настройке, легко отсоединяются (при отсутствии дополнительной настройки), требуют значительного времени для согласования повторных подключений, могут использовать устаревшие шифры и иметь относительно массивные кодовые базы, содержащие более 400 000 и 600 000 строк кода соответственно, что затрудняет отладку.

Дизайн WireGuard направлен на уменьшение этих проблем, стремясь чтобы сделать туннель более безопасным и простым в управлении по умолчанию. Используя управление версиями криптографических пакетов, он фокусируется на шифрах, которые считаются одними из самых безопасных современных методов шифрования, и на момент обзора Ars Technica кодовая база насчитывала около 4000 строк кода ядра, что составляет около 1% от любого OpenVPN или IPsec, что упрощает аудит безопасности и получил высокую оценку создателя ядра Linux Линуса Торвальдса по сравнению с OpenVPN и IPsec как «произведение искусства». Ars Technica сообщила, что при тестировании стабильные туннели были легко созданы с помощью WireGuard, по сравнению с альтернативами, и прокомментировал, что было бы «трудно вернуться» к длительным задержкам повторного подключения по сравнению с мгновенным повторным подключением WireGuard «без излишеств».

Протокол

WireGuard использует следующее:

В мае 2019 года исследователи из INRIA опубликовали компьютерную проверку Доказательство WireGuard, созданное с использованием CryptoVerif помощника проверки.

Шифрование

WireGuard поддерживает только ChaCha20.

Дополнительный режим предварительного совместного использования симметричного ключа

WireGuard поддерживает Pre-shared Symmetric, который включен для смягчения любых будущих достижений в области квантовых вычислений. В более краткосрочной перспективе, если предварительно общий симметричный ключ будет скомпрометирован, ключи Curve25519 по-прежнему обеспечивают более чем достаточную защиту.

Сеть

WireGuard работает только через UDP.

WireGuard полностью поддерживает IPv6 как внутри, так и за пределами туннеля. Он поддерживает только уровень 3 для IPv4 и IPv6 и может инкапсулировать v4-in-v6 и наоборот.

WireGuard поддерживает несколько топологий :

  • точка-точка
  • звезда (сервер / клиент)
    • Конечная точка клиента не должна быть определена до того, как клиент начнет отправлять данные.
    • Конечные точки клиента могут быть предварительно заданы статически.
  • Сетка

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

Расширяемость

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

Исключение таких сложных функций из минимальной базовой кодовой базы повышает ее стабильность и безопасность.

История

Самые ранние снимки кодовой базы существуют с 30 июня 2016 г. Четырьмя первыми пользователями WireGuard были поставщики услуг VPN Mullvad, AzireVPN, IVPN и криптошторм. WireGuard получил пожертвования от Mullvad, Private Internet Access, IVPN, NLnet Foundation, а теперь также от OVPN.

По состоянию на июнь 2018 г. разработчики WireGuard советуют рассматривать код и протокол как экспериментальные и предупреждают, что они еще не достигли стабильной версии, совместимой с CVE отслеживанием любых уязвимостей безопасности, которые могут быть обнаружены.

Вкл. 9 декабря 2019 г. Дэвид Миллер, основной разработчик сетевого стека Linux, принял патчи WireGuard в дерево сопровождающих "net-next" для включения в грядущее ядро.

28 января 2020 г. Линус Торвальдс объединил дерево net-next Дэвида Миллера, и WireGuard вошел в основное дерево ядра Linux.

20 марта 2020 года разработчики Debian включили параметры сборки модулей для WireGuard в своих конфигурация ядра для версии Debian 11 (тестирование).

29 марта 2020 года WireGuard был включен в дерево выпусков Linux 5.6. Версия программного обеспечения для Windows остается бета-версией.

30 марта 2020 года разработчики Android добавили встроенную поддержку ядра для WireGuard в свой общий образ ядра.

22 апреля 2020, разработчик NetworkManager Бениамино Гальвани объединил поддержку GUI для WireGuard.

12 мая 2020 года Мэтт Данвуди предложил патчи для встроенной поддержки ядра WireGuard в OpenBSD.

22 июня 2020 года, после работы Мэтта Данвуди и Джейсона А. Доненфельда, поддержка WireGuard была прекращена. импортировано в OpenBSD.

Reception

Орегон сенатор Рон Уайден рекомендовал Национальному институту стандартов и технологий (NIST) оценить WireGuard в качестве замены существующих технологий, таких как IPsec и OpenVPN.

Реализации

Реализации протокола WireGuard включают:

Программы пользовательского пространства, поддерживающие WireGuard

Программы пользовательского пространства, поддерживающие WireGuard, включают:

См. Также

Примечания

Ссылки

Дополнительная литература

Внешние ссылки

Последняя правка сделана 2021-06-21 11:52:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте