[Offenlegung: Ich arbeite für AgileBits, die Hersteller von 1Password]
Einer der Gründe, warum ich mich in Toward Better Master für ein XKCD-ähnliches Schema ausgesprochen habe (bevor es so genannt wurde) Passwörter im Jahr 2011 sind genau deshalb so wichtig, weil der Angreifer nicht weiß, welches Schema Sie verwendet haben. Wenn ich mich selbst zitieren darf
Das Tolle an Diceware ist, dass wir genau wissen, wie sicher es ist, selbst wenn der Angreifer das verwendete System kennt. Die Sicherheit ergibt sich aus der echten Zufälligkeit des Würfelns. Die Verwendung von vier oder fünf Wörtern sollte gegen die plausiblen Angriffe in den nächsten Jahren ausreichen angesichts der beobachteten Geschwindigkeit von Passwort-Crackern [gegen 1Password-Master-Passwort]
Was die XKCD Comic kommuniziert nicht effektiv ist, dass die Auswahl der Wörter (einheitlich) zufällig sein muss . Wenn Sie Menschen bitten, Wörter nach dem Zufallsprinzip auszuwählen, erhalten Sie eine starke Neigung zu konkreten Substantiven. Solche Vorurteile können und werden ausgenutzt werden.
Wie viel Kraft Sie wollen
In einer perfekten Welt möchten wir, dass die Stärke unseres Passworts so stark ist wie die Schlüssel, mit denen wir schützen es. Sagen wir 128 Bit. Aber trotz dieser Techniken werden die Menschen das nicht erreichen. Schauen wir uns also realistisch die Angriffe an und was unsere kleinen Köpfe tun können.
Mit der ursprünglichen Diceware-Wortliste mit 7776 Einträgen erhalten Sie ungefähr 12,9 Bit pro verwendetem Wort. Wenn Sie also mindestens 64 Bit für Ihr Passwort benötigen, reichen fünf Wörter aus.
Das Erraten von Passwörtern ist langsamer als das Erraten von Schlüsseln
In diesem Abschnitt komme ich zu einem sehr groben Hintergrund der Umschlagschätzung, dass es für einen konstanten Betrag von Dollar 2 ^ 13-mal langsamer ist, ein Passwort zu testen, als einen AES-Schlüssel zu testen.
Beachten Sie, dass das Testen eines Kennworts viel langsamer ist als das Testen eines Schlüssels. Wenn die richtigen Arten von Passwort-Hashing-Schemata verwendet werden, ist es möglich, die meisten Angreifer auf unter 100000 Vermutungen pro Sekunde zu beschränken. Während wir vielleicht niemals 50-Bit-Schlüssel verwenden möchten, ist die Verwendung von 50-Bit-Passwörtern möglicherweise dennoch sinnvoll.
Wenn wir uns nicht darauf beschränken, wie in Arnold Reinholds Original-Diceware-Schema zu würfeln ab 1995 können wir dann eine längere Liste von Wörtern verwenden. Der Generator für starke Passwörter in 1Password für Windows verwendet eine Liste von 17679 englischen Wörtern mit 4 bis einschließlich 8 Buchstaben (ohne Tabuwörter und Wörter mit Apostroph oder Bindestrichen). Dies ergibt ungefähr 14 Bits pro Wort. Vier davon ergeben 56 Bits, fünf 70.
Auch hier müssen Sie auf die Crack-Geschwindigkeit achten. Deep Crack konnte 1997 92 Milliarden DES-Tests pro Sekunde durchführen. Unter der Annahme, dass ein spezialisierter High-End-PC eine Million Vermutungen pro Sekunde gegen ein einigermaßen gut gehashtes Passwort durchführen kann, könnte dies eine Million Vermutungen pro Sekunde ermöglichen, dann sind Passwörter heute etwa 16 Bit schwerer zu knacken als DES-Schlüssel im Jahr 1997.
Schauen wir uns also diese Stack Exchange-Schätzung für einen Dual-Core-3,8-GHz-Prozessor an: 670 Millionen Schlüssel pro Sekunde. Wenn wir von Hardware im Wert von 5000 US-Dollar ausgehen, können wir leicht 10 Milliarden Schlüssel pro Sekunde überschreiten. Bei ähnlichen Hardwarekosten ist das Knacken von Schlüsseln immer noch mehr als 2 ^ 13-mal schneller als das Knacken von Passwörtern.
Überarbeitete Ziele für die Passwortstärke
Wenn ich davon ausgehe, dass das Testen eines gut gehashten Passworts 2 ^ 13-mal teurer ist als das Testen eines AES-Schlüssels, sollten wir ein einigermaßen gut gehashtes Passwort als 13 Bit stärker betrachten als seine tatsächliche Entropie mit in Bezug auf Rissbildung. Wenn wir 90 Bit "effektive Stärke" erreichen wollen, sollten 77 Bit Passwortstärke dies tun. Dies wird mit einem Diceware-Passwort mit sechs Wörtern (77,5 Bit) aus der ursprünglichen Liste und 84,6 Bit mit sechs Wörtern aus einer Liste von 17679 Wörtern erreicht.
Ich erwarte nicht, dass die meisten Leute solche Passwörter verwenden lange. Ich gehe davon aus, dass die Leute Dinge verwenden, die 4 oder 5 Wörter lang sind. Wenn Sie sich jedoch ernsthafte Sorgen darüber machen, dass die NSA Ihren Passwörtern nachgeht, sollten sechs Wörter ausreichen, vorausgesetzt, Sie verwenden ein anständiges Passwort-Hashing-Schema.
Nur sehr grobe Schätzungen
Ich habe es nicht getan Ich verbringe nicht viel Zeit damit, Kosten und Benchmarks zu recherchieren. In meinen Schätzungen gibt es viele Dinge, mit denen ich mich streiten muss. Ich habe versucht, konservativ zu sein (pessimistisch in Bezug auf das von mir befürwortete Schema). Ich war auch vage über "gut gehashte Passwörter". Auch hier bin ich sehr konservativ in Bezug auf das Passwort-Hashing in 1Password. (Für unser neues Datenformat wurden Angreifer auf unter 20.000 Vermutungen pro Sekunde beschränkt, und für unser älteres Datenformat haben sie 300.000 Vermutungen pro Sekunde für Multi-GPU-Maschinen erreicht. Nach meinen Schätzungen habe ich hier 1 Million Vermutungen pro Sekunde ausgewählt zweite für ein "einigermaßen gut gehashtes Passwort".)
Noch ein paar historische Hinweise
Die Gesamtidee für "XKCD-ähnliche" Passwörter reicht mindestens so weit zurück wie das S / Key Einmalpasswörter aus den frühen 1980er Jahren. Diese verwendeten eine Liste von 2048 Wörtern mit einem bis vier Buchstaben. Mit einem S / Key-Passwort mit sechs Wörtern erhalten Sie 66 Bit. Ich weiß nicht, ob diese Idee, zufällig ausgewählte Wörter aus einer Liste für eine Passphrase zu verwenden, älter ist als S / Key.
1995 schlug Arnold Reinhold Diceware vor. Ich weiß nicht, ob er damals von S / Key wusste. Diceware wurde im Zusammenhang mit der Entwicklung von Passphrasen für PGP vorgeschlagen. Es war auch, bevor die meisten Computer kryptografisch geeignete Zufallszahlengeneratoren hatten. Es geht also tatsächlich darum, Würfel zu würfeln. (Obwohl ich den CSPRNGs auf den von mir verwendeten Computern vertraue, genieße ich es immer noch, "ein neues Passwort aufzurollen".)
Im Juni 2011 habe ich das Interesse an Diceware in Toward Better Master Passwords mit einigen zusätzlichen Änderungen. Dies führte zu meinen 15 Minuten Ruhm. Nachdem der XKCD-Comic herauskam, produzierte ich eine Geek-Edition, die einen Teil der Mathematik durchlief.
Im Juli 2011 hatte Randall Monroe Diceware-ähnliche Schemata aufgegriffen und veröffentlicht sein jetzt berühmter Comic. Da ich nicht der Erfinder der Idee bin, macht es mir nichts aus, vom Comic inszeniert zu werden. In der Tat, wie ich in meinem Folgeartikel
sagte, was mich fast 2000 Wörter gekostet hat, um nicht technisch zu sagen, konnte Randall Monroe zusammenfassen ein Comic. Dies zeigt nur die Kraft der Mathematik ...
Aber es gibt eine Sache an der Interpretation des Comics, die mich beunruhigt. Mir und Leuten, die das Schema bereits verstanden haben, ist klar, dass die Wörter durch einen zuverlässig einheitlichen Zufallsprozess ausgewählt werden müssen. Das Auswählen von Wörtern "zufällig" aus Ihrem Kopf ist kein verlässlich einheitlicher Prozess .