Бароварда шудани WireGuard VPN барои Windows ва WireGuardNT 1.0

Ҷейсон А. Доненфелд, муаллифи WireGuard VPN, аввалин нашри бузурги нармафзори муштарии WireGuard барои Windows 1.0, инчунин драйверҳои WireGuardNT 1.0-ро бо порти ... баровард. VPN WireGuard барои ядрои Windows 10 ва 11, ки меъмориҳои AMD64, x86 ва ARM64-ро дастгирӣ мекунад. Коди ҷузъи ядрои Windows тибқи GPLv2 ва нармафзори муштарӣ тибқи иҷозатномаи MIT иҷозатнома дорад.

Ин порт бар пояи рамзи татбиқи асосии WireGuard барои ядрои Linux асос ёфтааст, ки барои истифодаи объектҳои ядрои Windows ва стеки шабакавии NDIS табдил дода шудааст. Дар муқоиса бо татбиқи wireguard-go, ки дар фазои корбар кор мекунад ва интерфейси шабакавии Wintun-ро истифода мебарад, WireGuardNT бо бартараф кардани гузаришҳои контекстӣ ва нусхабардории мундариҷаи пакетҳо аз ядро ​​ба фазои корбар беҳбудиҳои назарраси иҷроишро пешниҳод мекунад. Монанд ба татбиқҳо барои Linux, OpenBSD ва FreeBSD, ҳама мантиқи коркарди протокол дар WireGuardNT мустақиман дар сатҳи стеки шабака кор мекунад.

Нусхаи 1.0 ҳамчун як марҳилаи муҳим қайд карда шуд, ки ҳалли як қатор масъалаҳо ва иҷрои вазифаҳои пешбинишударо нишон дод, ба монанди: истифодаи функсияи NdisWdfGetAdapterContextFromAdapterHandle() ба ҷои нигоҳдории камтар амни ҳолати драйвер дар майдони захирашуда ва истифодаи офсетҳои беҳуҷҷат; пайгирии дуруст ва фаврии андозаи MTU (Максимум Воҳиди интиқол) тавассути боздоштани зангҳои система; истифодаи стандарти C23 дар код.

Хотиррасон бояд кард, ки WireGuard VPN бар асоси усулҳои муосири рамзгузорӣ сохта шудааст, самаранокии истисноӣ дорад, истифодааш осон аст, аз мушкилот озод аст ва худро дар як қатор ҷойгиркуниҳои миқёси калон бо коркарди ҳаҷми зиёди трафик исбот кардааст. Лоиҳа аз соли 2015 инҷониб дар ҳоли таҳия аст ва аз аудит ва тасдиқи расмии усулҳои рамзгузории худ гузаштааст. WireGuard аз консепсияи роҳнамоии рамзгузорӣ дар асоси калид истифода мебарад, ки пайваст кардани калиди махфиро ба ҳар як интерфейси шабака ва истифодаи калидҳои оммавӣ барои пайваст кардани калидҳо дар бар мегирад.

Мубодилаи калидҳои оммавӣ барои барқарор кардани пайвастшавӣ ба SSH монанд аст. Барои гуфтушунид кардани калидҳо ва пайвастшавӣ бе иҷро кардани демони алоҳида дар фазои корбар, механизми Noise_IK аз Noise Protocol Framework истифода мешавад, ки ба нигоҳдории authorized_keys дар SSH монанд аст. Интиқоли маълумот тавассути инкапсулятсия дар бастаҳои UDP анҷом дода мешавад. Тағйирдиҳӣ дастгирӣ карда мешавад. суроғаҳои IP Серверҳои VPN (роуминг) бидуни қатъи пайвастшавӣ бо аз нав танзимкунии худкори муштарӣ.

Рамзи ҷараёни ChaCha20 ва алгоритми тасдиқи паёмҳои Poly1305 (MAC), ки аз ҷониби Даниел Ҷ. Бернштейн, Таня Ланге ва Питер Швабе таҳия шудаанд, барои рамзгузорӣ истифода мешаванд. ChaCha20 ва Poly1305 ҳамчун алтернативаҳои зудтар ва бехатартар ба AES-256-CTR ва HMAC, ки татбиқи нармафзори онҳо имкон медиҳад, ки иҷрои вақти муайян бидуни ниёз ба дастгирии махсуси сахтафзор анҷом дода шавад, ба бозор бароварда мешаванд. Калиди махфии муштарак бо истифода аз протоколи каҷи эллиптикии Diffie-Hellman дар татбиқи Curve25519, ки аз ҷониби Даниел Бернштейн пешниҳод шудааст, тавлид мешавад. Алгоритми BLAKE2s (RFC7693) барои хэшинг истифода мешавад.

Манбаъ: opennet.ru