VPN WireGuard waa la aqbalay laanta soo socota waxaana loo qorsheeyay in lagu daro Linux 5.6 kernel

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

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

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

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

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

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

Aan ku xasuusino in VPN WireGuard lagu hirgeliyay iyadoo lagu saleynayo hababka qarsoodiga ah ee casriga ah, waxay bixisaa waxqabad aad u sarreeya, waa sahlan tahay in la isticmaalo, oo ka madax bannaan dhibaatooyinka waxayna isku caddeeyeen tiro badan oo la geeyo oo ka shaqeeya taraafikada tirada badan. Mashruucu waxa uu soo socday ilaa 2015, waa la baaray iyo xaqiijinta rasmiga ah hababka sirta loo isticmaalo. Taageerada WireGuard ayaa durba lagu dhex daray NetworkManager iyo habaysan, iyo balastarrada kernel-ka ayaa lagu daray qaybinta saldhigga Debian Deggan, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и ALT.

WireGuard waxay isticmaashaa fikradda marin-ku-wareejinta furaha sirta ah, taas oo ku lug leh ku-xidhida furaha khaaska ah ee shabakad kasta iyo adeegsiga si loogu xidho furayaasha dadweynaha. Furayaasha dadweynaha ayaa la isweydaarsadaa si loo sameeyo xiriir la mid ah SSH. Si aad uga gorgortanto furayaasha oo aad isku xidho adoon ku shaqayn daemon gooni ah goobta isticmaalaha, habka Noise_IK Qaabdhismeedka Hab-maamuuska Sawaxanka, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения и автоматической перенастройкой клиента.

Si qarsoodi ah waxaa loo isticmaalaa ilbiriqsi ChaCha20 iyo xaqiijinta fariinta algorithm (MAC) Poly1305, waxaa naqshadeeyay Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) iyo Peter Schwabe. ChaCha20 iyo Poly1305 waxay u taagan yihiin si dhakhso leh oo ammaan ah analoogyada AES-256-CTR iyo HMAC, hirgelinta software kaas oo u oggolaanaya in la gaaro waqti go'an oo fulin ah iyada oo aan la isticmaalin taageero qalab gaar ah. Si loo dhaliyo furaha sirta ah ee la wadaago, qalooca qalooca Diffie-Hellman ayaa loo adeegsadaa hirgelinta Curve25519, также предложенной Дэниелом Бернштейном. Для хэширования используются алгоритм BLAKE2s (RFC7693).

at tijaabinaya производительности 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 waa la aqbalay laanta soo socota waxaana loo qorsheeyay in lagu daro Linux 5.6 kernel

Source: opennet.ru

Add a comment