WireGuard

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda
WireGuard
www.wireguard.com
Logo oficial de WireGuard.
Tipo de programa software libre
Túnel (informática)
Desarrollador Jason A. Donenfeld
Autor Jason A. Donenfeld
Última versión estable Ninguna[1]
Género Red privada virtual
Programado en C (módulo de kernel de Linux), Go (implementación del espacio de usuario)
Sistema operativo
Licencia GPLv2

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. 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]

Implementaciones[editar]

Entre las implementaciones del protocolo WireGuard se incluyen:

Programas de espacio de usuario que soportan WireGuard[editar]

Entre los programas de espacio de usuario que soportan WireGuard se incluyen:

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.

Referencias[editar]

  1. a b «Installation». WireGuard. Archivado desde el original el 22 de julio de 2019. Consultado el 20 de agosto de 2019.  Parámetro desconocido |df= ignorado (ayuda); Parámetro desconocido |url-status= ignorado (ayuda)
  2. 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.  Parámetro desconocido |df= ignorado (ayuda); Parámetro desconocido |url-status= ignorado (ayuda)
  3. 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.  Parámetro desconocido |url-status= ignorado (ayuda)
  4. «Work in Progress». Wireguard.com. 
  5. 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.  Parámetro desconocido |url-status= ignorado (ayuda)
  6. Donenfeld, Jason A. «Introduction & Motivation». WireGuard: Next Generation Kernel Network Tunnel (PDF). Archivado desde el original el 4 de marzo de 2018.  Parámetro desconocido |url-status= ignorado (ayuda)
  7. 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 
  8. https://download.wireguard.com/monolithic-historical/
  9. 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.  Parámetro desconocido |url-status= ignorado (ayuda); Parámetro desconocido |df= ignorado (ayuda)
  10. 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.  Parámetro desconocido |url-status= ignorado (ayuda); Parámetro desconocido |df= ignorado (ayuda)
  11. Pestell, Nick. «Introducing Wireguard». Consultado el 22 de septiembre de 2019. 
  12. «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.  Parámetro desconocido |url-status= ignorado (ayuda)
  13. «Donations». WireGuard. Archivado desde el original el 28 de abril de 2018. Consultado el 28 de abril de 2018.  Parámetro desconocido |url-status= ignorado (ayuda)
  14. «About The Project». WireGuard. Work in Progress. Archivado desde el original el 25 de junio de 2018. Consultado el 25 de junio de 2018.  Parámetro desconocido |url-status= ignorado (ayuda)
  15. «Installation». WireGuard. Archivado desde el original el 26 de junio de 2018. Consultado el 26 de junio de 2018.  Parámetro desconocido |url-status= ignorado (ayuda)
  16. «e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git at Google». kernel.googlesource.com. 
  17. «LKML: David Miller: Re: [PATCH net-next v2] net: WireGuard secure network tunnel». lkml.org. 
  18. «[ANNOUNCE] WireGuard merged to net-next, on its way to Linux 5.6». web.archive.org. 9 de enero de 2020. 
  19. Torvalds, Linus. «index : kernel/git/torvalds/linux.git». Linux kernel source tree. Kernel.org. Consultado el 2 de febrero de 2020. 
  20. «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.  Parámetro desconocido |url-status= ignorado (ayuda); Parámetro desconocido |df= ignorado (ayuda)
  21. Donenfeld, Jason (7 de junio de 2019). «WireGuard: fast, modern, secure VPN tunnel». Consultado el 16 de junio de 2019. 
  22. 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.  Parámetro desconocido |url-status= ignorado (ayuda); Parámetro desconocido |df= ignorado (ayuda)
  23. «CloudFlare Launches "BoringTun" As Rust-Written WireGuard User-Space Implementation». phoronix.com. Consultado el 29 de marzo de 2019. 
  24. https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/.  Falta el |título= (ayuda)
  25. https://github.com/systemd/systemd/blob/v237/NEWS/.  Falta el |título= (ayuda)
  26. https://www.phoronix.com/scan.php?page=news_item&px=ConnMan-1.38-Released.  Falta el |título= (ayuda)
  27. https://fpn.firefox.com/vpn.  Falta el |título= (ayuda)

Otras lecturas[editar]

Enlaces externos[editar]