Es ist dumm, die meisten unabhängig voneinander auswertbaren Regeln für die Komplexität von Passwörtern zu umgehen. Mindestlänge, Fallanforderungen, Anforderungen für Nicht-Alpha-Zeichen. "Passwort1" wird, sofern Ihr Name nicht zufällig Joe Passwort ist, an den meisten Regelsystemen vorbeikommen, da es mindestens 8 Zeichen lang ist, mit einem Großbuchstaben und einer Zahl. Es ist auch das erste, was ein Crackbot versucht.
Die Grundregel für jede Anforderung an die Kennwortkomplexität lautet: Je schwieriger Sie die Verwendung Ihres Systems machen, desto weniger Benutzer verwenden es . Dies geht weit über die Regeln zur Kennwortkomplexität hinaus. Da der Anmeldebildschirm (und der Benutzerregistrierungsbildschirm, auf den Sie normalerweise von dort aus verlinken) die erste echte Interaktion des Benutzers mit Ihrem System darstellt, möchten Ihre Benutzer umso weniger, je unangenehmer es ist damit und mit dir umzugehen. Dies ist besonders wichtig, wenn Sie versuchen, Ihr System als Produkt an Benutzer zu "verkaufen", von dem sie nicht wussten, dass sie es benötigen, oder wenn es auf dem Markt viele Alternativen zu Ihnen gibt (wie ein Online-Forum). Benutzer in dieser Situation werden sehr schnell sagen "Scheiß drauf, ich bin raus", und es ist unwahrscheinlich, dass jeder sie zurückbekommt.
Natürlich folgen einige zusätzliche Regeln. Zum einen informieren Sie den Benutzer klar und einfach über die geltenden Regeln, bevor er etwas eingibt . Es ist kein Sicherheitsproblem für die Komplexitätsregeln, die Sie erzwingen, öffentlich bekannt zu sein, es sei denn, diese Regeln verringern die mögliche Entropie akzeptabler Kennwörter (welche Regeln wie eine maximale Länge können) und Ihr Benutzer wird an Ihrem System weit weniger frustriert sein als wenn er die Regeln durch Reverse Engineering lernen müsste.
Eine andere Regel ist, nicht zu stark von den Regeln abzuweichen, die Benutzer erwarten . Die meisten Benutzer sind klug genug zu verstehen, dass die minimale Komplexität zu ihrem eigenen Besten ist, und sie wissen auch, dass die Balken, die die meisten Websites und Anwendungen festlegen, eine ähnliche Höhe haben (mindestens 6-8 Zeichen, ein Großbuchstabe und eine Zahl dürfen keine enthalten von ein paar offensichtlichen Wörtern wie "Passwort"). Das Erzwingen lächerlich langer und komplizierter Passwörter, die über den implizierten Standard hinausgehen (mindestens 20 Zeichen, mindestens zwei Gruppen mit jeweils mindestens 4 Zahlen und mindestens 5 Symbolen), wird die Leute nur verärgern, selbst wenn Sie es ihnen vorher sagen.
Die letzte Meta-Regel, die ich angeben werde, lautet: Erzwinge keine Regel um ihrer selbst willen . Verwenden Sie niemals eine Regel, nur weil Sie eine andere Site oder Anwendung gesehen haben, oder sogar nur , weil dies die beste Vorgehensweise ist. Es gibt Gründe für Best Practices, aber Sie sollten diese Gründe kennen und verstehen, einschließlich der Gründe, warum sie in Ihrer Situation möglicherweise nicht zutreffen, bevor Sie eine Sicherheitsrichtlinie zusammenfügen.
Der Regelsatz, den ich normalerweise mag, lautet:
- Mindestlänge von 8 Zeichen.
- Entweder Symbole in Groß- und Kleinschreibung, Anzahl oder .
- Kann nicht nur zusammengesetzt werden eines Wörterbuchworts.
- Kann keinen Teil Ihres Namens, Benutzernamens oder Geburtsdatums enthalten (wenn ich diese Dinge weiß)
- Ein "gesperrtes Passwort" kann nicht 50 sein % oder mehr des Passworts. Zu den gesperrten Passwörtern gehören alle Passwörter, die jemals in der Top 25-Liste von SplashData aufgeführt wurden, einschließlich der meisten Größen wie "Passwort", "letmein", "12345678" usw. sowie alle Zeichenfolgen, die für die IT-Sicherheit "interessant" sind ("korrektes Pferdebatterystaple"). , "orpheanbeholderscrydoubt") und jedes zuvor verwendete und bekanntermaßen kompromittierte Passwort. Die vollständige Liste wäre relativ kurz und würde den Benutzern über einen Link aus der Liste der Regeln leicht angezeigt.