Gaur Linusek VPN interfazeekin net-next adarra eraman du beregana WireGuard. Gertaera honi buruz ΡΠΎΠΎΠ±ΡΠΈΠ»ΠΈ WireGuard posta-zerrendan.
Linux 5.6 kernel berrirako kode bilketa abian da. WireGuard kriptografia modernoa ezartzen duen hurrengo belaunaldiko VPN azkarra da. Hasieran lehendik zeuden VPNen alternatiba sinpleago eta erosoago gisa garatu zen. Egilea Jason A. Donenfeld Kanadako informazioaren segurtasuneko espezialista da. 2018ko abuztuan, WireGuard laudorioak jaso zituen Egilea: Linus Torvalds. Garai hartan, VPN Linux nukleoan sartzeko lanak hasi ziren. Prozesua pixka bat luzeagoa izan zen.
"Ikusten dut Jasonek tira eskaera egin duela WireGuard nukleoan sartzeko", idatzi zuen Linusek 2ko abuztuaren 2018an. - Berriro ere deklaratu al dezaket VPN honenganako maitasuna eta laster bateratzea espero al dut? Kodea ez da perfektua, baina begiratu nuen, eta OpenVPN eta IPSec-en izugarrikeriarekin alderatuta, benetako artelana da".
Linusek nahi zuen arren, fusioa urte eta erdiz luzatu zen. Arazo nagusia funtzio kriptografikoen inplementazio jabedunekin lotuta zegoen, errendimendua hobetzeko erabiltzen zirenak. 2019ko irailean negoziazio luzeen ostean hala izan zen konpromisozko erabakia hartu zen itzultzeko adabakiak nukleoan eskuragarri dauden Crypto API funtzioetara, WireGuard-eko garatzaileek errendimenduaren eta segurtasun orokorraren alorrean kexak dituzte. Baina jatorrizko WireGuard kripto-funtzioak maila baxuko Zinc API bereizi batean bereiztea erabaki zuten eta azkenean kernelera eramatea erabaki zuten. Azaroan, nukleoko garatzaileek hitza bete zuten eta adostu transferitu kodearen zati bat Zinc-etik nukleo nagusira. Adibidez, Crypto APIan barne WireGuard-en prestatutako ChaCha20 eta Poly1305 algoritmoen inplementazio azkarrak.
Azkenik, 9ko abenduaren 2019an, David S. Miller, Linux nukleoaren sareko azpisistemaren arduraduna, onartua net-hurrengo adarra adabakiak WireGuard proiektuko VPN interfazearen ezarpenarekin.
Eta gaur, 29ko urtarrilaren 2020an, aldaketak Linus-era joan ziren nukleoan sartzeko.
WireGuard-ek beste VPN irtenbide batzuen aldean dituen abantailak aldarrikatuak:
Erabilera erraza.
Kriptografia modernoa erabiltzen du: Noise protokolo markoa, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, etab.
Kode trinkoa eta irakurgarria, ahultasunak ikertzeko errazagoa.
WireGuard-en oinarrizko logika guztiak 4000 kode-lerro baino gutxiago hartzen ditu, eta OpenVPN eta IPSec-ek ehunka mila lerro behar dituzte.
"WireGuard-ek enkriptazio-gakoen bideratzearen kontzeptua erabiltzen du, hau da, sareko interfaze bakoitzari gako pribatu bat eranstea eta hura lotzeko gako publikoak erabiltzea. Gako publikoak trukatzen dira konexio bat ezartzeko SSH-ren antzera. Gakoak negoziatzeko eta erabiltzailearen espazioan deabru bereizirik exekutatu gabe konektatzeko, Noise_IK mekanismoa Zarata Protokolo MarkoaSSHn baimendutako_gakoak mantentzearen antzekoa. Datuen transmisioa UDP paketeetan enkapsulatu bidez egiten da. VPN zerbitzariaren IP helbidea aldatzea onartzen du (roaming) konexioa deskonektatu gabe bezeroaren birkonfigurazio automatikoarekin, - idazten Opennet.
Zifratzeko Erabilitako korronte zifratua ChaCha20 eta mezuen autentifikazio algoritmoa (MAC) Poly1305, Daniel Bernsteinek diseinatua (Daniel J. Bernstein), Tanja Lange eta Peter Schwabe. ChaCha20 eta Poly1305 AES-256-CTR eta HMAC-en analogo azkarrago eta seguruago gisa kokatzen dira, eta horien softwarearen ezarpenak exekuzio-denbora finko bat lortzea ahalbidetzen du hardware-laguntza berezirik erabili gabe. Gako sekretu partekatu bat sortzeko, inplementazioan Diffie-Hellman kurba eliptikoa erabiltzen da Kurba25519, Daniel Bernsteinek ere proposatuta. Hashing egiteko erabiltzen den algoritmoa da BLAKE2s (RFC7693)'.
Errendimendua erabiliz neurtu da iperf3, 30 minutuko batez besteko emaitza erakusten du.
Teorian, sareko pila batean integratuta, WireGuard-ek are azkarrago funtzionatu beharko luke. Baina errealitatean hori ez da zertan hala izango nukleoan integratutako Crypto API funtzio kriptografikoetarako trantsizioa dela eta. Agian ez daude oraindik guztiak WireGuard jatorrizkoaren errendimendu mailara optimizatuta.
WireGuard proiektua 2015etik garatzen ari da, ikuskatu egin da eta egiaztapen formala. WireGuard-en euskarria NetworkManager eta systemd-en integratuta dago, eta nukleoaren adabakiak Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph eta ALTren oinarrizko banaketetan sartzen dira.