passwortWie sieht ein sicheres Passwort aus? Soll es eine scheinbar sinnlose Kolonne aus unzusammenhängenden Zeichen sein, die man dann sowieso auf einem Zettel hinterlegt, weil man auch nach dem fünften Mal Eintippen immer noch abschreiben muss? Oder doch besser etwas Lesbares, das man nach dem ersten Blick im Kopf hat und dann auch nicht mehr vergisst? Muss es Sonderzeichen, Ziffern und am besten Groß- und Kleinbuchstaben gemischt enthalten, oder reicht es vielleicht schon aus, wenn das Passwort nur lang genug ist? Das Feld der IT-Sicherheit ist ein ziemlich weites, und je mehr Experten man befragt, desto mehr Empfehlungen bekommt man.

Bruteforce- und Dictionary-Angriffen hält ein Passwort leichter stand, wenn es lang ist. Also mindestens 12 Zeichen lang, besser noch mehr. Begriffe, die man in Wörterbüchern finden könnte, sollte man nur verwenden, wenn man gleich drei oder vier davon verwendet. Besser sind Fantasieworte. In Kombination mit einzelnen Sonderzeichen und Ziffern ist man in den meisten Fällen im grünen Bereich. Dass Passwörter nie lang genug sein können, wird immer wieder von allen möglichen Sicherheitsexperten gepredigt – was auch vollkommen nachvollziehbar und richtig ist – aber was ist mit den schwarzen Schafen in der IT, die in ihren Softwareprodukten und Netzdiensten dem Benutzer ein Maximum an verfügbaren Zeichen vorgeben? Nicht selten lässt die Eingabemaske keine weiteren Zeichen zu, wenn das Limit von z.B. 8 Zeichen erreicht wurde. Das steht ja eigentlich im absoluten Widerspruch zu dem Punkt, in dem sich alle einig sind.

Es gibt aber etwas, das fast noch lästiger ist, und das mir inzwischen schon mehrfach begegnet ist. Ich bin ein echter Fan von langen Passwörtern. Selten verwende ich weniger als 15 Zeichen, manchmal über 20, dazu irgendwelche Ziffern und Sonderzeichen, aber gerade so, dass ich es mir mit Mühe merken kann. Vor kurzem habe ich meinen QNAP-Netzwerkspeicher konfigurieren wollen und legte mir dazu ein Administratorkonto im Webinterface an. Das Passwort war nun also 19 Zeichen lang und ließ sich auch in voller Länge eingeben. Hinweise bezüglich irgendeines Limits gab es nicht, soweit ich mich erinnere. Account angelegt. Alles wunderbar.

Der erste Loginversuch mit dem taufrischen Konto wurde dann allerdings abgelehnt – Falsches Passwort. Kein Problem, einfach nochmal versuchen, ich muss mich vertippt haben. Kommt bei solch langen Passwörtern regelmäßig vor. Auch der zweite Versuch geht schief. Ein dritter Versuch bringt keine Verbesserung. Ich habe den Account doch gerade vor zwei Minuten angelegt, bin ich denn auf einmal unfähig? Etwa bereits beim Anlegen vertippt? Unwahrscheinlich. Plötzlich war mir klar, woran das liegen musste.

Was habe ich nun gemacht? Ich habe das Passwort wie zuvor eingegeben, aber das letzte Zeichen weggelassen, so dass es nur noch 18 Zeichen lang war. Login failed. Zwei Zeichen hinten weglassen: Wieder nichts. Dann drei Zeichen. Das Passwort ist damit nur noch 16 Zeichen lang. Ein Druck auf Enter und ich bin drin. Ich lag goldrichtig mit meiner Vermutung. Was für Dilettanten arbeiten da bei QNAP als Programmierer? Beim Anlegen des Accounts gibt das Eingabefeld keine maximale Länge vor, man kann also eingeben soviel man will. Beim internen Speichern des Passworts oder des Hashes wird es gekürzt auf 16 Zeichen, so ganz heimlich. Ist doch auch total unwichtig so eine Information. Die Kurve hätte man noch kriegen können, wenn wenigstens die Eingabemaske für den Login eine Zeichenbegrenzung gehabt hätte, um das zu kompensieren, aber auch hier darf man eingeben soviel man lustig ist. Das vom System gespeicherte (kürzere) Passwort und das zuvor eingegebene komplette Passwort stimmen nicht überein, der Benutzer kann sich so niemals einloggen. Niemand sagt ihm, was dabei das Problem ist.

Schlimmer noch, wenn der Benutzer das NAS auf Werkseinstellungen zurücksetzt und nochmals ein Administratorkonto mit demselben Passwort oder mit einem gleich langen Passwort anlegt, wird er schon wieder in dieselbe Falle laufen. Wohl dem, der lieber kürzere und unsichere Passwörter verwendet. Aus Softwareentwickler-Sicht ist das ein unverzeihlicher Fehlgriff. So sehr kann man eigentlich gar nicht pennen, dass so etwas nicht getestet wird und in die finale Firmware kommt. Noch dazu kommt der Fehler gar nicht so unwahrscheinlich selten vor, da ich ja bereits woanders Erfahrung damit machen durfte. Damals musste ich mir nach unzähligen Fehlversuchen mein Passwort aus der Datenbank per E-Mail zuschicken lassen (als Plain Text: ja, das alleine ist schon eine Ohrfeige wert). So stellte ich hocherstaunt fest, dass mein Passwort auf dem Weg von der Tastatur in die Datenbank irgendwo kommentarlos gekürzt wurde. Da hätte ich echt noch stundenlang erfolglos mit dem eigentlich richtigen Passwort versuchen können mich einzuloggen.

Achja, noch ein Tipp bezüglich der Sonderzeichen, weil ich damit ebenfalls schon Probleme hatte. Sonderzeichen in Passwörtern sind gut und schön, aber gefahrlos sind nur die ganz gewöhnlichen Sonderzeichen, die man ohne Druck auf die ALT-Taste eingeben kann. Hier spielt es nämlich auch eine wichtige Rolle, welchen Zeichensatz der eigene Browser benutzt und welchen Zeichensatz der Server, auf dem das Passwort gespeichert wird. Umlaute sind daher ebenfalls sehr gefährlich. Ein “Ö” ist auf dem Server vielleicht auf einmal ein ganz anderes Zeichen. Das Euro-Symbol, Accents, und vieles was der Unicode-Zeichensatz hergibt, könnte auf dem Server beim Konvertieren verloren gehen und somit das Passwort unbrauchbar machen.