VPN WireGuard keyingi tarmoq boʻlimiga qabul qilindi va Linux 5.6 yadrosiga kiritilishi rejalashtirilgan.

Devid Miller (Devid S. Miller), Linux yadrosining tarmoq quyi tizimi uchun mas'ul, qabul qildi net-keyingi filialga yamoqlar loyihadan VPN interfeysini amalga oshirish bilan WireGuardKelasi yil boshida net-next tarmog'ida to'plangan o'zgarishlar Linux yadrosi 5.6 ning chiqarilishi uchun asos bo'lib xizmat qiladi.

So'nggi bir necha yil ichida WireGuard kodini asosiy yadroga kiritishga urinishlar amalga oshirildi, ammo u ishlashni yaxshilash uchun ishlatiladigan kriptografik funktsiyalarning o'ziga xos implementatsiyalari bilan bog'liqligi sababli muvaffaqiyatsiz bo'ldi. Dastlab, bu funktsiyalar taklif qilingan yadro uchun qo'shimcha past darajadagi sink API sifatida, bu oxir-oqibat standart Crypto API o'rnini bosishi mumkin.

Kernel Recipes konferensiyasidagi muzokaralardan so'ng, WireGuard yaratuvchilari sentyabr oyida e'lon qilishdi murosaga kelishuv yechimini qabul qildi Yamalar yadrodagi mavjud Crypto API-dan foydalanish uchun o'zgartirildi, bu esa WireGuard ishlab chiquvchilarining ishlash va umumiy xavfsizlik nuqtai nazaridan shikoyatlariga sabab bo'lmoqda. Zinc API-ni alohida loyiha sifatida ishlab chiqishda davom etishga qaror qilindi.

Noyabr oyida yadro ishlab chiquvchilari ketdi Ular murosaga kelishdi va Sink kodining bir qismini asosiy yadroga portlashga kelishib oldilar. Asosan, ba'zi Sink komponentlari yadroga alohida API sifatida emas, balki Crypto API quyi tizimining bir qismi sifatida portlanadi. Masalan, Crypto API allaqachon vklyucheny WireGuard’da tayyorlangan ChaCha20 va Poly1305 algoritmlarining tezkor implementatsiyalari.

Asosiy yadroda WireGuardning yaqinda chiqarilishi munosabati bilan, loyiha asoschisi e'lon Repozitoriyani qayta qurish haqida. Ishlab chiqishni soddalashtirish uchun, alohida mavjud bo'lish uchun mo'ljallangan monolit "WireGuard.git" repozitori asosiy yadroda kodni tashkil qilish uchun ko'proq mos keladigan uchta alohida repozitoriya bilan almashtiriladi:

  • wireguard-linux.git — Wireguard loyihasidan olingan oʻzgarishlar bilan toʻliq yadro daraxti, undan olingan yamalar yadroga kiritish uchun koʻrib chiqiladi va muntazam ravishda net/net-next shoxlariga portlanadi.
  • wireguard-tools.git — wg va wg-quick kabi foydalanuvchi maydoni yordamchi dasturlari va skriptlari uchun ombor. Ombordan distributivlar uchun paketlar yaratish uchun foydalanish mumkin.
  • wireguard-linux-compat.git — yadrodan alohida yetkazib beriladigan va eski yadrolar bilan moslikni ta'minlash uchun compat.h qatlamini o'z ichiga olgan modul versiyasiga ega ombor. Birlamchi ishlab chiqish wireguard-linux.git omborida amalga oshiriladi, ammo imkoniyatlar va foydalanuvchi talabi mavjud ekan, alohida patch versiyasi ham saqlanib qoladi.

Eslatib o‘tamiz, VPN WireGuard zamonaviy shifrlash usullari asosida amalga oshirilgan, juda yuqori unumdorlikni ta’minlaydi, ishlatish uchun qulay, asoratlarsiz va katta hajmdagi trafikni qayta ishlovchi bir qator yirik joylashtirishlarda o‘zini isbotlagan. Loyiha 2015 yildan beri ishlab chiqilmoqda, auditdan o'tgan va rasmiy tekshirish shifrlash usullaridan foydalaniladi. WireGuard-ni qo'llab-quvvatlash allaqachon NetworkManager va systemd-ga birlashtirilgan va yadro yamoqlari asosiy tarqatishlarga kiritilgan. Debian beqaror, Mageia, Alp tog'lari, Arch, Gentoo, OpenWrt, NixOS, Subgraf и ALT.

WireGuard shifrlash kalitlarini marshrutlash kontseptsiyasidan foydalanadi, bu har bir tarmoq interfeysiga shaxsiy kalitni biriktirish va undan ochiq kalitlarni ulash uchun foydalanishni o'z ichiga oladi. Ochiq kalitlar SSH ga o'xshash tarzda ulanishni o'rnatish uchun almashtiriladi. Kalitlarni muzokara qilish va foydalanuvchi maydonida alohida daemonni ishga tushirmasdan ulanish uchun Noise_IK mexanizmi dan Shovqin protokoli ramkasi, SSH da authorized_keys ni saqlashga o'xshaydi. Ma'lumotlar uzatish UDP paketlarida kapsulalash orqali amalga oshiriladi. VPN serverining IP-manzilini (rouming) ulanishni uzmasdan o'zgartirish va mijozni avtomatik qayta konfiguratsiya qilish qo'llab-quvvatlanadi.

Shifrlash uchun ishlatiladi oqim shifrlash ChaCha20 va xabarni autentifikatsiya qilish algoritmi (MAC) Poly1305, Daniel Bernshteyn tomonidan ishlab chiqilgan (Daniel J. Bernshteyn), Tanya Lange
(Tanja Lange) va Piter Shvabe. ChaCha20 va Poly1305 AES-256-CTR va HMAC ning tezroq va xavfsizroq analoglari sifatida joylashtirilgan bo'lib, ularning dasturiy ta'minotini amalga oshirish maxsus apparat ta'minotidan foydalanmasdan belgilangan bajarish vaqtiga erishish imkonini beradi. Umumiy maxfiy kalitni yaratish uchun amalga oshirishda elliptik egri Diffie-Hellman protokoli qo'llaniladi. Curve25519, shuningdek, Daniel Bernstein tomonidan taklif qilingan. Xeshlash algoritmi BLAKE2 (RFC7693).

da sinov WireGuard OpenVPN (HMAC-SHA2-256 bilan 256-bitli AES) bilan solishtirganda 3.9 baravar yuqori o'tkazuvchanlik va 3.8 baravar yuqori javob berish qobiliyatini namoyish etdi. IPsec (256-bitli ChaCha20+Poly1305 va AES-256-GCM-128) bilan solishtirganda, WireGuard biroz ishlash afzalligini (13-18%) va kechikishni (21-23%) kamaytirdi. Sinovlar loyihaning o'zining shifrlash algoritmlarining tezkor implementatsiyalari yordamida amalga oshirildi; yadroning asl Crypto API-siga o'tish ishlashning pasayishiga olib kelishi mumkin.

 VPN WireGuard keyingi tarmoq boʻlimiga qabul qilindi va Linux 5.6 yadrosiga kiritilishi rejalashtirilgan.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster