VPN WireGuard ġie aċċettat fil-fergħa nett-li jmiss u huwa ppjanat għall-inklużjoni fil-kernel Linux 5.6

David Miller (David S. Miller), responsabbli għas-subsistema tan-netwerking tal-kernel Linux, aċċettata għall-fergħa nett-li jmiss irqajja bl-implimentazzjoni tal-interface VPN mill-proġett WireGuard. Kmieni s-sena d-dieħla, il-bidliet akkumulati fil-fergħa nett-li jmiss se jiffurmaw il-bażi għar-rilaxx tal-kernel Linux 5.6.

Tentattivi biex timbotta l-kodiċi WireGuard fil-qalba prinċipali saru matul l-aħħar ftit snin, iżda baqgħu mingħajr suċċess minħabba li kienu marbuta ma 'implimentazzjonijiet proprjetarji ta' funzjonijiet kriptografiċi li ntużaw biex itejbu l-prestazzjoni. Inizjalment, dawn il-funzjonijiet kienu propost għall-qalba bħala API taż-Żingu ta 'livell baxx addizzjonali, li eventwalment tista' tissostitwixxi l-API Crypto standard.

Wara diskussjonijiet fil-konferenza Kernel Recipes, il-ħallieqa ta 'WireGuard f'Settembru ħa deċiżjoni ta’ kompromess ittrasferixxi l-irqajja tiegħek biex tuża l-API Crypto disponibbli fil-qalba, li għaliha l-iżviluppaturi tal-WireGuard għandhom ilmenti fil-qasam tal-prestazzjoni u s-sigurtà ġenerali. Ġie deċiż li tkompli tiżviluppa l-API taż-żingu, iżda bħala proġett separat.

F'Novembru, l-iżviluppaturi tal-qalba mar bi tweġiba għal kompromess u qabel li tittrasferixxi parti mill-kodiċi minn Żingu għall-qalba prinċipali. Essenzjalment, xi komponenti taż-Żingu se jiġu mċaqalqa fil-qalba, iżda mhux bħala API separata, iżda bħala parti mis-subsistema Crypto API. Per eżempju, il-Crypto API diġà inklużi implimentazzjonijiet veloċi tal-algoritmi ChaCha20 u Poly1305 ippreparati f'WireGuard.

B'konnessjoni mal-kunsinna li jmiss ta 'WireGuard fil-qalba prinċipali, il-fundatur tal-proġett ħabbar dwar ir-ristrutturar tar-repożitorju. Biex tissimplifika l-iżvilupp, ir-repożitorju monolitiku "WireGuard.git", li kien iddisinjat biex jeżisti b'mod iżolat, se jiġi sostitwit bi tliet repożitorji separati, adattati aħjar għall-organizzazzjoni tax-xogħol bil-kodiċi fil-kernel prinċipali:

  • wireguard-linux.git - siġra tal-qalba kompluta b'bidliet mill-proġett Wireguard, l-irqajja' li minnhom se jiġu riveduti għall-inklużjoni fil-qalba u ttrasferiti regolarment lill-fergħat nett/net-li jmiss.
  • wireguard-tools.git - repożitorju għall-utilitajiet u l-iskripts imħaddma fl-ispazju tal-utent, bħal wg u wg-quick. Ir-repożitorju jista' jintuża biex jinħolqu pakketti għad-distribuzzjonijiet.
  • wireguard-linux-compat.git - repożitorju b'varjant tal-modulu, fornut separatament mill-qalba u li jinkludi s-saff compat.h biex tiġi żgurata l-kompatibilità ma' qlub anzjani. L-iżvilupp ewlieni se jitwettaq fir-repożitorju wireguard-linux.git, iżda sakemm ikun hemm opportunità u ħtieġa fost l-utenti, verżjoni separata tal-irqajja se tkun appoġġjata wkoll f'forma ta 'ħidma.

Ejjew infakkarkom li VPN WireGuard huwa implimentat fuq il-bażi ta 'metodi ta' encryption moderni, jipprovdi prestazzjoni għolja ħafna, huwa faċli biex jintuża, ħieles minn kumplikazzjonijiet u wera ruħu f'numru ta 'skjeramenti kbar li jipproċessaw volumi kbar ta' traffiku. Il-proġett ilu jiżviluppa mill-2015, ġie vverifikat u verifika formali metodi ta' kriptaġġ użati. L-appoġġ ta’ WireGuard huwa diġà integrat f’NetworkManager u systemd, u l-garżi tal-kernel huma inklużi fid-distribuzzjonijiet bażi Debian instabbli, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraf и ALT.

WireGuard juża l-kunċett ta 'routing taċ-ċwievet ta' encryption, li jinvolvi li twaħħal ċavetta privata ma 'kull interface tan-netwerk u tużaha biex torbot iċ-ċwievet pubbliċi. Iċ-ċwievet pubbliċi jiġu skambjati biex tiġi stabbilita konnessjoni b'mod simili għal SSH. Biex tinnegozja ċwievet u tikkonnettja mingħajr ma tħaddem daemon separat fl-ispazju tal-utent, il-mekkaniżmu Noise_IK minn Qafas tal-Protokoll tal-Istorbjusimili għaż-żamma authorized_keys f'SSH. It-trażmissjoni tad-dejta titwettaq permezz ta' inkapsulament f'pakketti UDP. Jappoġġa t-tibdil tal-indirizz IP tas-server VPN (roaming) mingħajr ma tiskonnettja l-konnessjoni u awtomatikament terġa 'tikkonfigura l-klijent.

Għall-encryption użati ċifra tan-nixxiegħa ChaCha20 u algoritmu ta' awtentikazzjoni tal-messaġġi (MAC) Poly1305, iddisinjat minn Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) u Peter Schwabe. ChaCha20 u Poly1305 huma pożizzjonati bħala analogi aktar mgħaġġla u sikuri ta 'AES-256-CTR u HMAC, li l-implimentazzjoni tas-softwer tagħhom tippermetti l-kisba ta' ħin ta 'eżekuzzjoni fiss mingħajr l-użu ta' appoġġ speċjali ta 'hardware. Biex tiġġenera ċavetta sigrieta kondiviża, il-protokoll Diffie-Hellman tal-kurva ellittika jintuża fl-implimentazzjoni Curve25519, propost ukoll minn Daniel Bernstein. L-algoritmu użat għall-hashing huwa BLAKE2s (RFC7693).

Fuq ittestjar Prestazzjoni WireGuard wera throughput 3.9 darbiet ogħla u rispons 3.8 darbiet ogħla meta mqabbel ma 'OpenVPN (256-bit AES ma' HMAC-SHA2-256). Meta mqabbel ma 'IPsec (256-bit ChaCha20 + Poly1305 u AES-256-GCM-128), WireGuard juri titjib żgħir fil-prestazzjoni (13-18%) u latenza aktar baxxa (21-23%). It-testijiet saru bl-użu ta 'implimentazzjonijiet veloċi ta' algoritmi ta 'encryption żviluppati mill-proġett - it-trasferiment għall-API Crypto standard tal-qalba jista' jwassal għal prestazzjoni agħar.

VPN WireGuard ġie aċċettat fil-fergħa nett-li jmiss u huwa ppjanat għall-inklużjoni fil-kernel Linux 5.6

Sors: opennet.ru

Żid kumment