VPN WireGuard on võetud vastu net-next haru ja on kavandatud kaasamiseks Linuxi tuuma 5.6

David Miller (David S. Miller), kes vastutab Linuxi tuuma võrgusubha jaoks, v<App ja WireGuardi projektist VPN-liidese teostusega. patšid VPN-liidese rakendamisega projektist WireGuard. Järgmise aasta alguses viimased muudatused, mis on kogunenud haru net-next, saavad aluseks Linuxi tuuma 5.6 väljaandmisele.

WireGuardi koodi edendamise katsed peamise tuumaga on kestnud viimased paar aastat, kuid need on tulemuste saavutamata jäänud, kuna need on seotud ooptiliste krüptograafiaga, mis on rakendatud jõudluse parandamiseks. Esialgu olid need funktsioonid pakutakse tuuma jaoks täiendava madalama taseme API Zinc, mis ajapikku võiks asendada tavalise Crypto API.

Pärast läbirääkimisi Kernel Recipes konverentsil, said WireGuardi arendajad septembris kompromisslahenduse oma plaastrite üleviimiseks olemasoleva tuuma Crypto API kasutamiseks, mille osas WireGuardi arendajatel on jõudluse ja üldise turvalisuse osas kaebusi. API Zinc'i otsustati jätkata arendamist, kuid eraldi projektina.

Novembris nõustusid tuuma arendajad läks kompromisslahenduse ja nõustusid viima peamista tuuma osa koodist Zincist. Sisuliselt mõned Zinc'i komponendid viiakse tuuma, kuid mitte kui eraldi API, vaid kui osa Crypto API süsteemist. Näiteks, Crypto API-s on juba lisakujunduse truuduse fondid OpenType formaadis, mida saab kasutada programmis gnome-terminal (pärast HarfBuzz'i kasutusele võtmist on tõusnud probleeme vanade truuduse fontide kasutamisel gnome-terminalis). WireGuardi kiired rakendused algoritmide ChaCha20 ja Poly1305.

Seoses WireGuard'i peamise tuuma toimetamisega, teatas projekti asutaja teatas repository struktuuri muutmise kohta. Arendamise lihtsustamiseks vahetavad monoliitsest repository 'WireGuard.git', mis oli ette nähtud iseseiliseks eksisteerimiseks, kolm eraldi repository-d, mis sobivad paremini kooditöö korraldamiseks peamises tuumas:

  • wireguard-linux.git — täielik tuuma puu muudatustega Wireguard'i projektist, mille plaastrid ülevaatamiseks sisestatakse tuuma ja regulaarselt kantakse üle harudesse net/net-next.
  • wireguard-tools.git — repository kasutatavates kasulikes utiliitides ja skriptides, nagu wg ja wg-quick. Repository-d saab kasutada pakettide loomiseks jaotustele.
  • wireguard-linux-compat.git — hoidla, mis sisaldab mooduliversiooni, mis on eraldatud tuumast ja sisaldab compat.h kihti, et tagada ühilduvus vanade tuumadega. Peamine arendus käib hoidlas wireguard-linux.git, kuid seni, kuni kasutajatel on vajadus ja võimalus, toetatakse ka eraldi patšide versiooni.

Tuletame meelde, et VPN WireGuard põhineb kaasaegsetel krüpteerimismeetoditel, pakub väga kõrget jõudlust, on lihtne kasutada, puuduvad keerukused ning on end tõestanud mitmes suures rakenduses, mis töötlevad suuri andmemahtusid. Projekt on käinud alates 2015. aastast, läbinud audit ja formaalse kontrollimise rakendatud krüpteerimismeetodite osas. WireGuard'i tugi on juba integreeritud NetworkManagerisse ja systemd-sse, ning tuuma patch'id kuuluvad jaotuste põhikoosseisu Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ja ALT.

WireGuard kasutab krüpteerimisvõtmete põhist marsruutimise kontseptsiooni, mis tähendab, et iga võrgu liidese jaoks seostatakse privaatvõti ja avalike võtmete sidumine toimub sarnaselt SSH-le. Avalike võtmete vahetamine ühenduse loomise jaoks toimub sama printsiibi järgi nagu SSH-s. Võtmete kokku leppimiseks ja ühenduse loomiseks ilma eraldi kasutajaruumis deemonit käivitamata kasutatakse mehhanismi Noise_IK Noise Protocol Framework, sarnane authorized_keys hooldamisele SSH-s. Andmete edastamine toimub UDP-pakettide kapseldamise kaudu. Toetatakse VPN-serveri IP-aadressi muutmist (rändamine) ilma ühenduse katkestamiseta ja kliendi automaatset ümberkonfigureerimist.

Krüpteerimiseks kasutatakse voosredensus ChaCha20 ja sõnumite autentimise algoritm (MAC) Poly1305, mille on töötanud välja Daniel Bernstein (Daniel J. Bernstein), Tanja Lange
(Tanja Lange) ja Peter Schwabe (Peter Schwabe). ChaCha20 ja Poly1305 on esitatud kiiremate ja turvalisemate variantidena AES-256-CTR ja HMAC, mille tarkvaraline teostus võimaldab saavutada fikseeritud töötlemisaega ilma spetsiaalse riistvaratoe kaasamiseta. Ühise salajase võtme genereerimiseks kasutatakse elliptsete kõverate järgi töötavat Diffie-Hellmani protokolli, mille teostas Curve25519, samuti Daniel Bernstein'i ettepanek. Hashimise jaoks kasutatakse algoritmi BLAKE2s (RFC7693).

Kaugjuhtimisega testimise WireGuard'i jõudlus näitas 3,9 korda suuremat läbilaskevõimet ja 3,8 korda paremat reageerimiskiirus võrreldes OpenVPN'iga (256-bit AES koos HMAC-SHA2-256). Võrreldes IPsec'iga (256-bit ChaCha20+Poly1305 ja AES-256-GCM-128) on WireGuard'il veidi parem jõudlus (13-18%) ja madalam viivitus (21-23%). Testid viidi läbi arenduste käigus kiirete krüptimisalgoritmide rakendustega - üleminek tuuma standardsetele Crypto API-dele võib tulemusi halvendada.

VPN WireGuard on võetud vastu net-next haru ja on kavandatud kaasamiseks Linuxi tuuma 5.6

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster