Direkt zum Inhalt

Die fabelhafte Welt der Mathematik: Das sicherste Passwort ist …

… jedenfalls nicht »123456«, was 2022 das beliebteste Passwort der Deutschen war. Aber vielleicht ist die Zeit der lästigen Passworteingaben schon bald vorbei.
Eingabefeld für Nutzerdaten
Es kann ziemlich anstrengend sein, sich ein gutes Passwort auszudenken. Passwortmanager können dabei helfen.

Jedes Jahr veröffentlicht das privat finanzierte Hasso-Plattner-Institut eine Liste mit den beliebtesten Passwörtern der Deutschen. Und wie immer enthält auch die aktuelle Liste des Jahres 2022 erschreckend einfache Kennwörter:

1 123456
2 123456789
3 1Qaz2wsx3edc
4 12345
5 password
6 qwertz
7 ficken
8 12345678
9 passwort
10 Ebels123

Überraschend erscheint der dritte Eintrag, der auf den ersten Blick eine weitaus kompliziertere Struktur aufweist als die übrigen Top-10-Passwörter. Wenn man aber genauer hinschaut, lässt sich auch darin ein eindeutiges Muster erkennen: Denn es handelt sich um Buchstaben und Zahlen, die entlang einer Diagonalen auf der Computertastatur angeordnet sind: Von der Eins beginnend landet man auf Q, dann auf a und schließlich (bei einem englischen Tastatur-Layout) auf z. Dann springt man wieder nach oben zur Zwei und erreicht w, dann s und so weiter. Zugegeben, das ist zwar ausgeklügelter als »passwort« oder »123456« – wirklich sicher ist eine solche Wahl jedoch nicht.

Aber was macht ein gutes Passwort aus? Ein paar Faustregeln dazu kennen die meisten: Es sollte möglichst lang sein, Sonderzeichen enthalten und keinem einfachen Wort entsprechen. Zudem sollte man es regelmäßig ändern, für jedes Benutzerkonto ein anderes Kennwort wählen, außerdem sollte man es nicht niederschreiben. All diese Anforderungen gleichzeitig zu erfüllen, scheint so gut wie unmöglich. Und hat man einmal ein gutes Passwort gefunden, kann es sein, dass eine Website es nicht akzeptiert: Entweder es ist zu kurz, enthält ein nicht zulässiges Zeichen – oder es ist gar zu lang. Paypal lässt beispielsweise keine Kennwörter zu, die mehr als 20 Zeichen umfassen. Das macht die Passwortwahl für die meisten Nutzerinnen und Nutzer extrem frustrierend.

Viele Menschen denken, Mathematik sei kompliziert und öde. In dieser Serie möchten wir das widerlegen – und stellen unsere liebsten Gegenbeispiele vor: von schlechtem Wetter über magische Verdopplungen hin zu Steuertricks. Die Artikel können Sie hier lesen oder als Buch kaufen.

Für ihre Anforderungen an ein sicheres Kennwort stützen sich viele Internetanbieter auf die 2003 veröffentlichten Richtlinien der US-amerikanischen Bundesbehörde National Institute of Standards and Technology (kurz: NIST), in der zu Passwörtern mit einem möglichst großen Mix aus Sonderzeichen, Groß- und Kleinbuchstaben geraten wird. Dafür verantwortlich war der damalige Angestellte des NIST Bill Burr, der 2017 zu der IT-Nachrichtenseite ZDNET sagte, er bereue viele dieser Empfehlungen inzwischen. Denn der aufgezwungene Wechsel von Passwörtern und die Vorgabe, Sonderzeichen zu verwenden, führt laut Experten und Expertinnen oft dazu, dass Personen sich leicht zu merkende (und damit meist unsichere) Passwörter wählen, die einem bestimmten Schema oder Muster folgen. So ist »passwort1« nicht sicherer als »passwort«. Daher hat das NIST seine Richtlinie mittlerweile überarbeitet, doch nicht alle Anbieter sind dem gefolgt: Sehr häufig ist man gezwungen, Sonderzeichen, Zahlen und Groß- und Kleinbuchstaben in einem Kennwort zu verwenden.

Wie werden Passwörter geknackt?

Um zu beurteilen, wie man ein sicheres Passwort wählt, muss man verstehen, wie Hacker vorgehen. Die einfachste Methode besteht darin, systematisch alle möglichen Passwortkombinationen durchzuprobieren, was als Brute-Force-Angriff bekannt ist. Glücklicherweise ist es kaum noch möglich, sich auf diese Weise bei einem Onlineanbieter, etwa einem E-Mail-Dienstleister, einzuloggen. Denn die meisten Websites heutzutage haben einen integrierten Sicherheitsmechanismus, der bei mehrfachen falschen Eingaben weitere Login-Versuche unterdrücken. Entweder man muss dann seine Identität auf andere Weise bestätigen (etwa indem man auf einen Link in einer Mail klickt) oder man muss einige Minuten warten, bevor man sich wieder einloggen kann.

Deswegen werden solche Brute-Force-Angriffe meist bei »Offline-Attacken« durchgeführt: zum Beispiel, wenn es einem Hacker gelungen ist, eine Liste mit Login-Daten von einer Website zu stehlen. Fast alle Anbieter speichern die Anmeldedaten ihrer Nutzer nicht im Klartext, sondern verschlüsseln die Passwörter. Der Angreifer erhält daher nur eine Liste mit Nutzernamen und einer chiffrierten Zeichenfolge, mit denen man sich nicht auf der Website einloggen kann. Doch mit ein paar Tricks kann ein Hacker trotzdem an die Kennwörter herankommen.

Sehr viele Anbieter verwenden so genannte Hash-Funktionen, um die Zugangsdaten ihrer Nutzerinnen und Nutzer zu verschlüsseln. Diese Funktionen wandeln eine Zeichenfolge beliebiger Länge (etwa ein Kennwort) in einen Code (»Hash«) mit einer festen Länge um, beispielsweise 32 Zeichen. Das Besondere an Hash-Funktionen: Sie sind praktisch unumkehrbar. Es ist zwar einfach, den Hash zu einer beliebigen Eingabe zu berechnen (zumindest für einen Computer), aber quasi unmöglich, aus dem Hash die ursprüngliche Eingabe zu erhalten. Wenn sich also ein Nutzer auf einer Website einloggt, tippt er das Passwort ein, woraufhin die Website daraus den Hash berechnet und diesen mit den gespeicherten Nutzerdaten (Nutzername, Hash des Passworts) abgleicht. Somit bleiben die Kennwörter der Nutzer geschützt.

Beispiel für eine Hash-Funktion

1993 veröffentlichte das NIST den »Secure Hash Algorithm 1« (kurz: SHA-1) als standardisierte Hash-Funktion, um digitale Daten zu verschlüsseln. Seit 2005 ist jedoch bekannt, dass Supercomputer diese Funktionen in annehmbarer Zeit knacken können, also die Eingabe aus dem Hash zurückrechnen. Deswegen empfehlen das NIST und das deutsche Äquivalent BSI (Bundesamt für Sicherheit in der Informationstechnik) inzwischen SHA-2 oder SHA-3-Hash-Funktionen. Dennoch verwenden viele Anbieter noch immer SHA-1, um Nutzerdaten zu verschlüsseln. Um das Passwort »abc« mit SHA-1 verschlüsseln, sind folgende Schritte nötig:

  1. Zunächst muss man »abc« in den entsprechenden Binärcode überführen: 01100001 01100010 01100011.
  2. Dann fügt man eine weitere 1 ans Ende der Zeichenfolge und füllt das Ergebnis mit so vielen Nullen auf, bis die Zeichenkette 448 Bit lang ist (also aus 448 Zeichen besteht).
  3. Nach dieser Nullerfolge füllt man weitere 64 Bit (also 64 Binärstellen) auf, in denen die Bit-Länge des ursprünglichen Passworts steht. In unserem Beispiel besteht »abc« in Binärdarstellung aus 24 Bit lang, also hängt man 000…01100 an die Nullerfolge an. Die gesamte Zeichenfolge ist nun 512 Bit lang.
  4. Die Folge unterteilt man nun in 16 Abschnitte W0, W1, …, W15, die jeweils 32 Bit lang sind.
  5. Dann folgen 80 Rechenschritte, bei denen je mehrere Kombinationen von Wi miteinander addiert werden (wobei 1 + 1 = 0 ergibt). Dadurch erhält man neue binäre 32-Bit-Folgen W1, …, W79. Das Ergebnis strukturiert man anschließend so um, dass das letzte Bit der 32-Bit-Folge an die erste Stelle nach vorne geschrieben wird und die letzte Stelle dafür gestrichen: Aus 100011 würde also 110001.
  6. Nun definiert man fünf zufällige binäre Zahlenfolgen, die in weiteren 80 Schritten mit den zuvor modifizierten Abschnitten Wiauf verschiedene Weisen verknüpft werden. Am Ende dieses Prozesses erhält man vier Werte, die jeweils 40 Bit lang sind.
  7. Die binäre Darstellung der vier Werte wird umstrukturiert, indem man mehrmals hintereinander die letzte binäre Stelle an die erste verschiebt. Dann überführt man die Zahlenfolge aus Nullen und Einsen in eine Hexadezimaldarstellung (bestehend aus den Zahlen 0 bis 9 und den Buchstaben a bis f) und reiht sie hintereinander an. Aus »abc« wird somit der Hash: a9993e364706816aba3e25717850c26c9cd0d89d.

Wenn ein Angreifer eine Liste mit Nutzerdaten und zugehörigen Hashes erbeuten konnte, gibt es allerdings weiterhin die Möglichkeit eines Brute-Force-Angriffs: Man kann einen Computer verschiedene Passwörter erstellen lassen und diese durch bekannte Hash-Funktionen in chiffrierte Werte umwandeln. Diese kann man dann mit den Hashes in der erbeuteten Liste vergleichen. Wenn es Übereinstimmungen gibt, dann hat man höchstwahrscheinlich das dazugehörige Passwort gefunden. (Nur höchstwahrscheinlich, da Hash-Funktionen für unterschiedliche Eingaben denselben Hash liefern können – das ist aber sehr unwahrscheinlich). Ein Angreifer kann sich dafür so viel Zeit lassen, wie er möchte, da die Liste in seinem Besitz ist und er damit offline arbeiten kann.

Ein Hacker hat dann die Wahl, ob er viel Rechenaufwand oder Computerspeicher aufwenden soll, um die Hashes zu knacken. Im ersten Fall arbeitet man sich von Nutzer zu Nutzer durch und probiert jeweils alle möglichen Passwortkombinationen durch, für die man Hashes generiert und mit dem entsprechenden Hash des Nutzers vergleicht. Im zweiten Fall erzeugt man im Voraus die Hashes zu allen möglichen Passwörtern und speichert sie in einer riesigen Tabelle, die man mit den Nutzerdaten abgleichen kann. Beide Fälle sorgen für Schwierigkeiten: Man braucht entweder extrem leistungsfähige Rechner oder riesige Mengen an Speicherplatz.

Clevere Tricks lassen Angreifer selbst komplexe Passwörter knacken

Regenbogentabellen bieten eine Kompromisslösung. Im Grunde bieten sie eine Möglichkeit, Passwörter und die dazugehörigen Hashes zu gruppieren, so dass man weniger Inhalte speichern muss. Um aus der Tabelle die gewünschten Inhalte zu extrahieren, braucht man zwar etwas Rechenaufwand, aber deutlich weniger, als wenn man die Hashes für jeden Nutzer einzeln berechnen würde. Die Idee dahinter ist folgende: Hat man aus einem möglichen Passwort (etwa »passwort«) einen Hash berechnet (zum Beispiel 920ECF10), dann kann man diesen über eine Funktion f wieder in die Darstellung eines möglichen Passworts überführen: f(920ECF10) = kjhsedn. Dieses neue Passwort »kjhsedn« ordnet man derselben Gruppe zu wie »passwort«. Dann berechnet man den Hash von »kjhsedn« (beispielsweise FB107E70) und wendet wieder f darauf an, woraus sich ein neues mögliches Kennwort ergibt, das man der gleichen Gruppe zuordnet. Das wiederholt man n-mal (n sollte möglichst groß sein) und erhält damit eine Gruppe mit n möglichen Kennwörtern. Dann wählt man ein noch nicht zugeordnetes Passwort und erstellt auf gleiche Weise eine neue Gruppe mit n Inhalten. Das wiederholt man so lange, bis man alle Passwortmöglichkeiten, die man betrachten möchte (etwa aus acht Kleinbuchstaben), abgedeckt hat. In der Regenbogentabelle speichert man dann bloß das Anfangskennwort (in unserem Beispiel: »passwort«) und den Hash des n-ten daraus generierten Passworts. Die Regenbogentabelle ist damit deutlich kleiner, als wenn man die Hashes zu allen Passwortkombinationen abspeichern würde.

Regenbogentabelle | Zu einem Kennwort (etwa »wikipedia«) berechnet man über eine Hash-Funktion H den zugehörigen Hash, den man dann durch eine Funktion R wieder in eine Zeichenfolge umwandelt, die einem Passwort entspricht.

Wenn man nun einen Hash aus einer gestohlenen Liste knacken möchte, muss man ein wenig rechnen: Mit f wandelt man den Hash in eine Passwort-Zeichenfolge um und kann daraus wieder einen Hash berechnen, bis man irgendwann auf einen Hash in der Regenbogentabelle landet. Dann weiß man, zu welcher Gruppe das gestohlene Kennwort gehört. Indem man die Hashes zu allen Zeichenkombinationen in dieser Gruppe berechnet, findet man irgendwann das zugehörige Passwort. Damit ist der Rechenaufwand deutlich niedriger, als wenn man zu allen Zeichenfolgen die zugehörigen Hashes berechnet.

Um solche Angriffe abzuwehren, versetzen viele Webseiten die Eingabe der Hash-Funktionen mit einem »Salt«. Dabei handelt es sich um eine zufällige Zeichenfolge, die dem Passwort einer Person hinzugefügt wird, bevor man daraus den Hash bildet. Alle Nutzerinnen und Nutzer erhalten einen unterschiedlichen Salt, der in der Zugangsdatenliste gespeichert wird. Ein Hacker erhält durch den Diebstahl der Nutzerdaten also auch die zugehörigen Salts, dennoch wird das Knacken der Passwörter dadurch erheblich erschwert: Anstatt Hashes für alle möglichen Passwörter zu erstellen und diese mit der Liste abzugleichen, muss ein Angreifer zwangsweise jeden Nutzer einzeln durchgehen. Denn er muss jedem möglichen Passwort den nutzerspezifischen Salt hinzufügen, um daraus den Hash zu berechnen. Damit wird auch die Anwendung einer Regenbogentabelle unterbunden. Die Einführung eines Salts erhöht die Rechenzeit für einen Brute-Force-Angriff um ein Vielfaches.

Mehr Sonderzeichen machen ein Passwort nicht immer sicherer

Auch wenn Brute-Force-Angriffe nicht wirklich effizient sind, stellen sie für heutige Rechner kein großes Problem dar. Denn die Computer können teilweise Millionen Passwörter pro Sekunde berechnen. Hat man sich für ein sechsstelliges Wort (etwa »qwertz«) entschieden, das nur aus Kleinbuchstaben besteht, muss der Computer 266 = 308 915 776 Kombinationen prüfen (für jede der sechs Stellen gibt es 26 Möglichkeiten). Das heißt, ein Computer müsste nur ein paar Sekunden rechnen, um das Passwort zu erraten.

Indem man ein längeres Kennwort wählt und die Auswahl an Zeichen erweitert, wächst auch der Raum aller möglichen Passwortkombinationen rasant an. Bei einer achtstelligen Kombination aus 26 Groß-, 26 Kleinbuchstaben, 10 Zahlen und 32 Sonderzeichen (etwa »p4$sW0Rt«) muss ein Hacker nun einen Raum mit (26 + 26 + 10 + 32)8 = 6,09·1015 möglichen Kombinationen durchforsten – also etwa 20 Millionen Mal mehr Möglichkeiten als im Fall von »qwertz« prüfen, was theoretisch 20 Millionen Mal so lange dauert.

Daher klassifizieren Fachleute die Sicherheit von Passwörtern anhand der Größe des Raums, der die gewählte Zeichenkombination enthält. Und da es sich dabei um einen Teilbereich der Informatik handelt, betrachtet man nicht die Größe des Raums in Dezimaldarstellung (»Der Raum enthält Billiarden von Kombinationen«), sondern in binärer Schreibweise, die nur aus Nullen und Einsen besteht (»Die Größe des Raum enthält eine Kombination aus 32 Einsen und Nullen«). Man spricht dabei von der Entropie eines Passworts und bemisst diese mit der Einheit »Bit«. Eine vierstellige PIN ist beispielsweise in einem Raum der Größe 104 enthalten, was in Binärdarstellung 10011100010000 entspricht – damit beträgt die Entropie 14 Bit. Den Zusammenhang zwischen einer Zahl N in Dezimaldarstellung und ihrer Entropie (binäre Länge) ist gegeben durch den ganzzahligen Anteil von log2N plus eins. Damit hat »qwertz« eine Entropie von log2(308 915 776) ≈ 28,8, also 29 Bit. »p4$sW0Rt« hat hingegen eine Entropie von log2(6,09·1015) ≈ 52,4, also 53 Bit.

»Wenn man ein E durch eine 3 ersetzt, sollte man nicht davon ausgehen, dass das besonders clever ist – denn das ist es nicht«Mike Pound, Informatiker

Doch es genügt nicht, bloß auf eine hohe Entropie zu achten. Denn Passwörter wie »p4$sW0Rt« oder »qwertz« haben in der Praxis eine deutlich schlechtere Entropie als die theoretisch berechnete. Das liegt daran, dass Hacker meist keine reinen Brute-Force-Angriffe ausführen, sondern »Wörterbücher« nutzen. Diese enthalten nicht nur gängige Wörter einer Sprache, sondern auch Datensätze mit beliebten Passwortkombinationen, die von gestohlenen Daten stammen. Solche Listen hat das Hasso-Plattner-Institut genutzt, um die beliebtesten Passwörter eines Jahres zu ermitteln. Inzwischen gibt es zahlreiche einfach zugängliche Programme wie »John the Ripper«, um solche Wörterbuchangriffe auszuführen.

Hacker kombinieren dabei gängige Namen und Wörter mit Zeichen- und Zahlenfolgen – und nehmen beliebte Ersetzungen vor, etwa ein A in eine 4 umzuwandeln. »Wenn man ein E durch eine 3 ersetzt (…), sollte man nicht davon ausgehen, dass das besonders clever ist – denn das ist es nicht«, sagt der Informatiker Mike Pound in einem Video der Youtube-Kanals »Computerphile«. Diese Art der Ersetzungen können Angreifer und Angreiferinnen durch die verfügbare Computerleistung einfach abdecken.

Den besten Schutz bieten Passwortmanager

Aber wie sieht das sicherste Kennwort aus? Um die volle Entropie auszuschöpfen, sollte man eine zufällige Zeichenfolge aus dem Raum aller Möglichkeiten wählen. Bei einem achtstelligen Kennwort mit Sonderzeichen, Zahlen sowie Klein- und Großbuchstaben könnte eine solche Wahl »MA9^Wc7f« sein. Es wird jedoch schwer, sich ein solches Kennwort zu merken – insbesondere, wenn man für jedes Nutzerkonto ein anderes Passwort wählen soll.

Eine Lösung zu diesem Problem bieten Passwortmanager: Dabei handelt es sich um Programme, die zufällige Zeichenfolgen generieren und die Kennwörter einer Person verwalten. Natürlich sollte man bei der Wahl des Anbieters besonders vorsichtig sein und sicherstellen, welche Sicherheitsmechanismen verwendet werden: Wie werden die Kennwörter verschlüsselt? Wie gut ist der Zufallsgenerator, den das Programm verwendet?

Hat man einen vertrauenswürdigen Anbieter gefunden, muss man sich dennoch ein »Master-Passwort« merken. Denn mit diesem verschafft man sich Zugang zu allen Login-Daten. Ein sicheres Kennwort ist also immer noch nötig – allerdings nur ein einziges. Dieses sollte man sich gut merken können, um jederzeit auf den Passwortmanager zugreifen zu können und damit Zugang zu seinen Accounts zu haben. Eine beliebte Strategie ist die »Correct-horse-battery-staple«-Methode: Man wählt eine Folge von vier bis fünf Wörtern, die man durch ein Sonderzeichen trennt. Durch die vielen Zeichen ist die Entropie ziemlich groß – vor allem, wenn man sich beispielsweise dafür entscheidet, mitten in einem Wort ein weiteres Sonderzeichen zu packen, etwa: »bat%tery«. Damit verhindert man direkte Wörterbuchattacken.

Die Sicherheit des Kennworts erhöht sich, wenn man die Wörter willkürlich wählt. Um das zu tun, kann man beispielsweise die »Diceware-Methode« nutzen: Man würfelt einen Würfel fünfmal hintereinander und erhält dadurch fünf Zahlen von 1 bis 6. Dann schlägt man in einer Diceware-Wortliste das dazugehörige Wort nach. Die Liste enthält mehrere tausend Wörter, die durch fünf Würfelzahlen zwischen 1 und 6 nummeriert sind. Auf diese Weise erhält man ein gut zu merkendes Kennwort, das weder direkt durch einen Wörterbuch- noch durch einen Brute-Force-Angriff geknackt werden kann.

Das Ende der Passwörter?

Inzwischen gibt es immer mehr Bestrebungen, Passwörter ganz loszuwerden. Das wird zwar schon seit mehreren Jahren immer wieder thematisiert, doch im Mai 2023 hat der Tech-Gigant Google den ersten Schritt gemacht: Nun gibt es die Möglichkeit, sich mit Passkeys einzuloggen, die beispielsweise bloß biometrische Daten erfordern. Eine andere Möglichkeit besteht darin, einen Code auf ein authentifiziertes Gerät (etwa per SMS auf ein Handy) zu erhalten und diesen dann auf der Website einzutippen. Die nutzerspezifischen Daten (zum Beispiel die biometrischen Merkmale) werden auf dem Gerät des Nutzers lokal gespeichert – damit haben Anbieter wie Google keinen direkten Zugang dazu. Auch Microsoft, Apple und andere große Unternehmen haben 2022 angekündigt, sich um sichere passwortlose Alternativen zu bemühen.

Doch bis es so weit ist, dass wir uns keine Kennwörter mehr merken müssen (falls die Zeit jemals kommt), bieten Passwortmanager wohl den größten Schutz. Denn auch wenn Sie ein ausgeklügeltes System haben, aus dem sich ein unterschiedliches Passwort für jedes Nutzerkonto ergibt: Allein die Tatsache, dass Sie sich ein solches Muster merken können, bedeutet, dass es höchstwahrscheinlich nicht ausgeklügelt genug ist.

​​Was ist euer Lieblingsmathetheorem? Schreibt es gerne in die Kommentare – und vielleicht ist es schon bald das Thema dieser Kolumne!

WEITERLESEN MIT »SPEKTRUM +«

Im Abo erhalten Sie exklusiven Zugang zu allen Premiumartikeln von »spektrum.de« sowie »Spektrum - Die Woche« als PDF- und App-Ausgabe. Testen Sie 30 Tage uneingeschränkten Zugang zu »Spektrum+« gratis:

Jetzt testen

(Sie müssen Javascript erlauben, um nach der Anmeldung auf diesen Artikel zugreifen zu können)

Schreiben Sie uns!

2 Beiträge anzeigen

Wir freuen uns über Ihre Beiträge zu unseren Artikeln und wünschen Ihnen viel Spaß beim Gedankenaustausch auf unseren Seiten! Bitte beachten Sie dabei unsere Kommentarrichtlinien.

Tragen Sie bitte nur Relevantes zum Thema des jeweiligen Artikels vor, und wahren Sie einen respektvollen Umgangston. Die Redaktion behält sich vor, Zuschriften nicht zu veröffentlichen und Ihre Kommentare redaktionell zu bearbeiten. Die Zuschriften können daher leider nicht immer sofort veröffentlicht werden. Bitte geben Sie einen Namen an und Ihren Zuschriften stets eine aussagekräftige Überschrift, damit bei Onlinediskussionen andere Teilnehmende sich leichter auf Ihre Beiträge beziehen können. Ausgewählte Zuschriften können ohne separate Rücksprache auch in unseren gedruckten und digitalen Magazinen veröffentlicht werden. Vielen Dank!

Partnerinhalte

Bitte erlauben Sie Javascript, um die volle Funktionalität von Spektrum.de zu erhalten.