¿Se pueden predecir los números en los tokens RSA SecurID?

12

Mi lugar de trabajo utiliza estos tokens SecurID que le proporcionan una contraseña temporal, el código caducará después de un breve período de tiempo. Siempre me han fascinado las cosas, porque parece que toda la lógica para calcular el siguiente número debe estar físicamente ubicada dentro del dispositivo.

Dado el acceso físico al token, ¿es posible predecir los números? ¿Cómo? Sin acceso físico, ¿es teóricamente posible predecir números futuros a partir de números anteriores, con o sin conocimiento de la semilla?

* No estoy intentando descifrarlo, ¡me interesa la curiosidad matemática!

    
pregunta wim 08.12.2011 - 04:35
fuente

3 respuestas

21

Lo que tokens de SecurID no es de conocimiento público; RSA (la compañía) está bastante acostumbrada a publicar los detalles. Lo que se puede inferir es lo siguiente:

  • Cada dispositivo incorpora un semilla . Cada semilla es específica de un dispositivo.
  • La semilla de un dispositivo se puede calcular de forma determinista a partir de un master seed y el número de serie del dispositivo. El número de serie está impreso en el dispositivo. Este cálculo utiliza funciones criptográficas unidireccionales, por lo que no puede adivinar la semilla maestra desde una semilla de dispositivo.
  • Desde la semilla del dispositivo y un reloj interno, el número se calcula, una vez más, con una función criptográfica de una vía.
  • Los algoritmos de derivación se han filtrado, aunque solo sea porque los servidores de verificación también deben ejecutar el mismo algoritmo, por lo que estos algoritmos existen como software concreto en varios lugares; las fugas y la ingeniería inversa son en su mayoría inevitables en estas condiciones.

Bajo estas suposiciones, entonces:

  • Si conoce la semilla del dispositivo, puede calcular números futuros a voluntad.
  • Si conoce la semilla maestra y el número de serie del dispositivo, puede calcular la semilla del dispositivo.
  • Saber que las semillas de otros dispositivos no debería hacerte nada para adivinar la semilla de un dispositivo dado, a menos que la función criptográfica de una sola vía que convierte la semilla maestra en semillas del dispositivo haya sido dañada de alguna manera.
  • Saber los números pasados de un token no debería hacerte nada para adivinar los números futuros del mismo dispositivo, a menos que la función criptográfica de una sola vía que convierte la semilla del dispositivo en números haya sido dañada de alguna manera.
  • Extraer la semilla del dispositivo del dispositivo físico es teóricamente posible pero costoso, porque el dispositivo es resistente a la manipulación indebida : está blindado y lleno de sensores, y se suicidará electrónicamente si detecta alguna brecha. Si tomamos el ejemplo de las tarjetas inteligentes, es probable que la extracción de la semilla del dispositivo cueste varios miles de dólares y sea destructiva para el dispositivo (por lo que no puede hacerlo con discreción).

En marzo de 2011, algunos sistemas se han comprometido en RSA, y parece probable que los atacantes logren robar una o unas pocas semillas maestras (es posible que los dispositivos estén integrados en "familias", por lo que hay varias semillas maestras ). RSA ha declarado que se deben reemplazar 40 millones de tokens SecurID. Si conoce el número de serie de un token (puede estar impreso en la parte externa del token), puede usar el Cain & Abel herramienta que apunta a @dls; Es de suponer que esa herramienta implementa el algoritmo filtrado y las semillas maestras y, por lo tanto, puede producir las futuras salidas de token (no lo he probado). Esto solo funcionaría con servidores que aún acepten los tokens de los 40 millones de lotes que se reemplazarán. No sé hasta qué punto han llegado RSA y sus clientes en este proceso, por lo que puede ser que este ataque ya no funcione. Realmente depende de la reactividad de las personas que administran el servidor que atacas.

(Si estos administradores del sistema no han reemplazado los dispositivos comprometidos después de nueve meses, es probable que sean bastante relajados en cuanto a los problemas de seguridad, y el servidor puede tener algunos otros agujeros de seguridad explotables remotamente.)

    
respondido por el Tom Leek 08.12.2011 - 14:57
fuente
3

Si tiene su información secreta, puede generar los números como lo haría. Si no lo hace, es teóricamente posible hacer predicciones basadas en lo que ha visto porque los números están matemáticamente relacionados. Sin embargo, su relación es lo suficientemente compleja como para que se considere que no es computacionalmente factible hacerlo. Es decir, la cantidad de cómputo necesaria para hacer esa predicción tomaría sustancialmente más tiempo que la vida útil del token. Si, por ejemplo, se reemplazara un token promedio cada 10 años, un algoritmo que calcula su información secreta o su serie de valores que lleva mil millones de años para ejecutarse cuando se ejecutan en paralelo en todas las computadoras conocidas sería inútil en la práctica.

Esta inviabilidad computacional es la base fundamental para todos los sistemas criptográficos matemáticos útiles. Pero en todos los casos, todo lo que tenemos son herramientas criptográficas en las que revertirlas o resolver su información secreta se considera computacionalmente inviable. Los nuevos descubrimientos pueden revelar que algunos esquemas son más fáciles de romper de lo que se creía.

    
respondido por el Keith Irwin 08.12.2011 - 04:42
fuente
1

Trabajo en RSA en el proyecto SecurID. Las respuestas anteriores son correctas.

Si conoce la semilla, tiene la oportunidad de trabajar con el código de acceso (se muestra el código temporal). Pero a todos los dispositivos se les da una semilla aleatoria cuando se fabrican, y el valor semilla no se almacena en ninguna parte.

Incluso si posee un Administrador de autenticación, no puede adivinar el código de acceso ya que solo el Administrador puede cargar la lista de tokens. La información en esta lista es necesaria para generar el código de acceso para un determinado SecurID o Soft Token. Si la autenticación bajo demanda está habilitada, el usuario puede solicitar un código de acceso a través de SMS o correo electrónico, pero el código aún se basa en el token asignado al usuario.

    
respondido por el Shaswat 27.07.2016 - 13:59
fuente

Lea otras preguntas en las etiquetas