Sot Linus zhvendosi degën net-next me ndërfaqe VPN tek vetja . Në lidhje me këtë ngjarje në listën e postimeve WireGuard.

Mbledhja e kodit pĂ«r kernelin e ri Ă«shtĂ« aktualisht nĂ« vazhdim. Linux 5.6. WireGuard â njĂ« VPN e shpejtĂ« e gjeneratĂ«s sĂ« ardhshme qĂ« zbaton kriptografinĂ« moderne. Fillimisht u zhvillua si njĂ« alternativĂ« mĂ« e thjeshtĂ« dhe mĂ« e pĂ«rshtatshme ndaj VPN-ve ekzistuese. U zhvillua nga specialisti kanadez i sigurisĂ« sĂ« informacionit Jason A. Donenfeld. NĂ« gusht 2018, WireGuard Nga Linus Torvalds. Rreth asaj kohe, filloi puna pĂ«r pĂ«rfshirjen e VPN nĂ« bĂ«rthamĂ«. LinuxProcesi zgjati pak mĂ« shumĂ«.
"Shoh që Jason bëri një kërkesë tërheqjeje për të përfshirë WireGuard "në bërthamë," shkroi Linus më 2 gusht 2018. "A mund ta përsëris dashurinë time për këtë VPN dhe të shpresoj për një bashkim të shpejtë? Kodi mund të mos jetë perfekt, por e kam parë dhe e kam krahasuar me tmerret OpenVPN dhe IPSec, është një vepër e vërtetë arti."
Pavarësisht dëshirës së Linusit, bashkimi u zvarrit për një vit e gjysmë. Problemi kryesor doli të ishte i lidhur me zbatimet e pronarit të funksioneve kriptografike, të cilat u përdorën për të përmirësuar performancën. Pas negociatave të gjata në shtator 2019 ishte përktheni patch-et në funksionet Crypto API të disponueshme në kernel, në të cilat zhvilluesit kanë qasje WireGuard Pati disa ankesa në lidhje me performancën dhe sigurinë e përgjithshme. Por funksionet native të kriptos e zgjidhën problemin. WireGuard ndani API-të e zinkut të nivelit të ulët dhe transferojini ato në bërthamë me kalimin e kohës. Në nëntor, zhvilluesit e bërthamës e mbajtën premtimin e tyre dhe transferoni një pjesë të kodit nga Zinku në kernelin kryesor. Për shembull, në Crypto API përgatitur në WireGuard Implementime të shpejta të algoritmeve ChaCha20 dhe Poly1305.
Më në fund, më 9 dhjetor 2019, David S. Miller, i cili është përgjegjës për nënsistemin e rrjetëzimit të bërthamës, Linux, në degën net-next me zbatimin e ndërfaqes VPN nga projekti WireGuard.
Dhe sot, 29 janar 2020, ndryshimet shkuan te Linus për t'u përfshirë në kernel.

Përfitimet e pretenduara WireGuard mbi zgjidhjet e tjera VPN:
- LehtĂ« pĂ«r tâu pĂ«rdorur.
- Përdor kriptografinë moderne: kornizën e protokollit të zhurmës, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, etj.
- Kod kompakt, i lexueshëm, më i lehtë për t'u hetuar për dobësi.
- Performanca e lartë
- E qartë dhe e përpunuar .
E gjithë logjika themelore WireGuard merr më pak se 4000 rreshta kodi, ndërsa OpenVPN dhe IPSec është qindra mijëra linja.
"NĂ WireGuard PĂ«rdoret koncepti i rrugĂ«zimit tĂ« çelĂ«sit tĂ« enkriptimit, i cili pĂ«rfshin lidhjen e njĂ« çelĂ«si privat nĂ« secilĂ«n ndĂ«rfaqe rrjeti dhe pĂ«rdorimin e tij pĂ«r lidhjen e çelĂ«sit 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Ă« krijuar njĂ« lidhje pa ekzekutuar njĂ« daemon tĂ« veçantĂ« nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, mekanizmi Noise_IK nga ngjashĂ«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 me rikonfigurimin automatik tĂ« klientit, - Opennet.
Për kriptim shifra e rrjedhës dhe algoritmi i vërtetimit të mesazheve (MAC) , projektuar nga Daniel Bernstein (), 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 , propozuar edhe nga Daniel Bernstein. Algoritmi i përdorur për hash është '.
Gjetjet nga faqja zyrtare:
Gjerësia e brezit (megabit/s)

Ping (ms)

Konfigurimi i testit:
- Intel Core i7-3820QM dhe Intel Core i7-5200U
- Kartat Gigabit Intel 82579LM dhe Intel I218LM
- Linux 4.6.1
- konfiguracion WireGuard: ChaCha20 256-bit me Poly1305 për MAC
- Konfigurimi i parë IPsec: 256-bit ChaCha20 me Poly1305 për MAC
- Konfigurimi i dytë IPsec: AES-256-GCM-128 (me AES-NI)
- konfiguracion OpenVPNsuitë ekuivalente e shifrave të AES 256-bit me HMAC-SHA2-256, modalitetin UDP
- Performanca u mat duke përdorur
iperf3, tregon rezultatin mesatar për 30 minuta.
Teorikisht, pas integrimit nĂ« rrjetin e grumbullit WireGuard duhet tĂ« funksionojĂ« edhe mĂ« shpejt. Por nĂ« realitet, kjo nuk do tĂ« jetĂ« domosdoshmĂ«risht rasti pĂ«r shkak tĂ« kalimit nĂ« funksionet kriptografike tĂ« integruara tĂ« Crypto API. ĂshtĂ« e mundur qĂ« jo tĂ« gjitha prej tyre janĂ« ende tĂ« optimizuara pĂ«r nivelin e performancĂ«s sĂ« versionit vendas. WireGuard.
"Nga kĂ«ndvĂ«shtrimi im, WireGuard ĂshtĂ« absolutisht ideale pĂ«r pĂ«rdoruesin. TĂ« gjitha vendimet e nivelit tĂ« ulĂ«t merren parasysh nĂ« specifikim, kĂ«shtu qĂ« konfigurimi i njĂ« infrastrukture tipike VPN zgjat vetĂ«m disa minuta. ĂshtĂ« praktikisht e pamundur tĂ« prishĂ«sh konfigurimin. nĂ« HabrĂ© nĂ« 2018. â Procesi i instalimit nĂ« faqen zyrtare, unĂ« do tĂ« doja tĂ« shĂ«noja veçmas tĂ« shkĂ«lqyerat . Kjo lehtĂ«si e pĂ«rdorimit dhe kompaktĂ«sia e bazĂ«s sĂ« kodit u arrit duke eliminuar shpĂ«rndarjen e çelĂ«save. Nuk ka asnjĂ« sistem kompleks certifikimi dhe gjithĂ« kĂ«tĂ« tmerr tĂ« korporatĂ«s; çelĂ«sat e shkurtĂ«r tĂ« enkriptimit shpĂ«rndahen njĂ«soj si çelĂ«sat SSH.
Projekt WireGuard është zhvilluar që nga viti 2015, është audituar dhe . Mbështetëse WireGuard të integruara në NetworkManager dhe systemd, dhe patch-et e kernelit përfshihen në shpërndarjet bazë. Debian I paqëndrueshëm, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph dhe ALT.
Burimi: www.habr.com
