stringtranslate.com

Vulnerabilidad de ROCA

La vulnerabilidad ROCA es una debilidad criptográfica que permite recuperar la clave privada de un par de claves a partir de la clave pública en claves generadas por dispositivos con la vulnerabilidad. "ROCA" es un acrónimo de "Return of Coppersmith's attack ". [1] La vulnerabilidad ha recibido el identificador CVE - 2017-15361.

La vulnerabilidad surge de un problema con un enfoque de generación de claves RSA utilizado en versiones vulnerables de una biblioteca de software , RSALib , proporcionada por Infineon Technologies , e incorporada en muchas tarjetas inteligentes , módulos de plataforma confiable (TPM) y módulos de seguridad de hardware (HSM), incluidos los tokens YubiKey 4, que a menudo se utilizan para generar claves PGP . Las claves de longitudes de 512, 1024 y 2048 bits generadas utilizando estas versiones de la biblioteca de Infineon son vulnerables a un ataque ROCA práctico. [2] [3] El equipo de investigación que descubrió el ataque (todos con la Universidad Masaryk y dirigido por Matúš Nemec y Marek Sýs) [2] estima que afectó a alrededor de una cuarta parte de todos los dispositivos TPM actuales a nivel mundial. [4] Se cree que millones de tarjetas inteligentes están afectadas. [1]

El equipo informó a Infineon sobre el problema de RSALib en febrero de 2017, pero no lo hizo público hasta mediados de octubre, alegando que se trataba de una divulgación responsable . En ese momento, anunciaron el ataque y proporcionaron una herramienta para probar las claves públicas en busca de vulnerabilidades. Publicaron los detalles del ataque en noviembre. [2]

Detalles técnicos

Para generar una clave RSA es necesario seleccionar dos números primos grandes generados aleatoriamente , un proceso que puede llevar mucho tiempo, especialmente en dispositivos pequeños, como las tarjetas inteligentes. Además de ser primos, los números deben tener otras propiedades para lograr la máxima seguridad. El vulnerable proceso de selección RSALib crea rápidamente números primos del tipo deseado al probar únicamente números de primalidad de la forma:

donde es el producto de los primeros n primos sucesivos (2, 3, 5, 7, 11, 13,...), y n es una constante que solo depende del tamaño de clave deseado. La seguridad se basa en las constantes secretas y . El ataque ROCA explota este formato particular para primos utilizando una variación del método Coppersmith . Además, las claves públicas generadas de esta manera tienen una huella distintiva que se puede reconocer rápidamente al intentar calcular el logaritmo discreto de la clave pública mod a base 65537 . Calcular logaritmos discretos en un grupo grande suele ser extremadamente difícil, pero en este caso se puede hacer de manera eficiente utilizando el algoritmo Pohlig–Hellman porque es un número suave . Hay un sitio de prueba disponible en Internet. [2] [5] [6] [7] En resumen, las claves que se ajustan a este formato tienen una entropía significativamente baja y pueden ser atacadas con relativa eficiencia (en semanas o meses), y el atacante puede confirmar el formato ("tomar la huella digital") muy rápidamente (en microsegundos). Hay múltiples implementaciones del ataque disponibles públicamente. [8] [9] [10]

Mitigación

Los autores de ROCA consideran que las claves públicas de 512, 1024 y 2048 bits generadas por RSALib son vulnerables. Dado que los detalles de la generación de claves difieren para distintas longitudes de clave, las claves más cortas no son necesariamente más vulnerables que las claves más largas. Por ejemplo, una clave RSAlib de 1952 bits es más segura que una de 2048 bits y una de 4096 bits es más débil que una de 3072 bits.

Según los autores, la mejor mitigación es generar claves RSA utilizando un método más fuerte, como OpenSSL . Si eso no es posible, los autores de ROCA sugieren utilizar longitudes de clave que sean menos susceptibles a ROCA, como 3936 bits, 3072 bits o, si hay un tamaño máximo de clave de 2048 bits, 1952 bits. [2] : Sección 5.1 

Infineon ha lanzado actualizaciones de firmware para sus módulos de plataforma confiable para los fabricantes que han utilizado sus TPM. [11]

Trascendencia

La vulnerabilidad puso de relieve varias deficiencias del sistema de certificación Common Criteria , ya que estaba presente en una lista de productos de tarjetas inteligentes certificados según Common Criteria. En concreto, la aprobación de algoritmos criptográficos de fabricación propia, la falta de transparencia en los informes de certificación, la imposibilidad de revocar certificados Common Criteria para productos vulnerables conocidos y distribuir esta información a los usuarios de los productos certificados. [12] : Sec 6.7.5 

En Estonia, el descubrimiento de la vulnerabilidad provocó una crisis cibernética a nivel estatal, ya que el chip de tarjeta inteligente vulnerable se implementó en más de 750.000 tarjetas de identidad estonias que los residentes y residentes electrónicos estonios usan a diario para autenticarse en línea de forma segura y crear firmas digitales. [12] : Sec 6.7 

Véase también

Referencias

  1. ^ ab Goodin, Dan (23 de octubre de 2017). "La debilidad paralizante de las criptomonedas abre millones de tarjetas inteligentes a la clonación". Ars Technica . Consultado el 25 de octubre de 2017 .
  2. ^ abcde Nemec, Matus; Sys, Marek; Svenda, Petr; Klinec, Dusan; Matyas, Vashek (noviembre de 2017). "El regreso del ataque de Coppersmith: factorización práctica de módulos RSA ampliamente utilizados" (PDF) . Actas de la Conferencia ACM SIGSAC de 2017 sobre seguridad informática y de las comunicaciones . CCS '17. doi :10.1145/3133956.3133969.
  3. ^ Khandelwal, Swati. "Una falla grave de cifrado permite a los piratas informáticos recuperar claves RSA privadas utilizadas en miles de millones de dispositivos". The Hacker News . Consultado el 25 de octubre de 2017 .
  4. ^ Leyden, John (16 de octubre de 2017). "No importa el drama de WPA2... Surgen detalles de un error en la clave TPM que afecta a toneladas de dispositivos". Reino Unido: The Register . Consultado el 25 de octubre de 2017 .
  5. ^ "ROCA: Infineon TPM and Secure Element RSA Vulnerability Guidance" (Guía de vulnerabilidades de Infineon TPM y Secure Element RSA). www.ncsc.gov.uk . Reino Unido . Consultado el 25 de octubre de 2017 .
  6. ^ "ROCA: Generación de RSA vulnerable (CVE-2017-15361)". República Checa: Centro de Investigación en Criptografía y Seguridad, Facultad de Informática, Universidad Masaryk . Consultado el 25 de octubre de 2017 .
  7. ^ "Información sobre la actualización del software de la función de generación de claves RSA". Infineon Technologies AG . Consultado el 25 de octubre de 2017 .
  8. ^ Bruno Produit (15 de mayo de 2019). «Implementación del ataque ROCA (CVE-2017-15361)». GitHub . Consultado el 29 de junio de 2020 .
  9. ^ Florian Picca (3 de mayo de 2020). «ROCA». GitHub . Consultado el 29 de junio de 2020 .
  10. ^ Shiho Midorikawa (13 de abril de 2020). "ROCA". GitHub . Consultado el 29 de junio de 2020 .
  11. ^ ""Actualización de TPM - Infineon Technologies"" . Consultado el 19 de marzo de 2021 .
  12. ^ ab Parsovs, Arnis (marzo de 2021). Documento de identidad electrónico de Estonia y sus desafíos en materia de seguridad (doctorado). Universidad de Tartu.

Enlaces externos