Вышли проекты WireGuard 1.0 для Windows и WireGuardNT 1.0

2 мин
Вышли проекты WireGuard 1.0 для Windows и WireGuardNT 1.0

Разработчик Джейсон Доненфилд (Jason A. Donenfeld) опубликовал первый мажорный релиз клиентского ПО WireGuard для Windows 1.0, а также версия драйверов WireGuardNT 1.0 с портом VPN WireGuard для ядра Windows 10 и 11, поддерживающий архитектуры AMD64, x86 и ARM64. Исходник компонентов для ядра Windows обнародован под лицензией GPLv2, а комплект кода для клиентского ПО доступен под лицензией MIT.

Подход WireGuard 1.0 для Windows основан на кодовой базе основной реализации WireGuard для ядра Linux, которая была переведена на использование сущностей ядра Windows и сетевого стека NDIS.

По информации OpenNET, относительно реализацией решения wireguard-go, работающего в пространстве пользователя и использующей веб интерфейс Wintun, проект WireGuardNT отличается существенным повышением производительности за счёт исключения операций переключения контекста и копирования содержимого пакетов из ядра в пространство пользователя. По аналогии с реализациями для Linux, OpenBSD и FreeBSD в сборке WireGuardNT вся логика обработки протокола работает непосредственно на уровне сетевого стека.

Версия WireGuard 1.0 для Windows отмечена как своеобразный рубеж, ознаменовавший решение ряда проблем и выполнение намеченных задач, таких как: задействование функции NdisWdfGetAdapterContextFromAdapterHandle() вместо менее безопасного хранения состояния драйвера в поле Reserved и использования недокументированных смещений; корректное и оперативное отслеживания размера MTU (Maximum Transmission Unit) через перехват системных вызовов; задействование в коде стандарта C23.

Проект WireGuard реализован на основе современных методов шифрования. Решение обеспечивает очень высокую производительность, просто в использовании, лишёно усложнений и хорошо зарекомендовало себя в ряде крупных внедрений, обрабатывающих большие объёмы трафика. Инициатива развивается с 2015 года, прошёл аудит и формальную верификацию применяемых методов шифрования. В WireGuard применяется концепция маршрутизации по ключам шифрования, которая подразумевает привязку к каждому сетевому интерфейсу закрытого ключа и применение для связывания открытых ключей.

Обмен открытыми ключами для установки соединения в WireGuard производится по аналогии с SSH. Для согласования ключей и соединения без запуска отдельного демона в пространстве пользователя применяется алгоритм Noise_IK из Noise Protocol Framework, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP‑адреса VPN‑сервера (роуминг) без разрыва соединения с автоматической перенастройкой клиента.

Для шифрования в WireGuard используется потоковый шифр ChaCha20 и алгоритм аутентификации сообщений (MAC) Poly1305, разработанные Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге (Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 позиционируются как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых даёт возможность добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. Для генерации совместного секретного ключа применяется протокол Диффи‑Хеллмана на эллиптических кривых в реализации Curve25519, также предложенной Дэниелом Бернштейном. Для хеширования используются механизм BLAKE2s (RFC7693).

Читают сейчас

Prusa представила PrusaSlicer 3.0 с новым интерфейсом и поддержкой плагинов

4 часа назад

Prusa представила PrusaSlicer 3.0 с новым интерфейсом и поддержкой плагинов

Команда Prusa Research выпустила первую публичную альфа‑версию слайсера PrusaSlicer 3.0. Авторы переписали интерфейс, переработали систему профилей, добавили поддержку полноценной работы с несколькими

Anthropic обновила Claude – вышли Fable 5.1 и Mythos 5.1

4 часа назад

Anthropic обновила Claude – вышли Fable 5.1 и Mythos 5.1

Anthropic выпустила апдейт своих топовых моделей – Claude Fable 5.1 и Claude Mythos 5.1. Это одна и та же модель под капотом, различающаяся уровнем защитных ограничений: Fable 5.1 доступна всем в цело

Creality представила 3D‑принтер SPARKX i8 с поддержкой многоцветной печати и быстрой сменой филамента

4 часа назад

Creality представила 3D‑принтер SPARKX i8 с поддержкой многоцветной печати и быстрой сменой филамента

Creality представила 3D‑принтер SPARKX i8 с поддержкой четырёхцветной печати. Его главная особенность заключается в системе QuarTeks, в которой прутки филамента подведены практически к самому соплу, б

Базовая релиз MacBook Neo аномально быстро расходует источник SSD из‑за всего 8 ГБ оперативной памяти

5 часов назад

Базовая релиз MacBook Neo аномально быстро расходует источник SSD из‑за всего 8 ГБ оперативной памяти

Автор YouTube‑канала UFD Tech рассказал, что MacBook Neo необычно быстро расходует источник SSD‑накопителя. Всё дело в небольшом объёме оперативной памяти, из‑за которой устройство активно записывает

Anthropic предупредила пользователей Claude об утечке их данных для входа из‑за вредоносного ПО

5 часов назад

Anthropic предупредила пользователей Claude об утечке их данных для входа из‑за вредоносного ПО

Организация Anthropic предупредила, что инфостилеры перехватывают сеансы Claude и открывают злоумышленникам доступ к учётным записям пользователей. Читать далее