Ich bin der Autor der Website http://passwordcreator.org, die zufällige Passwörter generiert . Folgendes habe ich beim Erstellen dieser Website über das Erstellen sicherer zufälliger Kennwörter gelernt:
Zufällige Quelle
Die meisten Zufallszahlengeneratoren auf Computern sind pseudozufällig. Sie basieren auf Algorithmen und sind nicht zum Generieren von Passwörtern geeignet. Sie werden in der Regel mit der aktuellen Zeit ausgesät. Wenn diese eine Information bekannt ist (oder erraten werden kann), ist es möglich, ihre Ausgabe zu reproduzieren und die Passwörter anzuzeigen, die generiert worden wären.
Um ein Passwort zu generieren, sollte ein kryptografisch sicherer Pseudozufallszahlengenerator (CPRNG) verwendet werden. Nach Wikipedia lauten die beiden Anforderungen für diese Art von Zufallszahlengenerator:
- Angesichts der ersten k Bits einer Zufallssequenz gibt es keinen Polynom-Zeit-Algorithmus, der das (k + 1) -te Bit mit einer Erfolgswahrscheinlichkeit von besser als 50% vorhersagen kann.
- Für den Fall, dass ein Teil oder der gesamte Zustand enthüllt (oder richtig erraten) wurde, sollte es unmöglich sein, den Strom von Zufallszahlen vor der Enthüllung zu rekonstruieren. Wenn während der Ausführung eine Entropieeingabe erfolgt, sollte es außerdem unmöglich sein, die Kenntnis des Zustands der Eingabe zu verwenden, um zukünftige Bedingungen des CSPRNG-Zustands vorherzusagen.
Moderne Webbrowser (mit Ausnahme von Internet Explorer) verfügen jetzt über eine Krypto-API für JavaScript, die über einen kryptografisch sicheren Zufallszahlengenerator verfügt . Dies macht es für Websites wie meine einfach, Passwörter zu generieren, die eindeutig und nicht zu erraten sind, wenn man weiß, wann und wo sie generiert wurden.
Passwortlänge
Ein häufiger Angriff auf Kennwörter besteht darin, dass der Angreifer Zugriff auf die Datenbank erhält, in der die verschlüsselten (gehashten) Kennwörter gespeichert sind. Der Angreifer kann dann Vermutungen generieren, die Vermutungen mit demselben Hashing-Algorithmus hashen und prüfen, ob sie übereinstimmen. Hier ist ein Artikel, der zeigt, wie viele Passwörter für einen solchen Angriff anfällig sind. Computer sind jetzt so leistungsfähig, dass Angreifer bekanntermaßen 100 Milliarden Passwörter pro Sekunde versuchen. Geheime Computer von Militär- und Spionageagenturen können möglicherweise Größenordnungen mehr leisten.
Aus praktischer Sicht bedeutet dies, dass ein Passwort aus einem Pool von Billionen von Möglichkeiten ausgewählt werden muss. Die 96 Zeichen, die auf einer Tastatur eingegeben werden können, können nur mit einem achtstelligen Passwort Billiarden von Möglichkeiten generieren. Um sicher zu gehen, müssen Passwörter heute länger sein als jemals zuvor. Computer werden in Zukunft leistungsfähiger, und Sie möchten möglicherweise Kennwörter auswählen, die noch länger sind als das, was Sie heute benötigen, um sich sicher zu fühlen, damit sie auch in Zukunft nicht einfach geknackt werden können. Ich würde mindestens eine Länge von 10 für zufällige Passwörter empfehlen, die auf 96 möglichen Zeichen basieren, aber die Verwendung einer Länge von 12 oder 14 wäre für die zukünftige Sicherheit viel besser.