Zdá se, že v rámci projektu WireGuard jde všechno docela dobře, jako Jason A. Donenfeld, autor VPN WireGuard, představil projekt WireGuardNT který je vysoce výkonný port WireGuard VPN pro jádro Windows který je kompatibilní s Windows 7, 8, 8.1 a 10 a podporuje architektury AMD64, x86, ARM64 a ARM.
Je důležité si uvědomit, že v posledním semestru roku 2019 byly záplaty vytvořeny s implementací rozhraní VPN projektu v pobočce net-next, protože vývojáři WireGuard se zavázali a souhlasili s přenesením části kódu na hlavní jádro, nikoli jako samostatné API, ale jako součást subsystému Crypto API.
Poté, o několik měsíců později, přišel projekt na změny OpenBSD pro nástroje ifconfig a tcpdump s podporou funkcí WireGuard, dokumentace a drobných změn pro integraci WireGuard se zbytkem systému a poté byl projekt přesunut, aby měl kompatibilitu s Androidem .
WireGuard VPN je implementován na základě moderních šifrovacích metod, poskytuje velmi vysoký výkon, je snadno použitelný, bezproblémový a osvědčil se v řadě velkých nasazení zvládajících vysoký objem provozu.
Projekt se vyvíjí od roku 2015, prošel formálním auditem a ověřením použitých šifrovacích metod. WireGuard používá koncept směrování šifrovacích klíčů, který zahrnuje vazbu soukromého klíče na každé síťové rozhraní a použití veřejných klíčů k navázání.
Výměna veřejných klíčů k navázání spojení se provádí analogicky s SSH. K vyjednání klíčů a připojení bez spuštění samostatného démona v uživatelském prostoru se používá mechanismus Noise_IK rámce Noise Protocol Framework, podobný údržbě authorized_keys v SSH. Přenos dat se provádí zapouzdřením do UDP paketů. Podporuje změnu IP adresy serveru VPN (roaming) bez přerušení připojení s automatickou rekonfigurací klienta.
Šifrování používá šifrování streamu ChaCha20 a algoritmus ověřování zpráv Poly1305 (MAC). ChaCha20 a Poly1305 jsou umístěny jako rychlejší a bezpečnější protějšky AES-256-CTR a HMAC, jejichž softwarová implementace vám umožňuje dosáhnout pevného běhu bez použití speciální hardwarové podpory.
A teď projekt přichází jako port pro Windows že staví na testovaném kódu základní implementace WireGuard pro linuxové jádro, který byl přeložen pro použití entit jádra Windows a síťového zásobníku NDIS.
Po mnoha měsících práce s Simonem s potěšením oznamujeme projekt WireGuardNT, nativní port WireGuard pro jádro Windows.
WireGuardNT, začínal jako port kódové základny Linuxu ... Po počátečním úsilí o přenositelnost bylo úspěšné, základna kódu NT se rychle rozdělila, aby dobře zapadala do nativních API NTismů a NDIS (Windows networking stack). Konečným výsledkem je hluboce integrovaná, vysoce výkonná implementace WireGuard, která využívá celou škálu možností jádra NT a NDIS.
Ve srovnání s implementací wireguard-go, která běží v uživatelském prostoru a používá síťové rozhraní Wintun, WireGuardNT má výrazné zlepšení výkonu odstraněním operací přepínání kontextu a zkopírujte obsah balíčku z jádra do uživatelského prostoru.
Analogicky s implementacemi WireGuardNT pro Linux, OpenBSD a FreeBSD funguje veškerá logika zpracování protokolu přímo na úrovni síťového zásobníku.
Ačkoli zatím nebyly provedeny žádné konkrétní optimalizace, WireGuardNT již v našem testovacím prostředí s ethernetem dosáhl maximální propustnosti přenosu dat 7,5 Gb / s.
Ve skutečných uživatelských systémech s Wi-Fi je výkon znatelně nižší, ale příliš se neliší od přímého přenosu dat. Například v systému s bezdrátovou kartou Intel AC9560 byl výkon bez WireGuard 600 Mbps a s WireGuardNT také 600 Mbps, zatímco při použití Wireguard-go / Wintun to bylo 95 Mbps.
zdroj: https://lists.zx2c4.com/