Perché non usare il nome utente come password? [duplicare]

1

Il punto di salting degli hash delle password è impedire all'hacker di utilizzare una tabella arcobaleno disponibile. Il sale deve essere unico per utente, ma non deve essere segreto.

Perché non usare il nome utente / l'ID utente come un valore piuttosto che fissare un valore separato nel DB. C'è qualche ragione per cui dovresti cambiare il sale di un utente in futuro?

[Mi sarei aspettato di trovare già una domanda come questa, ma non l'ho fatto. Inoltre non mi sono sembrato molto difficile

    
posta Mike Ounsworth 01.02.2017 - 00:24
fonte

1 risposta

3
  • Il fatto che il sale sia una funzione deterministica del nome utente rende probabile che gli utenti che utilizzano lo stesso nome utente e password su due siti diversi possano finire con lo stesso hash della password su entrambi. Gli aggressori che osservano questa coincidenza potrebbero quindi concentrare i loro sforzi sul cracking di quelle voci di password, quindi potresti esporre i tuoi utenti a più rischi. (Questo potrebbe in linea di principio essere mitigato incorporando alcuni dati specifici del sito nel sale.)
  • Quando l'utente cambia la sua password, sarebbe salata in modo identico a quella precedente. I cracker possono quindi attaccare queste due voci della password con lo stesso sforzo di una sola.
  • Semplicemente non ti guadagna nulla rispetto al semplice espediente di selezionare un salt casuale ogni volta che memorizzi una nuova password. Questo è semplice e ottimale , perché i sali casuali non sono solo altamente probabilità di essere unici nel database, ma anche su tutti i database di password mai mantenuti . Perché deviare da una strategia semplice e ottimale?
risposta data 01.02.2017 - 00:37
fonte

Leggi altre domande sui tag