PasswordMaker für webOS

Ausschnitt der Programmoberfläche in einem HP Touchpad
Ausschnitt von PasswordMaker für webOS

Etwa 1,5 Jahre hat mich bereits ein Artikel in der Zeitschrift c’t beschäftigt, der ein neues Konzept für den Umgang mit Passwörtern vorschlägt. Hierbei ging es darum, sich nur ein (gutes) Passwort zu merken und daraus „dynamisch“ für alle benutzen Dienste individuelle sichere Kennwörter zu generieren. Besonders reizvoll war für mich der Gedanke, damit auf verschiedenen Geräten korrekte Passwörter generieren zu können, ohne dass Passwörter in irgendeiner Art (z.B. in einer verschlüsselten Datenbank) dauerhaft auf dem Gerät gespeichert werden. Auch das Problem der Synchronisation auf mehrere Geräte entfällt damit, wenn bestimmte Routinen bei der Generierung der Passwörter eingehalten werden.

Die Hauptschwierigkeit bei der Umsetzung war für mich, dass es keine Software mit dieser Funktionalität gab, die auf allen meinen Geräten bzw. Betriebssystemen lauffähig ist. Das sind in meinem Fall Geräte mit Windows, Lubuntu, webOS und Android. Im Sommer letzten Jahres entdeckte ich dann das Projekt Passwordmaker, das meinen Programmier-Instinkt wieder neu geweckt hat.
Passwordmaker bietet nämlich zur Generierung der Passwörter eine fertige HTML-Seite mit implementiertem Javascript, die ohne Internetanbindung funktioniert. Somit läuft diese Lösung notfalls auch auf Geräten, für die es zwar keine App gibt, die aber zumindest eine HTML-Seite darstellen und Javascript ausführen können. Auch einfache Browser sind hierzu normalerweise in der Lage. Somit hat man hier schon in jedem Fall ohne weitere Maßnahmen eine zukunftssichere Lösung, die aber auf kleinen Displays ohne weiteres Zutun nur wenig Freude bereitet. Dies für webOS-Geräte zu ändern, war dann meine Aufgabe.

Wie funktioniert Passwordmaker?

Passwordmaker erstellt Passwörter aufgrund von eingetragenen oder ausgewählten Parametern. Wird nur bei einem Parameter lediglich ein Zeichen verändert, dann wird ein vollständig anderes Passwort generiert. Mögliche Parameter sind

  • die URL auf der das Passwort benutzt wird (z.B accounts.google.com)
  • ein Masterpassword (das ist das einzige sichere Passwort, das Sie sich gut merken müssen)
  • Nutzung von Leet und Auswahl des Levels
  • Auswahl der Verschlüsselungsalgorithmen
  • Auswahl der URL-Komponenten (Protokoll, Subdomäne, Domäne, Port)
  • Passwortlänge
  • Benutzername
  • Modifikator (z.B. ein Zähler, um Passwörter regelmäßig ändern zu können)
  • Auswahl der zu nutzenden Zeichen
  • Präfixe (bestimmte zusätzliche Zeichen vor dem Passwort)
  • Suffixe (bestimmte zusätzliche Zeichen nach dem Passwort)

Beim Versuch, Ihre Passwörter zu knacken, müsste ein Dieb also zusätzlich zu Ihrem geheimen Masterpasswort auch noch alle verwendeten Parameter korrekt kennen. Da er in jedem Fall ein Passwort ausgegeben bekommt, kann er nie wissen, ob er alles richtig gemacht hat. Er muss das Ergebnis durch einen Login-Versuch im entsprechenden Dienst validieren, wo es möglicherweise nach mehreren Fehlversuchen zu einer temporären Sperre kommt und weitere Versuche nur schwer möglich sind.
Sollte ein Dieb jedoch z.B. durch einen Einbruch bei einem Dienstanbieter an eines Ihrer Passwörter gelangen, hat er keine Chance, die Passwörter anderer Dienste zu generieren, da es nicht möglich ist, aufgrund des Passwortes Rückschlüsse auf die gewählten Parameter oder das Masterpasswort zu erhalten.

Die Programmieraufgabe

Im nächsten Schritt, ging es also darum, die Benutzung von Passwordmaker auch auf  webOS-Smartphones komfortabel zu machen und eine Datenbank vorzuhalten, die (falls gewünscht) Einstellungen und Parameter abspeichert. Bei der Programmierung ging es mir auch darum, die größtmögliche Flexibilität zwischen Nutzungskomfort und Sicherheit zu erhalten. Es sollte möglich sein, praktisch auf Knopfdruck ein Passwort ausgeworfen zu bekommen (keine Sicherheit aber äußerst komfortabel) oder aber überhaupt keine Kontoinformationen auf dem Smartphone zu hinterlassen (sehr sicher aber gutes Erinnerungsvermögen notwendig). Zwischen diesen zwei extremen Nutzungsmöglichkeiten gibt es individuell wählbare Nutzungsszenarien, mit denen jeder einen persönlichen Mittelweg zwischen Komfort und Sicherheit finden sollte.

Das Ergebnis

Mit PasswordMaker für webOS ist es möglich, für jedes benötigte Passwortkonto individuelle Parameter auszuwählen. Der Benutzer entscheidet selbst, welche Parameter in der Datenbank gespeichert werden und welche nicht. (Für diesen Zweck gibt es beim Anlegen oder Ändern eines Kontos eine „Testen“-Schaltfläche, mit der das Passwort generiert wird, ohne die Änderungen an den Parametern in die Datenbank zu schreiben). Über eine Einstellungsseite kann man regeln, welche Parameter bei der Erstellung eines neuen Datensatzes bereits mit welchen Werten vorbelegt werden. Eine Suchfunktion ermöglicht das schnelle Auffinden von Datensätzen. Zusätzlich kann man nach eigenen Kategorien filtern.
Durch Antippen eines Datensatzes kann man die entsprechenden Loginseiten im Browser öffnen. Benutzername und Passwort werden in der Benachrichtigungsleiste angezeigt. Das Passwort steht in der Zwischenablage zum Einfügen bereit. Wird die Benachrichtigung weggewischt, dann wird auch das Passwort aus der Zwischenablage gelöscht.

Screenshots

Download

Nachfolgende Archivdatei enthält eine ipk-Datei, die mit angeschaltetem “Developer Mode” installiert werden kann.
Ich habe die Anwendung für meine webOS-Geräte nach bestem Wissen entwickelt und stelle sie gerne öffentlich zur Verfügung. Schäden an Hard- und Software der webOS-Gerätes sind bei mir auch nach längerem Gebrauch in keiner Weise aufgetreten. Dennoch kann ich das nicht ausschließen und übernehme daher keine Haftung. Die Nutzung dieser Anwendung erfolgt daher auf eigenes Risiko und auf eigene Gefahr.

PasswordMaker für webOS
MD5-Prüfsumme: 78b8991f347e108bf14ae90c4e1a62d5
SHA1-Prüfsumme: 53942f91b900fd525c5287903ac17af35cff9b96
(Benutzen Sie CompareChecksum, um die Prüfsummen zu kontrollieren)

PasswordMaker steht auch im App-Katalog von webOS Nation oder im alternativen App Katalog Preware zum Download bereit, so dass Sie die App auch ohne „Developer Mode“ bequem auf Ihrem webOS-Gerät installieren können.