WireGuard VPN ya Windows ndi WireGuardNT 1.0 Yatulutsidwa

Jason A. Donenfeld, wolemba WireGuard VPN, watulutsa pulogalamu yoyamba yayikulu ya kasitomala wa WireGuard ya Windows 1.0, komanso madalaivala a WireGuardNT 1.0 okhala ndi doko. VPN WireGuard ya Windows 10 ndi 11 kernel, yothandizira mapangidwe a AMD64, x86, ndi ARM64. Khodi ya gawo la Windows kernel ili ndi chilolezo pansi pa GPLv2, ndipo pulogalamu ya kasitomala ili ndi chilolezo pansi pa chilolezo cha MIT.

Dokoli limachokera ku codebase ya WireGuard yogwiritsira ntchito kernel ya Linux, yomwe yasinthidwa kuti igwiritse ntchito zinthu za Windows kernel ndi NDIS network stack. Poyerekeza ndi wireguard-go implementation, yomwe imagwira ntchito m'malo ogwiritsa ntchito ndipo imagwiritsa ntchito mawonekedwe a netiweki ya Wintun, WireGuardNT imapereka kusintha kwakukulu kwa magwiridwe antchito pochotsa kusintha kwa context ndikukopera zomwe zili mu paketi kuchokera ku kernel kupita ku malo ogwiritsa ntchito. Mofanana ndi momwe zimagwiritsidwira ntchito pa Linux, OpenBSD, ndi FreeBSD, njira zonse zogwirira ntchito pa protocol mu WireGuardNT zimagwira ntchito mwachindunji pamlingo wa netiweki.

Mtundu 1.0 unalembedwa ngati chizindikiro chachikulu, chomwe chikuwonetsa kuthetsa mavuto angapo ndi kukwaniritsa ntchito zomwe zakonzedwa, monga: kugwiritsa ntchito ntchito ya NdisWdfGetAdapterContextFromAdapterHandle() m'malo mosungira dalaivala motetezeka kwambiri m'munda wa Reserved ndi kugwiritsa ntchito ma offsets osalembedwa; kutsatira molondola komanso mwachangu kukula kwa MTU (Maximum Transmission Unit) kudzera mu interception of system calls; kugwiritsa ntchito muyezo wa C23 mu code.

Monga chikumbutso, WireGuard VPN imagwiritsa ntchito njira zamakono zobisa, imapereka magwiridwe antchito abwino kwambiri, ndi yosavuta kugwiritsa ntchito, ilibe zovuta, ndipo yadziwonetsa yokha m'magawo ambiri akuluakulu omwe amasamalira kuchuluka kwa anthu omwe amalowa. Pulojekitiyi yakhala ikuchitika kuyambira 2015 ndipo yawunikidwa ndikutsimikiziridwa mwalamulo kwa njira zake zobisa. WireGuard imagwiritsa ntchito lingaliro lobisa pogwiritsa ntchito makiyi, lomwe limaphatikizapo kumangirira kiyi yachinsinsi ku netiweki iliyonse ndikugwiritsa ntchito makiyi apagulu pomangirira makiyi.

Kusinthana kwa makiyi a anthu onse kuti akhazikitse kulumikizana kuli kofanana ndi SSH. Kuti mulumikizane makiyi ndikulumikiza popanda kugwiritsa ntchito daemon yosiyana pamalo ogwiritsira ntchito, njira ya Noise_IK kuchokera ku Noise Protocol Framework imagwiritsidwa ntchito, mofanana ndi kusamalira makiyi ovomerezeka mu SSH. Kusamutsa deta kumachitika kudzera mu encapsulation mu mapaketi a UDP. Kusintha kumathandizidwa. IP ma adilesi Ma seva a VPN (oyendayenda) popanda kusokoneza kulumikizana ndi kusintha kwa kasitomala wokha.

Chida cholumikizira cha ChaCha20 ndi njira yotsimikizira uthenga ya Poly1305 (MAC), yopangidwa ndi Daniel J. Bernstein, Tanja Lange, ndi Peter Schwabe, imagwiritsidwa ntchito pobisa. ChaCha20 ndi Poly1305 zimagulitsidwa ngati njira zina zofulumira komanso zotetezeka m'malo mwa AES-256-CTR ndi HMAC, zomwe mapulogalamu ake amalola kuti pakhale nthawi yokhazikika popanda kufunikira thandizo lapadera la hardware. Kiyi yachinsinsi yogawana imapangidwa pogwiritsa ntchito protocol ya Diffie-Hellman ya elliptic curve mu Curve25519 implementation, yomwe idaperekedwanso ndi Daniel Bernstein. Njira ya BLAKE2s (RFC7693) imagwiritsidwa ntchito posintha ma hashing.

Source: opennet.ru