Practica 2 Jaime Tene Uyaguari

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Enunciado – Ejercicio 2

En los materiales que hemos visto en el módulo Protocolos Seguros de la asignatura hemos
presentado diferentes protocolos que nos permiten crear redes privadas virtuales (VPN,
Virtual Private Networks por sus siglas en inglés).

Una forma de clasificar estos protocolos es según la capa de la arquitectura de protocolos


TCP/IP donde operan. De esta forma, si el protocolo de seguridad trabaja en la capa de
transporte, como es el caso de TLS, podemos tener VPN de nivel de transporte. De igual
forma, si el protocolo trabaja a nivel de capa de red, como en el caso de IPSec, tendremos
una
VPN de nivel de red.

El objetivo del siguiente ejercicio es el estudio por parte del alumno de otro de los
protocolos que permiten crear VPN de nivel de red y que se está erigiendo en competidor
del estándar IPSec. Se trata del protocolo Wireguard. Podéis encontrar toda la
información del protocolo en
el siguiente enlace: https://www.wireguard.com/ y su descripción técnica detallada en el
siguiente artículo: https://www.wireguard.com/papers/wireguard.pdf.

1. Busca en la documentación de los enlaces proporcionados (o en otra


documentación que encuentres en internet, mostrando la fuente de la misma) e
indica tres de las características generales y principales del protocolo.

WireGuard VPN es un software para crear una red privada virtual


(VPN) extremadamente sencilla de configurar, muy rápida (más rápida que IPsec y
OpenVPN) y que utiliza la criptografía más moderna por defecto, sin necesidad de
seleccionar entre diferentes algoritmos de cifrado simétrico, asimétrico y de hashing.

Con WireGuard VPN no es necesario administrar las conexiones, preocuparse por el


estado de la propia red privada virtual, administrar procesos ni saber qué hay debajo del
software para hacerlo funcionar, tal y como ocurre con IPsec, donde muchas veces es
necesario mirar logs e investigar qué está ocurriendo. Otro de los puntos fuertes es que
la configuración es extremadamente básica, pero muy potente.

Este software es una VPN L3, es decir, utiliza tunneling únicamente, no ocurre como
OpenVPN donde tenemos la posibilidad de trabajar en modo transporte o modo túnel.
En este caso utilizaremos siempre modo túnel, además, es compatible tanto con redes
IPv4 como redes IPv6, además, puede encapsular paquetes IPv4 en IPv6 y viceversa. El
protocolo de capa transporte utilizado por WireGuard es UDP, por lo que tendremos
que abrir un puerto determinado (a elegir, se puede cambiar) en nuestro router que hace
NAT.

El protocolo WireGuard elimina la agilidad criptográfica, el concepto de ofrecer


opciones entre diferentes algoritmos de cifrado, intercambio de claves y hash, ya
que esto ha resultado en implementaciones inseguras con otras tecnologías.  En su
lugar, el protocolo utiliza una selección de primitivas criptográficas modernas,
probadas exhaustivamente y revisadas por pares que dan como resultado opciones
criptográficas predeterminadas sólidas que los usuarios no pueden cambiar o
configurar incorrectamente. Si alguna vez se descubre alguna vulnerabilidad grave
en las primitivas criptográficas utilizadas, se lanza una nueva versión del protocolo
y hay un mecanismo de negociación de la versión del protocolo entre pares.
WireGuard usa ChaCha20 para el cifrado simétrico con Poly1305 para la
autenticación de mensajes, una combinación que tiene más rendimiento que AES en
arquitecturas de CPU integradas que no tienen aceleración de hardware
criptográfico; Curve25519 para el acuerdo clave Diffie-Hellman (ECDH) de curva
elíptica; BLAKE2s para hashing, que es más rápido que SHA-3; y un apretón de
manos de 1.5 Tiempo de ida y vuelta (1.5-RTT) que se basa en el marco de Ruido y
proporciona confidencialidad directa. También incluye protección integrada contra
suplantación de claves, denegación de servicio y ataques de repetición, así como
cierta resistencia criptográfica post-cuántica.

En el protocolo WireGuard, cada par se identifica ante los demás a través de claves
públicas cortas de manera similar a cómo funciona la autenticación basada en claves
en OpenSSH. Las claves públicas también se utilizan para establecer qué
direcciones IP se asignan a cada par dentro del túnel como parte de un nuevo
concepto que los desarrolladores de WireGuard llaman enrutamiento de clave
criptográfica.

El protocolo también es sigiloso, ya que no responde a ningún paquete de pares que


no reconoce, por lo que un escaneo de red no revelará que WireGuard se está
ejecutando en una máquina. Además, la conexión entre pares, que pueden actuar
como clientes y servidores al mismo tiempo, se silencia cuando no hay intercambio
de datos.

2. Wireguard, al igual que el protocolo IPSec, opera en la capa de red. Indica tres
diferencias de funcionamiento/operación entre ambos protocolos.

Mientras que IPsec ofrece muchas opciones de cifrado, muchas de las cuales pueden ser
inseguras si se configuran incorrectamente, WireGuard limita las opciones disponibles a
métodos de cifrado modernos y seguros. Ni el cliente ni el servidor pueden especificar
una opción de cifrado insegura, y este enfoque garantiza que la mayoría de los usuarios
de WireGuard (si no todos) confiarán en los estándares de cifrado más recientes.

IPsec ofrece más opciones de encriptación que WireGuard, por ejemplo, admite el uso
del algoritmo RSA y claves previamente compartidas para la autenticación. A pesar de
que estos métodos de cifrado heredados ya no se consideran seguros, el usuario de IPsec
tiene la opción de elegirlos si, por ejemplo, necesita agregar clientes heredados a una
VPN IPsec existente. Las opciones de encriptación adicionales dejan a IPsec abierto a
una configuración incorrecta y lo convierten en una opción más pobre para las nuevas
configuraciones de VPN.

La base de código de IPsec es significativamente más grande que la de WireGuard


debido a la inclusión de protocolos heredados de IPsec. En general, una base de código
más grande es más difícil de auditar. Por ejemplo, OpenSwan , una popular
implementación de IPsec para Linux, contiene más de 8 MB de código en varios
idiomas, lo que a 80 bytes por línea equivaldría a 100 000 líneas de código. Una base de
código de ese tamaño es más compleja y más difícil de verificar que la de WireGuard.

El protocolo IPsec es adecuado para entornos donde la regulación, los sistemas


operativos heredados o los dispositivos IoT dictan qué métodos de cifrado heredados o
métodos de cifrado no compatibles con WireGuard deben usarse.

La complejidad de las configuraciones de IPsec implica más trabajo tanto para el


usuario como para el administrador a la hora de configurar y mantener conexiones VPN
seguras, por lo que, a menos que pertenezca a una de las categorías que mencionamos
anteriormente, WireGuard es la mejor opción de VPN para establecer conexiones de red
privadas entre empresas y empleados.

IPsec WireGuard
Fuente abierta Sí Sí
Encriptado de fin a fin Sí Sí

Menos opciones de cifrado,


Muchas opciones de encriptación
centradas en soluciones de cifrado
Opciones de cifrado presentan la posibilidad de usar
modernas con valores
configuraciones no seguras
predeterminados más seguros

Utiliza el intercambio de claves de


Intercambio de llaves Utiliza protocolo de ruido
Internet (IKE)
Mantiene una conexión activa Sí No

3. Uno de los conceptos fundamentales de Wireguard es el llamado Criptokey Routing.


Explica de forma práctica como funcionaria la transmisión para el PeerID = 2 hacia el
servidor Wireguard con IP 158.110.42.34/32, escuchando en el puerto UDP 41414.

También podría gustarte