L'aggiunta di un hash di un timestamp a una stringa generata casualmente lo rende meno sicuro?

1

Ho il seguente codice per generare i token di sessione:

binascii.hexlify(os.urandom(16)) + hashlib.md5(str(time.time())).hexdigest()

che converte i 16 byte generati casualmente per l'uso in formato esadecimale e aggiunge un hash del timestamp corrente.

Accodare il timestamp lo rende meno sicuro (contrariamente agli attacchi di forza bruta) che avere solo i byte generati casualmente?

    
posta Transcendence 13.08.2016 - 02:50
fonte

3 risposte

1

L'aggiunta del timestamp o anche di una stringa costante non rende la stringa casuale precedente meno prevedibile da sola. Ma potrebbe essere se l'attaccante ottiene informazioni secondarie come la lunghezza totale della stringa compressa perché in questo caso la parte meno casuale può essere usata per dedurre le informazioni sulla parte casuale. Vedi ad esempio il CRIME e BREAK attacchi.

    
risposta data 13.08.2016 - 06:26
fonte
1

Dipende da come è stato generato il valore casuale.

Dai un'occhiata ad esempio alla funzione CryptGenRandom di Microsoft. Usa molte fonti per l'entropia e una di queste fonti è l'ora corrente. Quando includi l'ora corrente, togli quella porzione di entropia.

Ci sono molte buone fonti di entropia rimaste per quel valore casuale e il tempo corrente aggiunge comunque poca entropia ma sì: hai reso il valore casuale leggermente meno sicuro.

    
risposta data 13.08.2016 - 10:45
fonte
0

In teoria, tutta la tua stringa di cookie dovrebbe essere casuale. L'MD5 di timestamp è tecnicamente casuale ma può essere invertito in timestamp effettivo.

Sulla base del timestamp nel cookie si può usarlo per montare qualsiasi altro attacco adatto, ad esempio provare a rompere altri meccanismi deboli.

Questo perché tale utilizzo non è in alcun modo standard (in quanto è utilizzato solo in qualche modo in alcuni software personalizzati), quindi se non esiste un uso standardizzato di esso non dovrebbe essere usato. E penso che non possa essere standardizzato perché non c'è motivo di farlo.

    
risposta data 13.08.2016 - 16:24
fonte

Leggi altre domande sui tag