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).