Oscillazione password: utilizzo di 2 sali [duplicato]

20

Sto sviluppando un servizio di autenticazione.

Conosco la pratica di generare un sale unico per utente, memorizzato nel DB con la password con hash, per prevenire attacchi alle tabelle arcobaleno.

Ho appena avuto l'idea di aggiungere un secondo salt, all'interno del codice, non esistente nel DB, quindi se il database è trapelato (ma non il codice), anche le password deboli non sono vulnerabili alla forza bruta.

Mi sembra una buona idea, ma poiché non sono un esperto mi piacerebbe avere la conferma di persone che sono brave nella sicurezza delle informazioni.

    
posta IggY 09.09.2015 - 19:05
fonte

1 risposta

33

Il tuo secondo "sale" è un concetto che è stato descritto come "peppering". Fondamentalmente, funziona, ma ha lo svantaggio di implicare la gestione delle chiavi (il "pepe" è in realtà ciò che i crittografi chiamerebbero una chiave segreta): quando aggiorni il software, o passi a macchine più nuove, devi occuparti del trasferimento del pepe valore, altrimenti farai tutti i tuoi hash non verificabili.

Il peppering è fatto meglio calcolando prima l'hash nel modo normale e poi calcolando alcuni HMAC su di esso con il pepe come chiave. Nel database, si memorizzano i parametri hash (salt, conteggio iterazione) e l'output HMAC (ma non il valore hash stesso, ovviamente). Questo funziona, in particolare, perché HMAC è deterministico.

    
risposta data 09.09.2015 - 19:25
fonte

Leggi altre domande sui tag