El problema fundamental que aborda esta implementación es la vulnerabilidad de los esquemas de autenticación basados en criptografía de clave pública clásica (RSA, ECC) frente a futuros ataques de computadoras cuánticas. A medida que la capacidad de cómputo cuántico avanza, los algoritmos actuales de firma digital podrían romperse, permitiendo a un atacante suplantar identidades y comprometer la integridad de las comunicaciones. Este trabajo se enfoca en la autenticación, complementando los esfuerzos previos en cifrado post-cuántico, para asegurar que las conexiones entre la red de Cloudflare y los servidores de origen de sus clientes sean resistentes a estas nuevas amenazas.

La urgencia de esta migración se ha acelerado debido a los avances en la computación cuántica y la criptoanálisis, lo que ha llevado a un cambio de enfoque de la industria y los gobiernos hacia la autenticación post-cuántica. La estrategia de 'cosechar ahora, descifrar después' (harvest-now/decrypt-later) ya ha sido abordada con cifrado PQ; ahora, la atención se centra en prevenir ataques de suplantación de identidad que podrían surgir al romper credenciales clásicas. La implementación temprana en el segmento Cloudflare-a-origen es posible debido a las características controladas de este entorno, a diferencia de la PKI pública de Internet (WebPKI).

Arquitectura del Sistema

La arquitectura involucra dos componentes principales: el plano de control y el plano de datos. El plano de control es un servicio de alta disponibilidad que gestiona la configuración de TLS de los clientes, incluyendo la carga y validación de certificados ML-DSA para Custom Origin Trust Store (COTS) y Authenticated Origin Pulls (AOP). Este servicio distribuye las configuraciones actualizadas a un almacén clave-valor globalmente distribuido, asegurando su disponibilidad para los servicios del plano de datos.

El plano de datos utiliza un servicio basado en Pingora, denominado Pingora Origin, que es responsable de establecer y mantener las conexiones TLS con los servidores de origen de los clientes. Este servicio procesa millones de solicitudes por segundo, aplicando las configuraciones de seguridad definidas por el plano de control. La clave de la implementación post-cuántica en el plano de datos reside en la actualización de BoringSSL, la biblioteca TLS subyacente, para incluir soporte para ML-DSA. Esta actualización permite a Pingora Origin negociar handshakes TLS 1.3 con certificados ML-DSA, tanto para la autenticación del servidor de origen (COTS) como para la autenticación del cliente de Cloudflare (AOP). La configuración de los servidores de origen del cliente también es crucial, requiriendo la instalación de certificados ML-DSA y la configuración de NGINX (u otro servidor web) para verificar estos certificados y, en el caso de AOP, para solicitar y verificar el certificado de cliente de Cloudflare.

Flujo de Configuración de Autenticación Post-Cuántica

  1. 1 Generar Certificados ML-DSA Cliente genera CA y certificados de servidor/cliente ML-DSA usando OpenSSL 3....
  2. 2 Subir CA a COTS Cliente sube el certificado CA de origen ML-DSA a Custom Origin Trust Store d...
  3. 3 Subir Certificado Cliente a AOP Cliente sube el certificado de cliente ML-DSA y clave privada a Authenticated...
  4. 4 Configurar Modo SSL/TLS Cliente configura el modo SSL/TLS de la zona a 'Full (strict)'.
  5. 5 Configurar Servidor de Origen Cliente configura NGINX (o similar) para usar certificados ML-DSA y verificar...
  6. 6 Verificar Handshake PQ Cliente verifica la negociación TLS PQ mediante OpenSSL s_client o logs del s...
CapaTecnologíaJustificación
security ML-DSA (Module-Lattice-Based Digital Signature Algorithm) Algoritmo de firma digital post-cuántica para autenticación de certificados TLS. FIPS 204 parameter sets: ML-DSA-44 (recomendado), ML-DSA-65, ML-DSA-87.
security TLS 1.3 Protocolo de transporte seguro que encapsula la autenticación post-cuántica.
security BoringSSL Biblioteca TLS subyacente en el plano de datos de Cloudflare, actualizada para soportar ML-DSA.
compute Pingora Framework de proxy open-source de Cloudflare, utilizado en el servicio Pingora Origin para manejar conexiones a orígenes.
orchestration Cloudflare API Interfaz para la configuración programática de productos como Custom Origin Trust Store y Authenticated Origin Pulls.
security OpenSSL 3.5.0+ Herramienta para la generación de certificados ML-DSA en formato seed-only.
networking NGINX Servidor web de origen, configurado para presentar y/o verificar certificados ML-DSA en conexiones TLS. ssl_certificate, ssl_certificate_key, ssl_client_certificate, ssl_verify_client on.

Trade-offs

Ganancias
  • Seguridad contra ataques cuánticos de suplantación de identidad
  • Control sobre la PKI para conexiones Cloudflare-a-origen
  • Implementación más rápida que la WebPKI pública
Costes
  • Complejidad de la configuración para el cliente (generación y gestión de certificados ML-DSA)
  • Riesgo de regresiones por actualizaciones de bibliotecas TLS (ej. KeyUsage enforcement en BoringSSL)
# Create a private ML-DSA-44 CA for the origin server
openssl genpkey -algorithm mldsa44 \
-provparam ml-dsa.output_formats=seed-only \
-out origin-ca.key
openssl req -new -x509 -key origin-ca.key \
-out origin-ca.crt -days 10950 \
-subj "/CN=Origin Server CA"

# Create the origin server certificate (signed by the origin CA)
openssl genpkey -algorithm mldsa44 \
-provparam ml-dsa.output_formats=seed-only \
-out origin-server.key
openssl req -new -key origin-server.key \
-out origin-server.csr \
-subj "/CN=origin.example.com"
openssl x509 -req -in origin-server.csr \
-CA origin-ca.crt -CAkey origin-ca.key -CAcreateserial \
-out origin-server.crt -days 5475 \
-extfile <(printf "basicConstraints=CA:FALSE\nkeyUsage=digitalSignature\nsubjectAltName=DNS:origin.example.com\n")
Comandos para generar una CA ML-DSA y un certificado de servidor ML-DSA firmado por esa CA, utilizando el formato seed-only.
server {
listen 443 ssl;
ssl_certificate /etc/ssl/origin-server.crt;
ssl_certificate_key /etc/ssl/origin-server.key;
ssl_client_certificate /etc/ssl/aop-ca.crt;
ssl_verify_client on;
ssl_protocols TLSv1.3;
}
Configuración de un bloque de servidor NGINX para habilitar TLS 1.3 con un certificado de servidor ML-DSA y verificar un certificado de cliente ML-DSA.

Fundamentos Teóricos

El problema de la criptografía post-cuántica ha sido un área activa de investigación académica durante décadas, mucho antes de la existencia de computadoras cuánticas prácticas. Los algoritmos basados en retículos (lattices), como ML-DSA (Module-Lattice-Based Digital Signature Algorithm), son una de las familias de algoritmos post-cuánticos más prometedoras. Estos algoritmos se basan en la dificultad computacional de ciertos problemas en retículos, que se cree que son resistentes incluso a ataques de computadoras cuánticas. El NIST (National Institute of Standards and Technology) ha liderado un proceso de estandarización global para la criptografía post-cuántica, seleccionando algoritmos como ML-DSA (anteriormente conocido como Dilithium) como estándares. Este proceso es el resultado de años de investigación en campos como la teoría de números, la complejidad computacional y la criptografía, con contribuciones de numerosos académicos y equipos de investigación en todo el mundo.