Ja. Generieren Sie immer ein neues Salz, wenn das Passwort geändert wird .
Stellen Sie sich die folgenden zwei Szenarien vor:
Bekanntermaßen kein Salzwechsel
Ich weiß, dass Sie das Salz für Ihre Passwörter nicht ändern. Ich sehe, es admin
hat ein Salz, das 'xyz' ist, und jetzt zermahle ich den Regenbogentisch für dieses Salz. Es spielt keine Rolle, in was Sie Ihr Administratorkennwort ändern, ich weiß es.
Wiederholte Passwörter
Ich weiß, dass der Benutzer ein Hash-Passwort von 'xyz: abcdef' hatte ( xyz
ist das Salz, abcdef
ist das Hash-Passwort). Dann später sehe ich, dass die Hash-Informationen 'xyz: 012345' sind - ok, sie haben ihr Passwort geändert. Später sehe ich das gehashte Passwort als 'xyz: abcdef' und ich weiß, dass sie es wieder in das erste Passwort geändert haben .
Diese beiden Szenarien, in denen dem Angreifer unnötige Informationen gegeben werden, werden trivial vermieden, indem jedes Mal, wenn ein Kennwort generiert wird, neues Salt generiert wird.
Sie werden feststellen, dass Kursivschrift "Wenn das Passwort geändert wird" oben ist. Dies wurde nach einem Kommentar von darkhogg hinzugefügt, in dem gefragt wurde, ob ein häufigeres Wechseln des Salzes "besser, schlechter oder einfach nutzlos" ist.
Auf Security.SE die Frage, wie oft ich mein Salz zurücksetzen soll? beantwortet dies. Ändern das Salz mehr häufiger als die Kennwortänderungen gibt einem möglichen Angreifer mehr Informationen über das Passwort als nur ein Hash.
Wenn Sie das Salt häufiger als das Passwort ändern, bedeutet dies nicht, dass ein Angreifer durch die neuen Informationen stärker behindert wird, da das gleiche korrekte Passwort unabhängig vom Salt weiterhin funktioniert.