Artículo

WireGuard vs. AmneziaWG: ¿cuál es la diferencia entre los protocolos?

HamikVPN, como otros varios servicios, utiliza el protocolo AmneziaWG — pero ¿qué significa eso realmente? ¿Un algoritmo de cifrado distinto, o algo completamente diferente? Aquí va un análisis técnico de qué cambia exactamente respecto al WireGuard normal y qué permanece igual.

WireGuard: un protocolo compacto con una firma reconocible

WireGuard se hizo popular precisamente por su simplicidad: una base de código pequeña, criptografía moderna sin tener que elegir entre decenas de algoritmos, y una alta velocidad en comparación con protocolos más antiguos. La otra cara de esa simplicidad es la previsibilidad a nivel de paquetes individuales. Según la documentación técnica de AmneziaWG, el paquete de inicio de negociación (handshake) del WireGuard estándar tiene siempre exactamente 148 bytes de longitud, su paquete de respuesta tiene 92 bytes y su paquete de cookie tiene 64 bytes. Estos tamaños y encabezados fijos y repetitivos forman una «huella» estable que el equipo de análisis de tráfico situado en la ruta de la conexión puede usar para reconocer el mero hecho de que se está usando WireGuard, incluso sin poder leer los datos cifrados en sí.

Esto no es una debilidad teórica del cifrado: el contenido del tráfico sigue protegido. Se trata de metadatos: qué protocolo estás usando es algo visible a partir de la forma de los paquetes, incluso cuando su contenido es ilegible. Y las redes que aplican análisis y modelado de tráfico —desde operadores móviles individuales hasta redes corporativas y de hoteles— a veces tratan el tráfico VPN reconocido de forma distinta al tráfico ordinario, lo que puede afectar a la estabilidad de la conexión.

Qué cambia AmneziaWG: ofuscación en la capa de transporte

AmneziaWG es una bifurcación de la implementación WireGuard-Go que elimina precisamente esta previsibilidad, sin tocar el núcleo criptográfico. Según la documentación oficial del proyecto, unos pocos grupos de parámetros son responsables de esto:

  • Jc, Jmin, Jmax — antes de la negociación principal se envían Jc paquetes «basura» de un tamaño aleatorio entre Jmin y Jmax bytes. El receptor no los analiza ni los valida: para un observador externo parecen ruido UDP neutro que difumina el tiempo y el tamaño característicos del inicio de una sesión.
  • S1–S2 — prefijos pseudoaleatorios (de 0 a 32/64 bytes) que se añaden a cada tipo de paquete, con lo que su longitud pasa a ser variable en lugar de fija.
  • H1–H4 — los identificadores de encabezado predecibles de WireGuard se sustituyen por valores aleatorios dentro de un rango configurado, de modo que distintos clientes terminan con encabezados distintos, lo que impide escribir una única regla de detección universal que los cubra a todos.

Un detalle importante: todos estos parámetros se configuran en el lado del servidor y deben coincidir en el lado del cliente, o el túnel simplemente no se establecerá — un cliente WireGuard normal no entenderá a un servidor así, y viceversa.

Qué permanece igual: el núcleo criptográfico

La ofuscación actúa únicamente en la capa de transporte: la forma y el ritmo temporal de los paquetes. No sustituye ni debilita la criptografía en sí. Como indica la documentación oficial del protocolo WireGuard, el intercambio de claves se basa en la curva elíptica Curve25519, el cifrado de datos se realiza con ChaCha20 combinado con el código de autenticación Poly1305, y el hashing utiliza BLAKE2s. AmneziaWG hereda este mismo conjunto de algoritmos sin cambios: sus desarrolladores dejaron deliberadamente intacto el código criptográfico —ya revisado por investigadores independientes— y limitaron sus modificaciones a los encabezados y los paquetes de servicio. Desde el punto de vista de la protección del contenido del tráfico, no hay ninguna diferencia entre WireGuard y AmneziaWG.

Qué significa esto en la práctica

Para el uso diario, la diferencia se reduce a dos cosas. Primero, la aplicación y el servidor deben usar el mismo conjunto de parámetros de ofuscación — no necesitas configurarlo a mano siempre que ambos extremos utilicen un cliente compatible, como la aplicación AmneziaVPN o HamikVPN. Segundo, la primera fase del establecimiento de la conexión tarda un poco más debido a los paquetes basura, pero eso no afecta al rendimiento de un túnel ya establecido. Si estás comparando servicios por protocolo, conviene fijarse no en las etiquetas de marketing sino en la criptografía que realmente se indica en la documentación — los criterios generales se explican en nuestro artículo sobre cómo elegir un servicio de privacidad.

¿Quieres probar AmneziaWG en la práctica?
3 días gratis, sin tarjeta
Pruébalo gratis

Preguntas frecuentes

¿Es AmneziaWG un protocolo de cifrado independiente, o solo una configuración de WireGuard?
Técnicamente es una bifurcación de la implementación WireGuard-Go: el núcleo criptográfico —intercambio de claves con Curve25519, cifrado ChaCha20-Poly1305, hashing con BLAKE2s— se conserva por completo, sin cambios. Lo que cambia es el formato de los encabezados y la estructura de los paquetes a nivel de transporte: cómo se ve el túnel desde fuera, no cómo protege los datos por dentro.
¿La ofuscación de AmneziaWG ralentiza la conexión?
Sí, pero solo de forma marginal: los paquetes basura añaden una pequeña cantidad de tráfico adicional antes de que se establezca la conexión, no durante toda la sesión. En la práctica, la diferencia en el rendimiento una vez establecido el túnel suele ser imperceptible; lo que puede notarse más es una fase inicial de conexión ligeramente más larga.
¿Puede un cliente WireGuard normal conectarse a un servidor AmneziaWG?
No: si los parámetros Jc, Jmin, Jmax, S1–S2 y H1–H4 del servidor están configurados con valores distintos de cero, un cliente WireGuard normal no entenderá el formato de los paquetes y la conexión no se establecerá. Necesitas un cliente que admita los mismos parámetros — por ejemplo, la aplicación AmneziaVPN o HamikVPN con la configuración de nodo correspondiente.
¿Tener más parámetros significa que AmneziaWG tiene una superficie de ataque mayor?
Los parámetros adicionales solo afectan a la capa de transporte —cómo se forman los encabezados y los paquetes de servicio—, no a las primitivas criptográficas. El cifrado de datos real sigue siendo el mismo código de WireGuard que ha pasado por una revisión criptográfica independiente, no algo reescrito desde cero.