Passwortmanager sind unverzichtbare Hilfsmittel, da trotz vieler neuer Konzepte (Yubikey, Zwei-Faktor-Authentifizierung etc.) Passwörter nach wie vor das zentrale Sicherheitselement im Internet sind. Das Prinzip der meisten Passwortmanager ist einfach. Mittels eines zentralen Passworts, das man sich merken muss, lässt sich eine Datenbank entschlüsseln, in der die individuellen Passwörter für zahllose Dienste hinterlegt sind.
Dadurch kann man einerseits sehr komplexe Passwörter nutzen und andererseits für jeden Dienst ein eigenes anlegen. Hierdurch minimieren sich die Risiken, die entstehen, wenn ein einzelner Dienst geknackt wurde.
Passwortmanager – Warum pass?
Passwortmanager gibt es wie Sand am Meer. Eine der verbreitesten Lösungen heißt KeePass bzw. KeePassX unter Linux. KeePass speichert alle Passwörter in einer .kbx-Datei, die man auf die verschiedensten Geräte verteilen kann. KeePass ist freie Software, deshalb wurden passende Programme/Apps für nahezu alle Plattformen entwickelt. Proprietäre Konkurrenz punktet oft mit Synchronisationsmöglichkeiten, was meiner Meinung nach eine absolute Totsünde ist. Passwortdatenbanken gehören nicht ins Internet, kein Verschlüsselungsmechanismus ist so stark, dass es nicht zukünftig möglicherweise gebrochen werden kann.
KeePass dürfte den meisten Anforderungen genügen – weshalb also eine Alternative nutzen? Meiner Meinung nach hat KeePass einige strukturelle Nachteile. Durch die dezentrale Entwicklung sind z.B. nicht immer alle Plattformen auf dem gleichen Stand. Als KeePass 2 das Format von .kb zu .kbx änderte dauerte es noch Jahre bis KeePassX nachzog. KeePassX ist sowieso der Schwachpunkt im KeePass-System. Das Programm wird nur schleppend entwickelt und die Oberfläche ist ein absoluter Usability-Unfall. Weiterhin speichert KeePass grundsätzlich alle Passwörter in einer Datei. Hat man irgendwann keinen Zugriff mehr auf diese oder gibt es kein Programm, dass sie lesen kann, steht man im Regen. Zugegebenermaßen hat man dieses Problem bei fast allen Passwortmanagern.
Pass hat eine grundsätzlich anderen Ansatz. Im Grunde genommen legt das Programme in einem versteckten Unterordner .password-store viele kleine Textdateien mit den notwendigen Informationen an. Jede diese Textdateien ist durch einen OpenPGP-Schlüssel geschützt. So lange man also den PGP-Schlüssel hat, wird man die Passwörter lesen können – vollkommen gleichgültig ob pass auf dem System installiert ist. Einen absolut etablierten Verschlüsselungsstandard als Basis zu nutzen ist hier ein wichtiges Argument für pass. Pass und QtPass führen zudem die sinnvolle Unix-Tradition der Aufgabenteilung weiter. Das grafische Programm QtPass ist nur ein Aufsatz über das zugrund liegende Pass, das auch über die Konsole bedient werden kann. Die in Pass gespeicherten Passwörter stehen somit auch auf Systemen ohne GUI zur Verfügung bzw. wenn die GUI nicht gestartet ist bzw. nicht starten kann. Für die Passwortgenerierung kommt pwgen zum Einsatz, wahlweise kann man auch noch git für die Synchronisation verwenden. Dadurch nutzt pass effektiv die Werkzeuge der Unix/Linux-Welt und verzichtet auf überflüssige Eigenentwicklungen.
Installation
Pass und QtPass sind seit Stretch in den Debian-Paketquellen enthalten und stehen über den Synchronisationsprozess somit auch Ubuntu und seinen Derivaten zur Verfügung. Die Installation erfolgt somit über:
# apt-get install qtpass
Für openSUSE stehen Pakete im OBS bereit.
Einrichtung
Die initiale Einrichtung sollte über die Kommandozeile erfolgen, da die grafische Oberfläche im Einrichtungsprozess ein wenig limitiert ist. Grundsätzlich ist eine Einrichtung jedoch auf grafisch möglich.
Zuerst legt man einen Passwortspeicher an und weist ihm einen GPG-Schlüssel zu. Die grafische Oberfläche will grundsätzlich einen neuen Schlüssel generieren, die Konsolen-Version ermöglicht die Nutzung eines bereits bestehenden OpenPGP-Schlüssels zu.
$ pass init <KEY> # Key ist durch den Schlüssel zu ersetzen.
Anschließend startet man QtPass. In den Einstellungen kann man nun noch einige sinnvolle Optionen festlegen.
Persönlich lege ich Passwortmanager gerne im Systemabschnitt der Kontrollleiste ab, was bei QtPass standardmäßig nicht voreingestellt ist. Zudem muss die Zwischenablage aus sicherheitsgründen vom Benutzer erst manuell aktiviert werden.
Anschließend kann man über die sehr minimalistisch gehaltene Oberfläche Ordner und Passwörter anlegen.
Sobald man eines der Passwörter öffnen will erscheint eine Abfrage, in der man das Passwort des OpenPGP-Schlüssels eingeben muss.
Synchronisation
QtPass bzw. pass haben eine experimentelle Synchronisationsoption via webdav und git. Meine persönliche Meinung dazu habe ich oben bereits ausgeführt, weshalb ich auf diese Funktion nicht näher eingehen werde. Eine Übertragung der Passwörter auf ein anderes System erfolgt am besten durch das manuell kopieren des verstecken .passwort-store Verzeichnisses.
Die Oberfläche QtPass steht für Linux, Windows und macOS zur Verfügung. Alternative pass-Implementierungen wurden für alle nennenswerten Betriebssysteme entwickelt.
Sicherheit
Pass setzt auf OpenPGP, weshalb der grundlegenden Verschlüsselung absolut vertraut werden kann. Das ist ein nicht zu verachtender Vorteil gegenüber proprietären Programmen. Aber auch Open Source-Programme sind nicht über jeden Zweifel erhaben, da nur wenige in der Lage sind die entsprechenden Krypto-Bestandteile wirklich zu verstehen.
Ein Nachteil von Pass ist, dass sowohl die Ordnername als auch die der Passwortdateien im Klartext gespeichert werden. Dadurch kann eine Dritte Person zumindest die Ordnerstruktur verstehen, als auch überblicken, welche Passwörter vorliegen. Dies ist der Preis für die Verwendung von OpenPGP mit seiner transparenten Verschlüsselungsmethode.
Zusammengefasst
Ob sich der Wechsel von einer anderen Lösung auf Pass / QtPass lohnt, muss jeder für sich abwägen. Ich persönlich war in letzter Zeit immer öfter genervt von den langsamen Fortschritten bei KeePassX und der absolut unfunktionalen Oberfläche. Ab einem gewissen Frustrationsgrad rückt ein Wechsel in greifbare Nähe. Der dateibasierte OpenPGP-Ansatz ist außerdem reizvoll, da er deutlich zukunftssicherer ist als eine Insellösung – freie Software hin oder her.