Implementimi i VPN WireGuard për kernelin Windows është paraqitur

Jason A. Donenfeld, krijuesi i VPN WireGuard, paraqiti projektin WireGuardNT, që zhvillon një port të performancës së lartë të VPN WireGuard për kernelin Windows, i cili është në përputhje me Windows 7, 8, 8.1 dhe 10, dhe mbështet arkitekturën AMD64, x86, ARM64 dhe ARM. Kodi i implementimit shpërndahet nën licencën GPLv2. Dërguesi i ri është tashmë i përfshirë në klientin WireGuard për Windows, por për momentin është shënuar si eksperimentale dhe nuk është aktivizuar si parazgjedhje.

Porti është i bazuar në bazën e provuar të kodit të implementimit kryesor të WireGuard për kernelin Linux, i cili është përkthyer për të përdorur entitetet e kernelit të Windows dhe grumbullin e rrjetit NDIS. Krahasuar me implementimin e mëparshëm për Windows wireguard-go, që funksionon në hapësirën e përdoruesit dhe përdor një ndërfaqe rrjeti Wintun, WireGuardNT ofron një rritje të konsiderueshme të performancës duke përjashtuar operacionet e kalimit të kontekstit dhe kopjimin e përmbajtjes së paketimeve nga kernel në hapësirën e përdoruesit. Në ngjashmëri me implementimet për Linux, OpenBSD dhe FreeBSD, në WireGuardNT e gjithë logjika e përpunimit të protokollit funksionon drejtpërdrejt në nivelin e grumbullit të rrjetit.

Megjithëse optimizimet specifike nuk janë realizuar ende, WireGuardNT ka arritur të arrijë një performancë maksimale transmetimi në nivelin 7.5Gbps në ambientin e testimit aktual me Ethernet. Në sistemet reale të përdoruesve me Wi-Fi, performanca është ndjeshëm më e ulët, por nuk ndryshon shumë nga transmetimi direkt të dhënash. Për shembull, në një sistem me kartën e wireless Intel AC9560, kapaciteti pa WireGuard ishte 600Mbps dhe me WireGuardNT gjithashtu mbeti në nivelin 600Mbps, ndërsa duke përdorur wireguard-go/Wintun ishte 95Mbps.

Kujtojmë se VPN WireGuard është realizuar mbi metoda moderne të enkriptimit, ofron një performancë shumë të lartë, është i lehtë për t'u përdorur, është i thjeshtë dhe ka treguar performancë të shkëlqyer në një numër implementimesh të mëdha që trajtojnë vëllime të mëdha trafiku. Projekti po zhvillohet që nga viti 2015, ka kaluar auditimin dhe verifikimin e formalisht të metodave të enkriptimit të përdorura. Në WireGuard aplikohet koncepti i ruterimit sipas çelësit të enkriptimit, i cili nënkupton lidhjen e çdo ndërfaqe rrjeti me një çelës të mbyllur dhe përdorimin e tij për të lidhur çelësat e hapur.

Këmbimi i çelësave të hapur për të vendosur lidhjen kryhet për shembull sipas SSH. Për të negociuar çelësat dhe për të krijuar një lidhje pa nevojën e nisjes së një deamoni të veçantë në hapësirën e përdoruesit, përdoret mekanizmi Noise_IK nga Noise Protocol Framework, i ngjashëm me ruajtjen e authorized_keys në SSH. Shkëmbimi i të dhënave realizohet përmes inkapsulimit në paketa UDP. Ndryshimi mbështetet Adresa IP VPN-serverëve (roaming) pa ndërprerje të lidhjes me ridimensionimin automatik të klientit.

Për enkriptim përdoret algoritmi i rrjedhshëm ChaCha20 dhe algoritmi i autentifikimit të mesazheve (MAC) Poly1305, të zhvilluar nga Daniel Bernstein, Tanja Lange dhe Peter Schwabe. ChaCha20 dhe Poly1305 pozicionohen si alternativa më të shpejta dhe më të sigurta për AES-256-CTR dhe HMAC, realizimi i cilit garanton një kohë të fiksuar ekzekutimi pa kërkuar mbështetje të veçantë harduerike. Për gjenerimin e çelësit sekret të përbashkët përdoret protokolli i Diffie-Hellman në kurba eliptike me implementimin Curve25519, të propozuar gjithashtu nga Daniel Bernstein. Për hashing përdoret algoritmi BLAKE2s (RFC7693).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster