WireGuard ha hecho las cosas bien y ahora llega como un port al Kernel de Windows

wireguard

Tal parece que las cosas están yendo bastante bien dentro del proyecto de WireGuard, ya que Jason A. Donenfeld, autor de VPN WireGuard, presentó el proyecto WireGuardNT el cual es un port VPN WireGuard de alto rendimiento para el kernel de Windows que es compatible con Windows 7, 8, 8.1 y 10, y admite las arquitecturas AMD64, x86, ARM64, y arquitecturas ARM.

Es importante recordar que en el ultimo semestre del 2019 se tomaron los parches con la implementación de la interfaz VPN del proyecto en la rama net-next, esto debido a que los desarrolladores de WireGuard realizaron un compromiso y acordaron transferir parte del código al kernel principal, no como una API separada, sino como parte del subsistema Crypto API.

Después de ello a los pocos meses el proyecto llego a OpenBSD cambios para las utilidades ifconfig y tcpdump con soporte para la funcionalidad WireGuard, documentación y cambios menores para integrar WireGuard con el resto del sistema y posterior a ello el proyecto se movió para tener compatibilidad con Android.

Artículo relacionado:
WireGuard la sigue rompiendo, ahora es OpenBSD quien adopta el protocolo

VPN WireGuard se implementa sobre la base de métodos de cifrado modernos, proporciona un rendimiento muy alto, es fácil de usar, no presenta complicaciones y ha demostrado su eficacia en una serie de grandes implementaciones que manejan grandes volúmenes de tráfico.

El proyecto se viene desarrollando desde 2015, ha pasado una auditoría y verificación formal de los métodos de cifrado utilizados. WireGuard utiliza el concepto de enrutamiento de clave de cifrado, que implica vincular una clave privada a cada interfaz de red y utilizar las claves públicas para vincular.

El intercambio de claves públicas para establecer una conexión se realiza por analogía con SSH. Para negociar claves y conectarse sin ejecutar un demonio separado en el espacio de usuario, se utiliza el mecanismo Noise_IK del Noise Protocol Framework, similar al mantenimiento de authorized_keys en SSH. La transmisión de datos se realiza mediante encapsulación en paquetes UDP. Admite cambiar la dirección IP del servidor VPN (roaming) sin romper la conexión con la reconfiguración automática del cliente.

El cifrado utiliza el cifrado de flujo ChaCha20 y el algoritmo de autenticación de mensajes (MAC) Poly1305. ChaCha20 y Poly1305 se posicionan como contrapartes más rápidas y seguras de AES-256-CTR y HMAC, cuya implementación de software le permite lograr un tiempo de ejecución fijo sin utilizar un soporte de hardware especial.

Y ahora el proyecto llega como un port para Windows que se basa en la base de código probada de la implementación principal de WireGuard para el kernel de Linux, que se ha traducido para usar las entidades del kernel de Windows y la pila de redes NDIS.

Después de muchos meses de trabajo, Simon y yo nos complace anunciar el WireGuardNT proyecto, un puerto nativo de WireGuard para el kernel de Windows. 

WireGuardNT, comenzó como un puerto de la base de código de Linux… Después de la portabilidad inicial esfuerzos allí tuvieron éxito, la base de código NT rápidamente divergió para encajar bien con NTisms nativos y API NDIS (pila de redes de Windows). El resultado final es una implementación profundamente integrada y de alto rendimiento de WireGuard, que hace uso de toda la gama de capacidades del kernel NT y NDIS.

En comparación con la implementación de wireguard-go que se ejecuta en el espacio del usuario y utiliza la interfaz de red Wintun, WireGuardNT tiene una mejora significativa en el rendimiento al eliminar las operaciones de cambio de contexto y copiar el contenido del paquete desde el kernel al espacio del usuario.

Por analogía con las implementaciones para Linux, OpenBSD y FreeBSD en WireGuardNT, toda la lógica de procesamiento del protocolo funciona directamente en el nivel de pila de la red.

Artículo relacionado:
Por fin WireGuard fue aceptado por Linus Torvalds y será integrado en Linux 5.6

Aunque todavía no se han realizado optimizaciones específicas, WireGuardNT ya ha logrado un rendimiento máximo de transferencia de datos de 7,5 Gbps en nuestro entorno de prueba con Ethernet.

En sistemas de usuarios reales con Wi-Fi, el rendimiento es notablemente más bajo, pero no muy diferente de la transferencia directa de datos. Por ejemplo, en un sistema con una tarjeta inalámbrica Intel AC9560, el rendimiento sin WireGuard fue de 600 Mbps y con WireGuardNT también se mantuvo en 600 Mbps, mientras que cuando se usó wireguard-go/Wintun fue de 95 Mbps.

Fuente: https://lists.zx2c4.com/


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.