Blog

Lose, ungeordnete Gedanken und Fragmente

12.10.2014 / by

Passwort Plugin für Google Chrome

Die Anzahl der genutzten Webdienste steigt ständig und damit auch die Passwörter, die man sich ausdenken und merken muss. Abhilfe schafft ein Schema zum Generieren von Passwörtern und ein kleines Chrome Pluign.

Aus diversen Gründen scheue ich davor zurück, mich überall mit einem Facebook- oder einem Google-Account anzumelden: zum einen habe ich meinen Facebook-Account nach den Snowden-Enthüllungen gelöscht, zum anderen möchte ich mich nicht über alle Dienste hinweg verfolgen lassen. Außerdem gibt es auch eine ganze Reihe von Web-Diensten, die eine eigene Anmeldung erfordern.

Also stehe ich vor dem Problem, mir Passwörter für mindestens 20 Dienste auszudenken (von Instapaper und Dropbox über Mendeley bis zu Feedly) und auch noch zu merken. Für alle Dienste dasselbe Passwort zu verwenden verbietet sich von selbst: kommt auch nur bei einer Webseite das Passwort in falsche Hände, sind alle sofort kompromittiert.

Für dieses Problem gibt es mindestens zwei Lösungen:

  • Passwort-Schemata mit deren Hilfe man aus einem gut zum merkenden Grundpasswort (Mutti123) für die verschiedenen Dienste durch hinzufügen einzelner Zeichen neue Passwörter generiert (z.B. Mutti123ggl+ für einen Google+-Account).
  • Passwort-Manager die Passwörter speichern und so auch schwer zu merkende Passwörter erlauben - am besten zufällig generierte. Der Passwort-Safe wird dann mit einem besonders guten Passwort gesichert.

Gegen die Verwendung eines Grundpassworts mit Ableitungsregel spricht, dass diese Regeln so einfach sein müssen, dass ein Mensch sie ausführen kann. Hat ein Angreifer also mein Passwort von einer Webseite gehackt, dann ist die Wahrscheinlichkeit hoch, dass er meine Regel erkennt und dann doch in alle anderen Seiten einbrechen kann.

Gegen die alleinige Verwendung eines Passwort-Managers spricht, dass er die Passwort-Datenbank auf einem, oder mehreren, Geräten speichert und ich damit von dem Zugriff auf die Datenbank abhängig bin. Natürlich ist der Smartphone-Akku leer, wenn man das Passwort braucht oder auf dem Tablet ist der Manager nicht installiert oder …

Aus diesen Gründen habe ich mir überlegt, dass man beide Ansätze kombinieren kann, für die Ableitung des eigentlichen Passwortes aus dem Grundpasswort aber den Computer einspannt.

Der Ansatz funktioniert wie folgt:

  • Man denkt sich ein einziges gutes und starkes Passwort aus und merkt sich dieses.
  • Für jede Website kombiniert man das Passwort mit dem Namen der Webseite und dem Benutzernamen (damit man mehrere Accounts mit unterschiedlichen Passwörtern haben kann).
  • Aus dem Tupel (Grundpasswort, Site, Username) berechnet man ein neues Passwort mit Hilfe einer kryptographischen Funktion (PBKDF2) und erzeugt so das spezifische Passwort für die Webseite.
  • Das so erzeugte Passwort speichert man im Passwort-Manager.

Der Vorteil dieses Ansatzes liegt nun darin, dass man im Normalfall wie üblich mit dem Passwort-Manager arbeiten kann. Hat man aber einmal keinen Zugriff auf die Passwort-Datenbank kann man das Site-Passwort jederzeit wieder neu berechnen, da in die Berechnung nur Grundpasswort, Site und Username eingehen. Weil die Berechnung des Site-Passwortes mit der kryptographischen Funktion von Hand viel zu aufwändig ist, habe ich sie in ein kleines JavaScript gegossen und einmal als Chrome-Plugin und auch als kleine HTML-Seite im Internet zur Verfügung gestellt. Sitze ich vor einem meiner Rechner verwende ich das Chrome-Plugin, bei fremden Rechnern kann ich auf die Webseite zugreifen.

Da dies alles für meinen privaten Gebrauch gedacht ist, habe ich das Chrome-Plugin nicht offiziell veröffentlicht, es findet sich aber auf GitHub.