Frage:
Die Kennwortentropie variiert zwischen verschiedenen Überprüfungen
Neekoy
2018-09-05 14:37:54 UTC
view on stackexchange narkive permalink

Ich bin in Bezug auf die eingehende Sicherheit massiv unterinformiert. Mein Verständnis war jedoch, dass die Kennwortentropie zwischen verschiedenen Algorithmen etwas ähnlich sein sollte.

Ich habe einige Kennwortentropieprüfungen durchgeführt. und die Algorithmen haben mir massiv unterschiedliche Ergebnisse geliefert.

Ist dies zu erwarten und gibt es eine zuverlässige / standardmäßige Überprüfung der Passwortentropie?

Um Connors nette Antwort zu ergänzen: Die Passwort-Entropieprüfungen, die Sie im Internet finden, sind größtenteils Müll und sagen nichts über die Stärke Ihres Passworts aus, insbesondere im Hinblick auf die Vermutbarkeit.
https://security.stackexchange.com/questions/185236/confused-about-using-a-password-that-would-take-centuries-to-break
Sieben antworten:
Conor Mancone
2018-09-05 15:55:28 UTC
view on stackexchange narkive permalink

Der Versuch, die Antwort des anderen Connor zu ergänzen:

Es ist wichtig zu beachten, dass die Entropie natürlich im Wesentlichen "das Ausmaß der Zufälligkeit" im Passwort ist. Ein Grund, warum verschiedene Entropieprüfer nicht übereinstimmen, liegt darin, dass die Entropie ein Maß dafür ist, wie das Kennwort generiert wurde und nicht, was das Kennwort enthält. Ein extremes Beispiel ist normalerweise der beste Weg, um zu zeigen, was ich meine. Stellen Sie sich vor, mein Passwort wäre frphevgl.fgnpxrkpunatr.pbzPbabeZnapbar .

Ein Entropieprüfer bewertet dies wahrscheinlich mit einer hohen Entropie, da er keine Wörter enthält und lang ist. Es enthält keine Zahlen, aber wenn Sie eine einfache Berechnung durchführen (wie Connor in seiner Antwort dargelegt hat und was die meisten Entropierechner tun), können Sie eine Entropie von 216 Entropiebits erraten - weit mehr als Ein typisches Passwort wird heutzutage benötigt (38 Zeichen mit einer Mischung aus Groß- und Kleinbuchstaben ergeben 52 ^ 38 ≈ 2 ^ 216).

Wenn man sich das ansieht, könnte jemand vermuten, dass mein Passwort nicht wirklich ist überhaupt zufällig und könnte erkennen, dass es sich nur um die rot13-Transformation von Site-Name + mein Name handelt. Daher ist die Realität, dass mein Passwort überhaupt keine Entropie enthält und jeder, der weiß, wie ich meine Passwörter generiere, weiß, wie mein Passwort für jede Site lautet, als die ich mich anmelde.

Dies ist ein extremes Beispiel aber ich hoffe, es bringt den Punkt rüber. Die Entropie wird nicht davon bestimmt, wie das Passwort aussieht, sondern davon, wie es generiert wird. Wenn Sie einige Regeln verwenden, um ein Kennwort für jede Site zu generieren, haben Ihre Kennwörter möglicherweise überhaupt keine Entropie. Dies bedeutet, dass jeder, der Ihre Regeln kennt, Ihre Kennwörter kennt. Wenn Sie viel Zufälligkeit verwenden, haben Sie ein Passwort mit hoher Entropie und es ist sicher, auch wenn jemand weiß, wie Sie Ihre Passwörter erstellen.

Entropie-Rechner gehen davon aus, wie die Passwörter generiert wurden, und können daher nicht miteinander übereinstimmen und auch völlig falsch liegen. Außerdem ist XKCD immer anwendbar, wenn es um diese Art von Dingen geht.

Tolles Beispiel, ich habe meine Antwort aktualisiert, um hier direkt zu verweisen, da dies eine hervorragende Beschreibung des Inhalts eines Passworts ist und nicht nur der Entropie!
_ "Die Entropie wird nicht davon bestimmt, wie das Passwort aussieht, sondern davon, wie es generiert wird." _ Dies ist der Schlüssel.Sie sollten dies zu einer ** kühnen ** Aussage machen, damit es mehr auffällt.+1
Das erinnert mich auch an diesen Dilbert-Comic: http://dilbert.com/strip/2001-10-25
@ilkkachu mein Lieblings-Dilbert überhaupt :)
Könnten Sie argumentieren, dass die Entropie Ihres Passworts mit der Wahrscheinlichkeit abnimmt, dass Sie die von Ihnen beschriebene rot13-Methode verwenden?Für einen zufälligen Benutzer ist diese Wahrscheinlichkeit ziemlich gering.Die Wahrscheinlichkeit, dass sie 123456 oder ein Passwort verwenden, ist viel höher.Oder nehmen Sie an, dass ein Angreifer Sie persönlich identifizieren kann und Ihre Passwortgenerierungsmethode anhand von Lecks kennt (z.B. die auf haveibeenpwned.com gelisteten Leaks)?
Connor J
2018-09-05 14:50:18 UTC
view on stackexchange narkive permalink

Die Passwortentropie wird anhand der Anzahl der Möglichkeiten berechnet, die sich aus der Länge ergeben können. 8-stelliges Passwort für Groß- und Kleinbuchstaben = (26 * 2) 8 sup>, (26 Zeichen des Alphabets * 2 für Groß- und Kleinbuchstaben).

Wenn Sie die Zahlen angeben 0-9 auch, dann wird diese Potenz 26 * 2 + 10, und wenn Sie auch Sonderzeichen einschließen, kann diese Zahl für die Anzahl der Möglichkeiten ziemlich groß werden.

Als Beispiel nehmen wir ein Passwort QweRTy123456 (ein schreckliches Passwort, das ich kenne). Dieses Passwort ist 12 Zeichen lang, die Potenz ist also die Zahl 12, es werden sowohl Groß- als auch Kleinbuchstaben und Zahlen verwendet, also haben wir 62 12 sup>. Dies ergibt eine Gesamtzahl von Möglichkeiten von 3.2262668e + 21.

Wenn wir nun dasselbe Passwort verwenden, jedoch alle in Kleinbuchstaben, d. H. qwerty123456 , der Wert, den wir haben, ist 36 12 sup>, was uns ein Potenzial von 4,7383813e + 18 gibt, immer noch eine enorme Zahl, aber viel kleiner als die Verwendung von Großbuchstaben.

Die Kennwortstärke hängt von zwei Hauptfaktoren ab: Länge und Komplexität. Als Beispiel zeige ich eine numerische PIN von 4 gegen 8 Zeichen, um den Unterschied zu zeigen. Für eine 4-stellige Pin-Nummer, 10 4 sup>, haben wir 10.000 mögliche Kombinationen, und wenn wir eine 8-stellige Pin-Nummer verwenden, d. H. 10 8 sup> Wir haben 100.000.000 Möglichkeiten. Durch die Verdoppelung der Länge des Passworts haben wir die potenziellen Kandidaten um das 10.000-fache erhöht.

Der zweite Faktor für Passwörter hängt von der Komplexität ab, d. H. Groß- und Kleinbuchstaben, Sonderzeichen usw. Ich habe oben ein Beispiel gegeben, um zu zeigen, wie schnell dies durch die Verwendung von mehr Zeichensätzen zunimmt.

Nur eine letzte Anmerkung: Ein Passwort ist nicht so stark wie sein Potenzial, da ein 12-stelliges Passwort ein Geburtsort, ein Haustiername usw. sein kann. Der Inhalt eines Passworts ist ebenfalls äußerst wichtig. Das Modell mit 4 zufälligen Wörtern ist in der Regel sehr beliebt und sicher, obligatorisch xkcd.

Die Antwort von ConorMancone bietet eine hervorragende Erklärung und ein Beispiel für den Inhalt eines Passworts im Vergleich zur Entropie. Ich würde daher empfehlen, dies auch zu lesen, um weitere Informationen zu diesem Thema zu erhalten.

Nehmen Sie also zusammenfassend die Anzahl der Möglichkeiten aus dem Zeichensatz bis zur Potenz der Länge des Passworts und dividieren Sie sie durch 2, um eine zuverlässige Methode zur Ermittlung der Passwortstärke auf der Grundlage von Brute-Forcing-Techniken zu erhalten.

Hoffentlich beantwortet dies Ihre Frage, wenn Sie noch einen Kommentar hinterlassen, und ich werde diesen aktualisieren, um Ihre Fragen widerzuspiegeln.

Ausgezeichnet verstehe ich jetzt.Im Grunde ist es nur ein Maß für die Komplexität eines Passworts, aber nicht für die Passwortstärke, da Hash-Tabellen, Wörterbuchprüfungen, allgemeine Informationsprüfungen und dergleichen existieren.Vielen Dank für die Erklärung.:) :)
"Sie brauchen nur 1/2 + 1 Möglichkeiten, um die richtige Antwort zu erhalten" - Das ist nicht der Geburtstagsangriff, das ist nur eine 50% ige Wahrscheinlichkeit, richtig zu raten, basierend darauf, dass Sie die Hälfte des Raums durchsucht haben.
@JAD ah schöner Ort, das werde ich jetzt korrigieren
@ConnorJ Gute Korrektur, die habe ich tatsächlich verpasst.Sie wenden den Geburtstagsangriff jedoch immer noch fälschlicherweise an.Wenn Sie "1/2 + 1 Möglichkeiten" sagen (idk, wo Sie diese +1 bekommen), meinen Sie, 50M von 100M der möglichen Passwörter zu versuchen, richtig?Das ist nicht das, was der Geburtstagsangriff ist, und es garantiert nicht, das richtige Passwort zu finden, es ist die durchschnittliche Anzahl der erforderlichen Vermutungen.
@AndrolGenhald Ja, ich habe nur versucht, einen besseren Weg zu finden, um es auszudrücken, damit die Antwort zusammenhängender ist.Mit Geburtstagsangriff meinte ich, dass ich beim Finden von Paaren basierend auf Wörtern (dh einem Benutzerpasswort) die Antwort jetzt aktualisieren werde
@ConnorJ Der Geburtstagsangriff würde auf zwei Klartexte mit demselben Hash angewendet, ohne eine Eingabe zu finden, die denselben Hash wie ein spezifischer Klartext hat.Das heißt, der Geburtstagsangriff kann nicht verwendet werden, um eine Kollision mit einem bekannten Hash zu finden.
@Qwerty01 wurde gerade aktualisiert, um klarer zu machen, dass es auf übereinstimmenden Paaren basiert
@ConnorJ wie Qwerty01 sagte, das ist immer noch nicht der Geburtstagsangriff.Der Geburtstagsangriff gilt für Kollisionsangriffe (Finden von zwei Dingen, die denselben Hash erzeugen), nicht für Preimage-Angriffe (Finden von etwas, das einen bestimmten Hash erzeugt).Ich kann mir nicht vorstellen, dass es hier relevant ist.Ich würde vorschlagen, ein bisschen mehr darüber zu lesen. Ich glaube nicht, dass Sie ein klares Verständnis dafür haben.
Bitte buchstabieren Sie "Nummer" anstatt "Nein" zu schreiben, es sei denn, Sie haben einen sehr guten Grund, dies nicht zu tun (was Sie in dem Fall, in dem Sie es verwendet haben, nicht tun).
Woher wissen wir, dass "qwerty123456" als eines von 36 ^ 12 möglichen Passwörtern kommt?Es sieht so aus, als würde es aus sechs Buchstaben gefolgt von sechs Ziffern generiert, was 26 ^ 6 * 10 ^ 6 ergibt.Tatsächlich sieht es so aus, als würde es durch Auswahl der ersten sechs Zeichen aus den beiden Zeilen einer Tastatur generiert, was es extrem schwach machen würde, da es nur wenige Zeichenfolgen gibt, die Sie direkt von einer Tastatur erhalten können.A) Es ist also sehr wahrscheinlich, dass `qwerty123456` nicht aus einem Raum von der Größe von 36 ^ 12 generiert wurde, und b) der" Stärkeprüfer "hat keine wirkliche Möglichkeit zu wissen, ob das Passwort durch eine einfache Regel generiert wurde.
@ilkkachu Genau.Die Entropiemessung ist zum Teil subjektiv.Ist "xuj3ALP" sieben zufällige Zeichen, die aus Groß-, Klein- und Ziffern ausgewählt wurden?Oder sind es drei Kleinbuchstaben, eine Ziffer und drei Großbuchstaben?Was Sie denken, es ändert sich von ungefähr 32 Bit Entropie auf ungefähr 42!
Wie ist das die akzeptierte Antwort?Es ist * nicht *, wie die Passwortentropie überhaupt berechnet wird, und es beantwortet nicht einmal die Frage des OP, warum verschiedene Prüfer unterschiedliche Entropiestufen haben.
@ilkkachu Aus diesem Grund kann die Entropie nicht direkt aus einem Passwort berechnet werden, sondern muss basierend darauf berechnet werden, wie das Passwort generiert wurde.
Kevin
2018-09-06 18:33:04 UTC
view on stackexchange narkive permalink

Die Kennwortentropie wird berechnet durch: Kennen (oder Erraten) des Algorithmus, der zum Generieren des Kennworts verwendet wird, und Sammeln der Anzahl der verschiedenen Verzweigungspunkte, die zum Generieren des von Ihnen ausgewählten Kennworts verwendet werden.

Lassen Sie Ich gebe einige Beispiele:

Passwort: Passwort

Dies ist nicht 26 ^ 8 (oder 2 ^ 38) - weil der Algorithmus war nicht "8 zufällige Kleinbuchstaben wählen". Der Algorithmus war: Wählen Sie ein einzelnes, sehr leicht zu merkendes Wort. Wie viele solcher Wörter gibt es? Wenn Sie sich für "Es gibt 200 solcher Wörter" entscheiden, sehen Sie ungefähr 8 Entropiebits (nicht 38).

Passwort: Passwort6

Ähnlich wie beim vorherigen Eintrag ist dies nicht 36 ^ 9 (oder 2 ^ 47) - da der Algorithmus ein einzelnes, sehr leicht zu merkendes Wort auswählt und es am Ende mit einer einstelligen Zahl verziert. Die Entropie beträgt hier ungefähr 11 Bit (nicht 47).

Passwort: carpet#terraform2

Inzwischen können Sie erraten, was los ist. Zwei relativ ungewöhnliche Wörter mit einem Interpunktionszeichen dazwischen und einer Ziffer am Ende. Wenn Sie schätzen, dass diese Wörter aus einem Wörterbuch mit 10000 Wörtern (2 ^ 13) ausgewählt wurden, sehen Sie ungefähr 33 Entrophiebits (13 für das erste Wort + 4 für die Interpunktion + 13 für das zweite Wort + 3) für die letzte Ziffer.)

Um nun Ihre direkte Frage zu beantworten: Warum geben die verschiedenen Entropieprüfer unterschiedliche Werte an?

Nun, verwenden wir das letzte Passwort: Teppich # terraform2.

Ein Entropie-Bewerter könnte sagen: "Hey, ich habe keine Ahnung, wie Sie dies generiert haben. Es müssen also nur zufällige Zeichen zwischen Kleinbuchstaben, Interpunktion und Zahlen sein. Nennen Sie es 52 ^ 17 oder 97 Bit Entropie (2 ^ 97.) "

Ein anderer, etwas intelligenterer Entropie-Bewerter könnte sagen:" Hey, ich erkenne das erste Wort, aber diese zweite Buchstabenfolge ist nur zufällig. Also der Algorithmus ist ein einzelnes ungewöhnliches Wort, eine Interpunktion, neun zufällige Buchstaben und dann eine Zahl. Also 10000 x 16 x 26 ^ 9 x 10 oder 63 Bit Entropie "

Ein dritter und vierter Entropie-Bewerter könnten den Algorithmus, der zur Erzeugung verwendet wird, korrekt herausfinden. Der dritte Bewerter ist jedoch der Meinung, dass beide Wörter aus einem Wörterbuch mit 5000 Wörtern stammen sollten, der vierte Bewerter ist jedoch der Meinung, dass Sie in ein Wörterbuch mit 30.000 Wörtern einbrechen müssen, um sie zu finden. Der eine liefert also 32 Bit Entropie, während der andere 37 Bit glaubt.

Hoffentlich macht es langsam Sinn. Der Grund, warum verschiedene Entropie-Bewerter unterschiedliche Zahlen erstellen, liegt darin, dass sie alle unterschiedliche Bewertungen zur Generierung des Kennworts erstellen.

supercat
2018-09-05 20:32:51 UTC
view on stackexchange narkive permalink

Es gibt keine Möglichkeit zu beurteilen, ob eine Folge von Zahlen oder Zeichen zufällig ist. Eine Maschine, die nach einer zufälligen siebenstelligen Zahl gefragt wird, würde ungefähr alle zehn Millionen Anfragen 8675309 produzieren. Ein Tommy Tutone-Fan könnte diese Nummer jedes Mal anbieten. Wenn eine Sicherheitsanwendung zufällig eine siebenstellige Nummer benötigt (möglicherweise muss sie über einen Ziffernblock zugänglich sein), wird 8675309 möglicherweise als gut entropisch eingestuft, es sei denn, diese Anwendung wurde in diesem Fall von einem Tommy Tutone-Fan geschrieben Diese Zahl könnte als genauso schlecht wie 1111111 oder 1234567 angesehen werden.

Grundsätzlich kann ein Entropieprüfer nur prüfen, ob ein Passcode mit Mustern übereinstimmt, die als niedrig entropisch angesehen werden, und beobachten das Muster mit der niedrigsten Entropie, mit dem es übereinstimmt [jeder Passcode stimmt mit einem Muster überein - ein Passcode von z 23 Zeichen stimmen mit Mustern wie "jedem anderen Passcode mit 20 bis 25 Zeichen" überein, wenn sie mit nichts anderem übereinstimmen. Wenn verschiedene Personen gebeten werden, eine Liste aller Passcode-Muster mit niedriger Entropie zu erstellen, an die sie denken können, werden sie mit ziemlicher Sicherheit an verschiedene Dinge denken. Was jedoch wirklich wichtig ist, ist, ob ein bestimmter Passcode einem Muster entspricht, das ein Angreifer versucht. Während es einige Sätze von Passcodes gibt, die Angreifer besonders wahrscheinlich versuchen würden (z. B. 1111111 und 1234567), variieren die Auswahlmöglichkeiten für Passcodes, sobald sie darüber hinausgehen, wahrscheinlich erheblich je nach Angreifer.

"Es gibt keine Möglichkeit zu beurteilen, ob eine Folge von Zahlen oder Zeichen zufällig ist."Ja, obwohl es schlecht ist, die Zufälligkeit vergangener Werte anhand eines möglichen Musters zu überprüfen, ist es ziemlich einfach zu überprüfen, ob ein zukünftiger Versuch den Grundmustern entspricht.Ich kann nicht sagen, dass 1111111 nicht zufällig ist, aber ich kann einen Test so entwerfen, dass ich, wenn ein Generator während des Tests 1111111 ausspuckt, mit hoher Sicherheit die Nullhypothese ablehnen werde, dass die Zahlen zufällig und unabhängig sind.Unabhängig davon ist hier ein relevanter Dilbert-Comic: http://dilbert.com/strip/2001-10-25
@CodyP: Für jedes praktische N überschreitet die Anzahl der theoretisch möglichen nicht zufälligen Wege zum Erzeugen einer Liste von N Zahlen die Anzahl der möglichen Listen von N Zahlen.Wenn das einzige Kriterium, das man verwendet, um eine Liste abzulehnen, ist, ob 11111111 mehr erscheint als es sollte, würde man fälschlicherweise die meisten nicht zufälligen Listen akzeptieren.Wenn man versuchen würde, 60% der Listen abzulehnen, die möglicherweise auf nicht zufällige Weise erstellt wurden, würde man auch 60% der zufälligen Listen ablehnen.Das Beste ist, zu hoffen, dass bestimmte nicht zufällige Mittel zur Datengenerierung viel häufiger verwendet werden als andere.
Obwohl dies sachlich korrekt ist und Sie gute Vorbehalte ansprechen, ist mein Hauptpunkt, dass die intuitive Vorstellung, dass 1111111 ein Zeichen für ein schlechtes RNG ist, trotz akademischer Überlegungen wie falsch negativer und obskurer Muster ihre Berechtigung hat.Ich glaube nicht, dass irgendjemand vorschlagen würde, dass Sie Ihren p-Wert auf 60% setzen oder nur nach wiederholten Einsen suchen.Angesichts ausgereifter Tests wie der NIST-Testsuite oder der zxcvbn-Kennwortprüfung müssen wir nicht so tun, als wäre die Ablehnung von 1111111 ein schwieriges Problem.Dies gilt insbesondere für Passwörter, bei denen wir eine gute Vorstellung davon haben, welche Muster häufig vorkommen.
@CodyP: Mein Punkt ist, dass die Beurteilung, ob bestimmte Passcodes eher über die Hochentropiemethode als über eine Niedrigentropiemethode ausgewählt werden, fast ausschließlich auf Vermutungen über die Wahrscheinlichkeit der Anwendung verschiedener Niedrigentropiemethoden beruht.
BoppreH
2018-09-05 20:01:50 UTC
view on stackexchange narkive permalink

Im Allgemeinen hängt die Sicherheit eines Kennworts davon ab, wie schwer es Ihrem Angreifer fällt, es zu erraten. Dies versuchen diese Websites mit verschiedenen Algorithmen zum Erraten zu messen.

Ein sehr dummer Prüfer könnte denken, dass das Passwort "0000000000000000000000" eine hohe Entropie aufweist, da es lang ist und der Algorithmus der Website zum Erraten "jede Kombination aller Zeichen versuchen" lautet, was in der Tat lange dauern würde erraten Sie dieses Passwort richtig. Ein intelligenterer Prüfer versucht zuerst, numerische Passwörter zu verwenden, wodurch eine Sicherheitsstrafe für dieses Passwort eingeführt wird (es wird schneller gefunden). Ein intelligenterer Guesser versucht zuerst Muster (wie wiederholte Zeichen oder Wörterbuchwörter) und kommt zu Recht zu dem Schluss, dass dieses Passwort Müll ist.

Dies mag nutzlos klingen, aber beachten Sie, dass selbst ein schlechter Guesser Ihnen eine nützliche Obergrenze gibt : "Ihr Passwort kann mit höchstens so vielen Vermutungen gebrochen werden". Das ist der Wert, den diese Prüfer bieten. Wenn Sie mehrere Schätzer ausprobieren und die niedrigste Zahl verwenden, erhalten Sie eine konservativere Schätzung.

Future Security
2018-09-07 00:22:11 UTC
view on stackexchange narkive permalink

Andere Antworten verwenden nicht die informationstheoretische Definition der Entropie. Die mathematische Definition wird als eine Funktion definiert, die ausschließlich auf einer Wahrscheinlichkeitsverteilung basiert. Sie ist für die Wahrscheinlichkeitsdichtefunktion p als die Summe von p (x) * -log (p (x)) jedes möglichen Ergebnisses x code definiert >.

Entropieeinheiten sind logarithmisch. Typischerweise wird zwei für die Basis des Logarithmus verwendet, also sagen wir, dass ein stochastisches System n Entropiebits hat. (Andere Basen könnten verwendet werden. Für die Basis e würden Sie stattdessen die Entropie "nats" messen, für den nat uralen Logarithmus, aber die Basis zwei und "Bits" sind häufiger.)

Der Begriff stammt aus der Informationstheorie. Entropie hängt natürlich mit Informationen zusammen. (Ein weiterer Grund, warum wir "Bits" sagen.) Sie können Entropie aber auch als Maß für "Unvorhersehbarkeit" beschreiben.

Das einmalige Werfen einer fairen Münze (in der idealen Welt) erzeugt 1 Bit Entropie. Das zweimalige Werfen einer Münze erzeugt zwei Bits. Und so weiter. Gleichmäßige (diskrete) Verteilungen sind die einfachsten Verteilungen zur Berechnung der Entropie, da jeder summierte Term identisch ist. Sie können die Entropiegleichung einer diskreten einheitlichen Variablen X mit n -Ergebnissen mit jeweils 1 / n Wahrscheinlichkeit auf

H (X) = n * 1 / n * -log (1 / n) = log (n)

Sie sollten sehen können, wie man die Entropie erhalten kann Außerhalb des Systems sind dies ein oder mehrere Münzwürfe, bei denen nur bekannt ist, wie viele Münzwürfe aufgezeichnet werden sollen.

Die Entropie ungleichmäßiger (diskreter) Verteilungen ist ebenfalls leicht zu berechnen. Es sind nur weitere Schritte erforderlich. Ich werde das Münzwurfbeispiel verwenden, um Entropie wieder mit Unvorhersehbarkeit in Beziehung zu setzen. Was ist, wenn Sie stattdessen eine voreingenommene Münze verwenden? Nun, dann ist die Entropie

H = p (Köpfe) * -log (p (Köpfe)) + p (Schwänze) * -log (p (Schwänze))

Wenn Sie planen, dass Sie dies

Coin flip entropy plot

erhalten

Sehen Sie? Je weniger fair (einheitlich) ein Münzwurf (Verteilung) ist, desto weniger Entropie hat er. Die Entropie wird für die Art des Münzwurfs maximiert, die am unvorhersehbarsten ist: einen fairen Münzwurf. Voreingenommene Münzwürfe enthalten immer noch eine gewisse Entropie, solange Kopf und Zahl noch möglich sind. Die Entropie (Unvorhersehbarkeit) nimmt ab, wenn die Münze voreingenommener wird. Alles, was zu 100% sicher ist, hat keine Entropie.

Es ist wichtig zu wissen, dass es die Idee ist, Münzen mit Entropie zu werfen, nicht das Ergebnis des Münzwurfs selbst. Sie können aus einer Stichprobe x aus der Verteilung X nicht ableiten, wie hoch die Wahrscheinlichkeit p (x) für x ist. Alles was Sie wissen ist, dass es nicht Null ist. Und mit nur x haben Sie keine Ahnung, wie viele andere mögliche Ergebnisse es gibt oder welche individuellen Wahrscheinlichkeiten sie haben. Daher können Sie die Entropie nicht nur anhand eines Beispiels berechnen.

Wenn Sie eine Zeichenfolge "HTHTHT" sehen, wissen Sie nicht, ob sie aus einer Folge von stammt sechs faire Münzwürfe (6 Bit Entropie), eine voreingenommene Münzwurfsequenz (< 6 Bit), eine zufällig erzeugte Zeichenfolge aus der gleichmäßigen Verteilung aller 6 Großbuchstaben (6 * log_2 (26) oder etwa 28 Bit) oder Wenn es aus einer Sequenz stammt, die einfach zwischen 'H' und 'T' (0 Bits) wechselt.

Aus demselben Grund können Sie nicht berechnen die Entropie von nur einem Passwort. Jedes Tool, das Ihnen die Entropie eines von Ihnen eingegebenen Passworts mitteilt, ist falsch oder stellt falsch dar, was sie unter Entropie verstehen. (Und möglicherweise werden Kennwörter erfasst.) Nur Systeme mit einer Wahrscheinlichkeitsverteilung können Entropie aufweisen. Sie können die wahre Entropie dieses Systems nicht mit Kenntnis der genauen Wahrscheinlichkeiten berechnen, und daran führt kein Weg vorbei.

Man kann zwar die Entropie abschätzen, erfordert jedoch noch einige Kenntnisse (oder Annahmen) über die Verteilung. Wenn Sie davon ausgehen, dass aus einer der wenigen gleichmäßigen Verteilungen mit einem Alphabet A ein k Zeichen langes Passwort generiert wurde, können Sie die Entropie auf log_2 (1 / | schätzen A |) . | A | ist die Größe des Alphabets. Viele Schätzer für die Kennwortstärke verwenden diese (naive) Methode. Wenn sie sehen, dass Sie nur Kleinbuchstaben verwenden, nehmen sie | A | an = 26 . Wenn sie eine Mischung aus Groß- und Kleinschreibung sehen, nehmen sie | A | an = 52 . Aus diesem Grund könnte ein angeblicher Taschenrechner für die Kennwortstärke Ihnen mitteilen, dass "Kennwort1" tausende Male sicherer ist als "Kennwort" . Es werden Annahmen über die statistische Verteilung von Kennwörtern getroffen, die nicht unbedingt gerechtfertigt sind.

Einige Kennwortstärkenprüfer weisen dieses Verhalten nicht auf, dies bedeutet jedoch nicht, dass es sich um genaue Schätzungen handelt. Sie sind nur so programmiert, dass sie nach mehr Mustern suchen. Wir können fundiertere Vermutungen der Passwortstärke basierend auf beobachteten oder imaginären menschlichen Passwortverhalten anstellen, aber wir können niemals einen Entropiewert berechnen, der keine Schätzung ist.

Und wie ich bereits sagte, ist es falsch zu sagen, dass Passwörter selbst mit einer Entropie verbunden sind. Wenn Leute sagen, dass ein Passwort ___ Entropie hat, dann, wenn sie wissen, wovon sie sprechen, verwenden sie es wirklich als Abkürzung für "Dieses Passwort wurde mit einem Prozess generiert, der ____ Entropie hat."

Einige Leute befürworten, dass Passwörter computergeneriert statt von Menschen generiert werden. Dies liegt daran, dass Menschen schlecht darin sind, Passwörter mit hoher Entropie zu finden. Menschliche Vorurteile führen zu ungleichmäßigen Passwortverteilungen. Selbst lange Passwörter sind vorhersehbarer als erwartet. Für computergenerierte Passwörter können wir die genaue Entropie eines Passwortraums kennen, da ein Programmierer diesen Passwortraum erstellt hat. Wir sind in der Lage, die maschinengenerierte Passwortentropie ohne Schätzung zu kennen, vorausgesetzt, wir verwenden ein sicheres RNG. Diceware ist eine weitere Methode zur Kennwortgenerierung, für die sich die Befürworter einsetzen und die dieselben Eigenschaften hat. Es sind keine Computer erforderlich. Stattdessen wird davon ausgegangen, dass Sie einen fairen sechsseitigen Würfel haben.

Wenn ein Kennwort mit n Entropiebits generiert wird, können wir schätzen, wie viele Vermutungen a Der Passwort-Cracker muss 2 ^ (n-1) sein. Dies ist jedoch eine konservative Schätzung. Passwortstärke und Entropie sind nicht gleichbedeutend. Bei der entropiebasierten Schätzung wird davon ausgegangen, dass der Cracker Ihren individuellen Prozess zur Kennworterzeugung kennt. Die entropiebasierte Passwortstärke folgt dem Kerckhoffs-Prinzip. Es misst die Kennwortstärke in gewissem Sinne (da Entropie die Unvorhersehbarkeit misst) unter Verwendung der Einstellung Sicherheit durch Dunkelheit ist keine Sicherheit . Wenn Sie beim Generieren von Passwörtern die Entropie bewusst berücksichtigen, können Sie eine Methode zum Generieren von Passwörtern mit hoher Entropie auswählen und eine Untergrenze für die Sicherheit Ihres Passworts festlegen.

Solange das Passwort einprägsam / verwendbar ist Es ist nichts Falsches daran, echte Entropieberechnungen als konservative Schätzung der Passwortstärke zu verwenden. Es ist besser, die Passwortstärke zu unterschätzen (und computergenerierte oder von Würfeln generierte Passwörter zu verwenden), als die Passwortstärke zu überschätzen (wie es Algorithmen zur Schätzung der Passwortstärke bei von Menschen generierten Passwörtern tun.)

Die Antwort auf Ihre Frage lautet Nein. Es gibt keine zuverlässige Möglichkeit, die Kennwortentropie zu überprüfen. Es ist tatsächlich mathematisch unmöglich.

+1, aber ich glaube, dein "H (X)" sollte "log_2 (n)" sein, nicht "log_2 (1 / n)".Und ich bin mir nicht sicher, warum Sie sagen, dass andere Antworten nicht die informationstheoretische Definition der Entropie verwenden, einige von ihnen nicht, aber die meisten.
@AndrolGenhald Ich habe den H (X) -Fehler behoben.Ich habe die Minuszeichen vergessen.Andere Antworten beziehen sich direkt auf die Stärke eines Passworts, überspringen jedoch die Formeln.Vielleicht habe ich nicht genau genug gelesen.Das Überspringen der Nuance der Entropie, die basierend auf einer Wahrscheinlichkeitsverteilung definiert wird, führt zu Missverständnissen.Jemand könnte stattdessen leicht die Idee wegnehmen, dass Stärke = Länge * alphabet_size, was nur für gleichmäßige Verteilungen gilt.
Einige Vorschläge für mögliche Verbesserungen: "Und möglicherweise Passwörter sammeln."könnte klarer sein, wenn Sie Beispiele für bekannte gute und bekannte böswillige Entropieprüfer verknüpfen.Beachten Sie auch, dass ungleichmäßige (diskrete) Verteilungen in der Kennwort- oder insbesondere in der Kryptografie nicht bevorzugt werden, da einige Ausgaben häufiger sind, als die Entropie allein vermuten lässt (im Austausch für andere Ausgaben, die weniger häufig sind).Schließlich bieten die meisten Kennwortstärkeprüfer eine obere Grenze oder eine "blinde" Entropie.Gute Prüfer bieten eine kleinere Obergrenze basierend auf realistischen Szenarien.Ich halte das nicht für unaufrichtig.
Jeffrey Goldberg
2018-09-07 07:17:06 UTC
view on stackexchange narkive permalink

Es gibt zwei entscheidende Dinge, die verstanden werden müssen, auf die ich jeweils näher eingehen werde.

  1. Alles, was versucht, die Entropie eines Passworts allein anhand des Passworts zu beurteilen, wird erfasst Strohhalme. Dies liegt daran, dass die Stärke eine Funktion des Systems ist, das das Kennwort und nicht das Kennwort selbst generiert.

  2. Entropie ist kein kohärentes Konzept für die Kennwortstärke, es sei denn, das Kennwort ist das Ergebnis eines Prozesses, der Passwörter einheitlich generiert. Entropie ist eine pissarme Metrik, wenn die Verteilung möglicher Passwörter nicht einheitlich ist.

  3. ol>

    Auf das Erstellungsschema kommt es an

    Die Stärke eines Passworts ( ob in Entropie gemessen oder nicht) ist eine Funktion des Schemas, mit dem es erstellt wurde. Um mich aus etwas zu zitieren, das ich 2011 geschrieben habe

    Ich kann den Punkt nicht überbetonen, dass wir uns das System anstatt einer einzelnen Ausgabe von ansehen müssen das System. Lassen Sie mich dies anhand eines lächerlichen Beispiels veranschaulichen. Die Passwörter F9GndpVkfB44VdvwfUgTxGH7A8t und rE67AjbDCUotaju9H49sMFgYszA sehen jeweils wie extrem sichere Passwörter aus. Aufgrund ihrer Länge und der Verwendung von Groß- und Kleinbuchstaben und Ziffern würde jedes System zur Prüfung der Kennwortstärke sagen, dass es sich um extrem sichere Kennwörter handelt. Angenommen, das System, mit dem diese generiert wurden, war das folgende: Wirf eine Münze. Wenn es auftaucht, verwenden Sie F9GndpVkfB44VdvwfUgTxGH7A8t , und wenn es auftaucht, verwenden Sie rE67AjbDCUotaju9H49sMFgYszA .

    Dieses System erzeugt nur zwei Ergebnisse. Und obwohl die Passwörter stark aussehen, sind die von diesem System generierten Passwörter extrem schwach.

    Jedes Kennwortstärkemessgerät wird diese als wirklich stark melden. Um mich auch zu zitieren, wie der Stärkemesser von 1Password funktioniert (Offenlegung: Ich arbeite für 1Password), habe ich meine Antwort von 2013 mit:

    eingeführt

    Die übliche Methode, um die Stärke eines bestimmten Passworts zu bestimmen, besteht darin, ein Huhn zu opfern und dann die Eingeweide zu lesen. Aber in 1Password machen wir es besser. Wir berechnen das Horoskop des Huhns, bevor wir es opfern. Da einige unserer Mitarbeiter Vegetarier sind, suchen wir immer nach alternativen Ansätzen.

    Die traurige Tatsache ist, dass genaue Kennwortstärkemessgeräte unmöglich sind (ohne Jahre oder Jahrzehnte damit zu verbringen, das angebotene Kennwort zu knacken). Der Grund dafür ist, dass die Stärke eines Kennworts weitgehend von dem System abhängt, von dem es generiert wurde. Dies kann nicht mit Sicherheit durch Überprüfen eines einzelnen Kennworts festgestellt werden.

    Es ist daher nicht verwunderlich, dass unterschiedliche Stärkemessgeräte unterschiedliche Ergebnisse liefern. Und alle sollten mit einem großen Salzkorn eingenommen werden. Wie andere angemerkt haben, müssen die Stärkemessgeräte erraten, mit welcher Art von System Sie das Kennwort aus der einzelnen Instanz des Kennworts selbst erstellt haben. Und diese Vermutung funktioniert schwer.

    Angenommen, das von Ihnen getestete Passwort hat eine gemischte Groß- und Kleinschreibung. Jetzt werden die meisten von Menschen erstellten Passwörter zu Beginn des Blocks gelegentlich großgeschrieben. Das heißt, Menschen erstellen mit größerer Wahrscheinlichkeit ein Passwort, das wie Password1234 aussieht, als paSsword1234 ? Erklärt Ihr Kraftsystem diesen Unterschied? Oder erkennt es nur, dass es gemischte Groß- und Kleinschreibung gibt, und führt eine Berechnung durch, bei der (fälschlicherweise) davon ausgegangen wird, dass Groß- und Kleinbuchstaben im gesamten Kennwort gleich sind?

    Jetzt haben sich die Stärkemessgeräte in den letzten Jahren verbessert, aber Selbst die besten von ihnen sind tiefgreifend und grundlegend eingeschränkt, da sie versuchen, herauszufinden, mit welchem ​​System Sie das Kennwort aus dem Kennwort selbst erstellt haben.

    Entropie ist der falsche Begriff

    Entropie ist nur dann sinnvoll, wenn jedes mögliche Kennwort, das das Schema erstellen kann, gleich wahrscheinlich ist. In einem PasswordsCon-Vortrag 2013 habe ich dies anhand einiger extremer Beispiele veranschaulicht. (Zeigen Sie das PDF der Folien im Einzelseitenmodus an, um die Überlagerungen zu erhalten.)

    Stellen Sie sich ein Kennworterstellungsschema vor, bei dem 9 von 10 ein festes Kennwort auswählen, das andere jedoch 1 Mal von zehn Picks gleichmäßig aus 2 512 sup> Möglichkeiten. Die Shannon-Entropie dieses Schemas beträgt ungefähr 52 Bit (was für ein Passwort sehr respektabel ist), aber es ist eindeutig ein schreckliches Schema zur Erstellung von Passwörtern. Ich argumentierte stattdessen, dass wir bei einer ungleichmäßigen Verteilung nur die Wahrscheinlichkeit des wahrscheinlichsten Ergebnisses (Min-Entropie) als Stärkemaß für das Schema verwenden sollten.

    Obwohl dies erfunden ist Um die Sache zu verdeutlichen, ist die Tatsache, dass die Verteilung von vom Menschen gewählten Passwörtern eine fette Verteilung ist. Es spielt keine Rolle, wie viele verschiedene Passwörter generiert werden könnten, wenn viele Leute die häufigsten auswählen.

    Ich empfehle daher dringend, wenn Sie das von Ihnen verwendete Wort "Entropie" verwenden "min-Entropie", die log 2 sub> p ( x m sub> ) ist, wobei x m sub> ist das wahrscheinlichste Kennwort und p ist die Wahrscheinlichkeit des Auftretens. Beachten Sie, dass bei gleichmäßiger Wahrscheinlichkeitsverteilung die Min-Entropie und die Shannon-Entropie gleich sind. Wenn die Verteilung jedoch nicht gleichmäßig ist, können sie sehr unterschiedlich sein.

Es stimmt zwar, dass die * Entropie * eines Passworts von dem Erstellungsschema abhängt, mit dem es generiert wurde, aber ich glaube nicht, dass sich daraus die * Stärke * ergibt.Erstens muss das Erstellungsschema * bekannt * sein: `F9GndpVkfB44VdvwfUgTxGH7A8t` und` rE67AjbDCUotaju9H49sMFgYszA` sind nur schwach, wenn der Angreifer weiß, dass es ein Schema gibt, das diese beiden Zeichenfolgen auswählt.Zweitens können verschiedene Schemata dasselbe Passwort generieren: Wenn ich einen Geigerzähler verwende, um eine Folge von 8 Unicode-Codepunkten auszuwählen, wählt er möglicherweise "Passwort";Offensichtlich hat die starke Zufälligkeit nicht zu einem starken Passwort geführt.
Aus Sicherheitsgründen sollten Sie davon ausgehen, dass der Angreifer das System kennt.Und die Leute, die ernsthaft versuchen, Passwörter zu knacken, wissen mehr über die Schemata, die die Leute verwenden, als jeder andere. Also ja.Sie können sichere Kennwörter aus Schemata mit niedriger Entropie erhalten, indem Sie unbekannte Schemata verwenden (und nicht die gemeinsamen Ergebnisse aus gemeinsamen Schemata erzielen).Aber denken Sie darüber nach, was dies für Kraftmesser bedeutet.Sobald ein Schema bekannt ist, muss sich das Messgerät magisch anpassen.
Der Satz, den ich herausfordere, lautet: "Die Stärke eines Passworts ... ist eine Funktion des Schemas, mit dem es erstellt wurde."Ja, Angreifer kennen die Schemata, die im Allgemeinen zum Generieren von Kennwörtern verwendet werden, aber sie kennen in der Praxis nicht das spezifische Schema, das zum Erstellen eines bestimmten Kennworts verwendet wird.Das Messgerät muss nicht "magisch angepasst" werden, sondern muss nur auf * den Techniken basieren, die Angreifer wahrscheinlich anwenden *.Ich würde sagen, die Stärke eines Passworts hängt davon ab, wie wahrscheinlich es ist, dass ein Angreifer es errät, unabhängig davon, wie es tatsächlich erstellt wurde.


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 4.0-Lizenz, unter der er vertrieben wird.
Loading...