lansarea emblematică a VPN-ului , care a marcat livrarea componentelor WireGuard în nucleul principal și stabilizarea dezvoltării. Codul inclus în nucleul Linux un audit de securitate suplimentar, efectuat de o firmă independentă specializată în astfel de verificări. Auditul nu a identificat probleme.
Deoarece WireGuard este acum dezvoltat în nucleul principal al Linux, pentru distribuții și utilizatori care continuă să utilizeze versiuni mai vechi ale nucleului, a fost pregătit un depozit . Depozitul include codul WireGuard backportat și stratul compat.h pentru a asigura compatibilitatea cu nucleele mai vechi. Se menționează că, deocamdată, având în vedere posibilitățile dezvoltatorilor și nevoia utilizatorilor, o variantă separată a patch-urilor va fi menținută în stare funcțională. În forma actuală, varianta separată a WireGuard poate fi utilizată cu nuclee din și , de asemenea, disponibilă ca patch-uri pentru nucleele Linux și . Distribuții care folosesc cele mai recente nuclee, cum ar fi Arch, Gentoo și
Fedora 32, vor avea posibilitatea de a folosi WireGuard odată cu actualizarea nucleului 5.6.
Procesul principal de dezvoltare se desfășoară acum în depozitul , care include întreaga structură a nucleului Linux cu modificările de la proiectul Wireguard. Patch-urile din acest depozit vor fi revizuite pentru includerea în nucleul principal și vor fi transferate regulat în ramurile net/net-next. Dezvoltarea utilitarelor și scripturilor care rulează în spațiul utilizatorului, cum ar fi wg și wg-quick, se desfășoară în depozitul , care poate fi utilizat pentru crearea pachetelor în distribuții.
Reamintim că VPN WireGuard este implementat pe baza unor metode de criptare moderne, oferă o performanță foarte ridicată, este simplu de utilizat, lipsit de complicații și a demonstrat un istoric de succes în mai multe implementări mari, care gestionează volume mari de trafic. Proiectul este în dezvoltare din 2015, a trecut prin audit și metodele de criptare utilizate. Suportul pentru WireGuard este deja integrat în NetworkManager și systemd, iar patch-urile pentru nucleu sunt incluse în pachetul de bază al distribuțiilor , Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, și .
WireGuard folosește conceptul de rutare pe baza cheilor de criptare, care implică asocierea unei chei private fiecărui interval de rețea și utilizarea acesteia pentru conectarea cheilor publice. Schimbul de chei publice pentru stabilirea conexiunii se realizează analogic cu SSH. Pentru negocierea cheilor și conexiunea fără a lansa un demon separat în spațiul utilizatorului se utilizează mecanismul Noise_IK din , similar cu întreținerea authorized_keys în SSH. Transferul de date se realizează prin encapsularea în pachete UDP. Este acceptată schimbarea adresei IP a serverului VPN (roaming) fără întreruperea conexiunii cu reconectare automată a clientului.
Pentru criptare fluxul de criptare și algoritmul de autentificare a mesajelor (MAC) , dezvoltați de Daniel Bernstein (), Tanja Lange
(Tanja Lange) și Peter Schwabe (Peter Schwabe). ChaCha20 și Poly1305 sunt poziționate ca fiind alternative mai rapide și mai sigure la AES-256-CTR și HMAC, realizarea software-ului permite obținerea unui timp de execuție fix fără utilizarea unui suport hardware special. Pentru generarea cheii secrete comune, se utilizează protocolul Diffie-Hellman pe curbe eliptice în implementare. , de asemenea, propus de Daniel Bernstein. Algoritmul utilizat pentru hash-uri este .
La vechi performanța WireGuard a demonstrat o lățime de bandă cu 3,9 ori mai mare și o reacție cu 3,8 ori mai bună, comparativ cu OpenVPN (AES 256-bit c HMAC-SHA2-256). Comparativ cu IPsec (ChaCha20+Poly1305 256-bit și AES-256-GCM-128), WireGuard arată un ușor avantaj în performanță (13-18%) și o reducere a latențelor (21-23%). Rezultatele testării publicate pe site-ul proiectului acoperă vechea implementare separată a WireGuard și sunt marcate ca fiind de calitate insuficientă. Din momentul în care au fost efectuate testele, codul WireGuard și IPsec a fost optimizat suplimentar și acum funcționează mai repede. Un test mai complet, care să acopere implementarea integrată în kernel, nu a fost efectuat până acum. Cu toate acestea, se observă că WireGuard în unele situații încă depășește IPsec datorită multithreading-ului, în timp ce OpenVPN rămâne foarte lent.
Sursa: opennet.ro
