Zunächst möchte ich darauf hinweisen, dass Details wie Mindestlänge, Groß- und Kleinschreibung und erforderliche Sonderzeichen davon abhängen sollten, wer Zugang hat und was das Kennwort ihm erlaubt. Wenn es sich um einen Code für den Start einer Atomrakete handelt, sollte es strenger sein als ein Passwort, mit dem man sich in die kostenpflichtige Online-Version von Angry Birds einloggen kann.
Aber ich habe ein BESONDERES Problem mit der Groß- und Kleinschreibung.
Zunächst einmal hassen es die Nutzer. Das menschliche Gehirn denkt "A=a". Natürlich sind die Gehirne von Entwicklern normalerweise nicht typisch ;-) Aber auch für Entwickler ist die Groß- und Kleinschreibung lästig.
Zweitens lässt sich die Feststelltaste zu leicht versehentlich drücken. Sie befindet sich genau zwischen der Tabulatortaste und der Umschalttaste, sollte aber oberhalb der Esc-Taste liegen. Ihre Position wurde vor langer Zeit festgelegt, als es noch Schreibmaschinen gab, die keine alternative Schriftart zur Verfügung hatten. Damals war es nützlich, sie dort zu haben.
Alle Kennwörter bergen Risiken... Sie wägen das Risiko gegen die Benutzerfreundlichkeit ab, und ja, Benutzerfreundlichkeit ist wichtig.
MEIN ARGUMENT: Ja, die Groß- und Kleinschreibung ist bei einer bestimmten Passwortlänge sicherer. Aber wenn mich niemand zwingt, etwas anderes zu tun, entscheide ich mich für eine längere Mindestlänge des Passworts. Selbst wenn wir davon ausgehen, dass nur Buchstaben und Ziffern zulässig sind, vervielfacht jedes zusätzliche Zeichen die Anzahl der möglichen Passwörter um 36.
Jemand, der nicht so rechenfaul ist wie ich, könnte Ihnen den Unterschied in der Anzahl der Kombinationen zwischen einem Passwort mit mindestens 8 Zeichen und Groß-/Kleinschreibung und einem Passwort mit 12 Zeichen und ohne Groß-/Kleinschreibung nennen. Ich denke, die meisten Benutzer würden Letzteres bevorzugen.
Außerdem geben nicht alle Anwendungen Benutzernamen für andere frei, so dass der Hacker möglicherweise zwei Felder finden muss.
Ich bevorzuge es auch, Leerzeichen in Kennwörtern zuzulassen, solange der Großteil des Kennworts nicht aus Leerzeichen besteht.
In dem Projekt, das ich gerade entwickle, kann der Administrator auf meinem Verwaltungsbildschirm die Kennwortanforderungen ändern, die für alle künftigen Kennwörter gelten. Er kann auch alle Benutzer dazu zwingen, ihre Passwörter jederzeit nach der nächsten Anmeldung zu aktualisieren (auf die neuen Anforderungen). Ich tue dies, weil ich der Meinung bin, dass Groß- und Kleinschreibung nicht unterschieden werden muss, aber der Administrator (der mich wahrscheinlich für die Software bezahlt hat) könnte anderer Meinung sein, also lasse ich ihn entscheiden.
Die PIN für meine Bankkarte ist nur vierstellig. Da es sich nur um Zahlen handelt, wird nicht zwischen Groß- und Kleinschreibung unterschieden. Und verdammt, es ist mein GELD! Wenn man nichts anderes bedenkt, klingt das ziemlich unsicher, wenn da nicht die Tatsache wäre, dass der Hacker meine Karte stehlen muss, um an mein Geld zu kommen. (Und ein Foto von sich machen lassen.)
Ein weiterer Kritikpunkt: Entwickler, die auf StackOverflow kommen und harte Regeln wiederkäuen, die sie irgendwo in einem Artikel gelesen haben. "Niemals etwas hart codieren." (Als ob das möglich wäre.) "Alle Abfragen müssen parametrisiert sein" (nicht, wenn der Benutzer nicht zur Abfrage beiträgt.) usw.
Bitte entschuldigen Sie die Tirade. ;-) Ich verspreche, dass ich Meinungsverschiedenheiten respektiere.