VPN WireGuard s'ha acceptat a la branca net-next i està previst que s'inclogui al nucli Linux 5.6

David Miller (David S. Miller), responsable del subsistema de xarxes del nucli Linux, acceptat a la branca net-next pegats amb la implementació de la interfície VPN del projecte WireGuard. A principis de l'any vinent, els canvis acumulats a la branca net-next seran la base per al llançament del nucli Linux 5.6.

Durant els últims anys s'han fet intents d'empènyer el codi WireGuard al nucli principal, però no han tingut èxit a causa d'estar lligats a implementacions pròpies de funcions criptogràfiques que s'utilitzaven per millorar el rendiment. Inicialment, aquestes funcions eren proposat per al nucli com a API de zinc addicional de baix nivell, que podria substituir l'API Crypto estàndard.

Després de les discussions a la conferència Kernel Recipes, els creadors de WireGuard al setembre va prendre una decisió de compromís transferiu els vostres pegats per utilitzar l'API Crypto disponible al nucli, a la qual els desenvolupadors de WireGuard tenen queixes en l'àmbit del rendiment i la seguretat general. Es va decidir continuar desenvolupant l'API Zinc, però com un projecte separat.

Al novembre, els desenvolupadors del nucli va anar en resposta a un compromís i va acordar transferir part del codi de Zinc al nucli principal. Essencialment, alguns components de Zinc es traslladaran al nucli, però no com a API separada, sinó com a part del subsistema Crypto API. Per exemple, l'API Crypto ja inclòs implementacions ràpides dels algorismes ChaCha20 i Poly1305 preparats a WireGuard.

En relació amb el proper lliurament de WireGuard al nucli principal, el fundador del projecte va anunciar sobre la reestructuració del dipòsit. Per simplificar el desenvolupament, el dipòsit monolític "WireGuard.git", que va ser dissenyat per existir de manera aïllada, serà substituït per tres dipòsits separats, més adequats per organitzar el treball amb codi al nucli principal:

  • wireguard-linux.git - un arbre del nucli complet amb els canvis del projecte Wireguard, els pegats dels quals es revisaran per incloure'ls al nucli i es transferiran regularment a les branques net/net-next.
  • wireguard-tools.git - un repositori d'utilitats i scripts executats a l'espai d'usuari, com ara wg i wg-quick. El repositori es pot utilitzar per crear paquets per a distribucions.
  • wireguard-linux-compat.git - un repositori amb una variant del mòdul, subministrat per separat del nucli i que inclou la capa compat.h per garantir la compatibilitat amb nuclis més antics. El desenvolupament principal es portarà a terme al dipòsit wireguard-linux.git, però sempre que hi hagi una oportunitat i una necessitat entre els usuaris, també s'admetrà una versió separada dels pedaços en forma de treball.

Us recordem que VPN WireGuard s'implementa sobre la base de mètodes de xifratge moderns, ofereix un rendiment molt elevat, és fàcil d'utilitzar, lliure de complicacions i ha demostrat ser-ho en una sèrie de grans desplegaments que processen grans volums de trànsit. El projecte es desenvolupa des del 2015, ha estat auditat i verificació formal mètodes de xifratge utilitzats. El suport de WireGuard ja està integrat a NetworkManager i systemd, i els pedaços del nucli s'inclouen a les distribucions base Debian inestable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraf и ALT.

WireGuard utilitza el concepte d'encaminament de claus de xifratge, que consisteix a adjuntar una clau privada a cada interfície de xarxa i utilitzar-la per vincular les claus públiques. Les claus públiques s'intercanvien per establir una connexió de manera similar a SSH. Per negociar claus i connectar-se sense executar un dimoni separat a l'espai d'usuari, el mecanisme Noise_IK de Marc de protocol de sorollsimilar a mantenir les claus_autoritzades a SSH. La transmissió de dades es realitza mitjançant l'encapsulació en paquets UDP. Admet canviar l'adreça IP del servidor VPN (roaming) sense desconnectar la connexió i reconfigurar automàticament el client.

Per xifrat usat xifrat de flux ChaCha20 i algorisme d'autenticació de missatges (MAC) Poly1305, dissenyat per Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) i Peter Schwabe. ChaCha20 i Poly1305 es situen com a anàlegs més ràpids i segurs d'AES-256-CTR i HMAC, la implementació del programari dels quals permet aconseguir un temps d'execució fix sense l'ús de suport especial de maquinari. Per generar una clau secreta compartida, s'utilitza el protocol Diffie-Hellman de corba el·líptica en la implementació Curve25519, proposat també per Daniel Bernstein. L'algoritme utilitzat per al hash és BLAKE2s (RFC7693).

En proves Rendiment WireGuard va demostrar un rendiment 3.9 vegades més gran i una capacitat de resposta 3.8 vegades més gran en comparació amb OpenVPN (AES de 256 bits amb HMAC-SHA2-256). En comparació amb IPsec (ChaCha256 + Poly20 de 1305 bits i AES-256-GCM-128), WireGuard mostra una lleugera millora de rendiment (13-18%) i una latència més baixa (21-23%). Les proves es van realitzar mitjançant implementacions ràpides d'algoritmes de xifratge desenvolupats pel projecte; la transferència a l'API Crypto estàndard del nucli pot provocar un pitjor rendiment.

VPN WireGuard s'ha acceptat a la branca net-next i està previst que s'inclogui al nucli Linux 5.6

Font: opennet.ru

Afegeix comentari