В ядрото на операционната система DragonFly BSD са приети около 100 промени, свързани с реализиране на поддръжка на VPN WireGuard. Драйверът «wg» с поддръжка на протокола WireGuard е преместен от FreeBSD, а кодът на криптографските функции, мрежовия интерфейс и ioctl API (за управление от потребителското пространство) е заимстван от OpenBSD. Промените в утилитата ifconfig, необходими за конфигуриране на VPN, са пренесени от OpenBSD. Реализацията е съвместима със всички официални клиенти на WireGuard за Linux, Windows, macOS, *BSD, iOS и Android. DragonFly BSD стана петата открита ОС след Linux, OpenBSD, NetBSD и FreeBSD с интегрирана поддръжка на WireGuard.
В WireGuard се прилага концепцията за маршрутизиране по ключове за шифриране, която предполага привързване на всеки мрежов интерфейс към частен ключ и прилагане за свързване на публични ключове. За съгласуване на ключовете и свързване без стартиране на отделен демон в потребителското пространство е използван механизма Noise_IK от Noise Protocol Framework, подобен на поддържането на authorized_keys в SSH. Предаването на данни се извършва чрез инкапсулация в UDP пакети. Поддържа се смяна на IP адреса на сървъра (роуминг) без прекъсване на връзката с автоматична пренастройка на клиента. VPNЗа шифроване се използва потоковият шифър ChaCha20 и алгоритъмът за автентикация на съобщения (MAC) Poly1305, разработени от Даниел Бернщайн (Daniel J. Bernstein), Таня Ланге (Tanja Lange) и Петер Швабе (Peter Schwabe). ChaCha20 и Poly1305 са позиционирани като по-бързи и сигурни аналози на AES-256-CTR и HMAC, чиято софтуерна реализация позволява постигане на фиксирано време за изпълнение без използване на специализирана хардуерна поддръжка. За генериране на споделен секретен ключ се използва протоколът на Дифи-Хелман на елиптични криви в реализацията Curve25519, също предложен от Даниел Бернщайн. За хеширане се използва алгоритъмът BLAKE2s (RFC7693).
Новите версии Wine 9.2 и Winlator 5.0. За ядрото на Linux е предложен драйвер ntsync
Източник: opennet.ru
