So bestimmen Sie die Entropie eines Passworts

So bestimmen Sie die Entropie eines Passworts

Wie kann ich feststellen, ob die Entropie eines Passworts hoch genug ist, um Brute-Force-Angriffe in einem realistischen Zeitrahmen zu verhindern? Wenn ich beispielsweise das folgende Passwort habe, wie kann ich feststellen, ob es stark genug ist, um Brute-Force-Angriffe zu verhindern?

"?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245

Antwort1

Es gibteine Site, die Ihnen eine geschätzte Entropiezahl für eine Passworteingabe geben kann. Für das obige Beispiel werden ~247 Bits vorgeschlagen.

Tool zur Passwortstärke


Sie können eine sehr grobe Schätzung erhalten, wie lange es dauern wird, bis es knacktWie sicher ist mein Passwort?.

Es lässt darauf schließen, dass ein Computer 15 Dezillionen Jahre brauchen würde, um das Passwort in Ihrem Beispiel zu knacken.

Wie sicher ist mein Passwort


Eine detailliertere Analyse des Passworts finden Sie unterDer Passwort-Meter.

Antwort2

Ihre Frage: „Ist es stark genug, um rohe Gewalt zu verhindern?“

Die wahre Antwort - "nein"

Die nützliche Antwort: „Wahrscheinlich, zumindest in absehbarer Zukunft“


Was Sie fragen sollten:

Ich muss diese Art von Daten schützen, die die Anforderungen x und y sowie die Sensibilität z für mein Unternehmen erfüllen. Ist das ein geeignetes Entropieniveau?

Okay, um fair zu sein, 210 Bits, wie @Gareth anmerkte, werden wahrscheinlich für eine lange Zeit in Ordnung sein, aber das könnte übertrieben sein, und es gibtgute Gründe, es nicht zu übertreibenzur Verschlüsselung, wenn Sie es nicht brauchen.

Antwort3

Von demDropbox-Tech-Blog,das ist der beste Artikeldie ich kürzlich gesehen habe, und zeigt sogar eine Implementierung der darin diskutierten Theorien. Bitte lassen Sie mich wissen, ob dies in irgendeiner Weise hilfreich ist.

Ein weiterer Punkt, den man in Bezug auf Sicherheit im Auge behalten sollte, ist die in diesem Artikel zum Ausdruck gebrachte IdeeXKCD-Comic.

Antwort4

Es hängt davon ab, wie zufällig Ihr Passwort ist.

Wenn Sie ein Passwort aus der folgenden Liste wählen:

  • "?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245
  • aSBsb3ZlIHlvdSBLaXJzdGVuIFNoZWxieSBHdXllcg==

Dann haben Sie genau 1 bit100 000 Entropie (es ist entweder das erste oder das zweite Passwort).

Dann liest man dieXKCD-ComicDasDave verlinkt.


Aber ich kann einige Annahmen zu Ihrem Passwort treffen:

"?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245  (40 characters)

Es sieht so aus, als ob Sie ein Alphabet aus folgenden Bestandteilen verwenden:

  • Großbuchstaben A-Z(26 Glyphen)
  • Kleinbuchstaben a-z(26 Glyphen)
  • lateinische Ziffern 0-9(10 Glyphen)
  • eingeschränkter Satz von Satzzeichen (bei 30 Zeichen auf einer Tastatur mit 101 Tasten)

Das ergibt ein Alphabet mit 92 Zeichen.

Weitervorausgesetztdass alle Ihre Passwörter 40 Zeichen lang sind, erhalten Sie:

92^40 = 3.56+E78

oder3,5 Quinvigintillionenmögliche Passwörter.

Um das in Folgendes umzuwandeln, bitsgehen Sie wie folgt vor:

ln(92^40) / ln(2) = 260.94 bits

Dies setzt voraus, dass Ihr Angreifer das Kennwort mit roher Gewalt erraten müsste.


Wenn wir nur Informationen wollen, ist die Anzahl der Bits tatsächlich viel geringer, weil Sie tatsächlich ein viel kürzeres Alphabet verwendet haben:

  original: "?e&ye&ga!ruaa!na!e%ta!e%rc#Iod$woH"2245
rearranged: aaaaacdeeeegnoorrtuwyHI2245""?&&!!!!%%#$
  alphabet: acdegnortuwyHI245"?&!%#$   (24 characters)

Durchführen der gleichen Berechnung:

ln(24^40) / ln(2) = 183.4 bits

Realistisch gesehen sind dort weniger Informationen enthalten, da ich sehe, dass jedes Mal, wenn Sie ein eingeben, eein Symbol folgt:

  • e&
  • e&
  • e%
  • e%

Also ersetzen wir e&durch das Symbol hund e%durch das Symbol i:

  original: "?hyhga!ruaa!na!ita!irc#Iod$woH"2245  (36 characters)
rearranged: aaaaacdghhiinoorrtuwyIH2245""?!!!!#$
  alphabet: acdghinortuwyIH2245"?!#$   (24 characters)

Damit reduziert sich der Informationsgehalt auf:

ln(24^36) / ln(2) = 165 bits

Und mir ist aufgefallen, dass jedem !ein Buchstabe vorangeht aund ihm ein Buchstabe folgt:

  • a!r
  • a!n
  • a!e

Ersetzen a!durch k:

  original: "?hyhgkruaknkitkirc#Iod$woH"2245  (32 characters)
  alphabet: acdghiknortuwyIH2245"?#$   (24 characters)

Reduzierung der Bits auf ln(24^32)/ln(2) = 146.7.

Das reduziert nur die für die Kodierung benötigten Bits, da wir herausfinden,Informationsgehaltder Nachricht.

Einem Angreifer helfen diese Tricks nicht weiter, da er grundsätzlich nicht davon ausgehen kann, dass alle Passwörter diese bekannten Sequenzen aufweisen.

Es gibt jedoch einige Heuristiken, die in einen Schlüsselsuchalgorithmus programmiert werden können. Leute, die versuchen, zufällig zu tippen, tippen oft die gleichen Dinge ein. Zum Beispiel kommt es bei mir oft zu einer Kollision, wenn ich zufällig tippe:

adfadsfadsf

zusammen mit 18.400 anderen Google-Ergebnissen.


Mein sicherstes Passwort hat 57 Zeichen und besteht aus 27 Buchstaben des Alphabets ( a-z, ), die bei ( ) auftauchen .266 bitsln(27^56) / ln(2) = 266.27

Andererseits ist eselfWörter. Es gibt ungefähr 2^11gebräuchliche Wörter in der englischen Sprache. Das ergibt:

(2^11)^11 = 2.66E36 passphrases => ln((2^11)^11)/ln(2) = 121 bits

Weit weniger als die 266 Bit, die man bei einem zufälligen 57-stelligen Passwort naiv annehmen würde.

ich könnte hinzufügenein bisschenwenn ich wählen müsste zwischen:

  • Leerzeichen zwischen den Wörtern
  • keineLeerzeichenzwischendenWörtern

verwandte Informationen