Davidas Milleris (), atsakingas už branduolio tinklo posistemį Linux, į tinklą-kitą filialą įgyvendinant VPN sąsają iš projekto Kitų metų pradžioje „net-next“ šakoje sukaupti pakeitimai sudarys pagrindinės versijos išleidimo pagrindą. Linux 5.6.
Bandymai reklamuoti kodą WireGuard Per pastaruosius kelerius metus buvo dedamos pastangos tobulinti pagrindinį branduolį, tačiau jos buvo nesėkmingos dėl priklausomybės nuo patentuotų kriptografinių funkcijų, kurios buvo naudojamos našumui gerinti, įgyvendinimo. Iš pradžių šios funkcijos buvo branduoliui kaip papildoma žemo lygio cinko API, kuri ilgainiui galėtų pakeisti standartinę Crypto API.
Po pranešimų „Kernel Recipes“ konferencijoje kūrėjai WireGuard rugsėjį konvertuoti pataisymus, kad jie naudotų esamą „Crypto“ API branduolyje, prie kurio kūrėjai turi prieigą WireGuard Yra nusiskundimų dėl našumo ir bendro saugumo. Buvo nuspręsta tęsti „Zinc“ API kūrimą, bet kaip atskirą projektą.
Lapkričio mėnesį branduolio kūrėjai reaguodamas į kompromisą ir sutiko perkelti dalį kodo iš cinko į pagrindinį branduolį. Iš esmės kai kurie cinko komponentai bus perkelti į branduolį, bet ne kaip atskira API, o kaip Crypto API posistemio dalis. Pavyzdžiui, jau Crypto API paruošta WireGuard Greitas ChaCha20 ir Poly1305 algoritmų įgyvendinimas.
Dėl artėjančio pristatymo WireGuard pagrindinėje komandoje, projekto įkūrėjas apie saugyklos pertvarkymą. Siekiant supaprastinti kūrimą, monolitinė saugykla buvo pakeistaWireGuard„.git“, kuris buvo sukurtas atskirai egzistuoti, gaus tris atskiras saugyklas, kurios geriau tinka darbui su kodu pagrindiniame branduolyje organizuoti:
- — visas branduolio medis su projekto pakeitimais Wireguard, pataisymai, iš kurių bus peržiūrimi, ar jie bus įtraukti į branduolį, ir reguliariai perkeliami į net/net-next šakas.
- - vartotojų erdvėje vykdomų paslaugų ir scenarijų, tokių kaip wg ir wg-quick, saugykla. Saugykla gali būti naudojama kuriant paskirstymo paketus.
- — saugykla su modulio versija, pateikiama atskirai nuo branduolio ir apimanti compat.h sluoksnį, siekiant užtikrinti suderinamumą su senesniais branduoliais. Pirminis kūrimas vyks saugykloje. wireguard-linux.git, tačiau tol, kol bus galimybė ir vartotojų poreikis, bus palaikoma ir atskira pataisymų versija veikiančia forma.
Primename, kad VPN WireGuard Įdiegtas naudojant modernius šifravimo metodus, jis užtikrina labai aukštą našumą, yra paprastas naudoti, nesukelia komplikacijų ir įrodė savo veiksmingumą daugelyje didelio masto diegimų, kuriuose buvo tvarkomi dideli srautai. Projektas kuriamas nuo 2015 m. ir buvo audituotas bei... Naudojami šifravimo metodai. Palaikymas WireGuard Jis jau integruotas į „NetworkManager“ ir „systemd“, o branduolio pataisymai yra įtraukti į bazinius platinimus. , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, и .
В WireGuard Naudojama šifravimo rakto maršrutizavimo koncepcija, kuri apima privataus rakto susiejimą su kiekviena tinklo sąsaja ir jo naudojimą viešojo rakto susiejimui. Viešieji raktai keičiami ryšiui užmegzti panašiai kaip SSH. Norint susitarti dėl raktų ir užmegzti ryšį nepaleidžiant atskiro demono vartotojo erdvėje, naudojamas „Noise_IK“ mechanizmas iš panašus į įgaliotųjų_raktų palaikymą SSH. Duomenų perdavimas vykdomas inkapsuliuojant į UDP paketus. Jis palaiko VPN serverio IP adreso keitimą (tarptinklinį ryšį) neatjungiant ryšio ir automatiškai perkonfigūruojant klientą.
Dėl šifravimo srauto šifras ir pranešimų autentifikavimo algoritmas (MAC) , sukūrė Daniel Bernstein (), Tanya Lange
(Tanja Lange) ir Peter Schwabe. ChaCha20 ir Poly1305 yra išdėstyti kaip greitesni ir saugesni AES-256-CTR ir HMAC analogai, kurių programinė įranga leidžia pasiekti fiksuotą vykdymo laiką nenaudojant specialios aparatinės įrangos. Norint sugeneruoti bendrą slaptąjį raktą, įgyvendinant naudojamas elipsinės kreivės Diffie-Hellman protokolas , taip pat pasiūlė Danielis Bernsteinas. Maišos keitimui naudojamas algoritmas yra .
prie pasirodymas WireGuard parodė 3.9 karto didesnį našumą ir 3.8 karto didesnį reagavimą, palyginti su OpenVPN (256 bitų AES su HMAC-SHA2-256). Palyginti su IPsec (256 bitų ChaCha20+Poly1305 ir AES-256-GCM-128) WireGuard Pastebimas nedidelis našumo pranašumas (13–18 %) ir delsos sumažėjimas (21–23 %). Testai buvo atlikti naudojant paties projekto greitus šifravimo algoritmų įgyvendinimus; perėjimas prie pagrindinės programos „Crypto API“ gali sumažinti našumą.
Šaltinis: opennet.ru
