
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.
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.
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 bit
100 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, bits
gehen 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, e
ein Symbol folgt:
e&
e&
e%
e%
Also ersetzen wir e&
durch das Symbol h
und 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 a
und 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 bits
ln(27^56) / ln(2) = 266.27
Andererseits ist eselfWörter. Es gibt ungefähr 2^11
gebrä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