David Miller (), i cili është përgjegjës për nëndegën e rrjetit të bërthamës Linux, si pjesë e degës net-next me implementimin e ndërfaqes VPN nga projekti . 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 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 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 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ë 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 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:
- â 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.
- â 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.
- â 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 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 , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, dhe .
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 , 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 rrjedha e enkriptimit dhe algoritmi i autentifikimit të mesazheve (MAC) , të zhvilluar nga Daniel 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 , gjithashtu e propozuar nga Daniel Bernstein. Për hashing përdoren algoritmi .
Kur 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.
Burimi: opennet.ru
