WireGuard
WireGuard | ||
---|---|---|
Parte de núcleo Linux | ||
Información general | ||
Tipo de programa | Red privada virtual | |
Autor | Jason A. Donenfeld | |
Desarrollador | Jason A. Donenfeld | |
Lanzamiento inicial | 2015 | |
Licencia | GPLv2 | |
Información técnica | ||
Programado en | C (módulo de kernel de Linux), Go (implementación del espacio de usuario) | |
Versiones | ||
Última versión estable | 1.0.20220627 (info) ( 27 de junio de 2022) | |
Archivos legibles | ||
WireGuard profile | ||
Archivos editables | ||
WireGuard profile | ||
Enlaces | ||
WireGuard es una aplicación de software libre y de código abierto y un protocolo de comunicación que implementa técnicas de red privada virtual (VPN) para crear conexiones seguras punto a punto en configuraciones enrutadas o puenteadas.[1] Se ejecuta como un módulo dentro del núcleo Linux y tiene como objetivo un mejor rendimiento que los protocolos de tunelización IPsec y OpenVPN.[2] Fue escrito por Jason A. Donenfeld y se publica bajo la segunda versión de la GNU General Public License (GPL).[3] El sitio web oficial describe el protocolo como un trabajo en progreso.[4]
Características
[editar]WireGuard tiene como objetivo proporcionar una VPN que sea simple y altamente efectiva. Una revisión realizada por ArsTechnica observó que tecnologías VPN populares como OpenVPN e IPsec son a menudo complejas de configurar, desconectan fácilmente (en ausencia de configuración adicional), toman un tiempo considerable negociando reconexiones, pueden usar cifrados obsoletos y tienen un código relativamente masivo (de 400,000 a 600,000 líneas de código para los dos ejemplos dados) lo que hace que sea más difícil encontrar bugs.[5]
El diseño de WireGuard busca reducir estos problemas, haciendo el túnel más seguro y fácil de administrar por defecto. Mediante el uso de versionado de paquetes de criptografía, se centra en cifradores que se consideran entre los métodos de encriptación actuales más seguros, y también tiene una base de código de alrededor de 4000 líneas, aproximadamente el 1% de OpenVPN o IPsec, lo que facilita las auditorías de seguridad. Ars Technica informó que en sus pruebas, los túneles estables fueron fáciles de crear con WireGuard, en comparación con las alternativas, y comentó que sería "difícil regresar" a largos retrasos de reconexión, en comparación con las reconexiones instantáneas y "sin disparates" de WireGuard.[5]
Protocolo
[editar]WireGuard utiliza Curve25519 para el intercambio de claves, ChaCha20 para la encriptación, Poly1305 para la autenticación de datos, SipHash para claves de hashtables y BLAKE2s para el hashing.[3] Soporta la capa 3 para IPv4 e IPv6 y puede encapsular v4 en v6 y viceversa.[6]
En mayo de 2019, investigadores del INRIA publicaron una prueba del protocolo verificada por una máquina, producida utilizando el asistente de pruebas de CryptoVerif.[7]
Historia
[editar]Las primeras snapshots de la base de código existen desde el 30 de junio de 2016.[8] Cuatro de los primeros usuarios de WireGuard fueron los proveedores de servicios de VPN Mullvad,[9] AzireVPN,[10] IVPN[11] y cryptostorm.[12] WireGuard ha recibido donaciones de Mullvad, Private Internet Access, IVPN y la NLnet Foundation.[13]
A fecha de junio de 2018, los desarrolladores de WireGuard recomiendan tratar el código y el protocolo como experimentales, y advierten que aún no han logrado una versión estable compatible con el seguimiento de CVE de cualquier vulnerabilidad de seguridad que pueda descubrirse.[14][15]
El 9 de diciembre de 2019, David Miller, responsable principal de la pila de red de Linux, aceptó los parches de WireGuard en el árbol de mantenimiento "net-next", para su inclusión en un kernel próximo.[16][17][18] El 28 de enero de 2020, Linus Torvalds fusionó el árbol net-next de David Miller, y WireGuard ingresa al árbol principal del núcleo Linux.[19]
Recepción
[editar]El senador de Oregón, Ron Wyden, recomendó al National Institute of Standards and Technology (NIST) que evalúen WireGuard como reemplazo de tecnologías existentes como IPsec y OpenVPN.[20]
Este sistema ha sido recibido muy favorablemente por toda la comunidad, ganando mención en docenas de canales de tecnología, debido a su gran velocidad comparado con sistemaas como OpenVPN y un proceso de instalación muy sencillo [1]
Implementaciones
[editar]Entre las implementaciones del protocolo WireGuard se incluyen:
- La implementación inicial de Donenfeld, escrita en C y Go.[21]
- BoringTun de Cloudflare, una implementación del espacio de usuario escrita en Rust.[22][23]
Programas de espacio de usuario que soportan WireGuard
[editar]Entre los programas de espacio de usuario que soportan WireGuard se incluyen:
- NetworkManager desde la versión 1.16[24]
- systemd desde la versión 237[25]
- Intel's ConnMan desde la versión 1.38[26]
- La red privada de Firefox de Mozilla[27]
Véase también
[editar]- Secure Shell (SSH), un protocolo de red criptográfico utilizado para proteger los servicios a través de una red no segura.
- OpenVPN, un VPN de que ha ganado amplia fama por su gran uso en la industria
Referencias
[editar]- ↑ «Wireguard VPN | How to use it?». Proxy Server. Consultado el 11 de febrero de 2020.
- ↑ Preneel, Bart; Vercauteren, Frederik (eds.). Applied Cryptography and Network Security. Springer. ISBN 978-3-319-93387-0. Archivado desde el original el 18 de febrero de 2019. Consultado el 25 de junio de 2018.
- ↑ a b «WireGuard: fast, modern, secure VPN tunnel». WireGuard. Archivado desde el original el 28 de abril de 2018. Consultado el 28 de abril de 2018.
- ↑ «Work in Progress». Wireguard.com.
- ↑ a b Salter, Jim (26 de agosto de 2018). «WireGuard VPN review: A new type of VPN offers serious advantages». Ars Technica. Archivado desde el original el 20 de septiembre de 2018.
- ↑ Donenfeld, Jason A. «Introduction & Motivation». WireGuard: Next Generation Kernel Network Tunnel (PDF). Archivado desde el original el 4 de marzo de 2018.
- ↑ Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan (2019), A Mechanised Cryptographic Proof of the WireGuard Virtual Private Network Protocol, Research Report RR-9269, Paris: Inria, hal-02100345.
- ↑ https://download.wireguard.com/monolithic-historical/
- ↑ Mason, John (13 de febrero de 2019). «Mullvad Review». thebestwpn. 2. Strong Tunneling Protocols – OpenVPN & WireGuard. Archivado desde el original el 16 de marzo de 2019. Consultado el 8 de abril de 2019.
- ↑ Mason, John (19 de febrero de 2019). «AzireVPN Review». thebestvpn. 2. Impressive Protocols and Encryption. Archivado desde el original el 8 de abril de 2019. Consultado el 8 de abril de 2019.
- ↑ Pestell, Nick. «Introducing Wireguard». Consultado el 22 de septiembre de 2019.
- ↑ «WireGuard support added!». cryptostorm blog. 5 de abril de 2019. Archivado desde el original el 9 de diciembre de 2019. Consultado el 9 de diciembre de 2019.
- ↑ «Donations». WireGuard. Archivado desde el original el 28 de abril de 2018. Consultado el 28 de abril de 2018.
- ↑ «About The Project». WireGuard. Work in Progress. Archivado desde el original el 25 de junio de 2018. Consultado el 25 de junio de 2018.
- ↑ «Installation». WireGuard. Archivado desde el original el 26 de junio de 2018. Consultado el 26 de junio de 2018.
- ↑ «e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git at Google». kernel.googlesource.com.
- ↑ «LKML: David Miller: Re: [PATCH net-next v2] net: WireGuard secure network tunnel». lkml.org.
- ↑ «[ANNOUNCE] WireGuard merged to net-next, on its way to Linux 5.6». web.archive.org. 9 de enero de 2020. Archivado desde el original el 9 de enero de 2020. Consultado el 16 de marzo de 2020.
- ↑ Torvalds, Linus. «index : kernel/git/torvalds/linux.git». Linux kernel source tree. Kernel.org. Consultado el 2 de febrero de 2020.
- ↑ «US Senator Recommends Open-Source WireGuard To NIST For Government VPN». Phoronix. 30 de junio de 2018. Archivado desde el original el 5 de agosto de 2018. Consultado el 5 de agosto de 2018.
- ↑ Donenfeld, Jason (7 de junio de 2019). «WireGuard: fast, modern, secure VPN tunnel». Consultado el 16 de junio de 2019.
- ↑ Krasnov, Vlad (18 de diciembre de 2018). «BoringTun, a userspace WireGuard implementation in Rust». Cloudflare Blog (en inglés estadounidense). Archivado desde el original el 4 de abril de 2019. Consultado el 29 de marzo de 2019.
- ↑ «CloudFlare Launches "BoringTun" As Rust-Written WireGuard User-Space Implementation». phoronix.com. Consultado el 29 de marzo de 2019.
- ↑ «WireGuard in NetworkManager».
- ↑ «systemd».
- ↑ «Intel ConnMan 1.38 Released With WireGuard Support».
- ↑ «Mozilla VPN Sicher, schnell und zuverlässig – auf jedem Gerät, egal wo du bist.» (en alemán).