VPN WireGuard желі-келесі бөлімшеге қабылданды және Linux 5.6 ядросына қосуға арналған.

Дэвид Миллер (Дэвид С. Миллер), Linux ядросының желілік ішкі жүйесіне жауапты, қабылдады желі-келесі филиалға патчтар жобадан VPN интерфейсін енгізумен WireGuard. Келесі жылдың басында нет-келесі тармақта жинақталған өзгерістер Linux ядросының 5.6 шығарылымына негіз болады.

WireGuard кодын негізгі ядроға итеру әрекеттері соңғы бірнеше жылда жасалды, бірақ өнімділікті жақсарту үшін пайдаланылған криптографиялық функциялардың меншікті іске асыруларына байланысты болғандықтан сәтсіз болды. Бастапқыда бұл функциялар болды ұсынылған ядро үшін стандартты Crypto API ауыстыра алатын қосымша төменгі деңгейлі Zinc API ретінде.

Kernel Recipes конференциясындағы талқылаулардан кейін WireGuard жасаушылар қыркүйек айында компромисстік шешім қабылдады WireGuard әзірлеушілерінің өнімділік және жалпы қауіпсіздік саласындағы шағымдары бар ядрода қол жетімді Crypto API пайдалану үшін патчтарды тасымалдаңыз. Zinc API әзірлеуді жалғастыру туралы шешім қабылданды, бірақ жеке жоба ретінде.

Қараша айында ядроны әзірлеушілер барды ымыраға жауап ретінде және кодтың бір бөлігін Цинктен негізгі ядроға ауыстыруға келісті. Негізінде, кейбір Цинк құрамдастары ядроға жылжытылады, бірақ жеке API ретінде емес, Crypto API ішкі жүйесінің бөлігі ретінде. Мысалы, Crypto API қазірдің өзінде қоса алғанда WireGuard бағдарламасында дайындалған ChaCha20 және Poly1305 алгоритмдерін жылдам енгізу.

WireGuard-тың алдағы жеткізіліміне байланысты жобаның негізін қалаушы жариялады репозиторийді қайта құрылымдау туралы. Әзірлеуді жеңілдету үшін оқшаулану үшін жасалған монолитті «WireGuard.git» репозиторийі негізгі ядродағы кодпен жұмысты ұйымдастыруға қолайлы үш бөлек репозиторийге ауыстырылады:

  • telguard-linux.git - Wireguard жобасынан өзгерістері бар толық ядро ​​ағашы, оның патчтары ядроға қосу үшін қаралып, жүйелі түрде желі/нет-келесі тармақтарға тасымалданатын болады.
  • telguard-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 и ALT.

WireGuard шифрлау кілтін бағыттау тұжырымдамасын пайдаланады, ол әрбір желі интерфейсіне жеке кілтті қосуды және оны ашық кілттерді байланыстыру үшін пайдалануды қамтиды. Ашық кілттер SSH-ге ұқсас жолмен байланыс орнату үшін алмасады. Пайдаланушы кеңістігінде жеке демонды іске қоспай-ақ кілттерді келіссөздер және қосылу үшін Noise_IK механизмі Шу протоколының негізіSSH жүйесінде авторизацияланған_кілттерді сақтауға ұқсас. Деректерді беру UDP пакеттерінде инкапсуляция арқылы жүзеге асырылады. Ол VPN серверінің (роуминг) IP мекенжайын қосылымды ажыратпай және клиентті автоматты түрде қайта конфигурациялаусыз өзгертуді қолдайды.

Шифрлау үшін пайдаланылады ағындық шифр ChaCha20 және хабарламаның аутентификация алгоритмі (MAC) Poly1305, Дэниел Бернштейн әзірлеген (Даниэль Дж. Бернштейн), Таня Ланге
(Таня Ланге) және Питер Швабе. ChaCha20 және Poly1305 AES-256-CTR және HMAC жылдам және қауіпсіз аналогтары ретінде орналастырылған, бағдарламалық қамтамасыз етуді іске асыру арнайы аппараттық қолдауды қолданбай-ақ бекітілген орындау уақытына қол жеткізуге мүмкіндік береді. Ортақ құпия кілтті генерациялау үшін жүзеге асыруда эллиптикалық қисық Диффи-Хеллман протоколы қолданылады. Curve25519, сонымен қатар Даниэль Бернштейн ұсынған. Хэштеу үшін қолданылатын алгоритм BLAKE2 (RFC7693).

жанында тестілеу Performance WireGuard OpenVPN (HMAC-SHA3.9-3.8 бар 256 биттік AES) салыстырғанда 2 есе жоғары өткізу қабілеттілігін және 256 есе жоғары жауап беру қабілетін көрсетті. IPsec (256-биттік ChaCha20+Poly1305 және AES-256-GCM-128) салыстырғанда, WireGuard өнімділігінің аздап жақсарғанын (13-18%) және кідірістің төмендеуін (21-23%) көрсетеді. Сынақтар жоба әзірлеген шифрлау алгоритмдерін жылдам енгізу арқылы орындалды - ядроның стандартты Crypto API-ге көшіру нашар өнімділікке әкелуі мүмкін.

VPN WireGuard желі-келесі бөлімшеге қабылданды және Linux 5.6 ядросына қосуға арналған.

Ақпарат көзі: opennet.ru

пікір қалдыру