Sin duda, uno de los grandes temas de la informática de la próxima década será la migración a la criptografía poscuántica. Desde las gigantes tecnológicas hasta las empresas más pequeñas, todos tendremos que asegurarnos de actualizar nuestro hardware y software para que nuestros datos estén protegidos contra la llegada de los ordenadores cuánticos. Parece muy lejano, pero no es un problema que deberíamos dejar para más adelante dado que cualquier dato encriptado que se robe hoy día (y no esté protegido por la criptografía postcuántica) podría ser descifrado por un ordenador cuántico suficientemente potente en el futuro.
Por suerte, estamos cerca de conseguirlo. Tras un tremendo esfuerzo mundial de la comunidad criptográfica, sabemos cuál será el estándar de oro de la criptografía poscuántica para las próximas décadas. Fecha de lanzamiento: 2024. Con suerte, para la mayoría, la transición será una simple actualización de software, pero no será tan sencillo para todos. No todo el software está actualizado y bien podría ser que el hardware también necesite actualizaciones. Dando un paso atrás, muchas empresas ni siquiera tienen una lista completa de todo el software que se ejecuta en su red.
Para los clientes de Cloudflare Tunnel, esta migración será mucho más sencilla con Cloudflare Tunnel poscuántico. En esta publicación del blog, ofreceremos un resumen de cómo funciona Cloudflare Tunnel y explicaremos cómo puede ayudarte con tu migración poscuántica. A continuación, explicaremos los primeros pasos y terminaremos con los detalles técnicos más importantes.
Cloudflare Tunnel
Con Cloudflare Tunnel puedes exponer de forma segura a Internet un servidor que se encuentra dentro de una red interna, ejecutando el servicio de [cloudflared](https://github.com/cloudflare/cloudflared)
junto a él. Por ejemplo, después de haber instalado [cloudflared](https://github.com/cloudflare/cloudflared)
en tu red interna, puedes exponer tu aplicación web local en Internet bajo, digamos, ejemplo.com, para que los trabajadores remotos puedan acceder a ella desde cualquier lugar.
Ciclo de una solicitud de Cloudflare Tunnel.
¿Cómo funciona? cloudflared
crea conexiones de larga duración con dos centros de datos de Cloudflare cercanos, p. ej., San Francisco (conexión 3) y otro. Cuando uno de tus usuarios visita tu dominio, se conecta (1) a un servidor de Cloudflare cercano, p. ej., en Frankfurt. Ese servidor sabe que se trata de un Cloudflare Tunnel y que tu cloudflared
tiene una conexión con un servidor en San Francisco, por lo que le reenvía (2) la solicitud. A su vez, a través de la conexión inversa, la solicitud acaba en cloudflared
, que la transmite (4) a la aplicación web a través de tu red interna.
En resumen, Cloudflare Tunnel es una herramienta sencilla pero práctica, aunque la magia está en lo que, además, puedes hacer con ella. Obtienes la protección DDoS de Cloudflare de forma gratuita, control de acceso detallado con Cloudflare Access (incluso si la aplicación no lo admite) y registros de solicitudes, por nombrar algunas ventajas. Y no olvidemos el tema que nos ocupa:
Túneles poscuánticos
Nuestro objetivo es facilitar a todo el mundo una conexión totalmente segura, desde los usuarios hasta los servidores, contra la amenaza de los ordenadores cuánticos. Para ello, Cloudflare Tunnel poscuántico es una herramienta eficaz que permite a tus usuarios beneficiarse de una conexión segura contra la amenaza de los ordenadores cuánticos sin necesidad de actualizar tu aplicación (conexión 4 en el diagrama).
Hoy, damos dos pasos importantes hacia este objetivo: la versión cloudflared
2022.9.1, añade la marca --post-quantum
, que cuando se entrega, garantiza la protección de la conexión desde cloudflared
a nuestra red (conexión 3) contra la amenaza de los ordenadores cuánticos.
Además, hoy hemos anunciado la compatibilidad con las conexiones poscuánticas del navegador (conexión 1).
Todavía no hemos llegado a ese punto. Los navegadores (y otros clientes HTTP) no admiten la seguridad poscuántica que ofrece nuestra red, y todavía tenemos que hacer que las conexiones entre nuestros centros de datos (conexión 2) sean seguras contra los ordenadores cuánticos.
Un atacante solo necesita tener acceso a una conexión vulnerable, pero no pueden acceder a todo. Con cada conexión que protejamos contra ordenadores cuánticos, eliminamos un riesgo potencial.
Nos entusiasma la idea de hacer que los túneles poscuánticos sean predeterminados, pero por ahora es una función en fase beta. La razón es que la criptografía utilizada y su integración en el protocolo de red aún no son definitivas. Hacer que los túneles poscuánticos sean predeterminados ahora, requeriría que los usuarios actualizaran cloudflared
más a menudo de lo que razonablemente podemos esperar que lo hagan.
Primeros pasos
¿Actualizas frecuentemente cloudflared
? Entonces, prueba Cloudflare Tunnel poscuántico. Asegúrate de que estás usando al menos la versión 2022.9.1 y simplemente ejecuta cloudflared
con la marca --post-quantum
:
Si ejecutas cloudflared
como un servicio, puedes activar los túneles poscuánticos añadiendo post-quantum: true al archivo de configuración del túnel. Convenientemente, el servicio de cloudflared
se actualizará automáticamente si un gestor de paquetes no lo ha instalado.
$ cloudflared tunnel run --post-quantum tunnel-name
2022-09-23T11:44:42Z INF Starting tunnel tunnelID=[...]
2022-09-23T11:44:42Z INF Version 2022.9.1
2022-09-23T11:44:42Z INF GOOS: darwin, GOVersion: go1.19.1, GoArch: amd64
2022-09-23T11:44:42Z INF Settings: map[post-quantum:true pq:true]
2022-09-23T11:44:42Z INF Generated Connector ID: [...]
2022-09-23T11:44:42Z INF cloudflared will not automatically update if installed by a package manager.
2022-09-23T11:44:42Z INF Initial protocol quic
2022-09-23T11:44:42Z INF Using experimental hybrid post-quantum key agreement X25519Kyber768Draft00
2022-09-23T11:44:42Z INF Starting metrics server on 127.0.0.1:53533/metrics
2022-09-23T11:44:42Z INF Connection [...] registered connIndex=0 ip=[...] location=AMS
2022-09-23T11:44:43Z INF Connection [...] registered connIndex=1 ip=[...] location=AMS
2022-09-23T11:44:44Z INF Connection [...] registered connIndex=2 ip=[...] location=AMS
2022-09-23T11:44:45Z INF Connection [...] registered connIndex=3 ip=[...] location=AMS
Si, por alguna razón, la creación de un túnel poscuántico falla, verás un mensaje de error como:
Cuando se entrega la marca poscuántica, cloudflared
no recurrirá a una conexión que no sea poscuántica.
2022-09-22T17:30:39Z INF Starting tunnel tunnelID=[...]
2022-09-22T17:30:39Z INF Version 2022.9.1
2022-09-22T17:30:39Z INF GOOS: darwin, GOVersion: go1.19.1, GoArch: amd64
2022-09-22T17:30:39Z INF Settings: map[post-quantum:true pq:true]
2022-09-22T17:30:39Z INF Generated Connector ID: [...]
2022-09-22T17:30:39Z INF cloudflared will not automatically update if installed by a package manager.
2022-09-22T17:30:39Z INF Initial protocol quic
2022-09-22T17:30:39Z INF Using experimental hybrid post-quantum key agreement X25519Kyber512Draft00
2022-09-22T17:30:39Z INF Starting metrics server on 127.0.0.1:55889/metrics
2022-09-22T17:30:39Z INF
===================================================================================
You are hitting an error while using the experimental post-quantum tunnels feature.
Please check:
https://pqtunnels.cloudflareresearch.com
for known problems.
===================================================================================
2022-09-22T17:30:39Z ERR Failed to create new quic connection error="failed to dial to edge with quic: CRYPTO_ERROR (0x128): tls: handshake failure" connIndex=0 ip=[...]
A tener en cuenta
La fase de configuración es la parte crucial. Una vez configurado, el túnel es igual que un túnel normal. Eso significa que el rendimiento y la fiabilidad deberían ser idénticos.
La criptografía poscuántica que utilizamos es muy rápida, pero requiere aproximadamente un kilobyte de datos adicionales que se intercambian durante el protocolo de enlace. La diferencia apenas será perceptible en la práctica.
Nuestra mayor preocupación es que algunos equipos de red/firewalls puedan confundirse con el protocolo de enlace mayor. Si Cloudflare Tunnel poscuántico no funciona, nos encantaría saberlo. Ponte en contacto con nosotros en [email protected] y dinos qué firewalls o proveedores de servicio de Internet estás utilizando.
Detalles técnicos
Cuando se entrega la marca --post-quantum
, cloudflared
se limita al transporte QUIC para la conexión del túnel a nuestra red y solo permitirá los intercambios de claves híbridas postcuánticas X25519Kyber512Draft00
y X25519Kyber768Draft00
con los identificadores TLS 0xfe30
y 0xfe31
, respectivamente. Se trata de intercambios de claves híbridas entre el algoritmo clásico X25519 y el algoritmo Kyber seguro contra las amenazas de los ordenadores cuánticos. Así, en el caso de que Kyber resulte inseguro, podemos seguir contando con la seguridad no postcuántica del algoritmo X25519. Estos son los mismos intercambios de claves que admite nuestra red.
cloudflared
elige al azar uno de estos dos intercambios de claves. La razón es que este último suele requerir dos paquetes iniciales para el mensaje ClientHello del protocolo TLS, mientras que el primero solo requiere uno. Esto nos permite comprobar si un mensaje ClientHello fragmentado causa problemas.
Cuando cloudflared
falle al establecer la conexión poscuántica, informará del intento de intercambio de claves, de la versión de cloudflared
y del error a pqtunnels.cloudflareresearch.com para que tengamos visibilidad de los problemas de la red. Echa un vistazo a esa página para ver las actualizaciones de nuestra implementación de túneles poscuánticos.
La conexión de control y la autenticación del túnel entre cloudflared
y nuestra red aún no son seguras contra las amenazas de los ordenadores cuánticos. Esto es menos urgente que el problema de almacenar-ahora-descifrar-después de los datos en el propio túnel.
Hemos abierto el código de soporte para estos intercambios de claves QUIC poscuánticas en Go.
Perspectivas
En la próxima década, el sector implementará la protección de datos poscuánticos. Algunos casos serán tan sencillos como una actualización de software y otros serán mucho más difíciles. Cloudflare Tunnel poscuántico protegerá la conexión entre la red de Cloudflare y tu servidor de forma sencilla e intuitiva, un paso importante hacia la red de Internet poscuántica, para que todo el mundo pueda seguir disfrutando de una red de Internet privada y segura.