Quantum-Safe
Dos trabajos recortan la seguridad de las firmas basadas en hash LMS y XMSS con SHA-256
Dos preprints recortan la seguridad de las firmas basadas en hash LMS y XMSS con SHA-256. No hay ataque práctico, y SHAKE256 no se ve afectado.
Lo esencial
- Un preprint reduce la seguridad de LMS y XMSS con SHA-256 de 2^256 a unos 2^156 o 2^166 con 2^64 firmas; con SHA-256/192, a unos 2^153.
- Otro muestra que las pruebas de seguridad de LMS no valían para la construcción real de SHA-256 y da nuevas cotas: seguridad moderada, no completa.
- No hay ataque práctico. Los parámetros con SHAKE256 no se ven afectados: pesa en la elección para firmware de larga vida.
Dos preprints publicados la semana pasada en el archivo ePrint de la IACR rebajan el margen de seguridad de las firmas basadas en hash LMS y XMSS cuando usan SHA-256. Ninguno es un ataque práctico, pero los dos apuntan en la misma dirección, y el primero deja una salida clara: los conjuntos de parámetros con SHAKE256 no se ven afectados.
LMS y XMSS, con sus variantes de varios árboles (HSS y XMSSMT), son firmas con estado que el NIST aprobó en 2020 en la SP 800-208, con SHA-256 o SHAKE256 y salidas de 192 o 256 bits. Su seguridad depende solo de la función hash, que se cree que resistirá a los ordenadores cuánticos. El NIST las reserva para casos concretos: sistemas que necesitan firmar ya, que vivirán muchos años y en los que cambiar de algoritmo después no es práctico, como las actualizaciones de firmware de dispositivos que estarán en uso durante décadas.
Qué han encontrado
- Un ataque multiobjetivo sobre el resumen del mensaje. Falko Strenzke (MTG AG) adapta la técnica de Kelsey y Kohno: reúne muchas firmas y funde sus estados internos de SHA-256 en uno solo, de forma que una única búsqueda sirve contra todas a la vez. Así anula la protección que el diseño pone contra este tipo de ataques. Con el límite del NIST de 264 firmas, repartidas entre cualquier número de claves, el coste con SHA-256 pasa de 2256 a unos 2166 para mensajes de hasta 4 GiB y a unos 2156 en el límite teórico: 100 bits menos. Con SHA-256/192 queda en unos 2153, 39 bits menos.
- Unas pruebas de seguridad que no valían para SHA-256. Chun Guo, Hao Cheng, Bart Preneel y Meiqin Wang (Universidad de Shandong y KU Leuven) muestran que las pruebas de seguridad de LMS publicadas en 2016 y 2017 usan un modelo que no corresponde a cómo está construido SHA-256 por dentro. Lo prueban con ataques de falsificación contra los parámetros LMS_SHA256_M32 y LMS_SHA256_M24, y concluyen que su seguridad exacta no se conocía y tampoco está en las normas. Dan nuevas cotas: una seguridad «moderada», pero no completa.
Aviso · qué no dicen estos trabajos
No permiten falsificar hoy una firma LMS o XMSS: son costes teóricos, contados en llamadas a la función de compresión de SHA-256, muy por encima de cualquier cálculo posible. Son preprints sin revisión por pares. Y no afectan a la otra condición de estas firmas, la gestión del estado, que sigue siendo su principal riesgo en la práctica.
Qué cambia para quien tiene que decidir
Para lo ya desplegado con SHA-256, no hay una urgencia nueva. Para quien elige ahora los parámetros con los que firmará firmware que no se podrá cambiar en décadas, los dos trabajos inclinan la balanza hacia SHAKE256: el primero dice expresamente que esos parámetros no se ven afectados y el segundo solo estudia SHA-256. Como el ataque de Strenzke suma firmas de distintas claves, según su autor hasta la primera firma de cada clave aumenta la exposición de todo un ecosistema: el riesgo depende de cuántas firmas se emiten en total, no solo de cada clave.