Джейсон Доненфилд (Jason A. Donenfeld), автор VPN WireGuard, представил проект WireGuardNT, развивающий высокопроизводительный порт VPN WireGuard для ядра Windows, совместимый с Windows 7, 8, 8.1 и 10, и поддерживающий архитектуры AMD64, x86, ARM64 и ARM. Код реализации распространяется под лицензией GPLv2. Новый драйвер уже включён в состав клиента WireGuard для Windows, но пока помечен экспериментальным и не активирован по умолчанию.
Порт основан на проверенной кодовой базе основной реализации WireGuard для ядра Linux, которая была переведена на использование сущностей ядра Windows и сетевого стека NDIS. По сравнению с ранее доступной для Windows реализацией wireguard-go, работающей в пространстве пользователя и использующей сетевой интерфейс Wintun, WireGuardNT отличается существенным повышением производительности за счёт исключения операций переключения контекста и копирования содержимого пакетов из ядра в пространство пользователя. По аналогии с реализациями для Linux, OpenBSD и FreeBSD в WireGuardNT вся логика обработки протокола работает непосредственно на уровне сетевого стека.
Malgre ke optimize espesifik yo poko fèt, WireGuardNT te deja reyalize pik pèfòmans transfè done nan 7.5Gbps nan anviwònman tès Ethernet ki egziste deja. Sou sistèm itilizatè reyèl ak Wi-Fi, pèfòmans yo pi ba anpil, men se pa anpil diferan de transfè done dirèk. Pou egzanp, nan yon sistèm ki gen yon kat san fil Intel AC9560, debi a san WireGuard te 600Mbps ak ak WireGuardNT tou te rete nan 600Mbps, pandan ke lè w ap itilize wireguard-go/Wintun li te 95Mbps.
Sonje byen VPN WireGuard aplike avèk metòd chifreman modèn, li bay pèfòmans eksepsyonèl, li fasil pou itilize, epi li pa gen konplikasyon. Li pwouve tèt li nan yon kantite deplwaman gwo echèl ki jere gwo volim trafik. Pwojè a te an devlopman depi 2015 epi li te sibi yon odit ak yon verifikasyon fòmèl sou metòd chifreman li yo. WireGuard itilize yon konsèp routaj chifreman ki baze sou kle, ki enplike lye yon kle prive ak chak koòdone rezo epi itilize kle piblik pou lyezon kle.
Echanj kle piblik pou etabli yon koneksyon sanble ak SSH. Pou negosye kle epi konekte san kouri yon daemon apa nan espas itilizatè a, yo itilize mekanis Noise_IK ki soti nan Noise Protocol Framework la, menm jan ak antretyen authorized_keys nan SSH. Transfè done yo fèt atravè enkapsulasyon nan pake UDP. Chanjman yo sipòte. adrès IP Sèvè VPN (itinérance) san entèripsyon koneksyon ak rekonfigirasyon kliyan otomatik.
Ankriptaj itilize chifreman ChaCha20 kouran ak algorithm otantifikasyon mesaj Poly1305 (MAC), devlope pa Daniel J. Bernstein, Tanja Lange ak Peter Schwabe. ChaCha20 ak Poly1305 yo pozisyone kòm pi vit ak pi an sekirite analogue nan AES-256-CTR ak HMAC, aplikasyon an lojisyèl ki pèmèt reyalize yon tan ekzekisyon fiks san yo pa itilize sipò pyès ki nan konpitè espesyal. Pou jenere yon kle sekrè pataje, yo itilize pwotokòl Diffie-Hellman koub eliptik nan aplikasyon Curve25519, Daniel Bernstein te pwopoze tou. Yo itilize algorithm BLAKE2s (RFC7693) pou hachage.
Sous: opennet.ru
