WireGuard és un protocol de comunicació i un programari gratuït i de codi obert que implementa xarxes privades virtuals (VPN) xifrades. Pretén ser més lleuger i amb un millor rendiment que IPsec i OpenVPN, dos protocols de túnel comuns. El protocol WireGuard passa el trànsit per UDP.

El març de 2020, la versió Linux del programari va arribar a una versió de producció estable i es va incorporar al nucli Linux 5.6, i es va portar a nuclis Linux anteriors en algunes distribucions de Linux. Els components del nucli de Linux estan llicenciats sota la Llicència Pública General de GNU (GPL) versió 2; altres implementacions estan sota la GPLv2 o altres llicències lliures/de codi obert.

Història Existeixen instantànies inicials de la base de codi des del 30 de juny de 2016. El logotip està inspirat en un gravat en pedra de la pitó mitològica que Jason Donenfeld va veure mentre visitava un museu a Delfos.

El 9 de desembre de 2019, David Miller, el principal responsable del manteniment de la pila de xarxes de Linux, va acceptar els pegats de WireGuard a l'arbre de responsables "net-next", per a la seva inclusió en un proper nucli.

El 28 de gener de 2020, Linus Torvalds va fusionar l'arbre net-next de David Miller i WireGuard va entrar a l'arbre principal del nucli de Linux.

El 20 de març de 2020, els desenvolupadors de Debian van habilitar les opcions de compilació de mòduls per a WireGuard a la configuració del nucli per a la versió Debian 11 (proves).

El juny de 2021, els repositoris oficials de paquets tant per a pfSense CE 2.5.2 com per a pfSense Plus 21.05 incloïen el paquet WireGuard.

El 2023, WireGuard va rebre més de 200.000 euros de suport del Fons Sobirà de Tecnologia d'Alemanya.

Protocol El protocol WireGuard és una variant del patró de protocol de connexió IK del Noise Protocol Framework, tal com s'il·lustra amb l'elecció de Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s per al valor de la cadena Construction que apareix a la pàgina 10 del Whitepaper.

WireGuard utilitza el següent:

Curve25519 per a l'intercanvi de claus ChaCha20 per a xifratge simètric Poly1305 per a codis d'autenticació de missatges SipHash24 per a claus de taula hash BLAKE2s per a la funció hash criptogràfica HKDF per a la funció de derivació de claus Només basat en UDP Claus privades codificades en Base64, claus públiques i claus precompartides

El maig de 2019, investigadors de l'INRIA van publicar una prova del protocol WireGuard verificada per màquina, produïda mitjançant l'assistent de prova CryptoVerif.

Mode de clau simètrica precompartida opcional WireGuard admet el mode de clau simètrica precompartida, que proporciona una capa addicional de xifratge simètric per mitigar els futurs avenços en la computació quàntica. Això aborda el risc que el trànsit s'emmagatzemi fins que els ordinadors quàntics siguin capaços de trencar la Curve25519, moment en què es podria desxifrar el trànsit. Les claus precompartides "normalment són problemàtiques des de la perspectiva de la gestió de claus i és més probable que siguin robades", però a curt termini, si la clau simètrica es veu compromesa, les claus Curve25519 encara proporcionen una protecció més que suficient.

Xarxes WireGuard només utilitza UDP, a causa dels possibles desavantatges de TCP sobre TCP. La tunelització de TCP sobre una connexió basada en TCP es coneix com a "TCP-sobre-TCP", i fer-ho pot induir una pèrdua dràstica en el rendiment de la transmissió a causa del problema de la fusió de TCP.

El port del servidor per defecte és UDP 51820.

WireGuard admet totalment IPv6, tant dins com fora del túnel. Només admet la capa 3 tant per a IPv4 com per a IPv6 i pot encapsular v4-in-v6 i viceversa.

Estructura general de la MTU L'estructura general de WireGuard es desglossa de la següent manera:

Capçalera IPv4 de 20 bytes o capçalera IPv6 de 40 bytes Capçalera UDP de 8 bytes Tipus de 4 bytes Índex de clau de 4 bytes Nonce de 8 bytes Dades xifrades de N bytes Etiqueta d'autenticació de 16 bytes

Consideracions operatives de la MTU Suposant que la xarxa subjacent que transporta els paquets WireGuard manté una MTU de 1500 bytes, configurar la interfície WireGuard a 1420 bytes de MTU per a tots els peers implicats és ideal per al transport a través d'IPv6 + IPv4. Tanmateix, quan s'utilitza exclusivament el transport IPv4 antic, n'hi ha prou amb una MTU més alta de 1440 bytes per a la interfície WireGuard.

Des d'una perspectiva operativa i per a la uniformitat de la configuració de la xarxa, seria avantatjós deixar el valor predeterminat de 1420 MTU a tota la xarxa per a les interfícies de WireGuard. Aquest enfocament garanteix la coherència i facilita una transició més fluida per habilitar IPv6 per als companys i interfícies de WireGuard en el futur.

Tanmateix, per a clients mòbils amb diferents formes de connectivitat de xarxa i MTU variables a través de nombroses connexions de xarxa, una MTU de 1280 pot ser beneficiosa per permetre el transport IPv6 dins del túnel, ja que és la MTU mínima permesa, i permetre que el túnel Wireguard funcioni sobre la majoria de formes de connectivitat.

Extensibilitat WireGuard està dissenyat per ser ampliat per programes i scripts de tercers. Això s'ha utilitzat per augmentar WireGuard amb diverses funcions, com ara interfícies de gestió més fàcils d'utilitzar (inclosa la configuració més senzilla de les claus), registre, actualitzacions dinàmiques del tallafocs, assignació dinàmica d'IP i integració LDAP.

Recepció Una revisió d'Ars Technica va trobar que WireGuard era fàcil de configurar i utilitzar, utilitzava xifrats forts i tenia una base de codi mínima que proporcionava una petita superfície d'atac.

WireGuard ha rebut finançament de l'Open Technology Fund i donacions de Jump Trading, Mullvad, Tailscale, Fly.io i la NLnet Foundation.

Referències

Categoria:Protocols de xarxa