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-compat.git — репозиторий с вариантом модуля, поставляемым отдельной от ядра и включающим слой compat.h для обеспечения совместимости со старыми ядрами. Основная разработка будет вестись в репозитории wireguard-linux.git, но пока есть возможность и потребность у пользователей обособленный вариант патчей также будет поддерживаться в рабочем виде.

זאל אונדז דערמאָנען איר אַז VPN WireGuard איז ימפּלאַמענאַד אויף דער באזע פון ​​מאָדערן ענקריפּשאַן מעטהאָדס, גיט זייער הויך פאָרשטעלונג, איז גרינג צו נוצן, פריי פון קאַמפּלאַקיישאַנז און פּראָווען זיך אין אַ נומער פון גרויס דיפּלוימאַנץ וואָס פּראַסעסינג גרויס וואַליומז פון פאַרקער. די פּרויעקט איז דעוועלאָפּעד זינט 2015, איז געווען אַודיטעד און פאָרמאַל וועראַפאַקיישאַן ענקריפּשאַן מעטהאָדס געניצט. WireGuard שטיצן איז שוין ינאַגרייטיד אין NetworkManager און Systemd, און קערן פּאַטשאַז זענען אַרייַנגערעכנט אין די באַזע דיסטריביושאַנז דעביאַן אַנסטייבאַל, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, סובגראַף и אַלט.

WireGuard ניצט דעם באַגריף פון ענקריפּשאַן שליסל רוטינג, וואָס ינוואַלווז אַטאַטשינג אַ פּריוואַט שליסל צו יעדער נעץ צובינד און ניצן עס צו בינדן די ציבור שליסלען. ציבור שליסלען זענען פארביטן צו פאַרלייגן אַ קשר אין אַ ענלעך וועג צו SSH. צו פאַרהאַנדלען שליסלען און פאַרבינדן אָן פליסנדיק אַ באַזונדער דיימאַן אין באַניצער פּלאַץ, די Noise_IK מעקאַניזאַם פֿון ראַש פּראָטאָקאָל פראַמעוואָרק, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения и автоматической перенастройкой клиента.

פֿאַר ענקריפּשאַן געוויינט דורך טייַך סיפער ChaCha20 און אָנזאָג אָטענטאַקיישאַן אַלגערידאַם (MAC) פּאָליקסנומקס, דיזיינד דורך דניאל בערנשטיין (דניאל י בערנשטיין), טאַניאַ לאַנגע
(טאַנדזשאַ לאַנג) און פעטרוס שוואַבע. ChaCha20 און Poly1305 זענען פּאַזישאַנד ווי פאַסטער און סאַפער אַנאַלאָגועס פון AES-256-CTR און HMAC, די ווייכווארג ימפּלאַמענטיישאַן פון וואָס אַלאַוז אַטשיווינג אַ פאַרפעסטיקט דורכפירונג צייט אָן די נוצן פון ספּעציעל ייַזנוואַרג שטיצן. צו דזשענערייט אַ שערד סוד שליסל, די יליפּטיק ויסבייג Diffie-Hellman פּראָטאָקאָל איז געניצט אין די ימפּלאַמענטיישאַן קורוועקסנומקס, также предложенной Дэниелом Бернштейном. Для хэширования используются алгоритм BLAKE2s (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

לייגן אַ באַמערקונג