È accettabile generare sali con un hash del nome utente?

9

Si suppone che i sali siano unici e generati casualmente per ogni utente quando memorizzano le password. C'è un motivo per cui non possiamo generare questi sali con una funzione hash crittografica usando il nome utente come input?

Mi sembra che questi hash darebbero le proprietà che desideriamo e non avremmo bisogno di usare ulteriore spazio di archiviazione per i sali.

    
posta gbooooooo 24.07.2013 - 19:26
fonte

2 risposte

9

I sali buoni sono unici nell'intero intervallo di tempo-spazio.

Un utente non cambia il suo nome quando cambia la sua password: questo è un fallimento di unicità nel tempo . (Caso simile: un vecchio account utente è chiuso, un nuovo utente è registrato e riutilizza lo stesso nome.)

Un utente ha lo stesso nome su diversi server distinti, che possono utilizzare la stessa strategia di hashing: si tratta di un errore di unicità sullo spazio . (Pensa, in particolare, a tutti questi utenti chiamati "Amministratore".)

I nomi degli utenti sono quindi piuttosto sciatti come sali. Sono molto meglio di niente sale, ma è altamente raccomandato utilizzare invece i sali casuali appropriati. 16 byte (o più) da un PRNG crittograficamente strong ti daranno un'unicità molto migliore.

    
risposta data 24.07.2013 - 19:48
fonte
2

Pensa ai nomi utente più ricercati come tom, admin, user ...

Se crei tabelle arcobaleno x per i nomi utente più ricercati, quindi, per questi utenti x, l'autore dell'attacco deve solo cercare nella tabella arcobaleno quel nome utente.

    
risposta data 01.02.2017 - 12:53
fonte

Leggi altre domande sui tag