Ho bisogno di un salato quando eseguo l'hashing di una password generata casualmente?

3

Ho password memorizzate nel mio database che sono molto lunghe, uniche e generate da un CSPRNG .

Devo usare un sale prima di eliminarli?

La mia comprensione è che di solito si usa una funzione di hash nel modo seguente:

hash(salt + password)

dove + è semplicemente la concatenazione delle 2 stringhe (o matrici di byte). Dal momento che le mie password sono già generate casualmente, è inutile precedere loro un sale che è un altro valore casuale.

    
posta Gudradain 12.08.2014 - 05:14
fonte

1 risposta

2

Lo scopo di salting quando le password di hashing è impedire che password identiche risultino negli stessi valori hash. Se tutte le password sono, come dici tu, lunghe e generate da un CSPRNG, non avrai password identiche nel tuo database per utenti diversi; saranno tutti unici, e la salatura non aggiunge nulla alla sicurezza di queste password.

Tuttavia, potrebbe essere un avvertimento. E cioè, se hai alcune password che non sono casuali. I.E., se le password casuali generate sono password iniziali, ma gli utenti hanno la possibilità di scegliere una password diversa. Se questo è il tuo caso, allora dovresti sicuramente aggiungere le tue password, incluse quelle generate casualmente. Ci sono due ragioni per questo.

  1. L'aggiunta della logica di branching per eliminare alcune password ma non altre è una complessità inutile, e la complessità non necessaria è costosa e malvagia. Salendo tutto ciò che non stai riducendo né aumentando la sicurezza delle password casuali, ma semplificando la logica dell'applicazione e riducendo la possibilità di bug, sicurezza o altro.

  2. Questo potrebbe drasticamente ridurre la sicurezza delle password non casuali. Se il tuo schema è noto e gli hash e i sali vengono estratti da un utente malintenzionato, saranno immediatamente in grado di determinare quali password (le password salate) non sono generate casualmente e dovrebbero essere attaccate. Se tutte le password sono salate, le password casuali saranno indistinguibili dalle password definite dall'utente.

risposta data 02.12.2014 - 17:48
fonte

Leggi altre domande sui tag