VPN WireGuard wedi'i gynnwys yng nghnewyllyn Linux 5.6

Heddiw symudodd Linus y gangen net-nesaf gyda rhyngwynebau VPN iddo'i hun WireGuard. Am y digwyddiad hwn сообщили ar restr bostio WireGuard.

VPN WireGuard wedi'i gynnwys yng nghnewyllyn Linux 5.6

Mae casglu cod ar gyfer y cnewyllyn Linux 5.6 newydd yn mynd rhagddo ar hyn o bryd. Mae WireGuard yn VPN cenhedlaeth nesaf cyflym sy'n gweithredu cryptograffeg fodern. Fe'i datblygwyd yn wreiddiol fel dewis amgen symlach a mwy cyfleus i VPNs presennol. Yr awdur yw arbenigwr diogelwch gwybodaeth Canada Jason A. Donenfeld. Ym mis Awst 2018, WireGuard wedi derbyn canmoliaeth gan Linus Torvalds. Tua'r amser hwnnw, dechreuodd gwaith i gynnwys VPN yn y cnewyllyn Linux. Cymerodd y broses ychydig yn hirach.

“Gwelaf fod Jason wedi gwneud cais tynnu i gynnwys WireGuard yn y cnewyllyn,” ysgrifennodd Linus ar Awst 2, 2018. - A gaf unwaith eto ddatgan fy nghariad at y VPN hwn a gobeithio am uno yn fuan? Efallai nad yw'r cod yn berffaith, ond edrychais arno, ac o'i gymharu ag erchyllterau OpenVPN ac IPSec, mae'n waith celf go iawn."

Er gwaethaf dymuniadau Linus, llusgodd yr uno ymlaen am flwyddyn a hanner. Roedd y brif broblem yn gysylltiedig â gweithrediadau perchnogol swyddogaethau cryptograffig, a ddefnyddiwyd i wella perfformiad. Ar ôl trafodaethau hir ym mis Medi 2019, dyna oedd hi gwnaed penderfyniad cyfaddawd cyfieithu clytiau i'r swyddogaethau Crypto API sydd ar gael yn y cnewyllyn, y mae gan ddatblygwyr WireGuard gwynion iddynt ym maes perfformiad a diogelwch cyffredinol. Ond fe benderfynon nhw wahanu swyddogaethau crypto brodorol WireGuard yn API Sinc lefel isel ar wahân ac yn y pen draw eu trosglwyddo i'r cnewyllyn. Ym mis Tachwedd, cadwodd y datblygwyr cnewyllyn eu haddewid a cytunwyd trosglwyddo rhan o'r cod o Sinc i'r prif gnewyllyn. Er enghraifft, yn yr API Crypto wedi'i gynnwys gweithrediad cyflym yr algorithmau ChaCha20 a Poly1305 a baratowyd yn WireGuard.

Yn olaf, ar Ragfyr 9, 2019, David S. Miller, sy'n gyfrifol am is-system rwydweithio cnewyllyn Linux, derbyn i'r gangen net-nesaf clytiau gyda gweithrediad rhyngwyneb VPN o'r prosiect WireGuard.

A heddiw, Ionawr 29, 2020, aeth y newidiadau i Linus i'w cynnwys yn y cnewyllyn.

VPN WireGuard wedi'i gynnwys yng nghnewyllyn Linux 5.6

Manteision honedig WireGuard dros atebion VPN eraill:

  • Hawdd i'w defnyddio.
  • Yn defnyddio cryptograffeg fodern: Fframwaith protocol sŵn, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, ac ati.
  • Cod cryno, darllenadwy, sy'n haws ymchwilio iddo am wendidau.
  • Perfformiad uchel.
  • Clir a chywrain manyleb.

Mae holl resymeg graidd WireGuard yn cymryd llai na 4000 o linellau o god, tra bod OpenVPN ac IPSec yn gofyn am gannoedd o filoedd o linellau.

“Mae WireGuard yn defnyddio’r cysyniad o lwybro bysellau amgryptio, sy’n golygu atodi allwedd breifat i bob rhyngwyneb rhwydwaith a defnyddio allweddi cyhoeddus i’w rhwymo. Mae allweddi cyhoeddus yn cael eu cyfnewid i sefydlu cysylltiad mewn ffordd debyg i SSH. I drafod allweddi a chysylltu heb redeg daemon ar wahân yn y gofod defnyddiwr, mae'r mecanwaith Noise_IK o Fframwaith Protocol Sŵnyn debyg i gynnal allweddi_awdurdodedig yn SSH. Mae trosglwyddo data yn cael ei wneud trwy amgáu mewn pecynnau CDU. Mae'n cefnogi newid cyfeiriad IP y gweinydd VPN (crwydro) heb ddatgysylltu'r cysylltiad ag ad-drefnu'r cleient yn awtomatig, - ysgrifennu Rhwyd agored.

Ar gyfer amgryptio yn cael ei ddefnyddio seiffr nant ChaCha20 ac algorithm dilysu negeseuon (MAC) Poly1305, a gynlluniwyd gan Daniel Bernstein (Daniel J. Bernstein), Tanja Lange a Peter Schwabe. Mae ChaCha20 a Poly1305 wedi'u lleoli fel analogau cyflymach a mwy diogel o AES-256-CTR a HMAC, y mae eu gweithredu meddalwedd yn caniatáu cyflawni amser gweithredu sefydlog heb ddefnyddio cefnogaeth caledwedd arbennig. Er mwyn cynhyrchu allwedd gyfrinachol a rennir, defnyddir y protocol cromlin eliptig Diffie-Hellman wrth ei weithredu Curve25519, a gynigir hefyd gan Daniel Bernstein. Yr algorithm a ddefnyddir ar gyfer stwnsio yw BLAKE2s (RFC7693)'.

Canfyddiadau profion perfformiad o'r wefan swyddogol:

Lled band (megabit/s)
VPN WireGuard wedi'i gynnwys yng nghnewyllyn Linux 5.6

ping (ms)
VPN WireGuard wedi'i gynnwys yng nghnewyllyn Linux 5.6

Cyfluniad prawf:

  • Intel Core i7-3820QM ac Intel Core i7-5200U
  • Cardiau Gigabit Intel 82579LM ac Intel I218LM
  • Linux 4.6.1
  • Ffurfweddiad WireGuard: 256-bit ChaCha20 gyda Poly1305 ar gyfer MAC
  • Cyfluniad IPsec cyntaf: 256-did ChaCha20 gyda Poly1305 ar gyfer MAC
  • Ail gyfluniad IPsec: AES-256-GCM-128 (gydag AES-NI)
  • Cyfluniad OpenVPN: Cyfres seiffr cyfwerth AES 256-did gyda HMAC-SHA2-256, modd CDU
  • Mesurwyd perfformiad gan ddefnyddio iperf3, yn dangos y canlyniad cyfartalog dros 30 munud.

Mewn theori, ar ôl ei integreiddio i'r pentwr rhwydwaith, dylai WireGuard weithio hyd yn oed yn gyflymach. Ond mewn gwirionedd ni fydd hyn o reidrwydd yn wir oherwydd y newid i swyddogaethau cryptograffig Crypto API sydd wedi'u hymgorffori yn y cnewyllyn. Efallai nad yw pob un ohonynt eto wedi'i optimeiddio i lefel perfformiad WireGuard brodorol.

“O’m safbwynt i, mae WireGuard yn gyffredinol yn ddelfrydol ar gyfer y defnyddiwr. Gwneir pob penderfyniad lefel isel yn y fanyleb, felly dim ond ychydig funudau y mae'r broses o baratoi seilwaith VPN nodweddiadol yn ei gymryd. Mae bron yn amhosibl gwneud llanast o'r cyfluniad - писали ar Habré yn 2018. - Proses gosod a ddisgrifir yn fanwl ar y wefan swyddogol, hoffwn nodi ar wahân y rhagorol Cymorth OpenWRT. Cyflawnwyd y rhwyddineb defnydd hwn a chrynoder y sylfaen cod trwy ddileu dosbarthiad allweddi. Nid oes system dystysgrif gymhleth a’r holl arswyd corfforaethol hwn; mae allweddi amgryptio byr yn cael eu dosbarthu yn debyg iawn i allweddi SSH.”

Mae'r prosiect WireGuard wedi bod yn datblygu ers 2015, mae wedi'i archwilio a gwirio ffurfiol. Mae cefnogaeth WireGuard wedi'i hintegreiddio i NetworkManager a systemd, ac mae clytiau cnewyllyn wedi'u cynnwys yn nosbarthiadau sylfaenol Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ac ALT.

Ffynhonnell: hab.com

Ychwanegu sylw