Čini se da je stvari se odvijaju dobro unutar projekta WireGuard, kao što je Jason A. Donenfeld, autor VPN WireGuarda, predstavio projekt WireGuardNT koji je WireGuard VPN port visokih performansi za jezgru sustava Windows koji je kompatibilan sa sustavima Windows 7, 8, 8.1 i 10 i podržava AMD64, x86, ARM64 i ARM arhitekture.
Važno je zapamtiti da su u posljednjem semestru 2019. zakrpe napravljene implementacijom VPN sučelja projekta u podružnici net-next, jer su se programeri WireGuarda obvezali i pristali prenijeti dio koda na glavnu kernel, ne kao zasebni API, već kao dio Crypto API podsustava.
Nakon toga nekoliko mjeseci kasnije projekt je došao do OpenBSD promjena za pomoćne programe ifconfig i tcpdump s podrškom za WireGuard funkcionalnost, dokumentaciju i manjim izmjenama za integraciju WireGuarda s ostatkom sustava, a nakon toga je projekt premješten na kompatibilnost s Androidom .
WireGuard VPN implementiran je na temelju suvremenih metoda šifriranja, pruža vrlo visoke performanse, jednostavan je za korištenje, bez problema i dokazao se u brojnim velikim implementacijama koje upravljaju velikom količinom prometa.
Projekt se razvija od 2015. godine, prošao je formalnu reviziju i provjeru korištenih metoda šifriranja. WireGuard koristi koncept usmjeravanja ključa za šifriranje, koji uključuje vezivanje privatnog ključa za svako mrežno sučelje i korištenje javnih ključeva za povezivanje.
Razmjena javnih ključeva za uspostavu veze vrši se po analogiji sa SSH -om. Za pregovaranje o ključevima i povezivanje bez izvođenja zasebnog demona u korisničkom prostoru koristi se mehanizam Noise_IK u okviru Noise Protocol Framework -a, slično održavanju ovlaštenih_ključeva u SSH -u. Prijenos podataka vrši se enkapsulacijom u UDP pakete. Podržava promjenu IP adrese VPN poslužitelja (u roamingu) bez prekida veze s automatskom rekonfiguracijom klijenta.
Šifriranje koristi ChaCha20 stream enkripciju i algoritam za provjeru autentičnosti poruka Poly1305 (MAC). ChaCha20 i Poly1305 pozicionirani su kao brži i sigurniji pandani AES-256-CTR-a i HMAC-a, čija vam programska implementacija omogućuje postizanje fiksnog vremena izvođenja bez upotrebe posebne hardverske podrške.
A sada projekt stiže kao port za Windows ovo nadovezuje se na testiranu bazu koda osnovne implementacije WireGuarda za Linux jezgra, koji je preveden za korištenje entiteta jezgre Windows i mrežnog stoga NDIS.
Nakon mnogo mjeseci rada, Simon i ja sa zadovoljstvom najavljujemo WireGuardNT projekt, izvorni WireGuard port za Windows kernel.
WireGuardNT, započeo je kao priključak baze kodova Linuxa ... Nakon što su početni napori za prenosivost bili uspješni, baza kodova NT brzo se razišla kako bi se dobro uklopila u izvorne NTizme i NDIS (Windows mrežni stog) API -je. Krajnji rezultat je duboko integrirana implementacija WireGuarda visokih performansi koja koristi cijeli niz mogućnosti NT jezgre i NDIS-a.
U usporedbi s wireguard-go implementacijom koja se izvodi u korisničkom prostoru i koristi Wintun mrežno sučelje, WireGuardNT ima značajno poboljšanje performansi uklanjanjem operacija prebacivanja konteksta i kopirajte sadržaj paketa iz jezgre u korisnički prostor.
Po analogiji s implementacijama WireGuardNT -a za Linux, OpenBSD i FreeBSD, sva logika obrade protokola radi izravno na razini mrežnog steka.
Iako još nisu napravljene posebne optimizacije, WireGuardNT je već postigao maksimalnu propusnost prijenosa podataka od 7,5 Gbps u našem testnom okruženju s Ethernetom.
U stvarnim korisničkim sustavima s Wi-Fi-jem performanse su osjetno niže, ali se ne razlikuje mnogo od izravnog prijenosa podataka. Na primjer, u sustavu s bežičnom karticom Intel AC9560, performanse bez WireGuarda bile su 600 Mbps, a s WireGuardNT-om također 600 Mbps, dok je pri korištenju wireguard-go / Wintun bilo 95 Mbps.
izvor: https://lists.zx2c4.com/