Frage:
Produzieren schlechte Passwörter schlechte gesalzene Hashes?
Crizly
2014-10-28 02:14:41 UTC
view on stackexchange narkive permalink

Wenn Sie ein Kennwort in einer Datenbank gespeichert haben, die stark gehasht und gesalzen wurde, spielt es dann wirklich eine Rolle, ob das zugrunde liegende Benutzerkennwort schwach ist?

Wenn Sie Funktionen wie das Einschränken des Anmeldens und das Verwenden von Captchas einrichten Stoppen Sie das automatische Erraten. Können Sie ein schwaches Passwort wie " Passwort " effektiv ausgleichen?

Ich denke, meine Frage ist, ob die Verwendung eines Passworts wie "Passwort" den gesalzenen Hash zu einem beliebigen macht schwächer als ein längeres Passwort wie " fish& * n0d1cTionaRYatt @ ck "? - Sind alle gesalzenen Hashes gleich sicher oder hängt es davon ab, ob das Passwort gut ist?

Ich denke, Sie verwirren die Bedrohungsmodelle.
@schroeder Ich gehe davon aus, dass Captchas und Salze zum Schutz vor zwei völlig unterschiedlichen Bedrohungsszenarien verwendet werden.
Schwache Passwörter sind die ersten, die ein Angreifer verwendet, wenn er versucht, Ihr Passwort zu erraten ... Salz / Hash spielt hier keine Rolle.
Wir heben die Tatsache auf, dass "fish & * [email protected]" zwar ein * längeres * Passwort ist, es aber wahrscheinlich genauso schlecht oder schlechter ist als "Passwort", das ich nehme?
Nun - sie sind * fast * orthogonal, aber nicht ganz: Schwache Passwörter werden eher in Regenbogentabellen gefunden, die die Salzwerte enthalten.
Sieben antworten:
#1
+86
Xander
2014-10-28 02:23:16 UTC
view on stackexchange narkive permalink

Gesalzene Hashes schützen vor Angreifern, die mehrere Hashes gleichzeitig angreifen oder Regenbogentabellen mit vorberechneten Hashwerten erstellen können. Das ist alles. Sie tun nichts, um die zugrunde liegende Stärke des Passworts selbst zu verbessern, ob schwach oder stark.

Dies bedeutet auch, dass sie nicht zur Abwehr von Online-Angriffen ausgelegt sind. Sie haben also keinen Einfluss auf die Fähigkeit eines Angreifers, Ihr Anmeldeformular zu manipulieren, wenn das Salz irrelevant ist, da ein Angreifer nicht rechnet Hashes direkt, aber Eingabe von Kandidatenpasswörtern in ein Formular, das (wie Sie sagten) möglicherweise durch ein Captcha begrenzt oder geschützt ist.

Schwache Passwörter sind schwach. Starke Passwörter sind stark. Salze beeinflussen diese Gleichung in keiner Weise.

#2
+38
Alexander
2014-10-28 13:00:07 UTC
view on stackexchange narkive permalink

Sie müssen zwei Angriffsmethoden berücksichtigen:

  • Online-Angriff
  • Offline-Angriff

Das Einschränken der Anmeldungsraten hilft gegen Online-Angriffe.
Angenommen, es ist dreimal. Dies bedeutet, dass ein Angreifer ALLE Konten auf die drei häufigsten Kennwörter testen kann, die Ihrer Kennwortrichtlinie entsprechen (wie wäre es mit "Kennwort", "12345678" und "12345" "?).

Salting hilft gegen Offline-Angriffe
Dieselben ungesalzenen Hashes sind dasselbe Klartext-Passwort. Jeder Hash muss also einmal berechnet werden, nicht einmal für jedes Salz. Selbst mit einem Salz kann der Angreifer einen Wörterbuchangriff versuchen, und niemand (außer seiner Begrenzung der Rechenleistung) wird ihn aufhalten, da Ihre "Drei-Treffer" -Regel hier nicht gilt.

Schwache Passwörter verringern in beiden Fällen die Sicherheit
Online-Angriff : Wenn Sie gängige Passwörter (wie "Passwort" oder "12345") zulassen, können Angreifer in 5 aufbrechen % Ihrer Konten in drei Vermutungen.
Offline-Angriff : Hier werden natürlich auch zuerst die gängigsten Passwörter ausprobiert. Wenn sie also 3 Hashes pro Benutzer berechnen, haben sie bereits 5% der Konten zerstört ...

"Sie werden auch zuerst die gängigsten Passwörter ausprobieren" +1 Dies ist sehr wichtig, insbesondere wenn das Salz nicht pro Benutzer ist
#3
+7
Abe Miessler
2014-10-28 02:23:34 UTC
view on stackexchange narkive permalink

Salting / Hashing ist großartig, wenn Ihre Datenbank gestohlen wird, hat aber nichts mit Wörterbuchangriffen zu tun, die möglicherweise über das normale Anmeldeverfahren erfolgen.

Wie Sie bereits erwähnt haben, kann die Begrenzung der Anzahl der Anmeldeversuche und die Verwendung von CAPTCHA Wörterbuchangriffe, die über das normale Anmeldeverfahren erfolgen, unwirksam machen, aber Salting (oder nicht) hat keine Auswirkungen auf diese Art von Angriff.

Selbst mit den begrenzten Anmeldeversuchen und CAPTCHA ist es keine gute Idee, superschwache Passwörter zuzulassen. Wenn ein böswilliger Benutzer ausreichend ermittelt wird oder genügend Wert sieht, kann er Wege finden, diese Schwachstelle auszunutzen.

#4
+4
DavidF
2014-10-28 02:22:57 UTC
view on stackexchange narkive permalink

Nein, ein Punkt beim gesalzenen Hashing besteht darin, unabhängig vom Ausgangsmaterial eine gute Zufälligkeit im Hash zu erzielen.

Dies befreit uns jedoch nicht von der Verwendung falscher Passwörter. Gutes Hashing schützt nur vor einem Angriffsvektor: dem, bei dem der Eindringling die Datei mit den Hashes stiehlt. Es gibt so viele andere Angriffsmethoden für Passwörter ... Schulter-Surfen, Brute-Forcing, modifiziertes Brute-Forcing (mit intelligenten Startschätzungen usw.) ..., dass gute Passwörter immer noch wichtig sind.

Salted Hashing schützt gute Passwörter, aber Sie werden nicht vor schlechten gerettet.

#5
+1
user3799089
2014-10-28 02:27:53 UTC
view on stackexchange narkive permalink

Im Allgemeinen ist die Kennwortlänge das Wichtigste. Es ist jedoch wahr, dass ein einfaches Passwort einfacher aufgeschlüsselt werden kann als ein zufälliges. Zum Beispiel, wenn Sie versuchen, einen Hash mithilfe von Regenbogentabellen zu erraten. Wenn es sich um ein normalerweise verwendetes Wort wie "Katze" handelt, ist es wahrscheinlicher, dass Sie es in dieser Tabelle haben können als "07OFmy3HOY3l9e1gCNww7nNpd5lQ8I9an"; D

#6
+1
djechlin
2014-10-28 04:56:06 UTC
view on stackexchange narkive permalink

Theoretisch:

Wenn der Angreifer keine Regenbogentabelle erstellt hat und ein Passwort mit einer bestimmten Stärke in einer Zeiteinheit gehackt werden kann, können N Passwörter dieser Stärke in O gehackt werden ( 1) Zeit ohne Salz und O (N) Zeit mit Salz. Das macht Salz. Kein Vorteil bei einem festen Passwort; zeigt Vorteil gegenüber mehreren Passwörtern.

Wenn der Angreifer eine Regenbogentabelle ohne Salz hat, ist ein schwaches Passwort - in diesem Fall "schwach" bedeutet "bereits in der Regenbogentabelle" - so gut wie nackt. Mit Salz muss es in so vielen Sekunden, wie es dauern könnte, immer noch geknackt werden.

In der Praxis: Die Kennwortstärke ist weitaus wichtiger als alles andere. Manchmal sind Regenbogentische nur Bequemlichkeit; Wenn Sie eine Million so schwache Passwörter haben, sind diese sogar gesalzen durchlässig.

#7
+1
gnasher729
2014-10-28 17:45:34 UTC
view on stackexchange narkive permalink

Wenn Sie eines der drei schwachen Passwörter "Liebe", "Hund" und "Kuh" ausgewählt haben und eine Passwortdatenbank verloren gegangen ist: Ohne Salz kann ich diese drei Passwörter ausprobieren und sofort alle em finden > in der gesamten Datenbank mit diesen drei schwachen Passwort. Beim Salzen muss ich versuchen, Liebe + Ihr Salz, Hund + Ihr Salz, Kuh + Ihr Salz, um Ihr Passwort zu knacken, wenn es lächerlich schwach war, und dann dasselbe mit allen in der Datenbank wiederholen.

Wenn ein Hacker Sie gezielt angreift, hilft das Salzen nicht. Dies hilft nur, indem es unmöglich gemacht wird, die gesamte Datenbank anzugreifen, und stattdessen ein Angriff auf jeden einzelnen Benutzer in der Datenbank erforderlich ist.

-1 für die Verwendung des Wortes "unmöglich" in einem Sicherheits- / Kryptographiekontext.
Das ist einfach falsch. Wenn ein Hacker bereits eine Regenbogentabelle hat - was sie wahrscheinlich tun -, kann Ihr Passwort eine Hash-Suche sein, um ungesalzen zu brechen, aber so stark wie seine gesalzene Entropie.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...