WireGuard VPN fir Windows a WireGuardNT 1.0 verëffentlecht

De Jason A. Donenfeld, den Auteur vu WireGuard VPN, huet déi éischt grouss Versioun vun der WireGuard Client Software fir Windows 1.0 erausbruecht, souwéi d'WireGuardNT 1.0 Treiber mat engem Port. Opportunitéit WireGuard fir de Windows 10 an 11 Kernel, deen d'Architekturen AMD64, x86 an ARM64 ënnerstëtzt. De Windows Kernel Komponentcode ass ënner der GPLv2 lizenzéiert, an d'Client Software ass ënner der MIT Lizenz lizenzéiert.

De Port baséiert op der Codebasis vun der Haapt-WireGuard-Implementatioun fir de Linux-Kernel, déi ëmgebaut gouf fir Windows-Kernel-Entitéiten an den NDIS-Netzwierkstack ze benotzen. Am Verglach mat der Wireguard-go-Implementatioun, déi am Benotzerraum leeft an d'Wintun-Netzwierkinterface benotzt, bitt WireGuardNT bedeitend Leeschtungsverbesserungen andeems Kontextwiessel eliminéiert gëtt an d'Paketinhalter vum Kernel an de Benotzerraum kopéiert ginn. Ähnlech wéi d'Implementatioune fir Linux, OpenBSD a FreeBSD leeft all Protokollveraarbechtungslogik a WireGuardNT direkt um Netzwierkstackniveau.

Versioun 1.0 gouf als Meilesteen markéiert, andeems se d'Léisung vun enger Rei vu Problemer an d'Erfëllung vun de virgesinnten Aufgaben markéiert huet, wéi zum Beispill: d'Benotzung vun der NdisWdfGetAdapterContextFromAdapterHandle() Funktioun amplaz vun der manner sécherer Späicherung vum Driverzoustand am Reserved Feld an d'Benotzung vun ondokumentéierten Offsets; korrekt an direkt Tracking vun der MTU (Maximum Transmission Unit) Gréisst duerch d'Ofschafe vu Systemuriff; d'Benotzung vum C23 Standard am Code.

Loosst eis Iech drun erënneren datt VPN WireGuard op Basis vu modernen Verschlësselungsmethoden implementéiert ass, ganz héich Leeschtung ubitt, einfach ze benotzen ass, ass gratis vu Komplikatiounen an huet sech gutt bewisen an enger Rei vu groussen Implementatiounen déi grouss Volumen vum Traffic veraarbecht hunn. De Projet ass zënter 2015 entwéckelt an huet en Audit a formell Verifizéierung vun de benotzte Verschlësselungsmethoden gemaach. WireGuard benotzt d'Konzept vu Schlësselbaséierter Verschlësselungsrouting, wat d'Associatioun vun engem private Schlëssel mat all Netz-Interface involvéiert an ëffentlech Schlëssele fir Bindung ze benotzen.

Den Austausch vun ëffentleche Schlësselen fir eng Verbindung opzebauen ass ähnlech wéi beim SSH. Fir Schlësselen ze verhandelen an eng Verbindung ze setzen, ouni en separaten Daemon am Benotzerraum auszeféieren, gëtt de Noise_IK-Mechanismus aus dem Noise Protocol Framework benotzt, ähnlech wéi d'Maintenance vun authorized_keys an SSH. Den Datentransfer gëtt iwwer Kapselung an UDP-Päcketen duerchgefouert. Ännerunge ginn ënnerstëtzt. IP Adressen VPN-Serveren (Roaming) ouni Verbindungsënnerbriechung mat automatescher Client-Neikonfiguratioun.

D'Verschlësselung benotzt de ChaCha20 Stream Chiffer an de Poly1305 Message Authentifikatioun Algorithmus (MAC), entwéckelt vum Daniel J. Bernstein, Tanja Lange, a Peter Schwabe. ChaCha20 a Poly1305 sinn als méi séier a méi sécher Analoga vun AES-256-CTR an HMAC positionéiert, d'Software-Implementatioun vun där et erlaabt eng fix Ausféierungszäit z'erreechen ouni d'Benotzung vu speziellen Hardware Support. Fir de gemeinsame geheime Schlëssel ze generéieren, gëtt den Elliptic Curve Diffie-Hellman Protokoll an der Curve25519 Implementatioun benotzt, och vum Daniel Bernstein proposéiert. De BLAKE2s (RFC7693) Algorithmus gëtt fir Hashing benotzt.

Source: opennet.ru