Durante los últimos meses, Proton VPN ha estado trabajando en los protocolos de Proton, una nueva base de código de protocolo VPN del lado del cliente. Conocida internamente con el nombre en clave ProTUN, esta nueva arquitectura de código está escrita en Rust. Aunque bifurcamos el código de criptografía del proyecto BoringTun(nueva ventana) de Cloudflare, la arquitectura completamente rediseñada es de Proton.

Por qué necesitamos un nuevo núcleo VPN

WireGuard® es un protocolo VPN de última generación que es tan seguro como OpenVPN, pero más rápido y potente. Por este motivo, estamos empezando a borrar el soporte de OpenVPN de nuestras aplicaciones oficiales para centrarnos, en su lugar, en WireGuard.

Sin embargo, actualmente nuestras aplicaciones utilizan la implementación oficial wireguard-go de WireGuard. Y es una excelente implementación, con un diseño elegantemente minimalista que la hace rápida, segura y más fácil de auditar que los protocolos VPN tradicionales.

Sin embargo, wireguard-go no se integra bien con los lenguajes que utilizamos de forma nativa para desarrollar Proton VPN en las múltiples plataformas en las que ofrecemos soporte (como Kotlin en Android y Swift en iOS). Esto ralentiza el desarrollo, complica la depuración y presenta desafíos de estabilidad.

Los protocolos de Proton resuelven estos problemas.

Los protocolos de Proton son un nuevo marco de trabajo VPN del lado del cliente basado en WireGuard. Debido a que está escrito en Rust y diseñado como un núcleo compartido y extensible, ProTUN se puede desplegar de manera uniforme en todas las plataformas y adaptar a diferentes entornos de red. Esto nos permitirá diagnosticar problemas más rápido, mejorar la estabilidad e integrar funcionalidades avanzadas directamente en la pila de VPN.

Lo más importante es que los protocolos de Proton nos brindan la flexibilidad para responder rápidamente a la censura y a la interferencia de la red, que es un área en la que esperamos obtener los mayores beneficios a largo plazo.

Bajo el capó

Cifrado de tráfico con un nuevo núcleo de WireGuard

En el núcleo del proyecto de los protocolos de Proton se encuentra libpvpnclient, una implementación limpia e independiente del protocolo WireGuard escrita en Rust. Su función es sencilla pero fundamental: cifrar su tráfico de internet y mantener segura su conexión.

Lo que lo diferencia de wireguard-go es cómo está construido. Mientras que wireguard-go es un cliente simple de WireGuard, libpvpnclient es un marco de trabajo completamente nuevo sobre el cual podemos desarrollar nuevas funciones y características avanzadas.

Y en lugar de estar estrechamente vinculado a un sistema operativo específico, libpvpnclient está diseñado como un núcleo puro e independiente de la plataforma. Esto nos permite reutilizar la misma implementación de alta calidad en todas partes: en computadoras de escritorio, dispositivos móviles y más allá. Esta separación marca una gran diferencia tras bambalinas. Nos permite:

  • Probar y depurar casos extremos complejos en entornos controlados y repetibles
  • Lanzar mejoras de manera más rápida y uniforme en todas las plataformas
  • Experimentar con nuevas técnicas para resistir la censura y el bloqueo del tráfico

Para usted, esto se traduce en actualizaciones más rápidas, menos problemas específicos de la plataforma y una VPN que se adapta más rápidamente a medida que cambian las condiciones de la red y los métodos de censura. ProTUN en sí es nuestro nombre para el adaptador de libpvpnclient que adapta la biblioteca basada en Rust a cada sistema operativo para el cual ofrecemos soporte.

Funciona de la mano con LocalAgent. Este es nuestro canal de control interno que nos permite implementar la autenticación basada en certificados, y que también acabamos de optimizar y reescribir en Rust.

Este nuevo núcleo de VPN ya está disponible para pruebas como una función beta (de acceso anticipado) en las siguientes plataformas:

Facilitar el acceso a los servidores de Proton VPN

También estamos trabajando en la fase dos de los protocolos de Proton. Con el nombre en clave muon, esta es una capa de red flexible que conecta de forma segura nuestras aplicaciones con la API de la VPN de Proton, incluso en situaciones en las que la propia API de Proton está siendo censurada.

Antes de que una VPN pueda proteger su tráfico, primero debe conectarse de forma segura a la API de Proton. Y eso se está volviendo cada vez más difícil. En algunos países y redes, las conexiones de la API se bloquean o monitorean a nivel de DNS, o se identifican inspeccionando los nombres de los servidores (una técnica conocida como espionaje de SNI).

Para abordar esto, estamos desarrollando muon, una nueva puerta de enlace entre nuestras aplicaciones y la API de Proton. Escrita también en Rust por seguridad y rendimiento, muon gestiona las primeras solicitudes de red que realiza su aplicación y luego puede enrutarlas de forma segura al protocolo WireGuard de Proton VPN (a largo plazo, esta funcionalidad reemplazará nuestra solución anticensura existente de enrutamiento alternativo(nueva ventana)).

En términos prácticos, esto significa que desde el momento en que abra la aplicación de Proton VPN en un país donde se sabe que el acceso está censurado, su comunicación con la API de Proton ya estará protegida (e incluso antes de que se establezca por completo una conexión VPN a nivel de sistema). Y en países restrictivos, su PSI ni siquiera sabrá que se está conectando a las API de Proton.

Esta protección será automática e invisible para usted, lo que significa que es más probable que obtenga una conexión activa en países con censura. De hecho, muon es tan útil para combatir la censura que lo utilizaremos en todas las aplicaciones de Proton (no solo en la VPN), lo que le brindará protección integrada contra la censura en todo nuestro ecosistema desde el primer momento. Lo implementaremos pronto, así que esté atento a este espacio.

Una base sólida para lo que viene después

libpvpnclient (con el adaptador de los protocolos de Proton) y muon forman juntos una nueva plataforma que brinda a nuestros ingenieros mucha más flexibilidad. Esto nos permite experimentar de manera segura con mejoras en la estabilidad de la conexión, el uso de la batería y la resiliencia, y prepara el terreno para tecnologías futuras, como técnicas anticensura más sólidas y criptografía poscuántica.

Vemos esto como un gran paso adelante para hacer que internet sea más accesible, confiable y privado para todos. Y esto es solo el comienzo. Nos entusiasma ver a dónde llevará esta nueva base a Proton VPN en 2026 y más allá.

“WireGuard” es una marca comercial registrada(nueva ventana) de Jason A. Donenfeld.