Projekt passwdhash

05.01.2012

Dieses Projekt ist entstanden, da es mir immer schwerer fällt, für jeden Account ein eigenes und sicheres Passwort zu wählen und mir auch noch zu merken. Meine Gedankengänge sind dabei wie folgt:

An dieser Stelle ist mir pwdhash.com wieder eingefallen. Grundidee: Man nimmt die URL der Seite und ein Masterpasswort, bildet darüber einen Hash und benutzt diesen als Passwort für die Seite. Eine sehr gute Idee, aber mit folgenden Problemen:

  1. was ist, wenn die Anforderungen an das Passwort ungünstig sind (nicht beliebig viele Zeichen, keine oder nur spezielle Sonderzeichen, ...)
  2. wie wird das nächste Passwort generiert, wenn das erste geändert werden muss
  3. wie kann das Masterpasswort (mit möglichst wenig Aufwand) gewechselt werden
  4. wie merke ich mir einen komplizierten (nicht änderbaren) Benutzernamen

Da pwdhash.com keines dieser Probleme anspricht (ich habe dazu jedenfalls nichts gefunden) und einen komplizierten Weg über Browserplugins geht, habe ich mich für eine eigene Lösung entschieden. Leider habe aber auch ich nicht für alle Probleme eine Lösung.

Das erste Problem löse ich, indem gleich am Anfang des generierten Passwortes Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen vorkommen und man danach also abschneiden kann. Außerdem gibt es eine Option für weniger Sonderzeichen, so sollten auch die ungünstigsten Anforderungen an Passwörter erfüllbar sein. Leider muss man sich diese Optionen dann für manche Passwörter merken.

Um das zweite Problem zu lösen werden direkt mehrere Möglichkeiten zur Generierung des Passwortes angeboten, die durch einen ebenfalls mitgehashten Zähler verschiedene Passwörter erstellen. Auch hier muss man sich leider den Zähler merken und die Anzahl der Zähler ist beschränkt. Alternativ kann man auch den Zähler direkt in der URL angeben. Damit wären dann beispielsweise auch verschiedene Passwörter für verschiedene Accounts auf der gleichen Seite möglich. Auch das muss man sich leider merken.

Das Wechseln des Masterpasswortes mit Beibehaltung aller generierten Passwörter ist nicht möglich. Also müssen immer alle Passwörter geändert werden. Wenn das Masterpasswort kompromittiert wurde ist das aber ohnehin nötig.

Vorgegebene Daten sind mit diesem Verfahren nicht speicherbar, also kann man auch keine Benutzernamen speichern.

Alles, was man sich aber nun noch merken muss, ist nicht so sensibel wie ein Passwort, es kann also ohne große Sicherheitsvorkehrungen notiert oder anderweitig gespeichert werden.

Die Nachteile dieser Lösung wurden nun schon beleuchtet, daher folgen noch die großen Vorteile:

Das Userinterface der Implementierung von passwdhash ist sehr einfach. Es gibt ein Feld, in welches man das Masterpasswort einträgt, ein Feld für die URL oder eine andere Referenz an den Account und schließlich ein Feld für das generierte Passwort. Generiert wird das Passwort über die Buttons 0 bis 9, welche jeweils ein anderes Passwort erzeugen. Die erste Zeile erzeugt dabei ein möglichst langes Passwort, die zweite Zeile ein Passwort mit der angegebenen Anzahl an Zeichen. Mit der Checkbox kann man die anzahl an Sonderzeichen reduzieren und es gibt Buttons, um die Eingabefelder zu leeren.

Kritik, Anregungen und Feature Requests nehme ich gern entgegen.