VPN WireGuard është pranuar në degën net-next dhe është planifikuar për t'u përfshirë në kernel Linux 5.6

David Miller (David S. Miller), përgjegjës për nënsistemin e rrjetit të kernelit Linux, pranuar në degën net-next arna me zbatimin e ndërfaqes VPN nga projekti WireGuard. Në fillim të vitit të ardhshëm, ndryshimet e grumbulluara në degën net-next do të formojnë bazën për lëshimin e kernelit Linux 5.6.

Përpjekjet për të futur kodin WireGuard në kernelin kryesor janë bërë gjatë viteve të fundit, por mbetën të pasuksesshme për shkak të lidhjes me implementimet pronësore të funksioneve kriptografike që u përdorën për të përmirësuar performancën. Fillimisht, këto funksione ishin propozuar për kernelin si një API shtesë e zinkut të nivelit të ulët, i cili përfundimisht mund të zëvendësojë API-në standarde Crypto.

Pas diskutimeve në konferencën Kernel Recipes, krijuesit e WireGuard në shtator mori një vendim kompromisi transferoni arnimet tuaja për të përdorur Crypto API-në e disponueshme në thelbin, ndaj të cilit zhvilluesit e WireGuard kanë ankesa në fushën e performancës dhe sigurisë së përgjithshme. U vendos që të vazhdojë zhvillimi i API-së së Zincit, por si një projekt më vete.

Në nëntor, zhvilluesit e kernelit shkoi në përgjigje të një kompromisi dhe ranë dakord për të transferuar një pjesë të kodit nga Zinku në kernelin kryesor. Në thelb, disa përbërës të zinkut do të zhvendosen në thelbin, por jo si një API më vete, por si pjesë e nënsistemit Crypto API. Për shembull, Crypto API tashmë përfshirë implementime të shpejta të algoritmeve ChaCha20 dhe Poly1305 të përgatitura në WireGuard.

Në lidhje me dorëzimin e ardhshëm të WireGuard në thelbin kryesor, themeluesi i projektit i shpallur në lidhje me ristrukturimin e depove. Për të thjeshtuar zhvillimin, depoja monolit "WireGuard.git", e cila u krijua për të ekzistuar në izolim, do të zëvendësohet nga tre depo të veçanta, më të përshtatshme për organizimin e punës me kod në kernelin kryesor:

  • tel-mbrojtës-linux.git - një pemë e plotë kernel me ndryshime nga projekti Wireguard, arna nga të cilat do të rishikohen për t'u përfshirë në kernel dhe do të transferohen rregullisht në degët net/net-next.
  • tel-mbrojtës-vegla.git - një depo për shërbimet dhe skriptet e ekzekutuara në hapësirën e përdoruesit, si wg dhe wg-quick. Depoja mund të përdoret për të krijuar paketa për shpërndarje.
  • tel-mbrojtës-linux-kompat.git - një depo me një variant të modulit, të ofruar veçmas nga kerneli dhe duke përfshirë shtresën compat.h për të siguruar përputhshmëri me kernelët më të vjetër. Zhvillimi kryesor do të kryhet në depon e wireguard-linux.git, por për sa kohë që ka një mundësi dhe nevojë midis përdoruesve, një version i veçantë i arnimeve do të mbështetet gjithashtu në formë pune.

Ju kujtojmë se VPN WireGuard zbatohet në bazë të metodave moderne të kriptimit, ofron performancë shumë të lartë, është i lehtë për t'u përdorur, pa komplikime dhe e ka dëshmuar veten në një sërë vendosjesh të mëdha që përpunojnë vëllime të mëdha trafiku. Projekti është duke u zhvilluar që nga viti 2015, është audituar dhe verifikimi zyrtar metodat e përdorura të enkriptimit. Mbështetja e WireGuard është tashmë e integruar në NetworkManager dhe systemd, dhe arna të kernelit janë përfshirë në shpërndarjet bazë Debian e paqëndrueshme, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Nëngrafi и ALT.

WireGuard përdor konceptin e drejtimit të çelësit të enkriptimit, i cili përfshin bashkimin e një çelësi privat në secilën ndërfaqe të rrjetit dhe përdorimin e tij për të lidhur çelësat publikë. Çelësat publikë shkëmbehen për të krijuar një lidhje në një mënyrë të ngjashme me SSH. Për të negociuar çelësat dhe për t'u lidhur pa ekzekutuar një demon të veçantë në hapësirën e përdoruesit, mekanizmi Noise_IK nga Korniza e Protokollit të Zhurmësngjashëm me mbajtjen e autorizuar_çelësave në SSH. Transmetimi i të dhënave kryhet përmes kapsulimit në pako UDP. Ai mbështet ndryshimin e adresës IP të serverit VPN (roaming) pa shkëputur lidhjen dhe rikonfigurimin automatik të klientit.

Për kriptim përdoret shifra e rrjedhës ChaCha20 dhe algoritmi i vërtetimit të mesazheve (MAC) Poly1305, projektuar nga Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) dhe Peter Schwabe. ChaCha20 dhe Poly1305 pozicionohen si analoge më të shpejtë dhe më të sigurt të AES-256-CTR dhe HMAC, zbatimi i softuerit të të cilave lejon arritjen e një kohe fikse ekzekutimi pa përdorimin e mbështetjes speciale të harduerit. Për të gjeneruar një çelës sekret të përbashkët, në zbatim përdoret protokolli i kurbës eliptike Diffie-Hellman Curve25519, propozuar edhe nga Daniel Bernstein. Algoritmi i përdorur për hash është BLAKE2s (RFC7693).

duke testuar Performanca WireGuard demonstroi 3.9 herë xhiros më të lartë dhe 3.8 herë reagim më të lartë në krahasim me OpenVPN (AES 256-bit me HMAC-SHA2-256). Krahasuar me IPsec (256-bit ChaCha20+Poly1305 dhe AES-256-GCM-128), WireGuard tregon një përmirësim të lehtë të performancës (13-18%) dhe vonesë më të ulët (21-23%). Testet u kryen duke përdorur zbatime të shpejta të algoritmeve të kriptimit të zhvilluara nga projekti - transferimi në API standarde Crypto të kernelit mund të çojë në performancë më të keqe.

VPN WireGuard është pranuar në degën net-next dhe është planifikuar për t'u përfshirë në kernel Linux 5.6

Burimi: opennet.ru

Shto një koment