VPN WireGuard tau raug lees txais mus rau hauv net-tom ntej ceg thiab yog slated rau suav nrog hauv Linux 5.6 kernel

David Miller (David S. Miller), lub luag hauj lwm rau lub networking subsystem ntawm Linux ntsiav, pab mus rau net-tom ntej ceg thaj ua rau thaj nrog rau kev siv ntawm VPN interface los ntawm qhov project WireGuard. Thaum pib ntawm lub xyoo tom ntej, cov kev hloov pauv tau tsim nyob rau hauv net-tom ntej ceg yuav tsim lub hauv paus rau kev tso tawm ntawm Linux ntsiav 5.6.

Kev sim thawb WireGuard code rau hauv cov ntsiav tseem ceeb tau ua nyob rau ob peb xyoos dhau los, tab sis tseem ua tsis tiav vim raug khi rau kev ua tswv cuab ntawm kev siv cryptographic uas tau siv los txhim kho kev ua haujlwm. Thaum xub thawj, cov haujlwm no yog npaj rau cov kernel raws li qib qis Zinc API ntxiv, uas tuaj yeem hloov pauv tus qauv Crypto API.

Tom qab kev sib tham ntawm Kernel Recipes lub rooj sib tham, tus tsim ntawm WireGuard thaum lub Cuaj Hli tau txiav txim siab tsis sib haum Hloov koj thaj ua rau thaj kom siv Crypto API muaj nyob rau hauv cov tub ntxhais, uas cov neeg tsim tawm WireGuard muaj kev tsis txaus siab hauv kev ua haujlwm thiab kev nyab xeeb dav dav. Nws tau txiav txim siab txuas ntxiv txhim kho Zinc API, tab sis ua ib txoj haujlwm cais.

Thaum lub Kaum Ib Hlis, cov neeg tsim tawm kernel mus nyob rau hauv teb rau ib tug kev sib haum xeeb thiab pom zoo kom hloov ib feem ntawm cov cai los ntawm Zinc mus rau lub ntsiab kernel. Qhov tseem ceeb, qee qhov Zinc Cheebtsam yuav raug hloov mus rau hauv cov tub ntxhais, tab sis tsis yog API cais, tab sis yog ib feem ntawm Crypto API subsystem. Piv txwv li, lub Crypto API twb suav nrog Kev siv ceev ceev ntawm ChaCha20 thiab Poly1305 algorithms npaj hauv WireGuard.

Nyob rau hauv kev twb kev txuas nrog kev xa khoom tom ntej ntawm WireGuard hauv lub ntsiab tseem ceeb, tus tsim ntawm qhov project tshaj tawm hais txog restructuring lub repository. Txhawm rau kom yooj yim txoj kev loj hlob, lub monolithic "WireGuard.git" repository, uas tau tsim kom muaj nyob rau hauv kev sib cais, yuav raug hloov los ntawm peb cais repositories, zoo dua haum rau kev npaj ua hauj lwm nrog code nyob rau hauv lub ntsiab kernel:

  • xov tooj cua-linux.git - cov ntoo ua tiav nrog cov kev hloov pauv los ntawm Wireguard qhov project, thaj ua rau thaj uas yuav raug tshuaj xyuas kom suav nrog hauv cov ntsiav thiab tsis tu ncua hloov mus rau net / net-tom ntej ceg.
  • wireguard-tools.git - lub chaw khaws cia rau cov khoom siv hluav taws xob thiab cov ntawv sau ua haujlwm hauv qhov chaw siv, xws li wg thiab wg-ceev. Lub repository tuaj yeem siv los tsim cov pob khoom rau kev faib khoom.
  • wireguard-linux-compat.git - ib lub chaw cia khoom nrog qhov sib txawv ntawm cov qauv, muab cais los ntawm cov ntsiav thiab suav nrog cov txheej txheem compat.h kom ntseeg tau tias kev sib raug zoo nrog cov laus laus. Txoj kev loj hlob tseem ceeb yuav tau ua nyob rau hauv lub chaw khaws ntaub ntawv wireguard-linux.git, tab sis tsuav yog muaj lub sijhawm thiab xav tau ntawm cov neeg siv, ib qho kev sib cais ntawm thaj ua rau thaj kuj tseem yuav txhawb nqa hauv daim ntawv ua haujlwm.

Cia peb nco ntsoov koj tias VPN WireGuard tau ua raws li cov txheej txheem encryption niaj hnub no, muab kev ua haujlwm siab heev, siv tau yooj yim, tsis muaj teeb meem thiab tau ua pov thawj nws tus kheej hauv ntau qhov kev xa tawm loj uas ua haujlwm ntau ntawm cov tsheb. Qhov project tau tsim txij li xyoo 2015, tau raug tshuaj xyuas thiab kev pov thawj txoj kev encryption siv. Kev them nyiaj yug WireGuard twb tau muab tso rau hauv NetworkManager thiab systemd, thiab cov kab ke thaj ua rau thaj yog suav nrog hauv cov kev faib tawm. Debian Tsis Txaus Ntseeg, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ΠΈ ALT.

WireGuard siv lub tswv yim ntawm encryption key routing, uas koom nrog kev txuas tus yuam sij ntiag tug rau txhua lub network interface thiab siv nws los khi cov yuam sij pej xeem. Cov yuam sij pej xeem raug pauv los tsim kom muaj kev sib txuas zoo ib yam li SSH. Txhawm rau sib tham cov yuam sij thiab txuas yam tsis tau khiav ib tus daemon cais hauv cov neeg siv qhov chaw, Noise_IK mechanism los ntawm Noise Protocol Frameworkzoo ib yam li kev tswj hwm authorized_keys hauv SSH. Kev xa cov ntaub ntawv yog ua los ntawm encapsulation hauv UDP pob ntawv. Nws txhawb kev hloov pauv tus IP chaw nyob ntawm VPN server (roaming) yam tsis muaj kev cuam tshuam kev sib txuas thiab cia li hloov kho tus neeg siv khoom.

Rau encryption yog siv kwj cipher Chaw 20 thiab lus authentication algorithm (MAC) Poly1305, tsim los ntawm Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) thiab Peter Schwabe. ChaCha20 thiab Poly1305 yog positioned raws li sai thiab muaj kev ruaj ntseg analogues ntawm AES-256-CTR thiab HMAC, qhov kev siv software uas tso cai rau ua tiav lub sijhawm ua tiav yam tsis muaj kev siv tshwj xeeb kho vajtse. Txhawm rau tsim kom muaj tus yuam sij zais cia, elliptic nkhaus Diffie-Hellman raws tu qauv yog siv rau hauv kev siv Nkhaus25519, kuj tau thov los ntawm Daniel Bernstein. Lub algorithm siv rau hashing yog BLAKE2s (RFC7693).

ntawm xeem Kev ua tau zoo WireGuard tau pom 3.9 npaug ntau dua qhov kev xa tawm thiab 3.8 lub sijhawm ua haujlwm siab dua piv rau OpenVPN (256-ntsis AES nrog HMAC-SHA2-256). Piv rau IPsec (256-ntsis ChaCha20+Poly1305 thiab AES-256-GCM-128), WireGuard qhia txog kev txhim kho me ntsis (13-18%) thiab qis dua latency (21-23%). Cov kev ntsuam xyuas tau ua los ntawm kev siv ceev ceev ntawm encryption algorithms tsim los ntawm qhov project - hloov mus rau tus qauv Crypto API ntawm cov ntsiav yuav ua rau kev ua haujlwm tsis zoo.

VPN WireGuard tau raug lees txais mus rau hauv net-tom ntej ceg thiab yog slated rau suav nrog hauv Linux 5.6 kernel

Tau qhov twg los: opennet.ru

Ntxiv ib saib