Gipagawas na ang WireGuard VPN para sa Windows ug WireGuardNT 1.0

Si Jason A. Donenfeld, ang tagsulat sa WireGuard VPN, nagpagawas sa unang dakong pagpagawas sa WireGuard client software para sa Windows 1.0, ingon man ang mga WireGuardNT 1.0 drivers nga adunay port. VPN WireGuard para sa Windows 10 ug 11 kernel, nga nagsuporta sa mga arkitektura sa AMD64, x86, ug ARM64. Ang code sa component sa Windows kernel gilisensyahan ubos sa GPLv2, ug ang software sa kliyente gilisensyahan ubos sa lisensya sa MIT.

Ang port gibase sa codebase sa pangunang implementasyon sa WireGuard para sa Linux kernel, nga gi-convert aron mogamit sa mga entidad sa Windows kernel ug sa NDIS network stack. Kon itandi sa implementasyon sa wireguard-go, nga modagan sa user space ug mogamit sa Wintun network interface, ang WireGuardNT nagtanyag og dakong kalamboan sa performance pinaagi sa pagwagtang sa mga context switch ug pagkopya sa mga sulod sa packet gikan sa kernel ngadto sa user space. Sama sa mga implementasyon para sa Linux, OpenBSD, ug FreeBSD, ang tanang protocol processing logic sa WireGuardNT direktang modagan sa network stack level.

Ang Bersyon 1.0 gimarkahan isip usa ka dakong kalampusan, nga nagtimaan sa pagsulbad sa daghang mga isyu ug sa katumanan sa gituyo nga mga buluhaton, sama sa: ang paggamit sa NdisWdfGetAdapterContextFromAdapterHandle() function imbes nga ang dili kaayo luwas nga pagtipig sa estado sa drayber sa Reserved field ug ang paggamit sa mga wala’y dokumento nga offset; husto ug dali nga pagsubay sa gidak-on sa MTU (Maximum Transmission Unit) pinaagi sa interception sa mga system call; ang paggamit sa C23 standard sa code.

Isip pahinumdom, ang WireGuard VPN gibase sa modernong mga pamaagi sa pag-encrypt, naghatag ug talagsaong performance, dali gamiton, walay komplikasyon, ug napamatud-an na ang kaugalingon sa daghang dagkong mga deployment nga nagdumala sa dagkong volume sa trapiko. Ang proyekto gipalambo sukad pa niadtong 2015 ug nakaagi na sa usa ka audit ug pormal nga beripikasyon sa mga pamaagi sa pag-encrypt niini. Ang WireGuard naggamit ug konsepto sa key-based encryption routing, nga naglakip sa pagbugkos sa usa ka private key sa matag network interface ug paggamit sa public keys para sa key binding.

Ang pagbayloay og mga public key aron makahimo og koneksyon susama sa SSH. Aron makignegosasyon sa mga key ug makakonekta nga dili magpadagan og lahi nga daemon sa user space, gigamit ang Noise_IK mechanism gikan sa Noise Protocol Framework, susama sa pagmentinar sa authorized_keys sa SSH. Ang pagbalhin sa data gihimo pinaagi sa encapsulation sa mga UDP packet. Gisuportahan ang pag-ilis. Mga IP address Mga VPN server (roaming) nga walay pagkabalda sa koneksyon nga adunay awtomatikong pag-usab sa pag-configure sa kliyente.

Ang ChaCha20 stream cipher ug ang Poly1305 message authentication algorithm (MAC), nga gihimo nila ni Daniel J. Bernstein, Tanja Lange, ug Peter Schwabe, gigamit para sa encryption. Ang ChaCha20 ug Poly1305 gibaligya isip mas paspas ug mas luwas nga alternatibo sa AES-256-CTR ug HMAC, kansang implementasyon sa software nagtugot sa fixed-time execution nga dili magkinahanglan og espesyal nga suporta sa hardware. Ang shared secret key gihimo gamit ang elliptic curve Diffie-Hellman protocol sa Curve25519 implementation, nga gisugyot usab ni Daniel Bernstein. Ang BLAKE2s algorithm (RFC7693) gigamit para sa hashing.

Source: opennet.ru