VPN WireGuard ба филиали шабакавӣ қабул карда шуд ва барои дохил шудан ба ядрои Linux 5.6 пешбинӣ шудааст

Дэвид Миллер (Дэвид С. Миллер), масъули зерсистемаи шабакавии ядрои Linux, қабул карданд ба филиали нет-даромад часпакхо бо татбиқи интерфейси VPN аз лоиҳа Радиои Озодӣ. Аввали соли оянда, тағиротҳое, ки дар филиали оянда ҷамъ шудаанд, барои баровардани ядрои Linux 5.6 асос хоҳанд буд.

Кӯшишҳо барои ворид кардани рамзи WireGuard ба ядрои асосӣ дар тӯли чанд соли охир анҷом дода шуданд, аммо аз сабаби он, ки ба татбиқи хусусии функсияҳои криптографӣ, ки барои беҳтар кардани кор истифода мешуданд, ноком монд. Дар аввал, ин вазифаҳо буданд пешниҳод кардааст барои ядро ​​ҳамчун API-и сатҳи пасти Zinc, ки дар ниҳоят метавонад API-и стандартии Crypto-ро иваз кунад.

Пас аз муҳокимаҳо дар конфронси Recipes Kernel, созандагони WireGuard дар моҳи сентябр карори созиш кабул кард часбҳои худро барои истифодаи API-и Crypto, ки дар аслӣ мавҷуд аст, интиқол диҳед, ки таҳиягарони WireGuard ба он дар соҳаи фаъолият ва амнияти умумӣ шикоят доранд. Қарор дода шуд, ки коркарди API Zinc идома дода шавад, аммо ҳамчун лоиҳаи алоҳида.

Дар моҳи ноябр, таҳиягарони ядро ​​​​ рафт дар посух ба созиш ва розӣ шуд, ки як қисми кодро аз Zinc ба ядрои асосӣ интиқол диҳад. Аслан, баъзе ҷузъҳои Zinc ба аслӣ интиқол дода мешаванд, аммо на ҳамчун API алоҳида, балки ҳамчун як қисми зерсистемаи Crypto API. Масалан, API Crypto аллакай включены татбиқи босуръати алгоритмҳои ChaCha20 ва Poly1305, ки дар WireGuard омода карда шудаанд.

Дар робита ба таҳвили дарпешистодаи WireGuard дар асосии асосӣ, муассиси лоиҳа эълон дар бораи аз нав сохтани анбор. Барои содда кардани рушд, анбори монолитии "WireGuard.git", ки дар алоҳидагӣ пешбинӣ шуда буд, бо се анбори алоҳида иваз карда мешавад, ки барои ташкили кор бо код дар ядрои асосӣ мувофиқтаранд:

  • wireguard-linux.git - дарахти пурраи ядро ​​бо тағирот аз лоиҳаи Wireguard, ки часбҳо аз онҳо барои дохил шудан ба ядро ​​баррасӣ карда мешаванд ва мунтазам ба шохаҳои шабака/нет-оянда интиқол дода мешаванд.
  • wireguard-tools.git - анбори утилитаҳо ва скриптҳо дар фазои корбар иҷро мешаванд, ба монанди wg ва wg-quick. Анборро барои эҷоди бастаҳо барои тақсимот истифода бурдан мумкин аст.
  • wireguard-linux-compat.git - репозиторий бо варианти модул, ки аз ядро ​​ҷудо карда шудааст ва қабати compat.h барои таъмини мутобиқат бо ядроҳои кӯҳна. Таҳияи асосӣ дар анбори wireguard-linux.git амалӣ карда мешавад, аммо то он даме, ки дар байни корбарон имконият ва ниёз вуҷуд дорад, версияи алоҳидаи часпакҳо низ дар шакли корӣ дастгирӣ карда мешавад.

Ёдовар мешавем, ки VPN WireGuard дар асоси усулҳои муосири рамзгузорӣ амалӣ карда мешавад, иҷрои хеле баландро таъмин мекунад, истифодааш осон, бе мушкилот аст ва худро дар як қатор ҷойгиркунии бузург, ки ҳаҷми зиёди трафикро коркард мекунанд, собит кардааст. Лоиҳа аз соли 2015 таҳия шуда, аз санҷиш гузаронида шуд ва тасдиқи расмӣ усулҳои рамзгузорӣ истифода бурда мешавад. Дастгирии WireGuard аллакай ба NetworkManager ва systemd муттаҳид карда шудааст ва часбҳои ядроӣ ба тақсимоти асосӣ дохил карда шудаанд. Debian ноустувор, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph и АСТ.

WireGuard мафҳуми масири калидҳои рамзгузориро истифода мебарад, ки ба ҳар як интерфейси шабака пайваст кардани калиди хусусӣ ва истифодаи он барои пайваст кардани калидҳои ҷамъиятӣ дар бар мегирад. Калидҳои оммавӣ барои барқарор кардани пайвастшавӣ бо роҳи шабеҳ ба SSH мубодила карда мешаванд. Барои гуфтушунид калидҳо ва пайваст бе кор демони алоҳида дар фазои корбар, механизми Noise_IK аз Чаҳорчӯбаи протоколи садомонанд ба нигоҳ доштани калидҳои ваколатдор дар SSH. Интиқоли маълумот тавассути инкапсуляция дар бастаҳои UDP амалӣ карда мешавад. Он тағир додани суроғаи IP-и сервери VPN (роуминг) -ро бидуни қатъи пайвастшавӣ ва ба таври худкор аз нав танзим кардани муштарӣ дастгирӣ мекунад.

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

дар озмоиш Performance WireGuard нисбат ба OpenVPN (3.9-бит AES бо HMAC-SHA3.8-256) 2 маротиба баландтар ва 256 маротиба баландтар вокуниш нишон дод. Дар муқоиса бо IPsec (256-бит ChaCha20+Poly1305 ва AES-256-GCM-128), WireGuard каме беҳтар шудани фаъолият (13-18%) ва таъхири камтар (21-23%) нишон медиҳад. Санҷишҳо бо истифода аз татбиқи зуди алгоритмҳои рамзгузории аз ҷониби лоиҳа таҳияшуда гузаронида шуданд - интиқол ба стандарти Crypto API-и ядро ​​метавонад боиси бадтар шудани кор гардад.

VPN WireGuard ба филиали шабакавӣ қабул карда шуд ва барои дохил шудан ба ядрои Linux 5.6 пешбинӣ шудааст

Манбаъ: opennet.ru

Илова Эзоҳ