¿Cuál sería el impacto criptográfico de conocer la salida de / dev / urandom?

4

Otra pregunta noob, lo sé, pero hay algo de lo que no estoy seguro.

Si de alguna manera mágicamente conociera la salida de / dev / urandom en un momento dado, ¿cuánto debilitaría eso un sistema de encriptación dado? O, tal vez, ¿qué tipo de esquemas de encriptación serían más perjudicados al reducir esta aleatoriedad?

    
pregunta user1209326 15.05.2012 - 18:43
fuente

3 respuestas

1

Si conocía la salida de /dev/urandom en todo momento y se generaron varias claves utilizando /dev/urandom (por ejemplo, claves privadas SSH / GPG o certificados SSL), en principio podría hacerlo rápidamente (como en mucho más rápido que brute). forzar) recrear un par de claves intentando usar varios estados de /dev/urandom . Esto efectivamente pasaría por alto todos los métodos de seguridad implementados (cifrado de archivos; https; protecciones de integridad de datos) que se basan en esas claves que ahora están rotas (este ataque es exactamente idéntico a la obtención de las claves / certificados privados de alguien).

Hay varias otras cosas que dependen de / dev / urandom que también podrían romperse. Por ejemplo, podría completar un TCP handshake desde una dirección IP que no controle a un servidor con un crack / dev / urandom como podría enviar un SYN, y luego enviar un ACK y adivinar el número de secuencia del servidor.

Por supuesto, a menos que haya comprometido un sistema para reemplazar / dev / urandom con otra cosa (o haya registrado los bits de / dev / random antes de usarlos), urandom no es del todo determinista. / dev / urandom utilizará por defecto la entropía recopilada de varios componentes de hardware y solo recurrirá a un generador pseudoaleatorio cuando se necesite más entropía de la que se ha recopilado.

    
respondido por el dr jimbob 15.05.2012 - 20:04
fuente
0

Tu pregunta es divertida, tengo curiosidad por saber cómo llegaste a preguntarte si se podría predecir / dev / urandom.

Pero más que eso, esto plantea un defecto interesante, ya que Wikipedia lo menciona :

  

En 2004, Landon Curt Noll, Simon Cooper y Mel Pleasant probaron una variedad de generadores de números aleatorios, incluidas las implementaciones / dev / random en FreeBSD 5.2.1, Linux 2.4.21-20, parche Solaris 8 108528-18 y Mac OS X 10.3.5. [7] Indicaron que ninguna de estas implementaciones / dev / random eran seguras criptográficamente porque sus resultados tenían defectos de uniformidad.

Dicho esto, creo que responde bastante bien a tu pregunta:

  

¿Cuánto podría debilitar eso a un sistema de encriptación dado?

No puedo decir cuánto, pero puedo decir que los impactaría lo suficiente como para no considerarlos totalmente seguros, porque "ninguna de estas implementaciones / dev / random eran criptográficamente seguras".

    
respondido por el Cyril N. 15.05.2012 - 19:29
fuente
0

Respuesta obvia: si su cifrado está usando directamente la salida de dev / urandom, evaesdroppers sabrá su clave y luego podrá descifrar su texto cifrado como lo hace con su clave. Por supuesto, también necesitan conocer el vector de inicialización, que generalmente también se genera a partir de la salida de dev / urandom.

Bueno, hay muchos esquemas de encriptación, pero si su clave depende de dev / urandom, todos estos esquemas se verán afectados si el atacante conoce la salida de su dev / urandom pero no sé cómo hacerlo. medir la fuerza "de los esquemas de cifrado. Creo que un cryptalanyst puede responderlo.

Acerca de la aleatoriedad de los RNG de Linux, hay un documento presentado en una conferencia IEEE: enlace Los agujeros de seguridad y Los posibles ataques se discuten aquí. Según su estudio, dev / random y dev / urandom no son "mucho" seguros.

Por otro lado, dev / random y dev / urandom pueden pasar las pruebas de aleatoriedad, pero la verdadera aleatoriedad solo se puede obtener de la mecánica cuántica: enlace

    
respondido por el Rubi Sharmax 15.05.2012 - 19:58
fuente

Lea otras preguntas en las etiquetas