Ua hoʻokuʻu ʻia ʻo WireGuard VPN no Windows a me WireGuardNT 1.0

Ua hoʻokuʻu ʻo Jason A. Donenfeld, ka mea kākau o WireGuard VPN, i ka hoʻokuʻu nui mua o ka polokalamu mea kūʻai aku ʻo WireGuard no Windows 1.0, a me nā mea hoʻokele WireGuardNT 1.0 me kahi awa. VPN ʻO WireGuard no ka kernel Windows 10 a me 11, e kākoʻo ana i nā hoʻolālā AMD64, x86, a me ARM64. Ua laikini ʻia ke code ʻāpana kernel Windows ma lalo o ka GPLv2, a ua laikini ʻia ka polokalamu mea kūʻai aku ma lalo o ka laikini MIT.

Hoʻokumu ʻia ke awa ma ke codebase o ka hoʻokō nui ʻana o WireGuard no ka kernel Linux, kahi i hoʻololi ʻia e hoʻohana i nā mea kernel Windows a me ka waihona pūnaewele NDIS. Ke hoʻohālikelike ʻia me ka hoʻokō wireguard-go, e holo ana ma ka wahi mea hoʻohana a hoʻohana i ka interface pūnaewele Wintun, hāʻawi ʻo WireGuardNT i nā hoʻomaikaʻi hana koʻikoʻi ma ka hoʻopau ʻana i nā hoʻololi pōʻaiapili a me ke kope ʻana i nā ʻike o ka packet mai ka kernel i ka wahi mea hoʻohana. E like me nā hoʻokō no Linux, OpenBSD, a me FreeBSD, holo pololei nā logic hana protocol āpau ma WireGuardNT ma ka pae waihona pūnaewele.

Ua hōʻailona ʻia ka Mana 1.0 ma ke ʻano he hanana koʻikoʻi, e hōʻailona ana i ka hoʻonā ʻana o kekahi mau pilikia a me ka hoʻokō ʻana i nā hana i manaʻo ʻia, e like me: ka hoʻohana ʻana i ka hana NdisWdfGetAdapterContextFromAdapterHandle() ma kahi o ka mālama ʻana i ka mokuʻāina hoʻokele ma ke kahua Reserved a me ka hoʻohana ʻana i nā offsets i palapala ʻole ʻia; ka nānā pololei ʻana a me ka wikiwiki o ka nui MTU (Maximum Transmission Unit) ma o ka interception o nā kelepona ʻōnaehana; ka hoʻohana ʻana i ke kūlana C23 i loko o ke code.

I mea e hoʻomanaʻo ai, ua hoʻokumu ʻia ʻo WireGuard VPN ma nā ʻano hoʻopāʻālua hou, hāʻawi i ka hana kūikawā, maʻalahi e hoʻohana, ʻaʻohe pilikia, a ua hōʻoia iā ia iho i loko o nā hoʻolaha nui he nui e lawelawe ana i nā nui o ke kaʻa. Ua hoʻomohala ʻia ka papahana mai ka makahiki 2015 a ua hana ʻia kahi loiloi a me ka hōʻoia kūhelu o kāna mau ʻano hoʻopāʻālua. Hoʻohana ʻo WireGuard i kahi manaʻo hoʻopāʻālua e pili ana i ke kī, e pili ana i ka hoʻopaʻa ʻana i kahi kī pilikino i kēlā me kēia ʻaoʻao pūnaewele a me ka hoʻohana ʻana i nā kī lehulehu no ka hoʻopaʻa ʻana i nā kī.

Ua like ke ʻano o ka hoʻololi ʻana o nā kī lehulehu e hoʻokumu i kahi pilina me SSH. No ke kūkākūkā ʻana i nā kī a me ka hoʻopili ʻana me ka ʻole o ka holo ʻana i kahi daemon kaʻawale ma kahi mea hoʻohana, hoʻohana ʻia ka ʻano Noise_IK mai ka Noise Protocol Framework, e like me ka mālama ʻana i nā authorized_keys ma SSH. Hana ʻia ka hoʻoili ʻikepili ma o ka encapsulation i loko o nā packets UDP. Kākoʻo ʻia ka hoʻololi ʻana. Nā helu IP Nā kikowaena VPN (roaming) me ka ʻole o ka hoʻopau ʻana i ka pilina me ka hoʻonohonoho hou ʻana o ka mea kūʻai aku.

ʻO ka cipher kahawai ChaCha20 a me ka algorithm hōʻoia leka Poly1305 (MAC), i hoʻomohala ʻia e Daniel J. Bernstein, Tanja Lange, a me Peter Schwabe, ua hoʻohana ʻia no ka hoʻopāʻālua. Kūʻai ʻia ʻo ChaCha20 lāua ʻo Poly1305 ma ke ʻano he mau koho ʻē aʻe wikiwiki a palekana hoʻi i ka AES-256-CTR a me HMAC, nona ka hoʻokō polokalamu e ʻae ai i ka hoʻokō manawa paʻa me ka ʻole o ke kākoʻo lako kūikawā. Hoʻokumu ʻia ke kī huna i kaʻana like ʻia me ka hoʻohana ʻana i ka protocol elliptic curve Diffie-Hellman i ka hoʻokō Curve25519, i hāpai ʻia e Daniel Bernstein. Hoʻohana ʻia ka algorithm BLAKE2s (RFC7693) no ka hashing.

Source: opennet.ru