Systeme, die Kennwörter zur Authentifizierung verwenden, müssen eine Möglichkeit haben, ein eingegebenes Kennwort zu überprüfen, um Zugriff zu erhalten. Wenn die gültigen Kennwörter einfach in einer Systemdatei oder Datenbank gespeichert werden, erhält ein Angreifer, der ausreichend Zugriff auf das System erhält, alle Benutzerkennwörter, wodurch der Angreifer Zugriff auf alle Konten auf dem angegriffenen System und möglicherweise auf andere Systeme erhält, auf denen Benutzer dasselbe oder dasselbe verwenden ähnliche Passwörter. Eine Möglichkeit, dieses Risiko zu verringern, besteht darin, nur einen kryptografischen Hash jedes Kennworts anstelle des Kennworts selbst zu speichern. Standard-kryptografische Hashes wie die Secure Hash Algorithm (SHA) -Serie sind sehr schwer rückgängig zu machen, sodass ein Angreifer, der den Hash-Wert erhält, das Kennwort nicht direkt wiederherstellen kann. Durch die Kenntnis des Hash-Werts kann der Angreifer Vermutungen jedoch schnell offline testen. Es gibt weit verbreitete Programme zum Knacken von Passwörtern, mit denen eine große Anzahl von Testpasswörtern gegen einen entwendeten kryptografischen Hash getestet werden kann.
Verbesserungen in der Computertechnologie erhöhen die Rate, mit der erratene Passwörter getestet werden können. Beispielsweise hat das Georgia Tech Research Institute 2010 eine Methode entwickelt, mit der GPGPU verwendet wird, um Passwörter viel schneller zu knacken. Elcomsoft erfand im August 2007 die Verwendung gängiger Grafikkarten für eine schnellere Passwortwiederherstellung und meldete bald ein entsprechendes Patent in den USA an. Bis 2011 waren kommerzielle Produkte erhältlich, mit denen bis zu 112.000 Passwörter pro Sekunde auf einem Standard-Desktop-Computer mit einem High-End-Grafikprozessor getestet werden konnten. Ein solches Gerät wird an einem Tag ein 6-Buchstaben-Einzelfallkennwort knacken. Beachten Sie, dass die Arbeit für eine zusätzliche Beschleunigung proportional zur Anzahl der verfügbaren Computer mit vergleichbaren GPUs auf viele Computer verteilt werden kann. Es sind spezielle Stretching-Hashes für Schlüssel verfügbar, deren Berechnung relativ lange dauert, wodurch die Rate verringert wird, mit der erraten werden kann. Obwohl es als bewährte Methode angesehen wird, die Schlüsselverlängerung zu verwenden, ist dies bei vielen gängigen Systemen nicht der Fall.
Eine andere Situation, in der ein schnelles Erraten möglich ist, besteht darin, dass das Kennwort zur Bildung eines kryptografischen Schlüssels verwendet wird. In solchen Fällen kann ein Angreifer schnell überprüfen, ob ein erratenes Kennwort verschlüsselte Daten erfolgreich entschlüsselt. Beispielsweise behauptet ein kommerzielles Produkt, 103.000 WPA-PSK-Kennwörter pro Sekunde zu testen.
Wenn ein Kennwortsystem nur den Hash des Kennworts speichert, kann ein Angreifer Hashwerte für allgemeine Kennwortvarianten und für alle vorberechnen Passwörter, die kürzer als eine bestimmte Länge sind, ermöglichen eine sehr schnelle Wiederherstellung des Passworts, sobald sein Hash erhalten wurde. Sehr lange Listen vorberechneter Passwort-Hashes können mithilfe von Regenbogentabellen effizient gespeichert werden. Diese Angriffsmethode kann vereitelt werden, indem ein zufälliger Wert, der als kryptografisches Salz bezeichnet wird, zusammen mit dem Hash gespeichert wird. Das Salt wird bei der Berechnung des Hashs mit dem Kennwort kombiniert, sodass ein Angreifer, der eine Regenbogentabelle vorberechnet, für jedes Kennwort seinen Hash mit jedem möglichen Salt-Wert speichern muss. Dies wird unmöglich, wenn das Salz eine ausreichend große Reichweite hat, beispielsweise eine 32-Bit-Zahl. Leider verwenden viele häufig verwendete Authentifizierungssysteme keine Salze, und für mehrere solcher Systeme sind im Internet Regenbogentabellen verfügbar.
Entropie als Maß für die KennwortstärkeEdit
Dies ist in üblich die Computerindustrie, um die Passwortstärke in Bezug auf die Informationsentropie anzugeben, die in Bits gemessen wird und ein Konzept aus der Informationstheorie ist. Anstelle der Anzahl der Vermutungen, die erforderlich sind, um das Kennwort mit Sicherheit zu finden, wird der Basis-2-Logarithmus dieser Anzahl angegeben, der üblicherweise als Anzahl der „Entropiebits“ in einem Kennwort bezeichnet wird, obwohl dies nicht genau die gleiche Menge ist als Informationsentropie. Ein Passwort mit einer Entropie von 42 Bit, das auf diese Weise berechnet wird, ist so stark wie eine Zeichenfolge von 42 Bit, die zufällig ausgewählt wird, beispielsweise durch einen fairen Münzwurf. Anders ausgedrückt, ein Passwort mit einer Entropie von 42 Bit würde 242 (4.398.046.511.104) Versuche erfordern, alle Möglichkeiten während einer Brute-Force-Suche auszuschöpfen. Durch Erhöhen der Entropie des Passworts um ein Bit verdoppelt sich die Anzahl der erforderlichen Vermutungen, was die Aufgabe eines Angreifers doppelt so schwierig macht. Im Durchschnitt muss ein Angreifer die Hälfte der möglichen Anzahl von Passwörtern versuchen, bevor er das richtige findet.
Zufällige PasswörterBearbeiten
Zufällige Passwörter bestehen aus einer Folge von Symbolen bestimmter Länge, die aus einer Reihe von Symbolen unter Verwendung einer zufälligen Auswahl entnommen wurden Prozess, bei dem jedes Symbol gleich wahrscheinlich ausgewählt wird. Die Symbole können einzelne Zeichen aus einem Zeichensatz (z. B. der ASCII-Zeichensatz), Silben zur Bildung aussprechbarer Kennwörter oder sogar Wörter aus einer Wortliste (wodurch eine Passphrase gebildet wird) sein ).
Die Stärke zufälliger Passwörter hängt von der tatsächlichen Entropie des zugrunde liegenden Zahlengenerators ab. Diese sind jedoch häufig nicht wirklich zufällig, sondern pseudozufällig.Viele öffentlich verfügbare Passwortgeneratoren verwenden Zufallszahlengeneratoren in Programmierbibliotheken mit begrenzter Entropie. Die meisten modernen Betriebssysteme bieten jedoch kryptografisch starke Zufallszahlengeneratoren, die für die Kennwortgenerierung geeignet sind. Es ist auch möglich, gewöhnliche Würfel zu verwenden, um zufällige Passwörter zu generieren. Siehe stärkere Methoden. Zufällige Kennwortprogramme können häufig sicherstellen, dass das resultierende Kennwort einer lokalen Kennwortrichtlinie entspricht. Zum Beispiel, indem immer eine Mischung aus Buchstaben, Zahlen und Sonderzeichen erzeugt wird.
Für Passwörter, die durch einen Prozess erzeugt werden, der zufällig eine Folge von Symbolen der Länge L aus einer Menge von N möglichen Symbolen auswählt, die Die Anzahl der möglichen Passwörter kann gefunden werden, indem die Anzahl der Symbole auf die Potenz L, dh NL, erhöht wird. Durch Erhöhen von L oder N wird das generierte Passwort gestärkt. Die Stärke eines zufälligen Passworts, gemessen anhand der Informationsentropie, ist nur der Logarithmus zur Basis 2 oder log2 der Anzahl möglicher Passwörter, vorausgesetzt, jedes Symbol im Passwort wird unabhängig erzeugt. Somit ist die Informationsentropie H eines zufälligen Passworts durch die Formel gegeben:
H = log 2 NL = L log 2 N = L. log N log 2 {\ Anzeigestil H = \ log _ {2} N ^ {L} = L \ log _ {2} N = L {\ log N \ über \ log 2}}
wobei N die Anzahl der möglichen Symbole und L die Anzahl der Symbole im Kennwort ist. H wird in Bits gemessen. Im letzten Ausdruck kann sich log auf eine beliebige Basis beziehen.
Symbolsatz | Symbol Anzahl N | Entropie pro Symbol H |
---|---|---|
Arabische Ziffern (0–9) (z. B. PIN) | 10 | 3,322 Bit |
Hexadezimalzahlen (0–9, A – F) (z. B. WEP-Schlüssel) | 16 | 4.000 Bit |
Groß- und Kleinschreibung ohne Berücksichtigung des lateinischen Alphabets (a – z oder A – Z) | 26 | 4.700 Bit |
Groß- und Kleinschreibung wird nicht berücksichtigt (a – z oder A – Z, 0–9). | 36 | 5,170 Bit |
Groß- und Kleinschreibung beachten lateinisches Alphabet (a – z, A – Z) | 52 | 5.700 Bit |
Groß- / Kleinschreibung sensible alphanumerische Zeichen (a – z, A – Z, 0–9) | 62 | 5,954 Bit |
Alle druckbaren ASCII-Zeichen außer Leerzeichen | 94 | 6,555 Bits |
Alle Latin-1-Ergänzungszeichen | 94 | 6,555 Bit |
Alle druckbaren ASCII-Zeichen | 95 | 6,570 Bit |
Alle erweiterten druckbaren ASCII-Zeichen | 218 | 7,768 Bit |
Binär (0–255 oder 8 Bit oder 1 Byte) | 256 | 8.000 Bit |
Diceware-Wortliste | 7776 | 12,925 Bits pro Wort |
Ein binäres Byte wird normalerweise mit zwei Hexadezimalzahlen ausgedrückt Zeichen.
Um die Länge L zu ermitteln, die erforderlich ist, um eine gewünschte Stärke H zu erreichen, berechnet man mit einem zufällig aus einem Satz von N Symbolen gezogenen Passwort:
L = H log 2 N {\ Anzeigestil L = {H \ über \ log _ {2} N}}
gerundet bis zur nächstgrößeren ganzen Zahl.
In der folgenden Tabelle werden anhand dieser Formel die erforderlichen Längen wirklich zufällig generierter Kennwörter angezeigt, um die gewünschten Kennwortentropien für allgemeine Symbolsätze zu erzielen:
Gewünschtes Passwort Entropie H |
Arabische Ziffern |
Hexadezimal | Groß- / Kleinschreibung unempfindlich | Groß- / Kleinschreibung beachten | Alle ASCII | Alle erweiterten ASCII |
Diceware Wortliste |
||
---|---|---|---|---|---|---|---|---|---|
lateinisches Alphabet |
alphanumerisches | lateinisches Alphabet |
alphanumerische | druckbare Zeichen | |||||
8 Bits (1 Byte) | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 Wort |
32 Bits (4 Bytes) | 10 | 8 | 7 | 7 | 6 | 6 | 5 | 5 | 3 Wörter |
40 Bits (5 Bytes) ) | 13 | 10 | 9 | 8 | 8 | 7 | 7 | 6 | 4 Wörter |
64 Bit (8 Byte) | 20 | 16 | 14 | 13 | 12 | 11 | 10 | 9 | 5 Wörter |
80 Bits (10 Bytes) | 25 | 20 | 18 | 16 | 15 | 14 | 13 | 11 | 7 Wörter |
96 Bit (12 Bytes) | 29 | 24 | 21 | 19 | 17 | 17 | 15 | 13 | 8 Wörter |
128 Bit (16 Byte) | 39 | 32 | 28 | 25 | 23 | 22 | 20 | 17 | 10 Wörter |
160 Bit (20 Byte) | 49 | 40 | 35 | 31 | 29 | 27 | 25 | 21 | 13 Wörter |
192 Bits (24 Bytes) | 58 | 48 | 41 | 38 | 34 | 33 | 30 | 25 | 15 Wörter |
224 Bits (28 Bytes) | 68 | 56 | 48 | 44 | 40 | 38 | 35 | 29 | 18 Wörter |
256 Bit (32 Byte) | 78 | 64 | 55 | 50 | 45 | 43 | 39 | 33 | 20 Wörter |
Vom Menschen generierte PasswörterEdit
Menschen sind notorisch schlecht darin, dies zu erreichen ausreichende Entropie, um zufriedenstellende Passwörter zu erzeugen. Einer Studie mit einer halben Million Benutzern zufolge wurde die durchschnittliche Kennwortentropie auf 40,54 Bit geschätzt. Einige Bühnenmagier nutzen diese Unfähigkeit zur Unterhaltung in geringem Maße aus, indem sie vermeintliche zufällige Entscheidungen (z. B. von Zahlen) der Zuschauer erraten.
In einer Analyse von über 3 Millionen Passwörtern mit acht Zeichen wurde der Buchstabe „e“ über 1,5 Millionen Mal verwendet, während der Buchstabe „f“ nur 250.000 Mal verwendet wurde. Bei einer gleichmäßigen Verteilung wäre jedes Zeichen etwa 900.000 Mal verwendet worden. Die am häufigsten verwendete Zahl ist „1“, während die am häufigsten verwendeten Buchstaben a, e, o und r sind.
Benutzer verwenden größere Zeichensätze bei der Bildung von Kennwörtern selten vollständig. Beispielsweise ergaben Hacking-Ergebnisse aus einem MySpace-Phishing-Schema im Jahr 2006 34.000 Kennwörter, von denen nur 8,3% Groß- und Kleinschreibung, Zahlen und Symbole verwendeten.
Die volle Stärke der Verwendung des gesamten ASCII-Zeichensatzes ( Ziffern, Großbuchstaben und Sonderzeichen) wird nur erreicht, wenn jedes mögliche Passwort gleich wahrscheinlich ist. Dies scheint darauf hinzudeuten, dass alle Passwörter Zeichen aus mehreren Zeichenklassen enthalten müssen, möglicherweise Groß- und Kleinbuchstaben, Zahlen und nicht alphanumerische Zeichen. Tatsächlich ist eine solche Anforderung ein Muster bei der Passwortauswahl und es ist zu erwarten, dass sie den „Arbeitsfaktor“ eines Angreifers verringert (in Claude Shannons Worten). Dies ist eine Verringerung der „Stärke“ des Passworts. Eine bessere Anforderung wäre, ein Passwort zu verlangen, das KEIN Wort in einem Online-Wörterbuch oder einer Liste von Namen oder ein Kennzeichenmuster aus einem Staat (in den USA) oder einem Land (wie in der EU) enthält. Wenn gemusterte Auswahlmöglichkeiten erforderlich sind, werden sie vom Menschen wahrscheinlich auf vorhersehbare Weise verwendet, z. B. durch Großschreibung eines Buchstabens, Hinzufügen von ein oder zwei Zahlen und eines Sonderzeichens. Diese Vorhersagbarkeit bedeutet, dass die Erhöhung der Kennwortstärke im Vergleich zu zufälligen Kennwörtern gering ist.
NIST-Sonderpublikation 800-63-2Edit
Die NIST-Sonderpublikation 800-63 vom Juni 2004 (Revision 2) schlug ein Schema zur Annäherung der Entropie von vom Menschen generierten Passwörtern vor:
Bei Verwendung dieses Schemas wird geschätzt, dass ein vom Menschen ausgewähltes Kennwort mit acht Zeichen ohne Großbuchstaben und nicht alphabetische Zeichen ODER mit einem der beiden Zeichensätze, jedoch mit einem der beiden Zeichensätze, 18 Entropiebits aufweist. Die NIST-Veröffentlichung räumt ein, dass zum Zeitpunkt der Entwicklung nur wenige Informationen über die Auswahl von Passwörtern in der realen Welt verfügbar waren. Spätere Untersuchungen zur Entropie von vom Menschen ausgewählten Passwörtern unter Verwendung neu verfügbarer Daten aus der realen Welt haben gezeigt, dass das NIST-Schema keine gültige Metrik für die Entropieschätzung von vom Menschen ausgewählten Passwörtern liefert. Mit der Revision von SP 800-63 (Revision 3) vom Juni 2017 wird dieser Ansatz aufgehoben.
Überlegungen zur Benutzerfreundlichkeit und ImplementierungEdit
Da die nationalen Tastaturimplementierungen variieren, können nicht alle 94 druckbaren ASCII-Zeichen verwendet werden überall. Dies kann ein Problem für einen internationalen Reisenden darstellen, der sich über eine Tastatur auf einem lokalen Computer beim Remote-System anmelden möchte. Siehe Tastaturlayout. Viele Handheld-Geräte wie Tablet-Computer und Smartphones erfordern komplexe Umschaltsequenzen oder das Austauschen von Tastatur-Apps, um Sonderzeichen einzugeben.
Authentifizierungsprogramme unterscheiden sich darin, welche Zeichen sie in Kennwörtern zulassen. Einige erkennen keine Fallunterschiede (z. B. wird das Großbuchstaben „E“ als dem Kleinbuchstaben „e“ äquivalent angesehen), andere verbieten einige der anderen Symbole. In den letzten Jahrzehnten haben Systeme mehr Zeichen in Kennwörtern zugelassen, es bestehen jedoch weiterhin Einschränkungen. Systeme unterscheiden sich auch in der maximal zulässigen Länge von Kennwörtern.
In der Praxis müssen Kennwörter für den Endbenutzer sowohl angemessen und funktional als auch für den beabsichtigten Zweck stark genug sein. Zu schwer zu merkende Passwörter werden möglicherweise vergessen und werden daher eher auf Papier geschrieben, was einige als Sicherheitsrisiko betrachten. Im Gegensatz dazu argumentieren andere, dass das Erzwingen des Speicherns von Passwörtern ohne Unterstützung nur schwache Passwörter aufnehmen kann und somit ein größeres Sicherheitsrisiko darstellt. Laut Bruce Schneier sind die meisten Menschen gut darin, ihre Brieftaschen oder Geldbörsen zu sichern. Dies ist ein „großartiger Ort“, um ein schriftliches Passwort aufzubewahren.