Chaidh gabhail ri VPN WireGuard a-steach don ath mheur-lìn agus thathar an dùil a thoirt a-steach don kernel Linux 5.6

Дэвид Миллер (David S. Miller), отвечающий за сетевую подсистему ядра Linux, gabhail ris dhan lìon - ath mheur badannan с реализацией VPN-интерфейса от проекта Air adhart gu clàr na làraich. В начале следующего года изменения, накапливаемые в ветке net-next, лягут в основу выпуска ядра Linux 5.6.

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

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

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

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

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

Leig leinn do chuimhneachadh gu bheil VPN WireGuard air a chuir an gnìomh air bunait dhòighean crioptachaidh an latha an-diugh, a ’toirt seachad coileanadh fìor àrd, furasta a chleachdadh, saor bho dhuilgheadasan agus air dearbhadh fhèin ann an grunn chleachdadh mòra a bhios a’ làimhseachadh mòran trafaic. Tha am pròiseact air a bhith a’ leasachadh bho 2015, chaidh a sgrùdadh agus dearbhadh foirmeil dòighean crioptachaidh air an cleachdadh. Tha taic WireGuard mu thràth air fhilleadh a-steach do NetworkManager agus systemd, agus tha pìosan kernel air an toirt a-steach do na sgaoilidhean bunaiteach Debian neo-sheasmhach, Mageia, Alpach, Arch, Gentoo, OpenWrt, NixOS, Fo-pharagraf и ALT.

Bidh WireGuard a’ cleachdadh a’ bhun-bheachd air slighe iuchair crioptachaidh, a tha a’ toirt a-steach iuchair phrìobhaideach a cheangal ri gach eadar-aghaidh lìonraidh agus a chleachdadh gus na h-iuchraichean poblach a cheangal. Tha iuchraichean poblach air an iomlaid gus ceangal a stèidheachadh san aon dòigh ri SSH. Gus iuchraichean a cho-rèiteachadh agus ceangal a dhèanamh gun a bhith a 'ruith daemon air leth ann an àite luchd-cleachdaidh, tha an inneal Noise_IK bho Frèam Pròtacal Fuaim, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения и автоматической перенастройкой клиента.

Airson crioptachadh air a chleachdadh cipher sruth ChaCha20 agus algorithm dearbhaidh teachdaireachd (MAC) Poileasaidh dìomhaireachd, air a dhealbhadh le Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) agus Peter Schwabe. Tha ChaCha20 agus Poly1305 air an suidheachadh mar analogues nas luaithe agus nas sàbhailte de AES-256-CTR agus HMAC, agus tha buileachadh bathar-bog a’ ceadachadh ùine cur gu bàs stèidhichte gun a bhith a’ cleachdadh taic bathar-cruaidh sònraichte. Gus iuchair dhìomhair co-roinnte a ghineadh, thathas a’ cleachdadh protocol elliptic curve Diffie-Hellman anns a’ bhuileachadh Curve25519, также предложенной Дэниелом Бернштейном. Для хэширования используются алгоритм BLAKE2s (RFC7693).

aig deuchainn производительности 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 ядра возможно приведёт к ухудшению показателей.

Chaidh gabhail ri VPN WireGuard a-steach don ath mheur-lìn agus thathar an dùil a thoirt a-steach don kernel Linux 5.6

Source: fosgailtenet.ru

Cuir beachd ann