VPN WireGuard imejumuishwa kwenye Linux kernel 5.6

Leo Linus alihamisha tawi linalofuata lenye miingiliano ya VPN kwake WireGuard. Kuhusu tukio hili сообщили kwenye orodha ya barua pepe ya WireGuard.

VPN WireGuard imejumuishwa kwenye Linux kernel 5.6

Ukusanyaji wa msimbo wa Linux 5.6 kernel mpya kwa sasa unaendelea. WireGuard ni VPN ya kizazi kijacho ya haraka inayotumia kriptografia ya hali ya juu. Hapo awali ilitengenezwa kama mbadala rahisi na rahisi zaidi kwa VPN zilizopo. Mwandishi ni mtaalamu wa usalama wa habari wa Kanada Jason A. Donenfeld. Mnamo Agosti 2018, WireGuard kupokea sifa na Linus Torvalds. Karibu na wakati huo, kazi ilianza kujumuisha VPN kwenye kernel ya Linux. Mchakato ulichukua muda mrefu kidogo.

"Ninaona kwamba Jason ametoa ombi la kujumuisha WireGuard kwenye kernel," Linus aliandika mnamo Agosti 2, 2018. - Je, ninaweza kutangaza tena upendo wangu kwa VPN hii na kutumaini kuunganishwa hivi karibuni? Nambari hiyo inaweza kuwa sio kamili, lakini niliiangalia, na ikilinganishwa na utisho wa OpenVPN na IPSec, ni kazi halisi ya sanaa."

Licha ya matakwa ya Linus, muungano uliendelea kwa mwaka mmoja na nusu. Tatizo kuu liligeuka kuwa limefungwa kwa utekelezaji wa wamiliki wa kazi za cryptographic, ambazo zilitumiwa kuboresha utendaji. Baada ya mazungumzo marefu mnamo Septemba 2019 ilikuwa uamuzi wa maelewano ulifanywa kutafsiri viraka kwa kazi za Crypto API zinazopatikana kwenye kernel, ambayo watengenezaji wa WireGuard wana malalamiko katika uwanja wa utendaji na usalama wa jumla. Lakini waliamua kutenganisha kazi za asili za WireGuard crypto katika API tofauti ya kiwango cha chini cha Zinki na hatimaye kuzipeleka kwenye kernel. Mnamo Novemba, watengenezaji wa kernel waliweka ahadi zao na alikubali kuhamisha sehemu ya msimbo kutoka Zinki hadi kernel kuu. Kwa mfano, katika API ya Crypto pamoja utekelezaji wa haraka wa algoriti za ChaCha20 na Poly1305 zilizotayarishwa katika WireGuard.

Hatimaye, mnamo Desemba 9, 2019, David S. Miller, anayehusika na mfumo mdogo wa mtandao wa Linux kernel, kukubaliwa kwa tawi linalofuata mabaka na utekelezaji wa kiolesura cha VPN kutoka kwa mradi wa WireGuard.

Na leo, Januari 29, 2020, mabadiliko yalikwenda kwa Linus ili kujumuishwa kwenye kernel.

VPN WireGuard imejumuishwa kwenye Linux kernel 5.6

Faida zinazodaiwa za WireGuard juu ya suluhisho zingine za VPN:

  • Rahisi kutumia.
  • Hutumia usimbaji fiche wa kisasa: Mfumo wa itifaki ya Kelele, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, n.k.
  • Nambari iliyoshikamana, inayoweza kusomeka, rahisi kuchunguza kwa udhaifu.
  • Utendaji wa juu.
  • Wazi na kufafanua vipimo.

Mantiki yote ya msingi ya WireGuard huchukua chini ya mistari 4000 ya msimbo, ilhali OpenVPN na IPSec zinahitaji mamia ya maelfu ya laini.

"WireGuard hutumia dhana ya uelekezaji wa ufunguo wa usimbaji fiche, ambayo inajumuisha kuambatisha ufunguo wa kibinafsi kwa kila kiolesura cha mtandao na kutumia funguo za umma kuufunga. Vifunguo vya umma vinabadilishwa ili kuanzisha muunganisho kwa njia sawa na SSH. Ili kujadili funguo na kuunganisha bila kuendesha daemoni tofauti katika nafasi ya mtumiaji, utaratibu wa Noise_IK kutoka Mfumo wa Itifaki ya Kelelesawa na kudumisha authorized_keys katika SSH. Usambazaji wa data unafanywa kwa njia ya encapsulation katika pakiti za UDP. Inasaidia kubadilisha anwani ya IP ya seva ya VPN (kuzunguka) bila kukata unganisho na usanidi wa kiotomatiki wa mteja, - anaandika Opennet.

Kwa usimbaji fiche hutumiwa mkondo wa cipher ChaCha20 na algoriti ya uthibitishaji wa ujumbe (MAC) Poly1305, iliyoundwa na Daniel Bernstein (Daniel J. Bernstein), Tanja Lange na Peter Schwabe. ChaCha20 na Poly1305 zimewekwa kama analogi za kasi zaidi na salama za AES-256-CTR na HMAC, utekelezaji wa programu ambayo inaruhusu kufikia muda uliowekwa wa utekelezaji bila kutumia usaidizi maalum wa vifaa. Ili kutoa ufunguo wa siri ulioshirikiwa, itifaki ya mviringo ya Diffie-Hellman hutumiwa katika utekelezaji Curve25519, pia ilipendekezwa na Daniel Bernstein. Algorithm inayotumika kwa hashing ni BLAKE2s (RFC7693)'.

Matokeo vipimo vya utendaji kutoka kwa tovuti rasmi:

Kipimo cha data (megabit/s)
VPN WireGuard imejumuishwa kwenye Linux kernel 5.6

Ping (ms)
VPN WireGuard imejumuishwa kwenye Linux kernel 5.6

Mpangilio wa jaribio:

  • Intel Core i7-3820QM na Intel Core i7-5200U
  • Kadi za Gigabit Intel 82579LM na Intel I218LM
  • Linux 4.6.1
  • Usanidi wa WireGuard: 256-bit ChaCha20 yenye Poly1305 kwa MAC
  • Usanidi wa kwanza wa IPsec: 256-bit ChaCha20 na Poly1305 kwa MAC
  • Usanidi wa pili wa IPsec: AES-256-GCM-128 (pamoja na AES-NI)
  • Usanidi wa OpenVPN: AES 256-bit sawa na cipher suite na HMAC-SHA2-256, hali ya UDP
  • Utendaji ulipimwa kwa kutumia iperf3, inaonyesha matokeo ya wastani kwa zaidi ya dakika 30.

Kwa nadharia, mara tu imeunganishwa kwenye safu ya mtandao, WireGuard inapaswa kufanya kazi haraka zaidi. Lakini kwa kweli hii haitakuwa hivyo kwa sababu ya mpito kwa kazi za kriptografia ya API iliyojengwa kwenye kernel. Labda sio zote ambazo bado zimeboreshwa hadi kiwango cha utendaji cha WireGuard asili.

"Kwa maoni yangu, WireGuard kwa ujumla ni bora kwa mtumiaji. Maamuzi yote ya kiwango cha chini yanafanywa katika vipimo, hivyo mchakato wa kuandaa miundombinu ya kawaida ya VPN inachukua dakika chache tu. Karibu haiwezekani kufanya makosa katika usanidi - писали kuhusu Habre mnamo 2018. - Mchakato wa ufungaji ilivyoelezwa kwa kina kwenye wavuti rasmi, ningependa kutambua bora Msaada wa OpenWRT. Urahisi huu wa utumiaji na ushikamano wa msingi wa msimbo ulipatikana kwa kuondoa usambazaji wa funguo. Hakuna mfumo changamano wa cheti na hofu hii yote ya shirika; funguo fupi za usimbaji fiche zinasambazwa kama funguo za SSH.

Mradi wa WireGuard umekuwa ukiendelezwa tangu 2015, umekaguliwa na uthibitisho rasmi. Usaidizi wa WireGuard umeunganishwa kwenye NetworkManager na systemd, na viraka vya kernel vinajumuishwa katika usambazaji wa msingi wa Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph na ALT.

Chanzo: mapenzi.com

Kuongeza maoni