¿Por cuánto tiempo debo mover el mouse al azar para generar claves de cifrado?

8

Al crear un volumen de Truecrypt, hay una página del asistente en la que se le dice al usuario que mueva el mouse al azar (cuanto más tiempo mejor) para generar entropía, y que aumentará significativamente la fuerza de las claves de cifrado.

Tengo la sensación de que el aumento en la aleatoriedad de las teclas ya no será realmente significativo después de haber movido el mouse por algún tiempo, pero no sé cómo obtener un orden de magnitud para eso.

En otras palabras, ¿serán las claves de cifrado realmente más fuertes si muevo el mouse durante 3 minutos en lugar de 1? ¿Por cuánto tiempo moverías tu ratón?

Gracias.

    
pregunta Benoit 19.03.2013 - 13:59
fuente

3 respuestas

10

El PRNG en la máquina host se alimenta del evento de hardware para la aleatoriedad. Cuando mueves el mouse, envía "eventos de movimiento" a la PC, donde un "evento de movimiento" es como "hey, PC, acabo de mover 0.58 cm hacia arriba y 0.31 cm hacia la izquierda". Una tasa típica sería 15 eventos de movimiento por segundo (los ratones de juego tienen una tasa más alta). En el lado del sistema operativo, la cantidad de movimiento en cada dirección, y la hora exacta en que se recibe el evento, se utilizará como "entropía".

Lo bueno de la entropía es que simplemente se suma, siempre y cuando uses una función hash criptográfica para mezclar Se sube a la piscina de entropía. El sistema operativo hace eso. Alrededor de 128 bits de entropía son suficientes pero al paranoico le gustará ir un poco más allá, aunque solo sea para ganar en los juegos de mi-entropía-es-más largo que el tuyo. Se puede suponer (una estimación muy conservadora) es que cada evento de movimiento producirá al menos un bit de entropía (lo que significa que si un atacante intenta predecir el tiempo y la cantidad del siguiente evento de movimiento, no hará nada mejor que exhibir dos eventos igualmente probables). Por lo tanto, tendrá al menos 15 bits de entropía por segundo, es decir, 128 bits de entropía en menos de nueve segundos .

Por lo tanto, no es necesario torturar el mouse durante más de una docena de segundos. Mover el mouse por un minuto ya es un exceso excesivo.

(Desde que el sistema operativo comenzó a acumular entropía desde el inicio y se alimenta de más eventos de hardware que solo el mouse, en realidad ya tiene más entropía de la necesaria, y todo el asunto del mouse bailarín es más ritual y psicológico que científico). te sientes seguro más de lo que realmente se agrega a la seguridad real.)

    
respondido por el Tom Leek 19.03.2013 - 14:36
fuente
3

1. Fondo

Las computadoras no son capaces de generar números verdaderamente aleatorios, piensan de la forma en que les dices que piensen, no pueden generar números aleatorios por sí mismos. La generación de claves para un esquema de encriptación es simplemente una operación matemática. Necesita una entrada y da una salida.

PRNG(X) = Y

Mientras proporcione el mismo X , siempre obtendrá el mismo Y . Mantenga la ecuación en su mente.

2. Entropía

Por lo tanto, no podemos obtener Y realmente aleatorio, pero podemos obtener la siguiente mejor opción; una menor posibilidad de reproducibilidad. Por lo tanto, cuanto menos probable sea que vuelva a aparecer el mismo X , más "aleatorio" es Y . Este proceso se llama aumentar la entropía.

3. TrueCrypt

La forma en que TrueCrypt aumenta la entropía es mediante la recopilación de información que probablemente no se volverá a repetir, como timestamps , < a href="https://en.wikipedia.org/wiki//dev/random"> /dev/random en Linux / Mac OS X, CryptoAPI en Windows, estadísticas de red y mouse & teclado.

4. Movimiento del ratón

Finalmente, ¿qué tiene que ver todo lo anterior con el movimiento del mouse? Creo que ya lo has descubierto. Cuanto más mueva el mouse, más aumentará la entropía. Mover el mouse durante 1 segundo tendrá una cierta cantidad de entropía, y moverlo durante 10 segundos sin duda tendrá más entropía. ¿Pero cuánta entropía es prácticamente suficiente? Por suerte para nosotros, Thomas Pornin ha aplastado los números y resulta que 128 bits es suficiente.

Editar: Entonces, también según Thomas , 9 segundos son suficientes para generar 128 bits de entropía.

    
respondido por el Adi 19.03.2013 - 14:45
fuente
0

Esta pregunta no se puede responder realmente, ya que depende de la forma aleatoria en que pueda mover el mouse. Si puede mover el mouse de forma verdaderamente aleatoria durante 1 minuto, es probable que sea mucho mejor que mover el mouse hacia arriba y hacia abajo durante 20. El problema es que las personas son muy malas para ser aleatorias y muy buenas para encontrar y hacer patrones. Por lo tanto, es bastante probable que sus movimientos no sean completamente aleatorios y si se forma un patrón de algún tipo, entonces el tiempo más largo podría agregar muy poco o incluso quitarle algo de seguridad dependiendo de cómo funcione su algoritmo.

Muchos de estos algoritmos simplemente resumen el movimiento para formar una semilla aleatoria para un generador de números pseudoaleatorios criptográficos y luego usan la salida de ese PRNG para generar una clave.

    
respondido por el AJ Henderson 19.03.2013 - 14:38
fuente

Lea otras preguntas en las etiquetas