WireGuard VPN ya Windows na WireGuardNT 1.0 Imetolewa

Jason A. Donenfeld, mwandishi wa WireGuard VPN, ametoa toleo la kwanza kubwa la programu ya mteja wa WireGuard kwa Windows 1.0, pamoja na viendeshi vya WireGuardNT 1.0 vyenye mlango. VPN WireGuard kwa ajili ya kernel ya Windows 10 na 11, inayounga mkono usanifu wa AMD64, x86, na ARM64. Msimbo wa vipengele vya kernel ya Windows una leseni chini ya GPLv2, na programu ya mteja ina leseni chini ya leseni ya MIT.

Lango hilo linategemea msingi wa msimbo wa utekelezaji mkuu wa WireGuard kwa kinu cha Linux, ambacho kimebadilishwa kutumia vyombo vya kinu cha Windows na mrundikano wa mtandao wa NDIS. Ikilinganishwa na utekelezaji wa wireguard-go, ambao unaendeshwa katika nafasi ya mtumiaji na hutumia kiolesura cha mtandao cha Wintun, WireGuardNT hutoa maboresho makubwa ya utendaji kwa kuondoa swichi za muktadha na kunakili yaliyomo kwenye pakiti kutoka kwa kinu hadi nafasi ya mtumiaji. Sawa na utekelezaji wa Linux, OpenBSD, na FreeBSD, mantiki yote ya usindikaji wa itifaki katika WireGuardNT inaendeshwa moja kwa moja katika kiwango cha mrundikano wa mtandao.

Toleo la 1.0 liliwekwa alama kama hatua muhimu, likiashiria utatuzi wa masuala kadhaa na utimilifu wa kazi zilizokusudiwa, kama vile: matumizi ya kitendakazi cha NdisWdfGetAdapterContextFromAdapterHandle() badala ya hifadhi isiyo salama sana ya hali ya kiendeshi katika sehemu Iliyohifadhiwa na matumizi ya marekebisho yasiyo na kumbukumbu; ufuatiliaji sahihi na wa haraka wa ukubwa wa MTU (Kitengo cha Upeo wa Uhamisho) kupitia kukatiza simu za mfumo; matumizi ya kiwango cha C23 katika msimbo.

Kama ukumbusho, WireGuard VPN inategemea mbinu za kisasa za usimbaji fiche, hutoa utendaji wa kipekee, ni rahisi kutumia, haina matatizo, na imejidhihirisha katika idadi kubwa ya utumaji wa data unaoshughulikia idadi kubwa ya trafiki. Mradi huu umekuwa ukitengenezwa tangu 2015 na umepitia ukaguzi na uthibitishaji rasmi wa mbinu zake za usimbaji fiche. WireGuard hutumia dhana ya uelekezaji wa usimbaji fiche unaotegemea ufunguo, ambayo inahusisha kufunga ufunguo wa kibinafsi kwenye kila kiolesura cha mtandao na kutumia funguo za umma kwa kufunga ufunguo.

Kubadilishana kwa funguo za umma ili kuanzisha muunganisho ni sawa na SSH. Ili kujadili funguo na kuunganisha bila kuendesha daemon tofauti katika nafasi ya mtumiaji, utaratibu wa Noise_IK kutoka kwa Mfumo wa Itifaki ya Noise hutumika, sawa na utunzaji wa funguo_zilizoidhinishwa katika SSH. Uhamisho wa data unafanywa kupitia usanidi katika pakiti za UDP. Kubadilisha kunaungwa mkono. Anwani za IP Seva za VPN (zinazozunguka) bila usumbufu wa muunganisho na usanidi upya wa kiotomatiki wa mteja.

Msimbo wa mkondo wa ChaCha20 na algoriti ya uthibitishaji wa ujumbe wa Poly1305 (MAC), iliyotengenezwa na Daniel J. Bernstein, Tanja Lange, na Peter Schwabe, hutumika kwa usimbaji fiche. ChaCha20 na Poly1305 zinauzwa kama njia mbadala za haraka na salama zaidi za AES-256-CTR na HMAC, ambazo utekelezaji wake wa programu huruhusu utekelezaji wa muda uliowekwa bila kuhitaji usaidizi maalum wa vifaa. Ufunguo wa siri ulioshirikiwa huzalishwa kwa kutumia itifaki ya mkunjo wa duaradufu wa Diffie-Hellman katika utekelezaji wa Curve25519, ambayo pia ilipendekezwa na Daniel Bernstein. Algoriti ya BLAKE2s (RFC7693) hutumika kwa ajili ya kuhamisha data.

Chanzo: opennet.ru