it-swarm.com.de

Was sind Salzrunden und wie werden Salze in Bcrypt gespeichert?

Ich versuche, Bcrypt für eine von mir erstellte Node-App zu konfigurieren und habe einige Fragen zu Salzen, die hoffentlich jemand hier beantworten kann.

  • Was ist eine Salzrunde? In den Github-Dokumenten ( https://github.com/kelektiv/node.bcrypt.js/ ) wird beispielsweise eine Salt-Runde von 10 verwendet. Was bedeutet das genau?

  • Ist das von Bcrypt erzeugte Salz immer dasselbe? Wenn ich zum Beispiel die Hash-Kennwörter eines Benutzers in einer Datenbank speichere, ist das Salt, mit dem das Kennwort gehasht wurde, für jedes Kennwort gleich?

  • Wie wird das Salz gelagert? Ist es vor möglichen Angriffen geschützt?

23
doctopus
  1. Mit "Salzrunde" meinen sie eigentlich den Kostenfaktor . Der Kostenfaktor bestimmt, wie viel Zeit benötigt wird, um einen einzelnen BCrypt-Hash zu berechnen. Je höher der Kostenfaktor, desto mehr Hash-Runden werden durchgeführt. Durch Erhöhen des Kostenfaktors um 1 wird die erforderliche Zeit verdoppelt. Je mehr Zeit erforderlich ist, desto schwieriger wird das rohe Erzwingen.
  2. Das Salt ist ein zufälliger Wert und sollte für jede Berechnung unterschiedlich sein, sodass das Ergebnis selbst bei gleichen Passwörtern kaum jemals dasselbe sein sollte.
  3. Das Salz ist normalerweise in lesbarer Form in der resultierenden Hash-Zeichenfolge enthalten. Mit dem Speichern des Hash-Strings speichern Sie also auch das Salz. Schauen Sie sich das an Antwort für mehr Details.
27
martinstoeckli