Systemablauf

Systemaufbau

Der Passwortcheck besteht aus den Komponenten Webserver, Passwortcheck-Applikation und einer Datenbank.

Webserver

Der Webserver stellt die Schnittstelle zur Benutzerin oder zum Benutzer dar. Er stellt den Passwortcheck bereit, verwaltet die Statistiken in einer Datenbank und stellt sie als Webseiten dar.

Passwortcheck-Applikation

Der Passwortcheck ist das Herzstück der Anwendung und dient dazu, die Stärke eines eingegebenen Passworts abzuschätzen. Der Passwortcheck ist in JavaScript implementiert. JavaScript-Programme werden vom Browser geladen und auf dem Rechner der Benutzerin oder des Benutzers ausgeführt. Daher werden keine Passwörter oder andere private Nutzerdaten an den Server gesendet. Alle Berechnungen finden auf dem Rechner der Benutzerin oder des Benutzers statt. Mit dem Schliessen des Browsers werden die Daten gelöscht. Um eine Statistik über die Häufigkeit von starken und schwachen Passwörtern zu erstellen, schickt das JavaScript das Ergebnis an den Server. Hier wird nur übertragen, ob das Ergebnis stark oder schwach herauskam.

Die Prüfung des eingegebenen Passworts ist im Prüfungsablauf beschrieben.

Datenbank

In der Datenbank werden Informationen über die Qualität (stark / schwach) des geprüften Passworts für statistische Zwecke gesammelt.

Dabei werden nur die Resultate der Überprüfung gespeichert. Passwörter werden nie an den Server übermittelt.

Prüfungsablauf

Der Passwortcheck beurteilt die Stärke von Passwörtern aufgrund der Wahrscheinlichkeit der Anzahl benötigten Versuche einer Angreiferin oder eines Angreifers, um das Passwort herauszufinden.

In erster Linie hängt dies von der Länge des Passworts und dem verwendeten Zeichenumfang ab. Enthält ein Passwort bekannte Wörter, Zahlenreihen oder Tastaturmuster, kann sich dies eine Angreiferin oder ein Angreifer zunutze machen. Statt lange Zeichenketten zufällig durchzuprobieren, wird sie oder er zuerst versuchen, Wörter aus Wörterbüchern, Jahreszahlen, Tastaturmuster und ähnliches zu probieren und zu kombinieren. Dies reduziert die Anzahl der benötigten Versuche stark.

Deshalb sucht der Passwortcheck nach den folgenden Bestandteilen:

  • Wörter aus dem deutschen, französischen, italienischen, rätoromanischen und englisches Wörterbuch (je nach Auswahl der Benutzerin oder des Benutzers)
  • Tastaturmuster auf der Schweizer Tastatur (zum Beispiel «qwertz»)
  • Zahlenreihen und alphabetische Folgen (zum Beispiel «1234», «abcd»)
  • Datumsangaben (zum Beispiel «03.06.2019»)

Bei der Suche im Wörterbuch werden auch veränderte Gross- und Kleinschreibung und L33t-Schreibung erkannt. So werden zum Beispiel kaTZe, H@us und B3tt als Wörter gefunden.

Der Passwortcheck berechnet die theoretische Anzahl der Kombinationen, die durchprobiert werden müsste, bis das Passwort gefunden ist. Zuerst werden die oben genannten Wörterbuchwörter und Muster im Passwort gesucht und das Passwort dann in seine Bestandteile zerlegt.

Diagramm Systemablauf

Für jedes Teilwort wird nun berechnet, wie viele Möglichkeiten eine Angreiferin oder ein Angreifer durchprobieren müsste:

  • Für Wörter aus den geladenen Wörterbüchern ist die Anzahl der Möglichkeiten gleich der Grösse des Wörterbuchs. Aufgrund der Erkennung von Gross- und Kleinschreibung sowie L33t wird die Grösse des eigentlichen Wörterbuchs mit dem Faktor 10 multipliziert.
  • Für Tastaturmuster, Zahlenreihen und alphabetische Folgen ist es die Anzahl der jeweils möglichen Kombinationen.
  • Für die übrigen Zeichen, die nicht Teil eines Wortes oder Musters sind, ergibt sich als Anzahl der Möglichkeiten kn, wobei k die Anzahl der möglichen Zeichen und n die Länge ist.

Um den Aufwand in Zeit zu schätzen, wird angenommen, dass eine Angreiferin oder ein Angreifer hundert Milliarden Versuche pro Sekunde durchführen kann. Dies entspricht der Rechenleistung eines leistungsfähigem PCs mit spezialisierter Soft- und Hardware.

Ein Passwort muss einem Angriff während einer Rechenzeit von mehr als einem Jahr standhalten, um als stark beurteilt zu werden.

Passwörter knacken

Die einfachste Methode, ein Passwort zu knacken, besteht darin, alle Möglichkeiten nacheinander auszuprobieren. Diese Methode ist sehr aufwendig, da die Anzahl der Möglichkeiten mit der Länge des Passworts exponentiell steigt.

Da die meisten Leute ihre Passwörter nicht zufällig wählen, nehmen sich ambitionierte Tools zum Knacken von Passwörtern spezielle Passwort-Wörterbücher zur Hilfe. Passwort-Wörterbücher enthalten zusätzlich zu den normalen Wörtern eines Wörterbuchs andere gängige Zeichenfolgen wie Tastaturmuster oder Zahlenreihen wie 12345. Zudem kann einbezogen werden, dass oft Buchstaben durch andere Zeichen ersetzt werden, zum Beispiel E durch 3 oder A durch @, auch bekannt als Leet / L33t-Schreibung. Die Verwendung von Passwort-Wörterbüchern und Berücksichtigung der L33t-Schreibung verringert die Anzahl der benötigten Knackversuche stark.

Online- und Offline-Angriffe laufen unterschiedlich ab. Kommt beispielsweise der Laptop abhanden, so kann eine unbefugte Person eine Kopie der Festplatte anfertigen und darauf mit dem eigenen Rechner Milliarden verschiedene potenzielle Passwörter ausprobieren. Der Passwortcheck geht für seine Aufwandschätzung davon aus, dass die Angreiferin oder der Angreifer hundert Milliarden Versuche pro Sekunde ausführen kann.

Auch Online-Dienste können von einem Offline-Angriff betroffen sein. Kann Person die Passwortdatenbanken kopieren, kann sie auf dem eigenen Rechner sehr viele Versuche pro Sekunde durchführen.

Die Entwendung von Passwortdatenbanken ist aus einem weiteren Grund heikel: Diese Datenbanken enthalten oft weitere Nutzerdaten, wie Name und E-Mail-Adresse. Da viele Benutzerinnen oder Benutzer das gleiche Passwort für mehrere Dienste verwenden, versuchen Angreifer, sich mit den entwendeten E-Mail- und Passwortdaten bei anderen Diensten einzuloggen.

Was macht der Passwortcheck?

Was er macht

Der Passwortcheck prüft das Passwort auf das Vorhandensein gängiger Zeichenfolgen, die eine Angreiferin oder ein Angreifer erwartet und somit das Knacken enorm vereinfachen. Dabei handelt es sich um Wörterbuch-Wörter, Tastaturmuster, Zahlenreihen usw.

Ausgehend von den gefundenen Zeichenfolgen wird eine Schätzung des Suchaufwands vorgenommen.

Details zum Bewertungsverfahren gibt es unter Prüfungsablauf.

Was er nicht macht

Die Risiken gezielter Suchen können von einem generischen Passwortcheck nicht abgedeckt werden. Der Passwortcheck arbeitet anhand von allgemeinen Wörterbüchern. Diese schliessen häufige Namen der verschiedenen Sprachen ein. Eine Angreiferin oder ein Angreifer, der es auf ein bestimmtes Opfer abgesehen hat, kann Wissen über die Person einbeziehen: Geburtsdaten, Nachnamen, Adressdaten, Familiendaten, Namen der Kinder oder Haustiere usw.

Der Passwortcheck kann auch nicht das Risiko einbeziehen, dass ein Passwort auf anderen Wegen bekannt wird, zum Beispiel durch die unsichere Speicherung des Passworts auf dem PC oder beispielsweise durch ausspionieren mit Malware.

Neue Methoden

Im Passwortcheck der Datenschutzbeauftragten des Kantons Zürich sind folgende Besonderheiten implementiert:

  • Alle Checks erfolgen lokal im Browser der Benutzerin oder des Benutzers. Es werden keine Passwörter an einen Server verschickt.
  • Die Prüfung erfolgt in Echtzeit. Schon bei der Eingabe des Passworts kann der Benutzer oder die Benutzerin sehen, wie sich die Bewertung mit jedem zusätzlichen Zeichen verändert.
  • Es stehen Wörterbücher für Schweizer Standarddeutsch, Italienisch, Französisch, Rätoromanisch und Englisch bereit, die von der Benutzerin oder von dem Benutzer gewählt werden können.
  • Bei der Wörtersuche werden auch gängige Modifikationen (Leeten / L33t) erkannt.
  • Tastaturmuster werden auf Basis der Schweizer Tastatur erkannt.
  • Der Quellcode sowie die Verfahrensweise sind öffentlich zugänglich (Github Repository).

Eine Dienstleistung der