Sfondo
Attualmente sto impostando un nome utente e un ampli di base; processo di accesso basato su hash per un'applicazione web. Il processo consiste dei seguenti passaggi:
- L'utente invia il suo nome utente.
- Il server risponde con salt.
- L'utente hash la password e la invia e il nome utente al server.
- Il server autentica l'utente.
Ovviamente questo è un po 'semplificato e più passaggi durante il processo di hashing vero e proprio.
Quello che vedo qui è un potenziale di enumerazione dei nomi utente esistenti. Se un utente malintenzionato invia un nome utente non esistente, non verrà fornito alcun valore, suggerendo all'utente malintenzionato se il nome utente è in uso o meno.
Domanda
Quando viene fornito un nome utente non esistente, se dovessi fornire un valore salt saltuario, impedisce all'hacker di enumerare gli utenti esistenti?
Tale precompressione sarebbe così piccola da poter essere saltata?
Le preoccupazioni
- Un utente malintenzionato potrebbe vedere che il server emette solo valori casuali.