WireGuard fue aceptado y llegara integrado en la próxima versión de Linux 5.6

diciembre 10, 2019 , 0 Comments

wireguard

 

Se ha dado a conocer que David S. Miller, responsable del subsistema de red en Linux, ha tomado parches con la implementación de la interfaz VPN del proyecto WireGuard en la rama net-next. Con lo cual a principios del próximo año, los cambios acumulados en la rama net-next formarán la base para el lanzamiento de Linux 5.6.

Para quienes desconocen de WireGuard deben saber que esta es una VPN que 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 implementaciones grandes que manejan grandes volúmenes de tráfico.

Sobre WireGuard

El proyecto se ha desarrollado desde 2015, ha pasado una auditoría y verificación formal de los métodos de cifrado utilizados. El soporte de WireGuard ya está integrado en NetworkManager y systemd, y los parches de kernel son parte de las distribuciones básicas de Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph y ALT .

WireGuard utiliza el concepto de enrutamiento de clave de cifrado, que implica vincular una clave privada a cada interfaz de red y usarla para vincular claves públicas. El intercambio de claves públicas para establecer una conexión se realiza por analogía con SSH.

Para negociar claves y conectarse sin iniciar un demonio separado en el espacio del usuario, se utiliza el mecanismo Noise_IK del Marco de protocolo de ruido, similar al mantenimiento de claves autorizadas en SSH. Los datos se transmiten a través de la encapsulación en paquetes UDP. Admite cambiar la dirección IP del servidor VPN (roaming) sin interrumpir la conexión y reconfigurar automáticamente el cliente.

Para el cifrado, se utilizan el cifrado de flujo ChaCha20 y el algoritmo de autenticación de mensajes Poly1305 (MAC), este se posicionan como análogos más rápidos y seguros de AES-256-CTR y HMAC, cuya implementación de software permite lograr un tiempo de ejecución fijo sin involucrar soporte de hardware especial.

Despues de mucho tiempo WireGuard por fin será incluido en Linux

linux

Desde ya hace vario tiempo que se han realizado diversos intentos para promover el código de WireGuard dentro de Linux, pero no han tenido éxito debido a la vinculación de sus propias implementaciones de funciones criptográficas, que se utilizaron para aumentar la productividad.

Inicialmente, estas funciones se propusieron para el kernel como una API adicional de bajo nivel, que eventualmente podría reemplazar a la API Crypto regular.

Después de las negociaciones en la conferencia Kernel Recipes, los creadores de WireGuard en septiembre tomaron una decisión de compromiso de cambiar sus parches para usar la API Crypto core, de la cual los desarrolladores de WireGuard tienen quejas en términos de rendimiento y seguridad general.

Se decidió que la API continuara desarrollándose, pero como un proyecto separado.

Posteriormente en noviembre, los desarrolladores del kernel hicieron un compromiso y acordaron transferir parte del código al kernel principal. De hecho, algunos componentes se transferirán al kernel, pero no como una API separada, sino como parte del subsistema Crypto API.

Por ejemplo, Crypto API ya incluye implementaciones rápidas preparadas por Wireguard de los algoritmos ChaCha20 y Poly1305.

En relación con la próxima entrega de WireGuard en el núcleo central, el fundador del proyecto anunció una reestructuración del repositorio. Para simplificar el desarrollo, el repositorio monolítico “WireGuard.git”, que fue diseñado para una existencia separada, será reemplazado por tres repositorios separados que son más adecuados para organizar el trabajo con código en el núcleo principal:

  • wireguard-linux.git : un árbol de kernel completo con cambios del proyecto Wireguard, cuyos parches se revisarán para su inclusión en el kernel y se transferirán regularmente a las ramas net / net-next.
  • wireguard-tools.git: un repositorio de utilidades y scripts que se ejecutan en el espacio del usuario, como wg y wg-quick. El repositorio se puede usar para crear paquetes para distribuciones.
  • wireguard-linux-compat.git  un repositorio con una opción de módulo, suministrado por separado del núcleo e incluye la capa compat.h para garantizar la compatibilidad con los núcleos más antiguos. El desarrollo principal se llevará a cabo en el repositorio wireguard-linux.git, pero hasta ahora los usuarios tienen la oportunidad y la necesidad de una versión separada de los parches también serán compatibles en forma de trabajo.

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.