Mittel gegen die Passwort-Inflation

Für jedes Forum, jeden Onlineshop, ... muß man sich einen Account anlegen, bevor man loslegen kann. Was aber tun mit den dutzenden Passwörtern, die benötigt werden? Auf der einen Seite sollte man Paßwörter nicht aufschreiben (jemand könnte den Zettel finden); ein Paßwort-Safe-Programm ist mitunter umständlich und nicht immer greifbar; letzteres gilt auch für den gesicherten Paßwortspeicher der Browser. Ein Standardpaßwort, das man überall verwendet, kann aber ebenso fatale Folgen haben - einmal herausgefunden, öffnet es die (Mißbrauchs-)Pforte zu vielen Seiten; dabei muß das Paßwort nicht unbedingt "clientseitig" durch einen Blick über die Schulter oder systematisches Ausprobieren kompromittiert werden: Ebenso kann ein böswilliger Webseitenanbieter das Kennwort auslesen - oder aber es fällt einem Angreifer in die Hände, der sich Zugang zum Server der Webseite verschafft hat.
Eine mögliche Abhilfe schaffen Passwort-Hasher wie Stanford PwdHash oder Password Hasher.

Funktionsweise

Die Idee hinter diesen Tools ist, ein Master-Passwort mit einem seitenspezifischen Kriterium (wie beispielsweise einem Teil der URL) zu kombinieren und daraus ein für die Seite individuelles Kennwort zu generieren. Ein kryptographisch erprobtes Verfahren hierfür ist der Einsatz eines Keyed Hash (HMAC). Hierbei kommt eine kryptographisch starke Hashfunktion zum Einsatz; diese ist darauf ausgelegt, den Rückschluß auf die ursprüngliche Eingabe möglichst unmöglich zu machen. Dadurch bleibt das Master-Passwort geschützt. Aus dem Ergebnis wird anschließend ein alphanumerisches Wort generiert, das als Passwort für die Seite dient.
Die Benutzung der URL bietet einen weiteren Vorteil: Gibt man sein Kennwort versehentlich auf einer falschen Seite ein (Phishing!), so erhält diese ein individuelles Kennwort, das sonst nirgendwo gültig ist.

Password Hasher und PwdHash

Password Hasher und Stanford PwdHash (entdeckt via Darknet) beruhen beide auf diesem Ansatz. So benutzt PwdHash als Hashfunktion den MD5-Algorithmus, Password Hasher das SHA1-Verfahren. Beide Hashfunktionen sind für diesen Anwendungszweck ausreichend.
Beide Programme integrieren sich in Firefox als Plugin; sollte man auf einem Rechner ohne dem Plugin ein Seitenkennwort berechnen müssen, bieten beide Programme eine JavaScript-Implementierung des Verfahrens. Vorteil hierbei: Die Berechnung geschieht komplett im Browser, man muß keinem Webdienst sein Master-Paßwort anvertrauen.

Password Hasher

Password Hasher zeigt neben jedem Paßwortfeld eine Schaltfläche an, welche einen separaten Dialog öffnet. Hier gibt man das Master-Passwort ein; außerdem kann man Einstellungen bezüglich des generierten Seiten-Passworts (Länge, verwendete Zeichen) treffen. Anschließend kopiert Password Hasher das Ergebnis zurück in das Passwortfeld.
Um für Seiten, die unter mehreren Top-Level-Domains existieren (wie z.B. www.amazon.com, www.amazon.co.uk), ein gemeinsames Passwort zu erzeugen, extrahieren beide Programme nur einen Teil der Domäne: Führende Subdomains werden ebenso wie die Länderkennung entfernt. Hierbei stellt sich PwdHash etwas geschickter als Password Hasher an: PwdHash kennt eine Reihe von Ausnahmen (wie co.uk) und erzeugt aus dem obigen Beispiel beide Male "amazon"; Password Hasher generiert im letzteren Fall "co" als URL-Schlüssel. Dies kann man aber im Eingabedialog manuell korrigieren; Password Hasher speichert diese Ausnahme, so daß man (pro Rechner) nur 1x darauf achten muß.

PwdHash

PwdHash verzichtet auf ein separates Dialogfenster zur Eingabe. Passwörter, die mit einer charakteristischen Zeichenfolge ("@@") beginnen, werden als Master-Key interpretiert und vom Programm bearbeitet. Alternativ kann das Hashing auch durch Dücken von F2 ausgelöst werden. Im Gegensatz zu Password Hash hängt die Länge der generierten Kennwörter von der Länge des Master-Keys ab.
Die Autoren von PwdHash haben über ihren Ansatz ein ausführliches Paper publiziert, in dem verschieden Angriffe (z.B. via JavaScript) auf das Programm (und die dagegen implementierten Schutzmechanismen) diskutiert werden.

Risiko Master-Passwort

Das Wiederverwenden eines Kennworts stellt natürlich nach wie vor ein Risiko dar: Ist das Master-Passwort und das verwendete Programm bekannt, kann sich ein Angreifer die individuellen Kennwörter generieren. Gegenüber einem direkt wiederverwendeten Kennwort reduziert dieser Ansatz die Angriffsmöglichkeiten.
Weitere Sicherheit läßt sich gewinnen, indem man mehrere Master-Passwörter verwendet - nach einem einfach zu merkenden Schema wie beispielsweise: Master-Kennwort 1 für alle Foren, Master-Kennwort 2 für Webshops, etc.
Für besonders wichtige Seiten wie z.B. den Zugang zum Onlinebanking empfiehlt es sich nach wie vor, ein einzelnes, starkes Kennwort einzusetzen, das sonst nirgendwo verwendet wird.

Welcher Username?

Egal ob mit Passwordhashing oder einem wiederverwendeten Kennwort: Ein Angreifer kann dieses nur zum Einsatz bringen, wenn er weiß, daß es sich an zwei Stellen um denselben User handelt. Auch aus diesem Grund ist es eine sinnvolle Überlegung, an verschiedenen Stellen verschiedene Usernamen (die nicht einfach voneinander abgeleitet werden können - die Verwendung "Peter" und "Peter_" bringt keinen nennenswerten Vorteil) für seinen Account zu verwenden:
Zum einen funktioniert ein einfach Angriff nach dem Schema "Ich kenne das Passwort von User X auf Seite A. Nun probiere ich das auf Seite B" nicht mehr, da auf den beiden Seiten verschiedene Usernamen verwendet werden.
Zum anderen erhöht das die Privatsphäre im Netz: Die Daten können ohne das Vorwissen, daß zwei verschiedene Benutzernamen zur selben realen Person gehören, nicht mehr zusammengeführt werden.
Auch hier kann man den Merkaufwand reduzieren, indem man Gruppen bildet, z.B.: In allen Computerspiele-Foren kommt Username A, auf allen Verbraucherschutz-Seiten Username B zum Einsatz.