Portada » ¿Qué es WireGuard y cómo funciona? Guía completa
CIBERSEGURIDAD · VPN · WIREGUARD · UDP · CRIPTOGRAFÍA

¿Qué es WireGuard y cómo funciona?

WireGuard es un protocolo VPN de capa IP diseñado para crear túneles protegidos entre dispositivos mediante criptografía moderna. Utiliza UDP para transportar los paquetes y un sistema de cryptokey routing que relaciona las claves públicas de los peers con las direcciones IP permitidas.

WireGuard VPN UDP Noise_IK
Respuesta rápida

¿Qué es WireGuard?

WireGuard es un protocolo VPN que crea túneles protegidos entre dispositivos llamados peers. Está diseñado para funcionar en la capa IP y utiliza UDP como transporte.

Su arquitectura utiliza claves públicas, claves efímeras, criptografía moderna y un mecanismo denominado cryptokey routing para asociar identidades criptográficas con direcciones IP permitidas.

Concepto clave

¿Cómo funciona WireGuard?

WireGuard establece un canal seguro entre peers mediante un intercambio de claves y posteriormente utiliza claves simétricas de sesión para proteger el tráfico transportado por el túnel.

Peers

Los dispositivos participantes se denominan peers. Cada peer tiene una identidad basada en una clave pública y una clave privada.

Handshake

Los peers ejecutan un intercambio de claves para establecer las claves de sesión utilizadas posteriormente para transportar datos.

Túnel

Una vez establecida la sesión, los paquetes IP se encapsulan y transmiten mediante el canal protegido de WireGuard.

Publicidad
Punto crítico

WireGuard utiliza claves para identificar a los peers

La identidad de cada peer se basa en criptografía de clave pública. Las direcciones IP permitidas se asocian a las claves públicas dentro del sistema de cryptokey routing.

01 · PRIVATE KEY

Clave privada

Permanece en el dispositivo y participa en las operaciones criptográficas necesarias para establecer la identidad del peer.

02 · PUBLIC KEY

Clave pública

Identifica al peer frente a los otros participantes de la configuración WireGuard.

03 · ALLOWED IPS

Direcciones permitidas

Las direcciones IP permitidas participan en el sistema de cryptokey routing para asociar tráfico y claves.

Publicidad
Arquitectura

Principales componentes de WireGuard

Componente Función Ejemplo Característica
Peer Participa en la conexión VPN. Servidor o computador. Posee una identidad criptográfica.
Private Key Identifica y autentica criptográficamente al peer. Clave privada de 256 bits. Debe permanecer secreta.
Public Key Representa la identidad pública del peer. Clave pública Curve25519. Se comparte con los peers autorizados.
AllowedIPs Define direcciones relacionadas con el peer. 10.0.0.2/32. Forma parte del cryptokey routing.
UDP Transporta los paquetes WireGuard. Puerto UDP. WireGuard utiliza UDP como transporte.
Publicidad
Peers

¿Qué es un peer en WireGuard?

Un peer es un participante de una red WireGuard. Puede ser un computador, servidor, teléfono, router u otro dispositivo capaz de ejecutar el protocolo.

Identidad

Cada peer posee una clave privada y una clave pública que forman parte de su identidad criptográfica.

Configuración

La configuración de cada peer puede incluir la clave pública del otro participante, las direcciones IP permitidas y el endpoint utilizado para establecer la comunicación.

Comunicación

Los peers pueden intercambiar tráfico mediante el túnel una vez que se han establecido las claves de sesión necesarias.

Criptografía

¿Qué claves utiliza WireGuard?

WireGuard utiliza claves de larga duración y claves efímeras durante su proceso criptográfico. Las claves públicas permiten identificar a los peers y las claves efímeras participan en el establecimiento de las claves de sesión.

Clave privada

Es un secreto local utilizado por el peer. No debe compartirse con otros participantes.

Clave pública

Se deriva de la clave privada y se utiliza como identidad pública del peer dentro de la configuración.

Claves efímeras

Durante el handshake se utilizan claves efímeras que participan en el intercambio necesario para derivar las claves simétricas de la sesión.

Publicidad
Handshake

¿Cómo funciona el handshake de WireGuard?

Antes de transportar tráfico protegido, los peers realizan un handshake que permite establecer nuevas claves de sesión.

Initiation

El iniciador envía un mensaje de handshake que contiene la información necesaria para comenzar el intercambio criptográfico.

Response

El peer receptor responde con la información correspondiente para completar el intercambio y derivar las claves de sesión.

Session keys

Después del handshake se utilizan claves simétricas separadas para enviar y recibir tráfico protegido.

Noise

¿Qué es Noise_IK en WireGuard?

WireGuard utiliza el patrón Noise_IK del framework Noise como base para su protocolo de intercambio de claves.

Noise Protocol Framework

Noise es un framework para diseñar protocolos de intercambio de claves entre dos participantes utilizando diferentes combinaciones de claves y operaciones criptográficas.

Identidad estática

El patrón utilizado por WireGuard combina claves estáticas con claves efímeras durante el handshake.

Pre-shared key

WireGuard permite añadir opcionalmente una clave simétrica precompartida para aportar una capa criptográfica adicional.

Publicidad
Transporte

¿WireGuard utiliza UDP?

Sí. WireGuard utiliza UDP como protocolo de transporte para enviar sus paquetes entre los peers.

Capa IP

WireGuard funciona en la capa IP y encapsula los datagramas IP que deben atravesar el túnel.

UDP

El protocolo de transporte utilizado permite que WireGuard funcione sobre redes IP utilizando un puerto UDP configurado para el servicio.

Sin TCP propio

WireGuard no implementa un protocolo de transporte fiable equivalente a TCP. La recuperación de pérdidas pertenece a los protocolos que funcionan sobre el túnel cuando corresponde.

Cryptokey Routing

¿Qué es cryptokey routing en WireGuard?

Cryptokey routing es uno de los conceptos centrales de WireGuard. Combina la configuración de claves públicas con rangos de direcciones IP permitidas para determinar cómo se asocia el tráfico con cada peer.

Clave pública

Cada peer se identifica mediante una clave pública conocida por los participantes autorizados.

AllowedIPs

Los rangos configurados en AllowedIPs indican las direcciones asociadas con ese peer y participan en el encaminamiento del tráfico.

Dos funciones

En WireGuard, AllowedIPs participa tanto en la selección del peer para tráfico saliente como en la validación del origen del tráfico recibido.

Publicidad
Criptografía

¿Qué criptografía utiliza WireGuard?

WireGuard utiliza un conjunto de algoritmos criptográficos modernos y predefinidos en lugar de ofrecer una gran cantidad de opciones negociables.

Curve25519

Curve25519 se utiliza para operaciones de intercambio de claves basadas en Diffie-Hellman.

ChaCha20-Poly1305

WireGuard utiliza ChaCha20-Poly1305 para proporcionar cifrado autenticado de los datos transportados.

BLAKE2s

BLAKE2s forma parte de las funciones criptográficas utilizadas en el protocolo para derivación y hashing.

HKDF

HKDF participa en la derivación de material criptográfico necesario para obtener las claves utilizadas durante las sesiones.

Publicidad
Pre-shared key

¿Qué es la clave precompartida de WireGuard?

WireGuard permite utilizar opcionalmente una clave simétrica precompartida entre dos peers. Esta clave agrega una capa adicional de material secreto al proceso criptográfico.

Clave adicional

La pre-shared key no sustituye a las claves públicas de los peers. Se utiliza como componente adicional del proceso criptográfico.

Configuración

La misma clave precompartida debe configurarse en ambos extremos correspondientes para que pueda utilizarse correctamente.

Seguridad adicional

El diseño de WireGuard contempla esta opción como una capa criptográfica adicional, incluida para reforzar determinadas propiedades de seguridad frente a escenarios futuros.

Seguridad

¿WireGuard es seguro?

WireGuard fue diseñado alrededor de un conjunto reducido de primitivas criptográficas y de un protocolo de handshake compacto. Sus propiedades de seguridad han sido estudiadas formalmente en trabajos académicos y en documentación técnica del proyecto.

Claves públicas

La autenticación de los peers se basa en claves públicas conocidas previamente y asociadas a la configuración de cada participante.

Perfect Forward Secrecy

El protocolo utiliza claves efímeras durante el intercambio, contribuyendo a las propiedades de secreto hacia adelante de las sesiones.

Configuración

La seguridad de una implementación también depende de cómo se protejan las claves privadas, qué peers estén autorizados y cómo se definan las rutas y políticas de acceso.

Endpoint

Las claves criptográficas protegen el canal, pero no solucionan por sí mismas vulnerabilidades existentes en los dispositivos, aplicaciones o redes situadas detrás del túnel.

Publicidad
Comparación

¿Cuál es la diferencia entre WireGuard y OpenVPN?

WireGuard y OpenVPN son tecnologías utilizadas para crear conexiones VPN protegidas, pero tienen arquitecturas diferentes. WireGuard funciona a nivel IP y utiliza UDP, mientras OpenVPN puede encapsular tráfico IP o Ethernet y puede utilizar UDP o TCP.

WireGuard

Utiliza un diseño criptográfico compacto, claves públicas para identificar peers y UDP como transporte.

OpenVPN

Utiliza una arquitectura basada en software que puede transportar paquetes IP o tramas Ethernet y emplear TLS para el establecimiento de claves.

Arquitectura

Las diferencias no se limitan a la velocidad o al consumo de recursos. También incluyen configuración, modelo de identidad, transporte, extensibilidad y forma de establecer los túneles.

Característica WireGuard OpenVPN
Capa principal Capa IP. Puede transportar IP o Ethernet.
Transporte UDP. UDP o TCP.
Identidad Claves públicas de peers. Puede utilizar certificados, claves y otros mecanismos según configuración.
Handshake Basado en Noise_IK. Basado en TLS.
Publicidad
Comparación

¿Cuál es la diferencia entre WireGuard e IPsec?

WireGuard e IPsec pueden utilizarse para crear túneles VPN, pero representan arquitecturas diferentes. IPsec es una arquitectura de seguridad para IP que utiliza protocolos como IKEv2 y ESP, mientras WireGuard implementa su propio protocolo de túnel y handshake.

IPsec

La arquitectura IPsec puede utilizar IKE para negociar asociaciones de seguridad y ESP para proteger los paquetes IP.

WireGuard

WireGuard utiliza claves públicas de peers, el patrón Noise_IK y UDP para transportar los paquetes.

Configuración

Ambas tecnologías pueden emplearse en infraestructuras VPN, pero sus modelos de configuración y negociación son diferentes.

Característica WireGuard IPsec
Arquitectura Protocolo VPN de capa IP. Arquitectura de seguridad IP.
Claves Claves públicas y efímeras. Asociaciones de seguridad negociadas.
Transporte UDP. Depende de la arquitectura y encapsulación utilizada.
Componentes Handshake WireGuard. IKEv2 y ESP en configuraciones modernas.
Implementación

¿Qué se necesita para implementar WireGuard?

Para implementar WireGuard deben configurarse los peers, sus claves y las direcciones que cada participante puede utilizar dentro del túnel.

Clave privada

Cada dispositivo necesita una clave privada que debe almacenarse de forma segura.

Clave pública

La clave pública de cada peer debe conocerse en los extremos autorizados para establecer la relación criptográfica.

AllowedIPs

Deben definirse las direcciones o redes que estarán asociadas a cada peer y que participarán en el cryptokey routing.

Endpoint

Cuando el peer remoto requiere una ubicación conocida, puede configurarse un endpoint formado por una dirección o nombre de host y un puerto UDP.

Diagnóstico

¿Qué problemas pueden ocurrir con WireGuard?

Los problemas de una conexión WireGuard suelen estar relacionados con claves, endpoints, rutas, AllowedIPs, puertos UDP o reglas de firewall.

Claves

Una clave pública incorrecta o una clave privada asociada con una configuración diferente puede impedir la autenticación esperada.

Endpoint

Un endpoint incorrecto o inaccesible puede impedir que el peer envíe correctamente los mensajes de handshake.

AllowedIPs

Una configuración incorrecta de AllowedIPs puede provocar que el tráfico se dirija al peer equivocado o que ciertas redes no sean accesibles.

Firewall

Las reglas de firewall o NAT pueden bloquear el puerto UDP utilizado por WireGuard o impedir el retorno del tráfico.

Resumen

WireGuard: conceptos principales

Concepto Significado Ejemplo Función
WireGuard Protocolo VPN. Túnel entre peers. Proteger y transportar tráfico IP.
Peer Participante del túnel. Servidor. Intercambiar tráfico protegido.
Public Key Identidad pública del peer. Clave Curve25519. Identificar al participante.
AllowedIPs Direcciones asociadas con peers. 10.0.0.2/32. Participar en cryptokey routing.
Handshake Intercambio criptográfico. Noise_IK. Establecer claves de sesión.
UDP Transporte. Puerto UDP. Transportar los paquetes WireGuard.
Documentación técnica

Referencias técnicas de WireGuard

WireGuard dispone de documentación técnica sobre su protocolo, criptografía y funcionamiento interno.

WireGuard: Protocol & Cryptography

WireGuard: Next Generation Kernel Network Tunnel

RFC 8922: Survey of Interaction between Security Protocols and Transport Services

Continúa aprendiendo

Guías relacionadas sobre VPN

Continúa con otras tecnologías y conceptos relacionados con las redes privadas virtuales:

Preguntas frecuentes

Preguntas frecuentes sobre WireGuard

WireGuard es un protocolo VPN de capa IP diseñado para crear túneles protegidos entre dispositivos llamados peers.

WireGuard utiliza un handshake criptográfico para establecer claves de sesión entre peers y posteriormente transporta tráfico IP protegido mediante el túnel.

Sí. WireGuard utiliza UDP como protocolo de transporte para sus paquetes.

Un peer es un dispositivo que participa en una red WireGuard y posee una identidad criptográfica basada en una clave privada y una clave pública.

Cryptokey routing es el sistema de WireGuard que combina claves públicas y direcciones IP permitidas para determinar la asociación del tráfico con cada peer.

WireGuard utiliza componentes criptográficos como Curve25519, ChaCha20-Poly1305, BLAKE2s y HKDF dentro de su protocolo.

Sí. Cada peer utiliza una clave privada y una clave pública para formar su identidad criptográfica dentro de la configuración.

Noise_IK es el patrón del framework Noise utilizado como base para el handshake de WireGuard.

Sí. WireGuard permite utilizar opcionalmente una clave simétrica precompartida como capa criptográfica adicional.

WireGuard funciona a nivel IP y utiliza UDP con un protocolo criptográfico basado en Noise_IK, mientras OpenVPN puede transportar IP o Ethernet y puede funcionar sobre UDP o TCP.

Publicidad
Siguiente guía

¿Qué es OpenVPN?

Continúa aprendiendo sobre tecnologías VPN y descubre cómo funciona OpenVPN, su arquitectura, TLS, transporte y diferencias con WireGuard.

Ver guía →
Carrito de compra
Scroll al inicio