¿Puedo usar la generación de números aleatorios de hardware en mi computadora? ¿Ya lo estoy usando?

11

Una gran cantidad de seguridad informática depende del cifrado: conexiones SSL, secuenciación de paquetes TCP, archivos cifrados, etc. Estos dependen de la generación de números aleatorios para garantizar que los atacantes no puedan adivinar la clave de cifrado.

La generación de números aleatorios débiles crea vulnerabilidades de seguridad como la reciente con certificados SSL . Sin embargo, no puede obtener una salida verdaderamente aleatoria de un programa informático determinista; necesitas al menos sembrarlo con algo verdaderamente aleatorio del mundo físico.

Los generadores de números pseudoaleatorios son suficientes para la mayoría de los propósitos; emiten un patrón de números que es muy difícil de predecir a menos que se conozca el punto de partida. Sin embargo, ese punto de partida debe ser una semilla aleatoria verdaderamente y debe renovarse periódicamente.

Veo que generadores de números aleatorios de hardware existen. Mi pregunta es: ¿cómo puedo, como usuario regular de una computadora, usar una? ¿O es probable que ya esté usando una?

Me gustaría saber que cuando comienzo una conexión SSL, se basa en una aleatoriedad sólida.

(Por supuesto, esto se aplica doblemente a los servidores web con los que trabajo).

    
pregunta Nathan Long 16.06.2012 - 14:58
fuente

2 respuestas

3

Como usuario regular de computadora , sus problemas no serán con el generador de números aleatorios que use, sino probablemente con algo como reutilizar la contraseña. SSL depende en parte de la función hash MD5, para la cual existen ataques de colisión. Recientemente, el malware Flame exhibió un éxito Ataque (pero computacionalmente costoso) en el sistema de Windows Update debido a su dependencia de MD5 para la seguridad. TLS está más extendido y utiliza el algoritmo SHA1, aún no se ha encontrado ningún ataque; Sin embargo, cualquier pirata informático sano intentará atacar a los CA directamente y utilizará un certificado falsificado para realizar un ataque de hombre en el medio, en lugar de investigar la entropía de sus números aleatorios.

Para un usuario regular de Linux , puede leer desde / dev / random para obtener números aleatorios "puros" recopilados del entorno, en la práctica / dev / urandom es igual de bueno. El hash de la agrupación de entropía de la que / dev / random se extrae y recurre a los generadores de números pseudoaleatorios cuando la agrupación se vuelve a "diluir". Para la comparación en mi netbook, la lectura de / dev / random durante 10 segundos me da 46 bytes de datos realmente aleatorios, / dev / urandom canaliza 65 megabytes de datos solo un poco menos aleatorios. No tengo ganas de esperar un minuto para iniciar una sesión ssh.

En la mayoría de los casos, la aleatoriedad no es el enlace débil. TLS depende de las CA que son operadas por personas, el cifrado de archivos depende del tiempo que pueda recordar una contraseña y de dónde más la escriba, las personas siempre forman parte de la ecuación y, en general, son menos confiables que SHA1.     

respondido por el Tyler Parker 18.06.2012 - 02:33
fuente
0

Sí, estoy de acuerdo con 'Tyler Parker' en que la mayor parte de la piratería se produce a través del lado de CA y no a través de la detección o intercepción del mecanismo de generación aleatoria segura del usuario final.

Por el otro lado, tienes razón; el modelo de algoritmo determinista adoptado para generar números aleatorios seguros es vulnerable y no puede compararse con el generador de números aleatorios de hardware. Normalmente, los generadores de hardware son lentos y robustos, ya que utilizan algunos agentes de aleatoriedad natural como el flujo y los parámetros ambientales. Esa es la razón por la que los dispositivos criptográficos basados en hardware como las tarjetas inteligentes contienen el hardware necesario para la generación aleatoria.

Intel en la arquitectura allí para Intel 4 había introducido una lógica similar en el microprocesador que utiliza el software en la PC para aprovechar el proceso de generación aleatoria de hardware. Se puede encontrar más información en enlace y enlace . No estoy muy seguro de si las implementaciones de software de los nuevos proveedores de seguridad lo han usado o no. Pero este es definitivamente un mejor enfoque.

    
respondido por el Mohit Sethi 18.06.2012 - 09:08
fuente

Lea otras preguntas en las etiquetas