VPN WireGuard është pranuar në degën net-next dhe planifikohet të përfshihet në bërthamën Linux 5.6

David Miller (David S. Miller), i cili është përgjegjës për nëndegën e rrjetit të bërthamës Linux, pranoi si pjesë e degës net-next patches me implementimin e ndërfaqes VPN nga projekti WireGuard. Në fillim të vitit të ardhshëm, ndryshimet që grumbullohen në degën net-next do të formojnë bazën e versionit të bërthamës Linux 5.6.

Përpjekjet për të avancuar kodin e WireGuard në bërthamë janë bërë gjatë disa viteve të fundit, por kanë mbetur pa rezultat për shkak të lidhjes me implementimet e veta të funksioneve kriptografike, që janë përdorur për të rritur performancën. Fillimisht, këto funksione u krijuan u propozuan për bërthamën si një API të ulët shtesë të Zinc, i cili me kalimin e kohës do të mund të zëvendësojë API-në standarde Crypto.

Pas negociatave në konferencën Kernel Recipes, krijuesit e WireGuard në shtator pranuan një zgjidhje kompromisi për të transferuar patch-et e tyre në përdorim të API-t Crypto të pranishëm në bërthamë, për të cilin zhvilluesit e WireGuard kanë shqetësime në lidhje me performancën dhe sigurinë e përgjithshme. API Zinc u vendos të vazhdojë të zhvillohet, por si një projekt i veçantë.

Në nëntor, zhvilluesit e bërthamës shkuan në një kompromis të kthyer dhe ranë dakord të transferojnë një pjesë të kodit nga Zinc në bërthamë. Në thelb, disa komponentë të Zinc do të transferohen në bërthamë, por jo si një API i veçantë, përkundrazi si pjesë e nënstrukturës API Crypto. Për shembull, në API-në Crypto tashmë are packages with proprietary NVIDIA drivers. For systems with NVIDIA graphics chips, free "Nouveau" drivers continue to be offered by default, while proprietary drivers are available as an option for quick installation after the installation is completed; janë përgatitur në WireGuard implementime të shpejta të algoritmeve ChaCha20 dhe Poly1305.

Në lidhje me shpërndarjen e ardhshme të WireGuard në bërthamën kryesore, themeluesi i projektit njoftoi rreth ristrukturimit të depozitës. Për të lehtësuar zhvillimin, në vend të depozitës monolitike ‘WireGuard.git’, e cila ishte e projektuar për ekzistencë të veçantë, do të vijnë tri depozita të veçanta, më të përshtatshme për organizimin e punës me kodin në bërthamën kryesore:

  • wireguard-linux.git — një pemë e plotë bërthamore me ndryshimet nga projekti Wireguard, patch-et e të cilit do të shqyrtohen për përfshirje në bërthamë dhe do të transferohen rregullisht në degët net/net-next.
  • wireguard-tools.git — një depo për utilitetet dhe skriptet që ekzekutohen në hapësirën e përdoruesit, si wg dhe wg-quick. Depozita mund të përdoret për të krijuar paketa për shpërndarësit.
  • wireguard-linux-compat.git — një depo me variantin e modulit, i ofruar veçmas nga bërthama dhe që përmban shtresën compat.h për të siguruar pajtueshmërinë me bërthamat e vjetra. Zhvillimi kryesor do të zhvillohet në depon wireguard-linux.git, por derisa ekziston mundësia dhe nevoja nga përdoruesit, një variant i veçantë i patches do të përkrahët gjithashtu në një formë funksionale.

Kujtojmë se VPN WireGuard është realizuar mbi baza metodash moderne të enkriptimit, siguron performancë shumë të lartë, është i lehtë për tu përdorur, pa ndërlikime dhe ka treguar rezultate të shkëlqyera në disa implementime të mëdha që trajtojnë volume të mëdha trafiku. Projekti është zhvilluar që nga viti 2015, ka kaluar auditimin dhe verifikimin formal e metodave të enkriptimit. Mbështetje për WireGuard është tashmë e integruar në NetworkManager dhe systemd, dhe patches për bërthamën përfshihen në përbërjen themelore të distribucioneve Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph dhe ALT.

Në WireGuard aplikohet koncepti i ruterimit sipas çelësave të enkriptimit, duke nënkuptuar lidhjen e çdo ndërfaqe rrjeti me çelësin e mbyllur dhe përdorimin për lidhjen e çelësave të hapur. Ndryshimi i çelësave të hapur për të vendosur një lidhje bëhet në mënyrë të ngjashme me SSH. Për pajtimin e çelësave dhe lidhjen pa e nisur një demon të veçantë në hapësirën e përdoruesit aplikohet mekanizmi Noise_IK nga Noise Protocol Framework, i ngjashëm me mbajtjen e authorized_keys në SSH. Shkëmbimi i të dhënave realizohet përmes inkapsulimit në paketa UDP. Mbështetet ndryshimi i adresës IP të serverit VPN (roaming) pa ndërprerje të lidhjes dhe me ri-konfigurimin automatik të klientit.

Për enkriptimin përdoret rrjedha e enkriptimit ChaCha20 dhe algoritmi i autentifikimit të mesazheve (MAC) Poly1305, të zhvilluar nga Daniel Bernstein (Daniel J. Bernstein), Tanja Lange
(Tanja Lange) dhe Peter Schwabe (Peter Schwabe). ChaCha20 dhe Poly1305 pozicionohen si analoge më të shpejta dhe më të sigurta të AES-256-CTR dhe HMAC, implementimi software që lejon arritjen e një kohe fikse ekzekutimi pa angazhim të mbështetjes speciale harduerike. Për gjenerimin e çelësit sekret të përbashkët aplikohet protokolli i Diffie-Hellman mbi kurba eliptike në realizimin Curve25519, gjithashtu e propozuar nga Daniel Bernstein. Për hashing përdoren algoritmi BLAKE2s (RFC7693).

Kur testimit Performancei i WireGuard tregoi një kapacitet 3.9 herë më të lartë dhe një ndjeshmëri 3.8 herë më të lartë, krahasuar me OpenVPN (256-bit AES me HMAC-SHA2-256). Krahasuar me IPsec (256-bit ChaCha20+Poly1305 dhe AES-256-GCM-128), WireGuard tregon një avantazh të vogël në performancë (13-18%) dhe ulje të vonesave (21-23%). Testet u kryen duke përdorur implementimet e shpejta të algoritheve të enkriptimit të zhvilluara nga projekti — kalimi në Crypto API standard të bërthamës mund të sjellë përkeqësim të rezultateve.

VPN WireGuard është pranuar në degën net-next dhe planifikohet të përfshihet në bërthamën Linux 5.6

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster