VPN WireGuard net-next adarrean onartu da eta Linux 5.6 nukleoan sartzeko aurreikusita dago.

David Miller (David S. Miller), Linux nukleoaren sareko azpisistemaren arduraduna, onartua net-hurrengo adarra adabakiak proiektuko VPN interfazearen ezarpenarekin WireGuard. Datorren urtearen hasieran, net-next adarrean pilatutako aldaketek Linux kernel 5.6 kaleratzeko oinarria izango dute.

WireGuard kodea nukleo nagusira bultzatzeko saiakerak egin dira azken urteotan, baina ez dute arrakastarik izan, errendimendua hobetzeko erabiltzen ziren funtzio kriptografikoen inplementazio jabedunei lotuta egoteagatik. Hasieran, funtzio hauek ziren proposatu nukleorako, maila baxuko Zinc API gehigarri gisa, azkenean Crypto API estandarra ordezkatu dezakeena.

Kernel Recipes konferentzian izandako eztabaiden ondoren, WireGuard-en sortzaileak irailean konpromisozko erabakia hartu zuen transferitu zure adabakiak nukleoan eskuragarri dagoen Crypto APIa erabiltzeko, eta WireGuard-eko garatzaileek errendimenduaren eta segurtasun orokorraren alorrean kexak dituzte. Zinc APIa garatzen jarraitzea erabaki zen, baina aparteko proiektu gisa.

Azaroan, nukleoaren garatzaileak joan zen konpromiso bati erantzunez eta kodearen zati bat Zinc-etik nukleo nagusira transferitzea adostu zuen. Funtsean, Zinc osagai batzuk muinera eramango dira, baina ez API bereizi gisa, Crypto API azpisistemaren zati gisa baizik. Adibidez, Crypto API dagoeneko barne WireGuard-en prestatutako ChaCha20 eta Poly1305 algoritmoen inplementazio azkarrak.

Nukleo nagusian WireGuard-en hurrengo entregarekin lotuta, proiektuaren sortzailea iragarri biltegia berregituratzeari buruz. Garapena sinplifikatzeko, "WireGuard.git" biltegi monolitikoa, isolatuta egoteko diseinatu zena, hiru biltegi bereizirekin ordezkatuko da, nukleo nagusian kodearekin lana antolatzeko hobeto egokitzen direnak:

  • wireguard-linux.git - Nukleoaren zuhaitz osoa Wireguard proiektuaren aldaketak dituena, zeinetatik adabakiak berrikusiko dira nukleoan sartzeko eta aldian-aldian net/net-next adarretara transferituko dira.
  • wireguard-tools.git - Erabiltzaileen espazioan exekutatzen diren utilitateen eta scripten biltegia, hala nola wg eta wg-quick. Biltegia banaketarako paketeak sortzeko erabil daiteke.
  • wireguard-linux-compat.git - Moduluaren aldaera duen biltegia, nukleotik bereizita hornitua eta compat.h geruza barne, nukleo zaharragoekin bateragarritasuna ziurtatzeko. Garapen nagusia wireguard-linux.git biltegian egingo da, baina erabiltzaileen artean aukera eta beharra dagoen bitartean, adabakien bertsio bereizi bat ere onartuko da lan moduan.

Gogora dezagun VPN WireGuard enkriptazio-metodo modernoetan oinarrituta inplementatzen dela, errendimendu oso altua eskaintzen duela, erabiltzeko erraza dela, konplikaziorik gabekoa eta trafiko-bolumen handiak prozesatzen dituzten hainbat inplementazio handitan frogatu duela. Proiektua 2015etik garatzen ari da, ikuskatu egin da eta egiaztapen formala erabilitako zifratze metodoak. WireGuard-en euskarria dagoeneko NetworkManager eta systemd-en integratuta dago, eta nukleoaren adabakiak oinarrizko banaketetan sartzen dira. Debian ezegonkorra, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ΠΈ ALT.

WireGuard-ek enkriptazio-gakoen bideratzearen kontzeptua erabiltzen du, hau da, sareko interfaze bakoitzari gako pribatu bat erantsi eta gako publikoak lotzeko erabiltzea dakar. 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 eta bezeroa automatikoki birkonfiguratu gabe.

Zifratzeko Erabilitako korronte zifratua ChaCha20 eta mezuen autentifikazio algoritmoa (MAC) Poly1305, Daniel Bernsteinek diseinatua (Daniel J. Bernstein), Tanya Lange
(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).

Egun probak Errendimendua WireGuard-ek 3.9 aldiz errendimendu handiagoa eta 3.8 aldiz erantzun handiagoa erakutsi du OpenVPNrekin alderatuta (256 biteko AES HMAC-SHA2-256-rekin). IPsec-ekin alderatuta (256 biteko ChaCha20 + Poly1305 eta AES-256-GCM-128), WireGuard-ek errendimenduaren hobekuntza apur bat (% 13-18) eta latentzia txikiagoa (% 21-23) erakusten du. Probak proiektuak garatutako enkriptazio-algoritmoen inplementazio azkarrak erabiliz egin ziren - nukleoaren Crypto API estandarrera transferitzeak errendimendu okerragoa ekar dezake.

VPN WireGuard net-next adarrean onartu da eta Linux 5.6 nukleoan sartzeko aurreikusita dago.

Iturria: opennet.ru

Gehitu iruzkin berria