Sichere Verwaltung von Passwörtern

Passwörter und sonstige Zugangsdaten sind höchst sensible Daten, welche nicht in falsche Hände gelangen sollten. Wenn solche Daten auf einem elektronischen Gerät gespeichert werden, dann sollte dies mit den größten möglichen Sicherheitsvorkehrungen geschehen. Das grundlegende Konzept von MyLoginBox beruht darauf, alle erfassten Daten mit nur einem einzigen Master-Passwort über ein starkes symmetrisches Verschlüsselungsverfahren (AES-256) zu verschlüsseln. Erlangt jemand unberechtigen Zugang auf die MyLoginBox-Datenbank oder geht das Gerät verloren, so sind die Daten durch die starke Verschlüsselung für einen potentiellen Angreifer unbrauchbar, und ein Datenmissbrauch ist nicht möglich. Das Master-Passwort ist der geheime Schlüssel zu den Daten. Nur der Benutzer kennt diesen Schlüssel. Ohne das Master-Passwort ist kein Zugriff auf die Daten möglich.

Login MyLoginBox
Der Loginvorgang der App benötigt stets das Master-Passwort des Nutzers

Sofern die verwendete Hardware dies unterstützt, wird als zusätzliches Sicherheitsmerkmal in MyLoginBox die Abfrage des Fingerabdruckscanners des Geräts verwendet (sog. Zwei-Faktor-Authentisierung). Damit wird verhindert, dass sich ein anderer Benutzer, sollte er unkontrolliert Zugriff auf das entsperrte Gerät bekommen, unvermittelt anmelden kann, falls das Master-Passwort von einer vorherigen Anmeldung noch im zugehörigen Eingabefeld steht. Generell muss bei jedem Neustart der App, einmalig das Master-Passwort durch den Benutzer eingegeben werden.

Es ist grundsätzlich nicht sinnvoll, das Master-Passwort auf dem verwendeten Gerät selbst zu speichern, da dies das Sicherheitskonzept kompromittieren würde. Konsequenterweise sollte man sich stets vor Augen halten, dass falls das Master-Passwort vergessen wird, die Daten in MyLoginBox auch für den Benutzer unter keinen Umständen wiederhergestellt werden können.

Das zur Verschlüsselung verwendete AES-Verfahren (Advanced Encryption Standard) gilt als derzeit sicherstes Kryptoverfahren. Eine hinreichende Schlüssellänge wird dafür natürlich vorausgesetzt, d.h. es sollte kein triviales oder zu kurzes Master-Passwort verwendet werden. Ein sogenannter Brute-Force-Angriff auf einen 256-Bit-Schlüssel würde theoretisch 2254 Rechenschritte benötigen (eine Zahl mit 76 Nullen…). Selbst die schnellsten Computer der Welt können dieses Verfahren nicht brechen. Die mathematischen Grundlagen hier auszuführen, würde zu weit gehen. Interessierte finden im Netz jede Menge Lesestoff dazu.

Natürlich kann eine Sicherheitsarchitektur immer nur maximal so sicher sein, wie die Plattform selbst. Android ist kein speziell gehärtetes Hochsicherheitssystem. Sofern sich auf dem System, auf Grund einer leider nicht auszuschließenden unbekannten Sicherheitslücke, ein sogenannter Trojaner befinden sollte, ist das Sicherheitskonzept von MyLoginBox natürlich ausgehebelt. Bösartige Apps aus unbekannten Quellen (zum Beispiel eine Tastatur-App, die alle Eingaben protokolliert), können ebenfalls ein Sicherheitsrisiko darstellen. Dieses Problem bestünde jedoch bei einem Passwort Manager, der auf dem heimischen PC läuft, ebenso. Anzumerken bleibt, dass auf einen Zettel notierte Zugangsdaten gleichfalls nicht wirklich sicher sind, solange sie nicht gerade im heimischen Safe liegen. Insofern wäre der Verlust eines Android-Geräts mit einer sicher verschlüsselten Datenbank das wesentlich kleinere Problem, als der unbemerkte Verlust von E-Mail-Zugangsdaten auf einem Stück Papier.

Funktionen von MyLoginBox

Nach erfolgreicher Authentifizierung durch MyLoginBox gelangt der Benutzer zur Übersichtsseite der Passwortverwaltung. Dort kann der Benutzer für seine Logins und sonstigen geheimen Zugangsdaten neue Datensätze anlegen und dazu Detailinformationen erfassen. Diese sind mit einem einfachen Klick auf die Einträge zugänglich. Durch langes Gedrückthalten können die Einträge in der Liste verschoben werden. Mittels Wischen nach links, können Einträge gelöscht werden.

Passwörter verwalten
Die Passwortverwaltung in MyLoginBox

In MyLoginBox wird die unmittelbare Datensicherheit während der Verwendung auch dadurch gewährleistet, dass sensible Daten bei der Eingabe und beim Aufruf von Detailansichten nicht sofort sichtbar sind. In der Übersicht der Passwörter sind nur die allgemeinen, unverfänglichen Bezeichnungen der Logins zu sehen. In der Detailansicht sind Passwörter und vertrauliche Informationen in verdeckten Feldern enthalten, die nur durch einen gesonderten Klick auf den jeweiligen Anzeige-Button aufgedeckt werden. Ein Passwort kann auch in die Zwischenablage kopiert werden, ohne es aufzudecken.

Detailansicht
In der Detailansicht sind geheime Informationen standardmäßig verdeckt und können durch den Benutzer aufgedeckt werden.

Die Daten der App sind erst dann frei zugänglich, nachdem der Benutzer das Master-Passwort eingegeben hat und den Loginvorgang mit dem Fingerabdrucksensor verifiziert hat. Solange der Nutzer die App im Speicher offen hält, bleibt sie entsperrt. Sobald er jedoch auf den Login-Bildschirm zurückkehrt, oder die App aus dem Speicher entfernt, ist ein erneutes Login erforderlich.

Für den Umzug auf ein anderes Gerät und zur Datensicherung stellt die App eine Export/Import-Funktion bereit, die die verschlüsselte Datenbank als Datei für den Nutzer bereitstellt. Ohne das gültige Master-Passwort zum Zeitpunkt des Exports kann diese Datei nicht wieder eingelesen, oder entschlüsselt werden.

Datenbank Import
Import der Datenbank aus einer Sicherungsdatei. Für den Import wird das Master-Passwort benötigt.

Die App selbst verwendet keinen Zugriff auf das Internet und überträgt keine Daten an einen externen Server. Sie speichert die Daten sicher und verschlüsselt und ausschließlich im geschützten Speicherbereich des Android-Geräts.

Über die auf Wunsch exportierten Daten hat der Nutzer stets die volle Kontrolle. Er kann die verschlüsselte Datei nach eigenem Sicherheitsempfinden entweder lokal speichern, zum Backup in die eigene Cloud laden oder per E-Mail versenden. Dies liegt dann außerhalb des Verantwortungsbereichs der App. Die Daten sind dabei stets durch das Master-Passwort geschützt.

MyLoginBox wurde nach dem KISS-Prinzip (in diesem Fall „Keep it simple and safe“) entworfen. Es werden keine potentiell unsicheren Funktionen, wie eine automatische Synchronisierung mit anderen Geräten oder das automatische Ausfüllen von Passwortfeldern bereitgestellt, die zwar den Komfort erhöhen würden, aber grundsätzlich das Sicherheitskonzept gefährden könnten.

Zurücksetzen der Datenbank

Das Master-Passwort ist der geheime Schlüssel, welcher die Sicherheit der in MyLoginBox erfassten Daten garantiert. Dieser ist nur dem Benutzer bekannt. Da MyLoginBox die erfassten Daten nicht mit einem Server im Internet synchronisiert, gibt es keine Möglichkeit die Einträge wiederherzustellen, falls der Benutzer das Master-Passwort vergessen haben sollte. Es wird kein Wiederherstellungsschlüssel in der App gespeichert. Ebenso wäre es nicht sinnvoll eine Kopie des Master-Passworts auf dem Gerät zu speichern, auch nicht in verschlüsselter Form. Dieses Vorgehen würde das Sicherheitskonzept vollständig aushebeln. Das Master-Passwort muss sich der Benutzer deshalb wirklich einprägen, oder an einem sicheren Ort notieren.

Falls der Benutzer das vergebene Master-Passwort wirklich endgültig vergessen haben sollte, gibt es in MyLoginBox keine Möglichkeit mehr das Passwort zu ändern. Der Zugang zu den Daten ist dann auch für den Benutzer versperrt. Die einzige Möglichkeit, die App überhaupt wieder verwenden zu können, besteht darin im Einstellungsdialog der App ganz nach unten zu scrollen und dort die Option „Passwort vergessen“ auszuwählen. Daraufhin wird darunter eine Schaltfläche angezeigt, die es ermöglicht, die Datenbank vollständig zu löschen. Alternativ kann der Nutzer in den Android-Einstellungen die Daten der App im Menü „Apps / MyLoginBox / Speicher“ löschen. Achtung: Alle erfassten Daten sind damit verloren! Das Master-Passwort kann anschließend neu gesetzt werden.

Eine erstellte Sicherheitskopie der Datenbank kann ebenfalls nur mit Kenntnis des zum Zeitpunkt der Erstellung gültigen Master-Passworts wieder eingespielt werden. Dass dies nur so möglich ist, liegt in der Art und Weise des umgesetzten Sicherheitskonzepts begründet. Wenn keine Übertragung der Daten ins Internet erfolgen soll, und die Daten deshalb nur lokal auf dem Gerät gehalten werden, dann lässt sich auch keine automatische Wiederherstellung der Daten und auch keine sichere Funktion zum Rücksetzen der Passworts implementieren. Der mangelnde Komfort ist in diesem Fall ein Sicherheits-Feature und kein Fehler. Der einzige Schlüssel zu den Daten ist und bleibt das Master-Passwort.

Sicherheit versus Komfort

Das Motto von MyLoginBox lautet „einfach und sicher“, deshalb werden sich die Benutzer eventuell wundern, weshalb die App an verschiedenen Stellen ein scheinbar sperriges Bedienkonzept verfolgt. Dieses ist in den im Folgenden ausgeführten Fällen jedoch mit Absicht so umgesetzt worden, und es benötigt einiger Erklärung das Sicherheitskonzept als Ganzes zu erläutern.

Weshalb gibt es in MyLoginBox keine Funktion zum Zurücksetzen des Master-Passworts?

Falls der Benutzer das Master-Passwort vergisst, kann er sich nicht mehr anmelden und er kann das Master-Passwort auch nicht mehr ändern. Dieses Passwort ist der geheime Schlüssel zu den Daten. Das Vergessen des Geheimnisses verhindert den Zugang zur Datenbank und es bleibt nur noch die Möglichkeit alle Daten zu löschen. Es gibt mit Absicht weder eine Kopie der Daten noch eine Kopie des Master-Passworts auf einem Server im Internet, da MyLoginBox per Definition keine externe Datenverbindung aufbaut.

Warum wird das Master-Passwort nicht auf dem Gerät gespeichert?

Das Master-Passwort ist das einzige Geheimnis zum Schutz der Daten. Selbst auf Geräten mit biometrischer Authentifizierung könnte ein potenzieller Angreifer, sofern er direkten physischen Zugang zum Gerät erlangt, auch Zugang zur Datenbank erhalten. Aus diesem Grund ist das Master-Passwort nirgends, weder auf dem Gerät, noch in der Datenbank gespeichert. Es muss stets durch den Benutzer eingegeben werden.

Auch in verschlüsselter Form kann das Master-Passwort nicht sicher auf dem Gerät gespeichert werden, da der Schlüssel dafür dann in irgendeiner Weise in der App selbst versteckt sein müsste. Ein solches Design (sog. „Security through obscurity“) wird in der Softwarearchitektur generell als unsicher erachtet.

Warum werden keine automatischen Backups auf einen externen Server übertragen?

Als unabhängiger und der Allgemeinheit unbekannter Entwickler der App gehe ich grundsätzlich davon aus, dass mir niemand einen hinreichenden Vertrauensvorschuss entgegenbringen würde, seine sensiblen Daten ausreichend gesichert auf einem Server im Internet zu verwalten und diese sicher dorthin zu übertragen. Des Weiteren würden für den Betrieb der externen Server-Infrastruktur monatliche Kosten anfallen, so dass die App nicht mehr kostenlos und werbefrei angeboten werden könnte.

Der geneigte Nutzer kann die verschlüsselte Datenbank über die zur Verfügung gestellte Export-Funktion dennoch jederzeit entladen und auf Wunsch in seine persönliche Cloud übertragen. Das geht mit Google Drive sogar sehr komfortabel, liegt aber nicht im Verantwortungsbereich von MyLoginBox. Ohne das Master-Passwort kann die verschlüsselte Datei nicht dechiffriert werden und ist als sehr sicher zu betrachten.

Weshalb gibt es keine Autofill-Funktion?

Kommerzielle Passwortverwaltungen bieten in der Regel eine sogenannte Autofill-Funktion, die automatisch erkennt, sobald der Benutzer den Eingabefokus auf ein Passwortfeld legt und in diesem Fall automatisch die Passwortverwaltung einblendet. MyLoginBox bietet diesen Service nicht und muss in der Bedienung vielmehr wie ein verschlüsseltes Notizbuch verstanden werden, das separat geöffnet werden muss. Der Grund ist auch hier dem bereits weiter oben beschriebenen Vertrauensdilemma zu sehen. Wer würde guten Gewissens die App eines unbekannten Entwicklers installieren, wenn diese einen Hintergrund-Service registriert, der jederzeit alle Tastatureingaben auf Passwortfelder prüft? Aus diesem Grund wurde absichtlich auf eine solche Funktion verzichtet.

Grundsätzliches über sichere Passwörter zur Verwendung im Internet

Es ist sehr wichtig für verschiedene Webdienste unterschiedliche, möglichst lange und natürlich sichere Passwörter zu verwenden. Für mehrere Logins das gleiche Passwort zu verwenden, stellt ein großes Sicherheitsrisiko dar. Immer wieder kommt es vor, dass Webseiten gehackt werden, oder dass durch fahrlässige Fehlkonfigurationen der Betreiber, Zugangsdaten in großen Mengen offengelegt werden. Im schlimmsten Fall speichern Anbieter die Passwörter ihrer Kunden sogar im Klartext, was gemäß DSGVO zu Recht verboten ist. Verwendet man stets dasselbe Passwort für alle Dienste, reicht bereits ein einziger Verlust aus, um viele Logins zu kompromittieren. Der sogenannte Identitätsdiebstahl ist im günstigsten Fall lästig, meistens jedoch sehr teuer oder sogar strafrechtlich problematisch. Ein verlorener Ebay-Account kann reichen, um sich mit den Ansprüchen einer Vielzahl geprellter Käufer von hochwertiger Unterhaltungselektronik auseinandersetzen zu müssen…

Passwörter die den Zugang zu Webdiensten absichern, können einer sehr großen Zahl von Angriffen ausgesetzt sein. Es hängt auch davon ab, wie gut die Sicherheitsmechanismen des Betreibers sind, um solche Attacken wirksam einzudämmen. Man sollte jedoch vorsorglich davon ausgehen, dass ein potentieller Angreifer automatisiert eine sehr große Zahl möglicher Login/Passwort-Kombinationen ausprobieren kann. Sichere Passwörter bestehen deshalb immer aus einer Zusammenstellung kleiner und großer Buchstaben sowie aus Ziffern und Sonderzeichen. Man sollte niemals Passwörter verwenden, die im Duden stehen. Klassiker wie „Passwort123“, „qwertz“, „abc123“ oder „12345678“ sind ohnehin tabu. Von solchen Passwörtern, die manche auch heute noch als sicher erachten, gibt es im Internet vorgefertigte Listen mit einigen tausenden Einträgen – zum schnellen Ausprobieren (über Bot-Netze können hunderte E-Mail-Adresse/Passwort-Kombinationen innerhalb von Sekunden ausprobiert werden). Passwörter, die in deartigen Wortlisten enthalten sind, dürfen niemals verwendet werden. Genausowenig dürfen Passwörter verwendet werden, die bereits als Beispiel für ein sicheres Passwort im Internet veröffentlicht worden sind…

Was ist ein gutes Passwort?

Idealerweise denkt man sich für ein gutes Passwort zunächst einen eigenen längeren Merksatz aus, und setzt das Passwort dann aus den Anfangsbuchstaben der einzelnen Wörter zusammen. Die so erzeugten Passwörter sind hinreichend komplex und sehr sicher. Für jeden Dienst kann man den verwendeten Satz geringfügig modifizieren, so dass man auf diese Weise viele verschiedene Passwörter erhält, die man sich trotzdem alle merken kann. Problematisch ist es, wenn Betreiber strikte Vorgaben für ihre Passwörter machen, oder bestimmte Sonderzeichen technisch nicht verwendbar sind. Ein bekannter Mail-Anbieter empfiehlt inzwischen Passwörter mit mindestens 15 Zeichen. Die Merksatz-Methode kann dann an ihre Grenzen stoßen.

Beispiel für ein sicheres Passwort
Ein Beispiel für ein sicheres Passwort, basierend auf einem Merksatz.

Eine andere Möglichkeit besteht darin, zufällig und ohne Zusammenhang mehrere Wörter aus einem Wörterbuch oder von einer Wortliste auszuwählen und diese Wörter dann zu einem sehr langen Passwort zusammenzusetzen. Dieses Verfahren wird auch als Diceware-Methode bezeichnet. Das enstehende Passwort ist, trotz seiner Länge, relativ leicht zu merken und es besitzt eine sehr hohe Entropie (kryptologische Informationsdichte). Durch computergestützte Angriffe sind derartige Passwörter noch schwieriger angreifbar als die komplexen, aber meist kürzeren, Passwörter der Merksatzmethode.

Müssen Passwörter regelmäßig geändert werden?

Die früher geläufige Meinung, dass es wichtig sei, Passwörter regelmäßig zu ändern, wird inzwischen eher selten vertreten. Es gibts zwar noch Systeme, die eine solche regelmäßige Änderung fordern, aber der Stand der Dinge das nicht mehr. Im Gegenteil, die ständige Aufforderung neue Passwörter zu vergeben, bewirkt unter Umständen sogar eine Verschlechterung der Sicherheit. Die Nutzer neigen in diesen Fällen dazu, anstatt komplexer Passwörter eher einfache Wortkombinationen mit periodisch angepassten Zahlenfolgen zu verwenden, um den Überblick über das jeweils gültige Passwort zu behalten.

Ein Passwort sollte immer dann dringend geändert werden, wenn der Verdacht auf Kompromittierung besteht. Wenn also verdächtige oder unerklärliche Aktivitäten festgestellt werden, oder wenn man eine nicht nachvollziehbare Sicherheitswarnung eines verwendeten Dienstes erhält. E-Mail-Konten verdienen besondere Aufmerksamkeit, da darüber leicht andere Passwörter zurückgesetzt oder geändert werden können. Beim Verlust von Hardware (Handy, Tablet, Laptop, PC, Festplatte, USB-Stick) ist die Änderung aller dort gespeicherten Zugangsdaten und WLAN-Passwörter obligatorisch. Des Weiteren sollte man bei der Eingabe von Zugangsdaten stets sicherstellen, dass man sich wirklich auf der echten Login-Seite des jeweiligen Diensteanbieters befindet und die Verbindung über ein gültiges Zertifikat gesichert ist (Schloss-Symbol im Browser), damit man seine Daten nicht über die sogenannte Phishing-Methode selbst offenlegt. Abschließend bleibt zu erwähnen, dass es sinnvoll ist, verwendete Passwörter dann zu ändern, wenn man Kenntnis von aufgedeckten Sicherheitslücken eines eigenen Diensteanbieters erhält. Sofern möglich, sollte außerdem stets die Zwei-Faktor-Authentisierung zur Absicherung von Logins über einen zweiten Kanal aktviert werden, falls diese beim jeweiligen Anbieter zu Verfügung steht.