В ядро NetBSD добавлена поддержка VPN WireGuard

25 августа 2020 года

Wikinews-logo-ru.svg

Разработчики проекта NetBSD сообщили о включении в основной состав ядра NetBSD драйвера wg с реализацией протокола WireGuard. NetBSD стала третей ОС после Linux и OpenBSD с интегрированной поддержкой WireGuard. В конфигурации ядра по умолчанию (GENERIC) драйвер пока не активирован и требует явного указания в настройках "pseudo-device wg".

Дополнительно можно отметить публикацию корректирующего обновления пакета wireguard-tools 1.0.20200820, включающего работающие в пространстве пользователя утилиты, такие как wg и wg-quick. В новом выпуске проведена подготовка IPC к предстоящей поддержке WireGuard в операционной системе FreeBSD. Осуществлено разделение по разным файлам специфичного для разных платформ кода. В unit-файл для systemd добавлена поддержка команды "reload", что позволяет запускать конструкции вида "systemctl reload wg-quick at wgnet0".

Напомним, что VPN WireGuard реализован на основе современных методов шифрования, обеспечивает очень высокую производительность, прост в использовании, лишён усложнений и хорошо зарекомендовал себя в ряде крупных внедрений, обрабатывающих большие объёмы трафика. Проект развивается с 2015 года, прошёл аудит и формальную верификацию применяемых методов шифрования. Поддержка WireGuard уже интегрирована в NetworkManager и systemd, а патчи для ядра входят в базовый состав дистрибутивов Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

В WireGuard применяется концепция маршрутизации по ключам шифрования, которая подразумевает привязку к каждому сетевому интерфейсу закрытого ключа и применение для связывания открытых ключей. Обмен открытыми ключами для установки соединения производится по аналогии с SSH. Для согласования ключей и соединения без запуска отдельного демона в пространстве пользователя применяется механизм Noise_IK из Noise Protocol Framework, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения с автоматической перенастройкой клиента.

Для шифрования используется потоковый шифр ChaCha20 и алгоритм аутентификации сообщений (MAC) Poly1305, разработанные Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге(Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 позиционируются как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. Для генерации совместного секретного ключа применяется протокол Диффи-Хеллмана на эллиптических кривых в реализации Curve25519, также предложенной Дэниелом Бернштейном. Для хеширования используются алгоритм BLAKE2s (RFC7693).

 

ИсточникиПравить

Эта статья содержит материалы из статьи «В ядро NetBSD добавлена поддержка VPN WireGuard», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:В ядро NetBSD добавлена поддержка VPN WireGuard