WireGuard VPN til Windows og WireGuardNT 1.0 er offentliggjort

Jason Donenfeld, skaberen af WireGuard VPN, har præsenteret den første betydelige udgivelse af klientsoftwaren WireGuard til Windows 1.0 samt driverne WireGuardNT 1.0 med portering VPN WireGuard til Windows 10 og 11-kernerne, der understøtter AMD64, x86 og ARM64 arkitekturer. Koden til kernekomponenterne til Windows distribueres under GPLv2-licensen, mens klientsoftwaren distribueres under MIT-licensen.

Porten er baseret på kodebasen af den primære WireGuard-implementation til Linux-kernen, som er blevet oversat til at anvende Windows-kerneenheder og NDIS-netværksstakken. Sammenlignet med wireguard-go-implementeringen, der kører i brugerrummet og bruger netværksgrænsefladen Wintun, giver WireGuardNT en væsentlig præstationsforbedring ved at eliminere kontekstskift og kopiering af pakkeindhold fra kernen til brugerrummet. Ligesom i implementeringerne til Linux, OpenBSD og FreeBSD fungerer al protokolbehandling i WireGuardNT direkte på netværksstakniveau.

Version 1.0 betragtes som en slags milepæl, der markerer løsningen af en række problemer og opnåelsen af fastsatte mål, såsom: anvendelse af funktionen NdisWdfGetAdapterContextFromAdapterHandle() i stedet for den mindre sikre opbevaring af driverens tilstand i feltet Reserved og brug af u-dokumenterede offsets; korrekt og rettidig overvågning af størrelsen på MTU (Maximum Transmission Unit) gennem interception af systemopkald; anvendelse af C23-standardskode.

Vi minder om, at VPN WireGuard er baseret på moderne krypteringsmetoder, sikrer en meget høj ydeevne, er nem at bruge, er fri for unødvendigheder og har bevist sig i en række store implementationer, der håndterer store trafikmængder. Projektet har været under udvikling siden 2015, har gennemgået revision og formel verifikation af de anvendte krypteringsmetoder. WireGuard anvender konceptet med routing efter krypteringsnøgler, hvilket indebærer tilknytning af en privat nøgle til hver netværksgrænseflade og anvendelse til at knytte offentlige nøgler.

Nøgleudvekslingen til opsætning af forbindelsen sker på tilsvarende måde som med SSH. For at forhandle nøgler og oprette forbindelse uden at starte en separat brugerlanddaemon anvendes Noise_IK-mekanismen fra Noise Protocol Framework, som ligner vedligeholdelsen af authorized_keys i SSH. Dataoverførsel sker gennem indkapsling i UDP-pakker. Skift understøttes IP-adresser VPN-servere (roaming) uden afbrydelse af forbindelsen med automatisk omkonfigurering af klienten.

Der anvendes streamchifferen ChaCha20 og meddelelsesautentificeringsalgoritmen (MAC) Poly1305, udviklet af Daniel Bernstein, Tanja Lange og Peter Schwabe. ChaCha20 og Poly1305 positioneres som hurtigere og sikrere varianter af AES-256-CTR og HMAC, hvor den softwaremæssige implementering gør det muligt at opnå en fast udførelsestid uden brug af specialiseret hardware. For at generere den fælles hemmelige nøgle anvendes Diffie-Hellman-protokollen på elliptiske kurver med implementeringen Curve25519, som også blev foreslået af Daniel Bernstein. Til hashing anvendes algoritmen BLAKE2s (RFC7693).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster