Linus dnes presunul vetvu net-next s VPN rozhraniami do svojej vetvy. O tejto udalosti v zozname adries WireGuard.

Zber kódu pre nové jadro momentálne prebieha. Linux 5.6. WireGuard — rýchla VPN novej generácie, ktorá implementuje modernú kryptografiu. Pôvodne bola vyvinutá ako jednoduchšia a pohodlnejšia alternatíva k existujúcim VPN. Vyvinul ju kanadský špecialista na informačnú bezpečnosť Jason A. Donenfeld. V auguste 2018 WireGuard Od Linusa Torvaldsa. Približne v tom čase sa začali práce na začlenení VPN do jadra. LinuxProces trval trochu dlhšie.
„Vidím, že Jason odoslal žiadosť o stiahnutie obsahu, aby ju zahrnul WireGuard „do jadra,“ napísal Linus 2. augusta 2018. „Môžem len zopakovať svoju lásku k tejto VPN a dúfať v rýchle zlúčenie? Kód možno nie je dokonalý, ale pozrel som sa naň a porovnal ho s hrôzami OpenVPN a IPSec, je to skutočné umelecké dielo.“
Napriek Linusovým želaniam sa fúzia natiahla rok a pol. Hlavným problémom sa ukázala byť vzájomná závislosť proprietárnych implementácií kryptografických funkcií používaných na zlepšenie výkonu. Po zdĺhavých rokovaniach sa v septembri 2019 dosiahla dohoda. preložiť záplaty do funkcií rozhrania Crypto API dostupných v jadre, ku ktorým majú vývojári prístup WireGuard Vyskytli sa určité sťažnosti týkajúce sa výkonu a celkovej bezpečnosti. Natívne krypto funkcie však problém vyriešili. WireGuard samostatné nízkoúrovňové API rozhrania Zinc a ich postupné portovanie do jadra. V novembri vývojári jadra dodržali svoj sľub a Presuň časť kódu zo Zincu do hlavného jadra. Napríklad do rozhrania Crypto API. pripravené v WireGuard Rýchle implementácie algoritmov ChaCha20 a Poly1305.
Nakoniec, 9. decembra 2019, David S. Miller, ktorý je zodpovedný za sieťový subsystém jadra, Linux, do siete-ďalšia pobočka s implementáciou VPN rozhrania z projektu WireGuard.
A dnes, 29. januára 2020, boli zmeny odoslané Linusovi na zahrnutie do jadra.

Nárokované výhody WireGuard v porovnaní s inými riešeniami VPN:
- Jednoduché použitie.
- Používa modernú kryptografiu: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF atď.
- Kompaktný, čitateľný kód, ktorý sa dá ľahšie preskúmať z hľadiska zraniteľnosti.
- Vysoký výkon.
- Prehľadné a dobre navrhnuté .
Všetka základná logika WireGuard vyžaduje menej ako 4000 riadkov kódu, zatiaľ čo OpenVPN a IPSec má stovky tisíc riadkov.
„V. WireGuard Používa sa koncept smerovania šifrovacích kľúčov, ktorý zahŕňa viazanie súkromného kľúča na každé sieťové rozhranie a jeho použitie na viazanie verejného kľúča. Verejné kľúče sa vymieňajú na vytvorenie pripojenia podobným spôsobom ako SSH. Na vyjednávanie kľúčov a vytvorenie pripojenia bez spustenia samostatného démona v používateľskom priestore sa používa mechanizmus Noise_IK z , podobne ako udržiavanie authorized_keys v SSH. Prenos dát sa vykonáva prostredníctvom zapuzdrenia v UDP paketoch. Podporovaná je zmena IP adresy VPN servera (roaming) bez prerušenia pripojenia s automatickou rekonfiguráciou klienta. Opennet.
Pre šifrovanie prúdová šifra a algoritmus overovania správ (MAC) , ktorý navrhol Daniel Bernstein (), Tanja Lange a Peter Schwabe. ChaCha20 a Poly1305 sú umiestnené ako rýchlejšie a bezpečnejšie alternatívy k AES-256-CTR a HMAC, ktorých softvérová implementácia umožňuje fixný čas vykonávania bez potreby špeciálnej hardvérovej podpory. Na generovanie zdieľaného tajného kľúča sa používa protokol Diffie-Hellman s eliptickou krivkou. , ktorú navrhol aj Daniel Bernstein. Algoritmus používaný na hashovanie je ".
výsledky z oficiálnej stránky:
Šírka pásma (Mbps)

Ping (ms)

Testovacia konfigurácia:
- Intel Core i7-3820QM a Intel Core i7-5200U
- Gigabitové karty Intel 82579LM a Intel I218LM
- Linux 4.6.1
- konfigurácia WireGuard256-bitový ChaCha20 s Poly1305 pre MAC
- Prvá konfigurácia IPsec: 256-bitový ChaCha20 s Poly1305 pre MAC
- Druhá konfigurácia IPsec: AES-256-GCM-128 (s AES-NI)
- konfigurácia OpenVPNekvivalentná šifrovacia sada 256-bitového AES s HMAC-SHA2-256, režim UDP
- Výkonnosť sa merala pomocou
iperf3, zobrazuje sa priemerný výsledok za 30 minút.
Teoreticky, po integrácii do sieťového zásobníka WireGuard malo by fungovať ešte rýchlejšie. V skutočnosti to však nemusí byť nevyhnutne kvôli prechodu na vstavané kryptografické funkcie rozhrania Crypto API. Je možné, že nie všetky sú ešte optimalizované na úroveň výkonu natívnej verzie. WireGuard.
„Z môjho pohľadu, WireGuard Je to úplne ideálne pre používateľa. V špecifikácii sú zohľadnené všetky rozhodnutia na nízkej úrovni, takže nastavenie typickej VPN infraštruktúry trvá len niekoľko minút. Je prakticky nemožné pokaziť konfiguráciu. na Habr v roku 2018. — Proces inštalácie na oficiálnej webovej stránke by som chcel osobitne poznamenať vynikajúce „Táto jednoduchosť používania a kompaktná kódová základňa sa dosiahla elimináciou distribúcie kľúčov. Neexistuje žiadny zložitý systém certifikátov ani firemný neporiadok; krátke šifrovacie kľúče sa distribuujú podobne ako SSH kľúče.“
Projekt WireGuard sa vyvíja od roku 2015, bol auditovaný a . podpora WireGuard integrované do NetworkManageru a systemd a záplaty jadra sú zahrnuté v základných distribúciách Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph a ALT.
Zdroj: hab.com
