WireGuard VPN ji bo Windows û WireGuardNT 1.0 hat berdan

Jason A. Donenfeld, nivîskarê WireGuard VPN, yekem guhertoya sereke ya nermalava xerîdar a WireGuard ji bo Windows 1.0, û her weha ajokarên WireGuardNT 1.0 bi portek derxist. VPN WireGuard ji bo kernelên Windows 10 û 11, piştgirîya mîmarîyên AMD64, x86, û ARM64 dike. Koda pêkhateya kernelên Windows-ê di bin lîsansa GPLv2 de ye, û nermalava xerîdar jî di bin lîsansa MIT de ye.

Ev port li ser bingeha koda pêkanîna sereke ya WireGuard ji bo kernela Linux-ê ye, ku ji bo karanîna pêkhateyên kernela Windows-ê û stûna tora NDIS-ê hatiye veguheztin. Li gorî pêkanîna wireguard-go, ku di qada bikarhêner de dixebite û navrûya tora Wintun bikar tîne, WireGuardNT bi rakirina guhêrbarên çarçoveyê û kopîkirina naveroka pakêtê ji kernelê bo qada bikarhêner başkirinên girîng ên performansê pêşkêş dike. Mîna pêkanînên ji bo Linux, OpenBSD, û FreeBSD, hemî mantiqa pêvajoya protokolê di WireGuardNT de rasterast di asta stûna torê de dixebite.

Guhertoya 1.0 wekî qonaxek girîng hate nîşankirin, ku çareserkirina hejmarek pirsgirêkan û bicihanîna erkên armanckirî nîşan da, wek: karanîna fonksiyona NdisWdfGetAdapterContextFromAdapterHandle() li şûna hilanîna kêmtir ewle ya rewşa ajokerê di qada Reserved de û karanîna offsetên bê belge; şopandina rast û bilez a mezinahiya MTU (Yekîneya Veguhestina Herî Zêde) bi rêya desteserkirina bangên pergalê; karanîna standarda C23 di kodê de.

Ka em ji we re bi bîr bînin ku VPN WireGuard li ser bingeha rêbazên şîfrekirinê yên nûjen tête bicîh kirin, performansa pir bilind peyda dike, karanîna wê hêsan e, ji tevliheviyan bêpar e û xwe di gelek pêkanînên mezin de ku cildên mezin ên seyrûseferê hildiberînin de xwe baş îspat kiriye. Proje ji sala 2015-an vir ve pêşve diçe û di verastkirin û verastkirina fermî ya rêbazên şîfrekirinê yên ku hatine bikar anîn de derbas bûye. WireGuard têgeha rêvekirina şîfrekirinê-bingeha mifteyê bikar tîne, ku tê de kilîtek taybet bi her navbeynkariya torê re têkildar dike û bişkojkên gelemperî ji bo girêdanê bikar tîne.

Guhertina mifteyên giştî ji bo avakirina pêwendiyekê dişibihe SSH-ê. Ji bo danûstandina mifteyan û girêdana bêyî xebitandina daemonek cuda di qada bikarhêner de, mekanîzmaya Noise_IK ji Çarçoveya Protokola Noise tê bikar anîn, dişibihe parastina authorized_keys di SSH-ê de. Veguhestina daneyan bi rêya kapsulkirinê di pakêtên UDP-ê de tê kirin. Guhertin tê piştgirî kirin. navnîşanên IP Serverên VPN (roaming) bêyî qutbûna pêwendiyê bi ji nû ve mîhengkirina otomatîkî ya xerîdar.

Şîfrekirin şîfreya stream ChaCha20 û algorîtmaya rastkirina peyama Poly1305 (MAC) bikar tîne, ku ji hêla Daniel J. Bernstein, Tanja Lange, û Peter Schwabe ve hatî pêşve xistin. ChaCha20 û Poly1305 wekî analogên zûtir û ewledar ên AES-256-CTR û HMAC têne cîh kirin, pêkanîna nermalava ku destûrê dide ku meriv demek darvekirinê ya sabît bêyî karanîna piştgirîya hardware ya taybetî bigihîje. Ji bo afirandina mifteya veşartî ya hevpar, protokola Elliptic Curve Diffie-Hellman di pêkanîna Curve25519 de, ku ji hêla Daniel Bernstein ve jî hatî pêşniyar kirin, tê bikar anîn. Algorîtmaya BLAKE2s (RFC7693) ji bo haşkirinê tê bikar anîn.

Source: opennet.ru