Comparativa de protocolos VPN

Introducción

Un protocolo VPN muy básico basado en PPP. La especificación PPTP en realidad no describe funciones de cifrado o autenticación y se basa en el protocolo PPP que se tuneliza para implementar la funcionalidad de seguridad. IKEv2 (intercambio de claves de Internet versión 2) es parte del conjunto de protocolos IPSec. Estandarizado en RFC 7296. IPSec se ha convertido en el protocolo estándar de facto para comunicaciones seguras en Internet, proporcionando confidencialidad, autenticación e integridad. Protocolo VPN de código abierto desarrollado por tecnologías OpenVPN. Muy popular, aunque no se basa en estándares (RFC). Utiliza un protocolo de seguridad personalizado y SSL/TLS para el intercambio de claves. Proporciona total confidencialidad, autenticación e integridad. WireGuard® es un protocolo VPN extremadamente rápido con muy poca sobrecarga y criptografía de última generación. Tiene el potencial de ofrecer una VPN más simple, más segura, más eficiente y más fácil de usar sobre las tecnologías existentes.

Cifrado

La carga útil de PPP se cifra mediante el protocolo de cifrado punto a punto de Microsoft. (MPPE). MPPE implementa el algoritmo de cifrado RSA RC4 con un máximo de claves de sesión de 128 bits. IKEv2 implementa una gran cantidad de algoritmos criptográficos, incluidos 3DES, AES, Blowfish y Camellia. IVPN implementa IKEv2 usando AES con claves de 256 bits. OpenVPN utiliza la biblioteca OpenSSL para proporcionar cifrado. OpenSSL implementa una gran cantidad de algoritmos criptográficos como 3DES, AES, RC5, Blowfish.
Al igual que IKEv2 , IVPN implementa AES con claves de 256 bits.
Construido sobre ChaCha20 para cifrado simétrico (RFC7539), Curve25519 para acuerdo de clave anónima Diffie-Hellman (ECDH) de curva elíptica, BLAKE2s para hash (RFC7693), SipHash24 para claves de tabla hash y HKDF para derivación de claves (RFC5869). Hace uso de un protocolo de enlace basado en UDP y el intercambio de claves utiliza un secreto directo perfecto al tiempo que evita tanto la suplantación de compromiso de claves como los ataques de repetición.

Debilidades de seguridad

La implementación de PPTP de Microsoft tiene graves vulnerabilidades de seguridad. MSCHAP-v2 es vulnerable a ataques de diccionario y el algoritmo RC4 está sujeto a ataques de inversión de bits. Microsoft recomienda encarecidamente actualizar a IPSec cuando la confidencialidad sea una preocupación. IPSec no tiene vulnerabilidades importantes conocidas y generalmente se considera seguro cuando se implementa utilizando un algoritmo de cifrado seguro y certificados para autenticación. Sin embargo, las presentaciones filtradas de la NSA indican que IKE podría explotarse en una manera desconocida de descifrar el tráfico IPSec. OpenVPN no tiene vulnerabilidades importantes conocidas y generalmente se considera seguro cuando se implementa utilizando un algoritmo de cifrado seguro y certificados de autenticación. WireGuard® no tiene vulnerabilidades importantes conocidas. Es relativamente nuevo y no ha sido objeto de una investigación exhaustiva como OpenVPN, aunque la base de código es extremadamente pequeña, por lo que las auditorías completas son posibles por parte de individuos y no solo de grandes organizaciones. WireGuard® está integrado en el árbol de Linux Kernel 5.6 y ha sido revisado por un auditor externo.

Velocidad

Con RC4 y claves de 128 bits, la sobrecarga de cifrado es menor que la de todos los protocolos, lo que hace que PPTP sea el más rápido. IPSec con IKEv2 debería, en teoría, ser más rápido que OpenVPN debido al cifrado en modo de usuario en OpenVPN; sin embargo, depende de muchas variables específicas de la conexión. En la mayoría de los casos es más rápido que OpenVPN. Cuando se utiliza en su modo UDP predeterminado en una red de confianza, OpenVPN funciona de manera similar a IKEv2. WireGuard® se beneficia de primitivas criptográficas de velocidad extremadamente alta y de una profunda integración con el núcleo del sistema operativo subyacente, por lo que las velocidades son muy altas con una sobrecarga baja. La mayoría de los clientes reportan velocidades más altas que OpenVPN.

Puertos de cortafuego

PPTP utiliza el puerto TCP 1723 y GRE (Protocolo 47). PPTP se puede bloquear fácilmente restringiendo el protocolo GRE. IKEv2 utiliza UDP 500 para el intercambio de claves inicial, el protocolo 50 para los datos cifrados IPSEC (ESP) y UDP 4500 para el recorrido NAT.
IKEv2 es más fácil de bloquear que OpenVPN debido a su dependencia de protocolos y puertos fijos.
OpenVPN se puede configurar fácilmente para ejecutarse en cualquier puerto utilizando UDP o TCP, evitando así los cortafuegos restrictivos. WireGuard® utiliza el protocolo UDP y se puede configurar para utilizar cualquier puerto. Puede sucumbir a la configuración del tráfico más fácilmente que OpenVPN debido a la falta de soporte para TCP.

Instalación/Configuración

Todas las versiones de Windows y la mayoría de los demás sistemas operativos (incluidos los móviles) tienen soporte nativo para PPTP. PPTP sólo requiere un nombre de usuario, contraseña y dirección de servidor, lo que lo hace increíblemente sencillo de instalar y configurar. Windows 7+, macOS 10.11+ y la mayoría de los sistemas operativos móviles tienen soporte nativo para IPSec con IKEv2. OpenVPN no está incluido en ninguna versión del sistema operativo y requiere la instalación de software cliente. La instalación suele tardar menos de 5 minutos. WireGuard® está en el árbol con Linux Kernel 5.6. Otros sistemas operativos que no son Linux requieren la instalación de una aplicación cliente WireGuard®. La instalación suele tardar menos de 5 minutos.

Estabilidad/Compatibilidad

PPTP no es tan seguro ni se recupera tan rápido como OpenVPN en conexiones de red inestables. Problemas menores de compatibilidad con el protocolo GRE y algunos enrutadores. IPSec es más complejo que OpenVPN y puede requerir configuración adicional entre dispositivos detrás de enrutadores NAT. Sin embargo, siempre que tanto el servidor como el cliente admitan el cruce NAT, no debería haber ningún problema. Muy estable y rápido en redes inalámbricas, teléfonos móviles y otras redes inseguras donde la pérdida de paquetes y la congestión son comunes. OpenVPN tiene un modo TCP para conexiones muy poco fiables, pero este modo sacrifica un rendimiento significativo debido a la ineficiencia de encapsular TCP dentro de TCP. Extremadamente estable y robusto. Más estable que OpenVPN en roaming entre redes. Utiliza un punto final inicial para las conexiones y puede cambiar de servidor mientras mantiene la conexión. El cliente también puede cambiar de red sin perder la conexión.

Plataformas compatibles

Windows
macOS
Linux
Apple iOS
Android
DD-WRT
Windows
macOS
Linux
Apple iOS
Android
Windows
macOS
Linux
Apple iOS
Android
DD-WRT (con la versión correcta)
Windows
macOS
Linux
Apple iOS
Android

Verdicto

Debido a los importantes fallos de seguridad, no hay ninguna buena razón para elegir PPTP aparte de la compatibilidad del dispositivo. Si tienes un dispositivo que solo admite PPTP, entonces deberías considerar cómo cifrar datos en otras capas, por ejemplo. HTTPS. IKEv2 es una excelente opción, es extremadamente rápido, seguro y de confianza Además, a diferencia de OpenVPN, no requiere la instalación de software adicional (en la mayoría de los casos) y por lo tanto, es el más rápido de configurar. Si tienes un modelo de amenaza que incluye adversarios sofisticados, es posible que desees considerar OpenVPN debido a las presentaciones filtradas de la NSA discutidas anteriormente. OpenVPN es una excelente opción para todas las plataformas. Es extremadamente rápido, seguro y de confianza WireGuard® es una excelente opción y puede ser el mejor protocolo para altas velocidades. WireGuard® promete mayor seguridad y velocidades más rápidas en comparación con las soluciones existentes. Desde su fusión con el Kernel de Linux (v5.6) y el lanzamiento de la v1.0, consideramos que WireGuard® está listo para su uso a gran escala.

PPTP

Introducción

Un protocolo VPN muy básico basado en PPP. La especificación PPTP en realidad no describe funciones de cifrado o autenticación y se basa en el protocolo PPP que se tuneliza para implementar la funcionalidad de seguridad.

Cifrado

La carga útil de PPP se cifra mediante el protocolo de cifrado punto a punto de Microsoft (MPPE). MPPE implementa el algoritmo de cifrado RSA RC4 con un máximo de claves de sesión de 128 bits.

Debilidades de seguridad

La implementación de PPTP de Microsoft tiene [graves vulnerabilidades de seguridad] (http://www.schneier.com/paper-pptpv2.html). MSCHAP-v2 es vulnerable a ataques de diccionario y el algoritmo RC4 está sujeto a ataques de inversión de bits. Microsoft recomienda encarecidamente actualizar a IPSec cuando la confidencialidad sea una preocupación.

Velocidad

Con RC4 y claves de 128 bits, la sobrecarga de cifrado es menor que la de todos los protocolos, lo que hace que PPTP sea el más rápido.

Puertos de firewall

PPTP utiliza el puerto TCP 1723 y GRE (Protocolo 47). PPTP se puede bloquear fácilmente restringiendo el protocolo GRE.

Instalación/Configuración

Todas las versiones de Windows y la mayoría de los demás sistemas operativos (incluidos los móviles) tienen soporte nativo para PPTP. PPTP sólo requiere un nombre de usuario, contraseña y dirección de servidor, lo que lo hace increíblemente sencillo de instalar y configurar.

Estabilidad/Compatibilidad

PPTP no es tan fiable ni se recupera tan rápido como OpenVPN en conexiones de red inestables. Problemas menores de compatibilidad con el protocolo GRE y algunos enrutadores.

Plataformas compatibles

Windows
macOS
Linux
Apple iOS
Android
DD-WRT

Verdicto

Debido a los importantes fallos de seguridad, no hay ninguna buena razón para elegir PPTP aparte de la compatibilidad del dispositivo. Si tienes un dispositivo que solo admite PPTP, entonces deberías considerar cómo cifrar datos en otras capas, por ejemplo. HTTPS.

IPSec IKEv2

Introducción

IKEv2 (intercambio de claves de Internet versión 2) es parte del conjunto de protocolos IPSec. Estandarizado en RFC 7296. IPSec se ha convertido en el protocolo estándar de facto para las comunicaciones seguras en Internet, proporcionando confidencialidad, autenticación e integridad.

Cifrado

IKEv2 implementa una gran cantidad de algoritmos criptográficos, incluidos 3DES, AES, Blowfish, Camellia. IVPN implementa IKEv2 usando AES con claves de 256 bits.

Debilidades de seguridad

IPSec no tiene vulnerabilidades importantes conocidas y generalmente se considera seguro cuando se implementa utilizando un algoritmo de cifrado seguro y certificados para autenticación. Sin embargo, las [presentaciones filtradas de la NSA] (https://github.com/nsa-observer/documents/blob/master/files/pdf/media-35529.pdf) indican que IKE podría explotarse de una manera desconocida para descifrar el tráfico IPSec.

Velocidad

En teoría, IPSec con IKEv2 debería ser más rápido que OpenVPN debido al cifrado en modo de usuario en OpenVPN; sin embargo, depende de muchas variables específicas de la conexión. En la mayoría de los casos es más rápido que OpenVPN.

Puertos de firewall

IKEv2 utiliza UDP 500 para el intercambio de claves inicial, el protocolo 50 para los datos cifrados IPSEC (ESP) y UDP 4500 para el recorrido NAT. IKEv2 es más fácil de bloquear que OpenVPN debido a su dependencia de protocolos y puertos fijos.

Instalación/Configuración

Windows 7+, macOS 10.11+ y la mayoría de los sistemas operativos móviles tienen soporte nativo para IPSec con IKEv2.

Estabilidad/Compatibilidad

IPSec es más complejo que OpenVPN y puede requerir una configuración adicional entre dispositivos detrás de enrutadores NAT. Sin embargo, siempre que tanto el servidor como el cliente admitan el cruce NAT, no debería haber ningún problema.

Plataformas compatibles

Windows
macOS
Linux
Apple iOS
Android

Veredicto

IKEv2 es una excelente opción, es extremadamente rápido, seguro y de confianza. Además, a diferencia de OpenVPN, no requiere la instalación de software adicional (en la mayoría de los casos) y por lo tanto, es el más rápido de configurar. Si tienes un modelo de amenaza que incluye adversarios sofisticados, es posible que desees considerar OpenVPN debido a las presentaciones filtradas de la NSA discutidas anteriormente.

OpenVPN

Introducción

Protocolo VPN de código abierto desarrollado por tecnologías OpenVPN. Muy popular, aunque no se basa en estándares (RFC). Utiliza un protocolo de seguridad personalizado y SSL/TLS para el intercambio de claves. Proporciona total confidencialidad, autenticación e integridad.

Cifrado

OpenVPN utiliza la biblioteca OpenSSL para proporcionar cifrado. OpenSSL implementa una gran cantidad de algoritmos criptográficos como 3DES, AES, RC5, Blowfish. Al igual que IKEv2, IVPN implementa AES con claves de 256 bits.

Debilidades de seguridad

OpenVPN no tiene vulnerabilidades importantes conocidas y generalmente se considera seguro cuando se implementa utilizando un algoritmo de cifrado seguro y certificados de autenticación.

Velocidad

Cuando se utiliza en su modo UDP predeterminado en una red de confianza, OpenVPN funciona de manera similar a IKEv2.

Puertos de firewall

OpenVPN se puede configurar fácilmente para ejecutarse en cualquier puerto utilizando UDP o TCP, evitando así los cortafuegos restrictivos.

Instalación/Configuración

OpenVPN no está incluido en ninguna versión del sistema operativo y requiere la instalación de software cliente. La instalación suele tardar menos de 5 minutos.

Estabilidad/Compatibilidad

Muy estable y rápido en redes inalámbricas, celulares y otras redes inseguras donde la pérdida de paquetes y la congestión son comunes. OpenVPN tiene un modo TCP para conexiones muy poco seguras, pero este modo sacrifica un rendimiento significativo debido a la ineficiencia de encapsular TCP dentro de TCP.

Plataformas compatibles

Windows
macOS
Linux
Apple iOS
Android
DD-WRT (con la versión correcta)

Veredicto

OpenVPN es una excelente opción para todas las plataformas. Es extremadamente rápido, seguro y de confianza.

WireGuard

Introducción

WireGuard® es un protocolo VPN extremadamente rápido con muy poca sobrecarga y criptografía de última generación. Tiene el potencial de ofrecer una VPN más simple, más segura, más eficiente y más fácil de usar sobre las tecnologías existentes.

Cifrado

Construido sobre ChaCha20 para cifrado simétrico (RFC7539), Curve25519 para acuerdo de clave anónima Diffie-Hellman (ECDH) de curva elíptica, BLAKE2 para hash (RFC7693), SipHash24 para claves de tabla hash y HKDF para derivación de claves (RFC5869). Hace uso de un protocolo de enlace basado en UDP y el intercambio de claves utiliza un secreto directo perfecto al tiempo que evita tanto la suplantación de compromiso de claves como los ataques de repetición.

Debilidades de seguridad

WireGuard® no tiene vulnerabilidades importantes conocidas. Es relativamente nuevo y no ha sido objeto de una investigación exhaustiva como OpenVPN, aunque la base de código es extremadamente pequeña, por lo que las auditorías completas son posibles por parte de individuos y no solo de grandes organizaciones. WireGuard® está integrado en el árbol de Linux Kernel 5.6 y ha sido revisado por un auditor externo.

Velocidad

WireGuard® se beneficia de primitivas criptográficas de velocidad extremadamente alta y de una profunda integración con el núcleo del sistema operativo subyacente, por lo que las velocidades son muy altas con una sobrecarga baja. La mayoría de los clientes reportan velocidades más altas que OpenVPN.

Puertos de firewall

WireGuard® utiliza el protocolo UDP y se puede configurar para utilizar cualquier puerto. Puede sucumbir a la configuración del tráfico más fácilmente que OpenVPN debido a la falta de soporte para TCP.

Instalación/Configuración

WireGuard® está integrado en el árbol con Linux Kernel 5.6. Otros sistemas operativos que no son Linux requieren la instalación de una aplicación cliente WireGuard®. La instalación suele tardar menos de 5 minutos.

Estabilidad/Compatibilidad

Extremadamente estable y robusto. Más estable que OpenVPN en roaming entre redes. Utiliza un punto final inicial para las conexiones y puede cambiar de servidor mientras mantiene la conexión. El cliente también puede cambiar de red sin perder la conexión.

Plataformas compatibles

Windows
macOS
Linux
Apple iOS
Android

Veredicto

WireGuard® es una excelente opción y puede ser el mejor protocolo para altas velocidades. WireGuard® promete mayor seguridad y velocidades más rápidas en comparación con las soluciones existentes. Desde su fusión con el kernel de Linux (v5.6) y el lanzamiento de la v1.0, consideramos que WireGuard® está listo para su uso a gran escala.