Hashing password salt [duplicate]

1

Ho letto da wiki:

The attacker has access to both the hashed password and the salt, so when running the dictionary attack, the attacker can simply use the known salt when attempting to crack the password.

Ho due domande:

  1. L'hacker non dovrebbe ottenere l'hash (password + sale) invece?
  2. È vero che l'attaccante può ottenere il sale?
posta xcoder 18.02.2015 - 16:39
fonte

2 risposte

2

Il presupposto è che se l'hacker può ottenere l'hash (di sale + password) allora può ottenere anche il salt, dato che di solito sono memorizzati nella stessa posizione, in una colonna separata nella stessa tabella di database , ad esempio, o come un singolo valore composto come si potrebbe vedere, ad esempio, dalla funzione * Nix crypt .

Quindi sì, l'attaccante otterrà bot l'hash e il sale. Questo, tuttavia, non è un problema, in quanto il sale è (di progettazione) non richiesto per essere segreto. Pertanto, il fatto che possa essere ottenuto dall'attaccante non indebolisce la sicurezza del sistema sotto la sua resistenza progettata.

    
risposta data 18.02.2015 - 16:46
fonte
3
  1. Ovviamente, è preferibile impedire l'accesso da parte di un utente malintenzionato agli hash memorizzati. Gli hash sono la prossima linea di difesa dopo che la negazione dell'accesso fallisce; quando l'utente malintenzionato scarica il tuo database, deve eseguire un attacco dizionario sull'hash per scoprire il testo in chiaro.

    Ciò che impedisce i sali è l'uso di un "dizionario" precompilato, detto anche "tavolo arcobaleno". Senza sale, o con un sale universalmente costante (stessa cosa), tutti gli sforzi precedenti per calcolare gli hash possono essere riutilizzati ricordando e memorizzando il messaggio e il relativo hash, quindi semplicemente cercando un hash corrispondente. Tuttavia, con un unico sale casuale per ogni valore di hash, ora nessun lavoro può essere riutilizzato; il messaggio deve includere quel valore di sale specifico ed è estremamente improbabile che un utente malintenzionato possa trovare un messaggio di lavoro in una tabella arcobaleno.

  2. Sì, l'attaccante può ottenere il sale. Si tratta di informazioni tecnicamente "pubbliche", perché devono essere disponibili per qualsiasi macchina che tenti di verificare un hash. Come ha detto Xander, di solito è memorizzato in una colonna diversa dello stesso database, o è anteposto come un numero di byte codificati in caratteri sullo stesso hash digest.

risposta data 18.02.2015 - 16:52
fonte

Leggi altre domande sui tag