Per quanto tempo dovrei spostare il mouse a caso per generare le chiavi di crittografia?

8

Quando si crea un volume TrueCrypt, c'è la pagina della procedura guidata in cui all'utente viene detto di spostare casualmente il mouse (più è lungo e meglio è) per generare entropia e aumentare significativamente la forza delle chiavi di crittografia.

Ho la sensazione che l'aumento della casualità dei tasti non sarà più significativo dopo aver spostato il mouse per un po 'di tempo, ma non so come ottenere un ordine di grandezza per questo.

In altre parole, le chiavi di crittografia saranno davvero più forti se sposto il mouse per 3 minuti anziché 1? Per quanto tempo muoveresti il tuo mouse?

Grazie.

    
posta Benoit 19.03.2013 - 13:59
fonte

3 risposte

10

Il PRNG nei feed della macchina host su eventi hardware per casualità. Quando muovi il mouse, invia "move events" al PC, dove un "move event" è come "hey, PC, ho appena spostato 0,58 cm e 0.31 cm a sinistra". Una frequenza tipica sarebbe di 15 eventi di movimento al secondo (i mouse di gioco hanno una velocità maggiore). Sul lato OS, la quantità di movimento in ciascuna direzione e l'ora esatta in cui viene ricevuto l'evento, saranno utilizzati come "entropia".

La cosa brillante di entropia è che si aggiunge, purché tu usi una funzione di hash crittografica per mescolare fino alla piscina di entropia. Il sistema operativo lo fa. Circa 128 bit di entropia sono sufficienti ma al paranoico piacerà un po 'andare oltre, anche se solo per vincere ai giochi della mia entropia è più lunga della tua. Si può presumere (una stima molto prudente) è che ogni evento di movimento produrrà almeno un bit di entropia (il che significa che se un utente malintenzionato tenta di prevedere il tempo e la quantità dell'evento di movimento successivo, non farà di meglio che esibire due eventi ugualmente probabili). Quindi avrai almeno 15 bit di entropia al secondo, cioè 128 bit di entropia in meno di nove secondi .

Pertanto, non è necessario torturare il mouse più di una dozzina di secondi. Spostare il mouse per un minuto è già eccessivo.

(Dal momento che il sistema operativo ha iniziato a raccogliere entropia sin dal momento dell'avvio, e si nutre di più eventi hardware rispetto al mouse, in realtà ha già più entropia del necessario e l'intera cosa del mouse da ballo è più rituale e psicologico che scientifico; ti senti sicuro più di quanto non aggiunga effettivamente alla sicurezza reale.)

    
risposta data 19.03.2013 - 14:36
fonte
3

1. Sfondo

I computer non sono in grado di generare numeri veramente casuali, pensano nel modo in cui gli si dice di pensare, non riescono a trovare numeri casuali da soli. Generare le chiavi per uno schema di crittografia è semplicemente un'operazione matematica. Ha bisogno di un input e dà un output.

PRNG(X) = Y

Se fornisci lo stesso X , otterrai sempre lo stesso Y . Mantieni l'equazione nella tua mente.

2. Entropia

Quindi non possiamo ottenere percentuali casuali di Y , ma possiamo ottenere la prossima cosa migliore; una minore possibilità di riproducibilità. Quindi, meno è probabile che venga di nuovo lo stesso X , maggiore è il% "casuale" diY. Questo processo è chiamato aumentare l'entropia.

3. TrueCrypt

Il modo in cui TrueCrypt aumenta l'entropia è raccogliendo informazioni che difficilmente verranno ripetute di nuovo, come timestamp , < a href="https://en.wikipedia.org/wiki//dev/random"> /dev/random in Linux / Mac OS X, CryptoAPI in Windows, statistiche di rete e mouse e amp; Tastiera.

4. Movimento del mouse

Infine, cosa ha a che fare tutto quanto sopra con il movimento del mouse? Penso che tu l'abbia capito ormai. Più muovi il mouse più aumenterai l'entropia. Spostare il mouse per 1 secondo avrà una certa quantità di entropia e spostarlo per 10 secondi avrà sicuramente più entropia. Ma quanta entropia è praticamente sufficiente? Fortunatamente per noi, Thomas Pornin ha ridotto i numeri e risulta che 128 bit sono sufficienti.

Modifica: quindi, anche secondo Thomas , bastano 9 secondi per generare 128 bit di entropia.

    
risposta data 19.03.2013 - 14:45
fonte
0

Questa domanda non è realmente risolvibile in quanto dipende da come puoi muovere il mouse in modo casuale. Se riesci a muovere il tuo mouse in modo casuale per 1 minuto, probabilmente sarebbe molto meglio che spostare il mouse su e giù per 20. Il problema è che le persone sono davvero cattive a essere casuali e molto brave nel trovare e creare modelli. Pertanto, è abbastanza probabile che i tuoi movimenti non siano del tutto casuali e se un modello di qualche tipo si forma, allora il tempo più lungo potrebbe aggiungere molto poco o potrebbe anche richiedere un po 'di sicurezza a seconda di come funziona il loro algoritmo.

Molti di questi algoritmi riassumono il movimento per formare un seme casuale per un generatore di numeri pseudo-casuali crittografico e quindi usano l'output da quel PRNG per generare una chiave.

    
risposta data 19.03.2013 - 14:38
fonte

Leggi altre domande sui tag