10. August 2011

Was ist ein gutes Passwort?

Was ist ein gutes Passwort – diese Frage beschäftigt uns und unsere Kunden sehr oft. Im Fokus steht in diesem Artikel dabei nicht, wie oft man ein Passwort ändern sollte, ob man es aufschreiben darf, dass man natürlich Passwörter nicht mehrfach verwenden sollte, usw., usw., usw. sondern „nur“, wie man ein gutes Passwort erhält.

Vielfach liest man Empfehlungen wie etwa beim Portal „BSI für Bürger

  • Mindestens acht Zeichen
  • Sonderzeichen und Ziffern
  • Eselsbrücken helfen

Ein Beispiel für eine Eselsbrücke wird auch gegeben: Aus dem Satz „Morgens stehe ich auf und putze meine Zähne.“ nimmt man nur die 1. Buchstaben: „MsiaupmZ“. „i“ sieht aus wie „1“, „&“ ersetzt das „und“. Das ganze ergibt: „Ms1a&pmZ“.

Dies ergibt eine Entropie von 51 Bits. Damit benötigt man 2 hoch 51 Versuche, um alle möglichen Zeichenkombinationen auszuprobieren. Nicht schlecht.

Nimmt man den Satz der als Basis für das „leicht zu merkende“ Passwort (ohne Leerzeichen und mit „ae“ statt „ä“), also „MorgenssteheichaufundputzemeineZaehne.“ ergibt dies eine Entropie von 142 Bits. Nur mit Groß- und Kleinschreibung und einem Sonderzeichen (dem Punkt). Man tippt vielleicht etwas länger, aber vertippt sich garantiert weniger oft.

Wie schnell man ein Passwort knacken kann, hängt neben der Komplexität des Passworts vom verwendeten Hash-Algorithmus ab. Das hat man als Endanwender nicht in der Hand, diese Entscheidung trifft der Programmierer.

Nutzt man die Passwörter für die Windows-Anmeldung, werden diese z. B. mit LM gehasht gespeichert. Bedient man sich einer GPU -beschleunigten Methode (man fand heraus, dass die Rechenaufgaben für „Passwort-Knacken“ und Grafiken bereechnen sich sehr ähneln und damit eine GPU deutlich schneller als eine CPU ist) und glaubt den Herstellerangaben , so kann man mit dieser Ausstattung fast unglaubliche 250 Millionen Passwörter pro Sekunde ausprobieren.

Da hält der kurze Merker immerhin gut 10 Tage, der lange Satz hingegen mehr als sieben Jahre einem Brute-Force-Angriff stand. In Konsequenz heißt das: Nehmen Sie lieber längere Passworte, als komplizierte Sonderzeichen, die zu einem Passwort führen, dass man jeden Morgen erst nach dem dritten Versuch erfolgreich eingibt – sofern das in Ihrer verwendeten Software möglich ist. Häufig erhalten Sie eine Fehlermeldung, z. B. das Sonderzeichen fehlen oder das Passwort zu lang ist (!).

Leider gibt es derzeit keine (uns bekannte) Möglichkeit, Entropie-Vorgaben für Passwörter in Standardprogrammen zu hinterlegen. Man kann zwar meist einstellen, wie lange ein Passwort mindestens sein muss, wie viele Sonderzeichen mindestens vorkommen müssen, aber wie man sieht haben diese Indikatoren sehr unterschiedliche Auswirkungen auf die tatsächliche Passwortqualität.

Es gibt natürlich noch weitere implementierungsabhängige Fragestellungen, ob ein Anmeldeverfahren als sicher gelten kann. So sind EC-Karten mit einer vierstelligen aus Zahlen bestehenden PIN gesichert, von erfolgreichen Brute-Force-Angriffen ist jedoch nichts bekannt, da die Karten nach drei Fehlversuchen gesperrt.

Dies ist sogar nach den Vorgaben des BSI in den IT-Grundschutzkatalogen zulässig. In Maßnahme M 2.11 Regelung des Passwortgebrauchs steht:

„Wenn für das Passwort nur Ziffern zur Verfügung stehen, sollte es mindestens 6 Zeichen lang sein und das Authentisierungssystem sollte den Zugang nach wenigen Fehlversuchen sperren (für eine bestimmte Zeitspanne oder dauerhaft).“

Ergebnis: Viele Jahre hat man uns antrainiert Passwörter für Menschen unlesbar, für Maschinen jedoch weiterhin leicht zu knacken zu gestalten. Eine gute Passwortrichtlinie sollte genau diese Aspekte reflektieren und prüfen, wie eine möglichst gute Entropie erzwungen werden kann, die dennoch zu gut merkbaren Passwörtern führt.

P:S.: für diesen Artikel gab es eine Inspiration