Jason A. Donenfeld, a szerző VPN WireGuard, bemutatta a WireGuardNT projektet, amely a VPN WireGuard nagy teljesítményű portját fejleszti Windows kernelhez, kompatibilis Windows 7, 8, 8.1 és 10 rendszerekkel, és támogatja az AMD64, x86, ARM64 és ARM architektúrákat. A megvalósítási kód GPLv2 licenc alatt terjesztendő. Az új illesztőprogram már benne van a WireGuard Windows kliensében, de egyelőre kísérleti jelzésű és alapértelmezés szerint nem aktiválva.
A port a WireGuard Linux kernel fő megvalósításának ellenőrzött kódalapján alapul, amely át lett ültetve a Windows kernel entitásaiba és az NDIS hálózati verembe. A korábban Windowsra elérhető wireguard-go megvalósításhoz képest, amely felhasználói térben működött és Wintun hálózati interfészt használt, a WireGuardNT jelentős teljesítménynövekedést nyújt a kontextusváltások és a csomagok tartalmának felhasználói térbe való másolásának kivételével. Hasonlóan a Linux, OpenBSD és FreeBSD megvalósításokhoz, a WireGuardNT-nél az összes protokollfeldolgozó logika közvetlenül a hálózati verem szintjén működik.
Bár specifikus optimalizálásokat még nem hajtottak végre, a WireGuardNT már lehetővé tette, hogy elérjen csúcsadatátviteli teljesítményt 7.5Gbps sebességgel a meglévő Ethernet tesztkörnyezetben. Valós felhasználói rendszereken Wi-Fi használatakor a teljesítmény jelentősen alacsonyabb, de alig különbözik a közvetlen adatátviteltől. Például egy Intel AC9560 vezeték nélküli kártyával rendelkező rendszerben a WireGuard nélküli sávszélesség 600Mbps volt, és a WireGuardNT használatával is 600Mbps maradt, míg a wireguard-go/Wintun használatakor 95Mbps-ra csökkent.
Emlékeztetjük, hogy VPN A WireGuard a modern titkosítási módszerek alapján valósult meg, rendkívül magas teljesítményt biztosít, könnyen használható, mentes a bonyodalmakból, és jól teljesített nagy forgalmat kezelő nagyobb bevezetések során. A projekt 2015 óta fejlődik, auditálták és formális ellenőrzésen esett át a használt titkosítási módszerek. A WireGuard a kulcsok titkosítás szerinti irányításának koncepcióján alapul, amely megköveteli, hogy minden hálózati interfészhez egy privát kulcs kapcsolódjon, és a nyilvános kulcsok összekapcsolására használják.
A nyilvános kulcsok cseréje az SSH-hoz hasonlóan történik a kapcsolat létrehozásához. A kulcsok egyeztetésére és a kapcsolat létrehozására, anélkül, hogy külön démon futna a felhasználói térben, a Noise_IK mechanizmust alkalmazzák a Noise Protocol Framework-ből, ami hasonló a SSH-ban lévő authorized_keys fenntartásához. Az adatátvitel UDP csomagokba való becsomagolással történik. Támogatja a VPN-szerverek (roaming) automatikus újrakonfigurálását a kapcsolat megszakítása nélkül. IP address A VPN-szerverek (roaming) automatikus átállításával, megszakítás nélkül.
Az adatvédelmi titkosításhoz a ChaCha20 folyamatos titkosító algoritmust és a Poly1305 üzenet-ellenőrző algoritmust (MAC) használják, amelyeket Daniel J. Bernstein, Tanja Lange és Peter Schwabe fejlesztettek ki. A ChaCha20 és Poly1305 gyorsabb és biztonságosabb alternatívák az AES-256-CTR és HMAC számára, amelyek szoftveres megvalósítása fix végrehajtási időt biztosít speciális hardvertámogatás nélkül. Az közös titkos kulcs generálásához elliptikus görbék alapján, a Curve25519 megvalósításon alapuló Diffie-Hellman protokollt alkalmaznak, amelyet szintén Daniel J. Bernstein javasolt. A hash-eléshez a BLAKE2s algoritmust (RFC7693) használják.
Forrás: opennet.ru
