Curso de Criptografía Post-Cuántica

Un enfoque introductorio a la seguridad en la era cuántica

Tema 4: Estandarización de Criptografía Post-Cuántica

Tema 4

Estandarización de Criptografía Post-Cuántica

Introducción

Este tema examina los esfuerzos de estandarización de la criptografía post-cuántica, con especial énfasis en el proceso del NIST y los algoritmos seleccionados. Analizaremos en detalle los estándares emergentes y sus características técnicas, así como los procesos de evaluación y selección que han llevado a su adopción.

Duración

3 horas

Objetivos

  • Comprender el proceso de estandarización del NIST para criptografía post-cuántica
  • Analizar en detalle los algoritmos seleccionados: ML-KEM, ML-DSA y SLH-DSA
  • Examinar los criterios de evaluación y selección utilizados
  • Explorar otros esfuerzos de estandarización a nivel internacional
  • Entender las implicaciones de estos estándares para la seguridad futura

Contenido del Tema

4.1 Proceso de Estandarización del NIST

El Instituto Nacional de Estándares y Tecnología (NIST) de Estados Unidos ha liderado el esfuerzo global para estandarizar algoritmos criptográficos post-cuánticos a través de un proceso competitivo y transparente.

Cronología del Proceso

  • Diciembre 2016: Anuncio del concurso y solicitud de propuestas.
  • Noviembre 2017: Fecha límite para presentación de candidatos. Se recibieron 69 propuestas válidas.
  • Abril 2018: Primera Conferencia PQC del NIST, inicio de la primera ronda de evaluación.
  • Enero 2019: Selección de 26 candidatos para la segunda ronda.
  • Julio 2020: Selección de 7 finalistas y 8 candidatos alternativos para la tercera ronda.
  • Julio 2022: Anuncio de los primeros algoritmos seleccionados para estandarización.
  • Agosto 2023: Publicación de los borradores de estándares FIPS 203, 204 y 205.
  • 2024-2025: Finalización y publicación de los estándares oficiales.

Criterios de Evaluación

El NIST evaluó los algoritmos candidatos según varios criterios:

  • Seguridad: Resistencia a ataques cuánticos y clásicos, madurez del análisis criptográfico, confianza en las suposiciones subyacentes.
  • Rendimiento y Características: Tamaño de claves y firmas/cifrados, velocidad de ejecución, requisitos de memoria.
  • Implementación: Facilidad de implementación correcta, resistencia a ataques de canal lateral, flexibilidad.
  • Diversidad de Enfoques: Selección de algoritmos basados en diferentes problemas matemáticos para diversificar el riesgo.

Categorías de Algoritmos

El NIST buscó algoritmos para dos categorías principales:

  • Mecanismos de Establecimiento de Claves (KEM): Para cifrado y establecimiento seguro de claves.
  • Firmas Digitales: Para autenticación e integridad de datos.

Niveles de Seguridad

El NIST definió cinco niveles de seguridad para evaluar los algoritmos:

  • Nivel 1: Al menos tan difícil de romper como AES-128.
  • Nivel 2: Al menos tan difícil de romper como SHA-256.
  • Nivel 3: Al menos tan difícil de romper como AES-192.
  • Nivel 4: Al menos tan difícil de romper como SHA-384.
  • Nivel 5: Al menos tan difícil de romper como AES-256.

4.2 ML-KEM (FIPS 203)

ML-KEM, anteriormente conocido como Kyber, es un mecanismo de encapsulamiento de claves basado en el problema Module Learning With Errors (MLWE). Ha sido seleccionado por el NIST como el primer estándar post-cuántico para establecimiento de claves.

Fundamentos Matemáticos

  • Module Learning With Errors (MLWE): Generalización del problema Ring-LWE que combina aspectos de LWE y RLWE.
  • Anillo Polinomial: R = Zq[X]/(X^n + 1), donde n = 256 y q = 3329.
  • Módulo: Rk, donde k varía según el nivel de seguridad (2, 3 o 4).
  • Distribución de Error: Distribución centrada binomial con parámetro η.

Variantes y Parámetros

Variante Nivel de Seguridad Parámetro k Tamaño de Clave Pública Tamaño de Clave Privada Tamaño de Cifrado
ML-KEM-512 1 2 800 bytes 1632 bytes 768 bytes
ML-KEM-768 3 3 1184 bytes 2400 bytes 1088 bytes
ML-KEM-1024 5 4 1568 bytes 3168 bytes 1568 bytes

Operaciones Principales

  1. Generación de Claves (KeyGen):
    • Genera una matriz A aleatoria.
    • Muestrea vectores secretos s y e de la distribución de error.
    • Calcula t = As + e.
    • La clave pública es (t, A), la clave privada es s.
  2. Encapsulamiento (Encaps):
    • Genera un mensaje aleatorio m.
    • Codifica m a un vector r.
    • Muestrea vectores de error e₁ y e₂.
    • Calcula u = A^T r + e₁ y v = t^T r + e₂ + ⌈q/2⌋m.
    • El texto cifrado es (u, v).
    • La clave compartida K se deriva de m y (u, v) usando una función hash.
  3. Desencapsulamiento (Decaps):
    • Calcula m' = Decode(v - s^T u).
    • Verifica que el encapsulamiento de m' produce (u, v).
    • Si la verificación es exitosa, deriva K de m' y (u, v); de lo contrario, usa un valor aleatorio.

Características y Ventajas

  • Eficiencia: Operaciones rápidas gracias al uso de transformadas rápidas de Fourier (NTT).
  • Tamaño Compacto: Claves y cifrados relativamente pequeños en comparación con otros esquemas post-cuánticos.
  • Seguridad Demostrable: Reducción a problemas MLWE bien estudiados.
  • Resistencia a Ataques de Canal Lateral: Diseñado con consideraciones para implementaciones seguras.
  • Flexibilidad: Múltiples niveles de seguridad con la misma estructura básica.

4.3 ML-DSA (FIPS 204)

ML-DSA, anteriormente conocido como Dilithium, es un esquema de firma digital basado en el problema Module Learning With Errors (MLWE). Ha sido seleccionado por el NIST como uno de los estándares post-cuánticos para firmas digitales.

Fundamentos Matemáticos

  • Module Learning With Errors (MLWE): Similar a ML-KEM, utiliza el mismo anillo polinomial R = Zq[X]/(X^n + 1).
  • Enfoque "Fiat-Shamir con Abortos": Técnica para convertir protocolos de identificación en esquemas de firma.
  • Parámetros Principales: n = 256, q = 8380417, y varios parámetros adicionales que varían según el nivel de seguridad.

Variantes y Parámetros

Variante Nivel de Seguridad Tamaño de Clave Pública Tamaño de Clave Privada Tamaño de Firma
ML-DSA-44 2 1312 bytes 2528 bytes 2420 bytes
ML-DSA-65 3 1952 bytes 3856 bytes 3293 bytes
ML-DSA-87 5 2592 bytes 5184 bytes 4595 bytes

Operaciones Principales

  1. Generación de Claves (KeyGen):
    • Genera una matriz A aleatoria.
    • Muestrea vectores secretos s₁ y s₂ con coeficientes pequeños.
    • Calcula t = As₁ + s₂.
    • La clave pública es (t, A), la clave privada es (s₁, s₂, t).
  2. Firma (Sign):
    • Muestrea un vector aleatorio y.
    • Calcula w = Ay.
    • Calcula el desafío c como un hash de w y el mensaje.
    • Calcula z = y + cs₁.
    • Calcula h = cs₂.
    • Si z o h son demasiado grandes, vuelve a empezar (enfoque "con abortos").
    • La firma es (z, c, h).
  3. Verificación (Verify):
    • Verifica que z tiene coeficientes dentro de un rango específico.
    • Calcula w' = Az - ct.
    • Verifica que c es igual al hash de w' y el mensaje.

Características y Ventajas

  • Eficiencia: Operaciones rápidas gracias al uso de transformadas rápidas de Fourier (NTT).
  • Determinismo: Opción para firmas deterministas que mejoran la resistencia a ataques de canal lateral.
  • Seguridad Demostrable: Reducción a problemas MLWE bien estudiados.
  • Compatibilidad: Comparte estructura matemática con ML-KEM, facilitando implementaciones conjuntas.
  • Tamaño Moderado: Firmas más grandes que en esquemas clásicos pero más pequeñas que en otros esquemas post-cuánticos.

4.4 SLH-DSA (FIPS 205)

SLH-DSA, anteriormente conocido como SPHINCS+, es un esquema de firma digital basado en funciones hash. Ha sido seleccionado por el NIST como un estándar post-cuántico alternativo para firmas digitales, ofreciendo diferentes características y suposiciones de seguridad que ML-DSA.

Fundamentos Criptográficos

  • Firmas de Un Solo Uso: Esquemas WOTS+ (Winternitz One-Time Signature) como componente básico.
  • Árboles de Merkle: Estructura para autenticar múltiples claves de un solo uso.
  • Árboles Hiperarbóreos: Estructura jerárquica de árboles de Merkle para mejorar la eficiencia.
  • Funciones Hash: Utiliza funciones hash como SHA-256, SHAKE-256 o Haraka.

Variantes y Parámetros

Variante Nivel de Seguridad Función Hash Tamaño de Clave Pública Tamaño de Clave Privada Tamaño de Firma
SLH-DSA-SHA2-128s 1 SHA-256 32 bytes 64 bytes 7856 bytes
SLH-DSA-SHAKE-128s 1 SHAKE-256 32 bytes 64 bytes 7856 bytes
SLH-DSA-SHA2-192s 3 SHA-256 48 bytes 96 bytes 16224 bytes
SLH-DSA-SHAKE-192s 3 SHAKE-256 48 bytes 96 bytes 16224 bytes
SLH-DSA-SHA2-256s 5 SHA-256 64 bytes 128 bytes 29792 bytes
SLH-DSA-SHAKE-256s 5 SHAKE-256 64 bytes 128 bytes 29792 bytes

Operaciones Principales

  1. Generación de Claves (KeyGen):
    • Genera una semilla maestra aleatoria SK.seed.
    • Deriva una semilla pública PK.seed.
    • Construye la raíz del árbol de Merkle superior usando SK.seed y PK.seed.
    • La clave pública es (PK.seed, raíz), la clave privada es SK.seed.
  2. Firma (Sign):
    • Genera un índice aleatorio o determinista para seleccionar una hoja del árbol.
    • Genera una firma WOTS+ para el mensaje usando la clave de un solo uso correspondiente a esa hoja.
    • Incluye la autenticación de la hoja hasta la raíz del árbol (camino de autenticación).
    • La firma incluye el índice, la firma WOTS+ y el camino de autenticación.
  3. Verificación (Verify):
    • Verifica la firma WOTS+ del mensaje.
    • Reconstruye el camino desde la hoja hasta la raíz usando el camino de autenticación.
    • Verifica que la raíz reconstruida coincide con la raíz en la clave pública.

Características y Ventajas

  • Mínimas Suposiciones Criptográficas: Solo requiere funciones hash seguras.
  • Sin Estado: No necesita mantener un estado entre firmas, a diferencia de otros esquemas basados en hash.
  • Claves Pequeñas: Tamaños de clave pública y privada muy compactos.
  • Diversificación: Proporciona una alternativa basada en diferentes suposiciones matemáticas que ML-DSA.
  • Resistencia a Avances Criptanalíticos: Alta confianza en la seguridad a largo plazo.

Desventajas

  • Firmas Grandes: Tamaños de firma significativamente mayores que ML-DSA y esquemas clásicos.
  • Rendimiento: Operaciones de firma y verificación más lentas que ML-DSA.

4.5 Otros Esfuerzos de Estandarización

Además del proceso del NIST, existen otros esfuerzos de estandarización de criptografía post-cuántica a nivel internacional.

IETF (Internet Engineering Task Force)

  • RFC 8391: XMSS - Esquema de firma basado en hash estandarizado en 2018.
  • Grupo de Trabajo PQUIP: Post-Quantum Use In Protocols, trabajando en la integración de algoritmos post-cuánticos en protocolos de Internet.
  • Borradores para TLS: Extensiones para incluir algoritmos post-cuánticos en TLS 1.3.
  • Borradores para IKEv2: Integración de algoritmos post-cuánticos en IKEv2 para VPNs.

ETSI (European Telecommunications Standards Institute)

  • Grupo de Trabajo QSC: Quantum-Safe Cryptography, desarrollando estándares para criptografía resistente a ataques cuánticos.
  • ETSI TS 103 744: Guía de migración a criptografía cuánticamente segura.
  • ETSI TR 103 619: Análisis de algoritmos post-cuánticos para firmas digitales.

ISO/IEC

  • ISO/IEC 18033-7: En desarrollo, cubrirá mecanismos de cifrado resistentes a ataques cuánticos.
  • ISO/IEC 14888-4: En desarrollo, cubrirá firmas digitales resistentes a ataques cuánticos.
  • ISO/IEC 23837: En desarrollo, cubrirá la seguridad de los sistemas criptográficos post-cuánticos.

Iniciativas Nacionales

  • BSI (Alemania): Recomendaciones para criptografía post-cuántica.
  • ANSSI (Francia): Guía de migración a criptografía post-cuántica.
  • NCSC (Reino Unido): Orientación sobre preparación para amenazas cuánticas.
  • CCN (España): Guías de seguridad para la transición a criptografía post-cuántica.

Estándares Industriales

  • OASIS KMIP: Extensiones para gestión de claves post-cuánticas.
  • GlobalPlatform: Especificaciones para implementaciones seguras en tarjetas inteligentes y elementos seguros.
  • PCI DSS: Considerando requisitos para la transición a criptografía post-cuántica.

4.6 Implicaciones y Próximos Pasos

La estandarización de algoritmos post-cuánticos marca el comienzo de una transición global hacia una infraestructura criptográfica resistente a ataques cuánticos.

Implicaciones para la Industria

  • Fabricantes de Hardware: Necesidad de desarrollar aceleradores hardware para algoritmos post-cuánticos.
  • Desarrolladores de Software: Actualización de bibliotecas criptográficas y aplicaciones.
  • Proveedores de Servicios Cloud: Implementación de opciones post-cuánticas para clientes.
  • Sector Financiero: Actualización de infraestructura de pagos y banca en línea.
  • Sector Sanitario: Protección a largo plazo de datos médicos sensibles.
  • Infraestructuras Críticas: Actualización de sistemas de control y comunicación.

Próximos Pasos en Estandarización

  • Finalización de Estándares FIPS: Publicación final de FIPS 203, 204 y 205.
  • Estándares de Implementación: Guías detalladas para implementaciones seguras.
  • Perfiles de Uso: Recomendaciones específicas para diferentes aplicaciones y sectores.
  • Certificación: Desarrollo de esquemas de certificación para implementaciones.
  • Algoritmos Adicionales: Posible estandarización de algoritmos adicionales para casos de uso específicos.

Desafíos Pendientes

  • Criptografía Híbrida: Estandarización de enfoques híbridos que combinen algoritmos clásicos y post-cuánticos.
  • Protocolos de Nivel Superior: Actualización de protocolos como TLS, SSH, IKE, etc.
  • Interoperabilidad: Asegurar la compatibilidad entre diferentes implementaciones.
  • Migración: Estrategias para la transición gradual de sistemas existentes.
  • Educación y Formación: Desarrollo de capacidades en la industria y academia.

Línea Temporal Estimada

  • 2024-2025: Publicación final de estándares FIPS.
  • 2025-2027: Adopción temprana en sectores críticos y de alta seguridad.
  • 2027-2030: Adopción generalizada en infraestructura de Internet y servicios comerciales.
  • 2030-2035: Transición completa a criptografía post-cuántica en la mayoría de sistemas.

Recursos Adicionales

Lecturas Recomendadas

  • NIST. (2023). FIPS 203 (Draft): Module-Lattice-Based Key-Encapsulation Mechanism Standard.
  • NIST. (2023). FIPS 204 (Draft): Module-Lattice-Based Digital Signature Standard.
  • NIST. (2023). FIPS 205 (Draft): Stateless Hash-Based Digital Signature Standard.
  • Alagic, G., et al. (2022). Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardization Process. NISTIR 8413.