VPN WireGuard нь дараагийн сүлжээний салбарт хүлээн зөвшөөрөгдсөн бөгөөд Linux 5.6 цөмд оруулахаар төлөвлөж байна.

Дэвид Миллер (David S. Miller), отвечающий за сетевую подсистему ядра Linux, хүлээн зөвшөөрсөн нет-дараагийн салбар руу засварууд с реализацией VPN-интерфейса от проекта WireGuard. В начале следующего года изменения, накапливаемые в ветке net-next, лягут в основу выпуска ядра Linux 5.6.

Попытки продвижения кода WireGuard в основной состав ядра предпринимались последние несколько лет, но оставались без результата из-за привязки к собственным реализациям криптографических функций, которые применялись для повышения производительности. Вначале данные функции были санал болгосон для ядра в качестве дополнительного низкоуровневого API Zinc, который со временем смог бы заменить штатный Crypto API.

После переговоров на конференции Kernel Recipes, создатели WireGuard в сентябре приняли компромиссное решение перевести свои патчи на использование имеющегося в ядре Crypto API, к которому у разработчиков WireGuard имеются претензии в области производительности и общей безопасности. API Zinc было решено продолжать развивать, но как отдельный проект.

В ноября разработчики ядра явлаа на ответный компромисс и согласились перенести в основное ядро часть кода из Zinc. По сути некоторые компоненты Zinc будут перенесены в ядро, но не как отдельный API, а как часть подсистемы Crypto API. Например, в Crypto API уже орсон подготовленные в WireGuard быстрые реализации алгоритмов ChaCha20 и Poly1305.

В связи с предстоящей поставкой WireGuard в основном составе ядра, основатель проекта зарласан о реструктуризации репозитория. Для упрощения разработки на смену монолитному репозиторию «WireGuard.git», который был рассчитан на обособленное существование, придут три отдельных репозитория, лучше подходящие для организации работы с кодом в основном ядре:

  • wireguard-linux.git — полное дерево ядра с изменениями от проекта Wireguard, патчи из которого будут рецензироваться для включения в ядро и регулярно переноситься в ветки net/net-next.
  • wireguard-tools.git — репозиторий для запускаемых в пространстве пользователя утилит и скриптов, таких как wg и wg-quick. Репозиторий можно использовать для создания пакетов для дистрибутивами.
  • wireguard-linux-нийцтэй.git — репозиторий с вариантом модуля, поставляемым отдельной от ядра и включающим слой compat.h для обеспечения совместимости со старыми ядрами. Основная разработка будет вестись в репозитории wireguard-linux.git, но пока есть возможность и потребность у пользователей обособленный вариант патчей также будет поддерживаться в рабочем виде.

VPN WireGuard нь орчин үеийн шифрлэлтийн аргуудын үндсэн дээр хэрэгжсэн, маш өндөр гүйцэтгэлтэй, хэрэглэхэд хялбар, хүндрэлгүй бөгөөд их хэмжээний траффик боловсруулдаг хэд хэдэн томоохон суурилуулалтад өөрийгөө баталж чадсан гэдгийг танд сануулъя. Төсөл нь 2015 оноос хойш хөгжиж, аудитад хамрагдсан, албан ёсны баталгаажуулалт ашигласан шифрлэлтийн аргууд. WireGuard-н дэмжлэг нь NetworkManager болон systemd-д аль хэдийн нэгдсэн бөгөөд цөмийн засваруудыг үндсэн хуваарилалтад оруулсан болно. Debian тогтворгүй, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Субра и ALT.

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

Шифрлэлтийн хувьд ашиглаж байна урсгалын шифр ChaCha20 ба мессежийн баталгаажуулалтын алгоритм (MAC) Poly1305Даниел Бернштейн зохион бүтээсэн (Даниел Ж. Бернштейн), Таня Ланге
(Таня Ланге) болон Питер Швабе нар. ChaCha20 ба Poly1305 нь AES-256-CTR ба HMAC-ийн илүү хурдан бөгөөд аюулгүй аналогууд болж байрладаг бөгөөд програм хангамжийн хэрэгжилт нь тусгай техник хангамж ашиглахгүйгээр тогтмол гүйцэтгэлийн цагийг хангах боломжийг олгодог. Хуваалцсан нууц түлхүүрийг үүсгэхийн тулд зууван муруй Диффи-Хеллман протоколыг хэрэгжүүлэхэд ашигладаг. Муруй25519, также предложенной Дэниелом Бернштейном. Для хэширования используются алгоритм BLAKE2 (RFC7693).

үед туршилт производительности WireGuard продемонстрировал в 3.9 раза более высокую пропускную способность и в 3.8 раз более высокую отзывчивость, по сравнению с OpenVPN (256-bit AES c HMAC-SHA2-256). По сравнению с IPsec (256-bit ChaCha20+Poly1305 и AES-256-GCM-128) в WireGuard наблюдается небольшое опережение по производительности (13-18%) и снижение задержек (21-23%). Тесты выполнены при использовании развиваемых проектом быстрых реализаций алгоритмов шифрования — перевод на штатный Crypto API ядра возможно приведёт к ухудшению показателей.

VPN WireGuard нь дараагийн сүлжээний салбарт хүлээн зөвшөөрөгдсөн бөгөөд Linux 5.6 цөмд оруулахаар төлөвлөж байна.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх