Доступний VPN WireGuard 1.0.0

представлений знаковий випуск VPN WireGuard 1.0.0, який відзначив собою постачання компонентів WireGuard в основному складі ядра Linux 5.6 та стабілізацію розробки. Включений до складу ядра Linux код пройшов додатковий аудит безпеки, виконаний незалежною фірмою, що спеціалізується на таких перевірках. Аудит не виявив жодних проблем.

Так як WireGuard тепер розвивається в основному складі ядра Linux, для дистрибутивів та користувачів, які продовжують використання старих версій ядра, підготовлений репозиторій wireguard-linux-compat.git. Репозиторій включає бекпортований код WireGuard та шар compat.h для забезпечення сумісності зі старими ядрами. Зазначається, що поки що є можливість розробників і потреба користувачів відокремлений варіант патчів буде підтримуватися в робочому вигляді. У поточному вигляді відокремлений варіант WireGuard може використовуватися з ядрами з Ubuntu 20.04 и Debian 10 "Buster", а також доступний у вигляді патчів для ядер Linux 5.4 и 5.5. Дистрибутиви, що застосовують найсвіжіші ядра, такі як Arch, Gentoo та
Fedora 32 отримають можливість використання WireGuard разом з оновленням ядра 5.6.

Основний процес розробки тепер ведеться у репозиторії wireguard-linux.git, Що включає повне дерево ядра Linux із змінами від проекту Wireguard. Патчі з цього репозиторію рецензуватимуться для включення в основне ядро ​​і регулярно переносяться у гілки net/net-next. Розробка утиліт, що запускаються в просторі користувача, і скриптів, таких як wg і wg-quick, ведеться в репозиторії wireguard-tools.git, який можна використовувати для створення пакетів у дистрибутивах.

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

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

Для шифрування використовується потоковий шифр ChaCha20 та алгоритм аутентифікації повідомлень (MAC) Poly1305, розроблені Денієлом Бернштейном (Деніел Дж. Бернштейн), Танею Ланге
(Tanja Lange) та Пітером Швабе (Peter Schwabe). ChaCha20 і Poly1305 позиціонуються як більш швидкі та безпечні аналоги AES-256-CTR та HMAC, програмна реалізація яких дозволяє досягти фіксованого часу виконання без використання спеціальної апаратної підтримки. Для створення спільного секретного ключа застосовується протокол Діффі-Хеллмана на еліптичних кривих у реалізації Curve25519, також запропонованою Денієлом Бернштейном. Для хешування використовуються алгоритм 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%). Розміщені на сайті проекту результати тестування охоплюють стару відокремлену реалізацію WireGuard та відзначені як недостатньо якісні. З часу проведення тестів код WireGuard та IPsec був додатково оптимізований і тепер працює швидше. Більше повне тестування, що охоплює інтегровану в ядро ​​реалізацію, доки проведено. Тим не менш, зазначається, що WireGuard в деяких ситуаціях, як і раніше, обганяє IPsec через багатопоточність, в той час як OpenVPN залишається дуже повільним.

Доступний VPN WireGuard 1.0.0

Джерело: opennet.ru

Додати коментар або відгук