FlowingDev

Passwortstärke erklärt: Die geheime Zutat deines Geheimnisses ist... Mathe

Erfahre, wie Passwortstärke mit Entropie gemessen wird – einem Konzept aus der Informationstheorie, das Unvorhersehbarkeit quantifiziert und die Knackzeit schätzt.

Tool ausprobieren: Passwortstärke

In einem Satz

Passwortstärke misst, wie viel Rateaufwand (oder „Entropie“) ein Angreifer benötigt, um dein Geheimnis zu knacken, und übersetzt diesen rohen Rechenaufwand in eine für Menschen verständliche Zeitschätzung.

Welches Problem es löst

Am Anfang waren die Computer, und sie hatten Daten, und es war gut. Aber dann wollten andere Leute diese Daten sehen, also erfanden wir das Passwort. Am Anfang war alles einfach. root, admin, guest. Es ging weniger um Sicherheit als um eine simple Zugangskontrolle, wie ein Aktenschrank mit einem mickrigen Schloss.

Dann kam das Internet. Plötzlich standen diese Computer nicht mehr nur in einem abgeschlossenen Raum; sie waren mit jedem anderen Computer auf dem Planeten verbunden. Das mickrige Schloss bewachte nun die Haustür zu deinem digitalen Leben, und Angreifer wurden sehr gut darin, es zu knacken.

Zuerst kam der Brute-Force-Angriff: das Ausprobieren jeder einzelnen Kombination. 'a', 'b', 'c', ... 'aa', 'ab', ... und so weiter. Das funktioniert, ist aber langsam. Also wurden die Angreifer schlauer. Sie erkannten, dass Menschen faul und vorhersehbar sind. Das führte zum Dictionary Attack (Wörterbuchangriff): Anstatt axfsvj zu probieren, warum nicht password, sunshine oder 123456? Es war erschreckend effektiv.

Systemadministratoren schlugen mit Richtlinien zurück: „Dein Passwort muss 8 Zeichen lang sein und eine Zahl sowie einen Großbuchstaben enthalten!“ Die Benutzer, stets kreative Regelbefolger, antworteten mit Password1, Password2 und dem zeitlosen Klassiker P@$$w0rd1. Die Komplexitätsregeln schufen ein falsches Gefühl der Sicherheit.

Wir brauchten eine bessere Methode, um die Qualität eines Passworts zu messen. Nicht durch das Abhaken von Kästchen für Zeichentypen, sondern durch die Messung seiner wahren, unvorhersehbaren Zufälligkeit. Wir brauchten einen Weg, um „schwer zu erraten“ zu quantifizieren. Hier kommt das Konzept der Passwortstärke ins Spiel, das im mathematischen Feld der Informationstheorie verwurzelt ist. Es liefert eine formale Metrik – die Entropie –, um abzuschätzen, wie lange ein Passwort dem Ansturm eines entschlossenen Angreifers mit einem Supercomputer standhalten kann.

Wie es unter der Haube funktioniert

Im Kern ist die Schätzung der Passwortstärke ein Zahlenspiel. Wir versuchen, die Größe des Heuhaufens zu berechnen, den ein Angreifer durchsuchen muss, um deine eine Nadel von einem Passwort zu finden.

### Entropie: Die magische Zahl

Die Maßeinheit für Passwortstärke ist die Entropie, gemessen in „Bits“. In der Informationstheorie ist Entropie ein Maß für Unsicherheit oder Zufälligkeit. Bei Passwörtern quantifiziert sie, wie unvorhersehbar dein Passwort ist.

Die Grundformel ist wunderbar einfach:

Entropie = log₂(Suchraum)

Der „Suchraum“ ist die Gesamtzahl möglicher Passwörter bei einem bestimmten Regelsatz. Für ein einfaches, zufällig generiertes Passwort wird der Suchraum wie folgt berechnet:

Suchraum = N ^ L

Wobei:

  • N die Anzahl der möglichen Zeichen im Zeichensatz ist (der Pool an Symbolen, aus dem du wählen kannst).
  • L die Länge des Passworts ist.

Setzen wir das wieder in die Hauptformel ein: Entropie = log₂(N ^ L), was sich zu Entropie = L * log₂(N) vereinfacht.

Einige gängige Zeichensatzgrößen (N):

  • Nur Zahlen (0-9): N = 10
  • Englische Kleinbuchstaben (a-z): N = 26
  • Englische Groß- und Kleinbuchstaben (a-z, A-Z): N = 52
  • Alphanumerisch mit Groß-/Kleinschreibung (a-z, A-Z, 0-9): N = 62
  • Alle Symbole einer ASCII-Tastatur: N ≈ 95

Für ein 8-stelliges Passwort, das nur Kleinbuchstaben verwendet, beträgt die Entropie also 8 * log₂(26), was ungefähr 8 * 4,7 = 37,6 Bits entspricht.

Was bedeutet „37,6 Bits“ eigentlich? Jedes Bit an Entropie verdoppelt den Suchraum. Ein Passwort mit 38 Bits Entropie ist also doppelt so schwer zu knacken wie eines mit 37 Bits. Dieses exponentielle Wachstum ist der Grund, warum das Hinzufügen von nur ein oder zwei zufälligen Zeichen die Stärke drastisch erhöhen kann.

### Von der Entropie zur Knackzeit

Bits sind super für Computer, aber Menschen denken in Minuten, Jahren und Äonen. Um eine Schätzung der Knackzeit zu erhalten, brauchen wir eine weitere Zutat: die Rate-Geschwindigkeit des Angreifers.

Diese ist sehr variabel. Ein Online-Angriff (Raten gegen ein Live-Login-Formular) könnte auf 10 Versuche pro Sekunde gedrosselt sein. Ein realistischeres Szenario ist jedoch ein Offline-Angriff, bei dem der Angreifer eine Datenbank mit Passwort-Hashes gestohlen hat. Mit modernen GPUs können sie Milliarden oder sogar Billionen von Hashes pro Sekunde durchführen.

Nehmen wir an, ein leistungsstarker Angreifer kann 10 Milliarden (10¹⁰) Rateversuche pro Sekunde durchführen. Die Anzahl der Versuche, die erforderlich ist, um einen Fund zu garantieren, beträgt 2^Entropie. Im Durchschnitt wird er es auf halbem Weg finden, also können wir die Zeit schätzen:

Knackzeit = (2^Entropie / 2) / RateversucheProSekunde

So schnell eskalieren die Dinge:

Entropie (Bits) Gesamte Rateversuche Durchschn. Knackzeit bei 10¹⁰ H/s Sicherheitslevel
30 ~1 Milliarde < 0,1 Sekunden Trivial
40 ~1 Billion ~1 Minute Sehr schwach
50 ~1 Billiarde ~15 Stunden Schwach
60 ~1 Trillion ~1,8 Jahre Mittel
70 ~1 Trilliarde ~1.800 Jahre Stark
80 ~1 Quadrillion > Alter des Universums Sehr stark

Diese Tabelle zeigt, warum schon ein paar zusätzliche Bits Entropie einen gewaltigen Unterschied machen.

### Jenseits von Brute Force: Das Muster-Problem

Die einfache Formel L * log₂(N) hat einen riesigen Haken: Sie geht davon aus, dass jedes Zeichen mit perfekter Zufälligkeit gewählt wird. Menschen funktionieren nicht so. Wir verwenden Wörter, Daten und vorhersagbare Ersetzungen. P@$$w0rd1 ist keine zufällige Sequenz von 9 ASCII-Zeichen.

Hier werden moderne Passwortstärkeschätzer richtig clever. Die besten, wie die berühmte zxcvbn-Bibliothek von Dropbox, berechnen nicht nur die naive Entropie. Sie agieren wie ein Angreifer und versuchen, den „billigsten“ Weg zu finden, um dein Passwort zu konstruieren.

  1. Zerlegung (Chunking): Sie zerlegen das Passwort in Teile. Tr0ub4dor&3! wird zu Tr0ub4dor, &, 3, !.
  2. Mustererkennung: Sie analysieren jeden Teil auf verschiedene Muster:
    • Wörterbuchwörter: Ist troubador in einem englischen Wörterbuch? (Ja). Ist es gebräuchlich? (Ja).
    • Häufige Ersetzungen: Sieht Tr0ub4dor aus wie troubador mit o -> 0 und a -> 4? (Ja).
    • Tastaturmuster: Ist es eine Sequenz wie qwerty oder asdfg?
    • Datumsangaben: Sieht es aus wie 1999 oder 2024?
    • Wiederholte Zeichen: Ist es etwas wie aaaaaa?
  3. Kostenanalyse: Sie berechnen die Entropie für jeden Teil basierend auf seinem Muster. Ein gebräuchliches Wörterbuchwort hat eine viel geringere Entropie als eine zufällige Zeichenfolge gleicher Länge. Die Entropie von password ist nicht 8 * log₂(52); sie liegt näher an log₂(20000), da es ein Rateversuch aus einer Liste gängiger Passwörter ist.
  4. Summierung: Sie addieren die Entropie der „billigsten“ Teile, um eine realistische, kampferprobte Stärkeschätzung zu erhalten. Deshalb schneidet correct-horse-battery-staple viel besser ab als Tr0ub4dor&3, obwohl letzteres „komplexer“ aussieht.

Geschichten aus der Praxis

### Die Unternehmensrichtlinie, die nach hinten losging

Eine mittelständische Tech-Firma führte eine strenge neue Passwortrichtlinie ein: mindestens 10 Zeichen, ein Großbuchstabe, eine Zahl, ein Symbol. Das Ziel war, Passwörter mit hoher Entropie zu erzwingen. Was sie bekamen, war eine Belegschaft, die Passwörter wie Sommer2024!, Herbst2024! und Winter2025! erstellte. Ein naiver Stärkemesser würde diesen eine anständige Bewertung geben. Aber als ein Angreifer einen unkritischen Account kompromittierte und das Muster lernte, musste er nichts mehr per Brute-Force knacken. Er schrieb einfach ein Skript, um jede Jahreszeiten- und Jahreskombination auszuprobieren, und erlangte schnell Zugriff auf Dutzende von Konten.

Lektion: Erzwungene Komplexität erzeugt oft vorhersagbare Muster. Ein guter Stärkemesser sollte diese gängigen Schemata erkennen und bestrafen.

### Die XKCD 'Correct Horse Battery Staple'-Erleuchtung

Der Webcomic XKCD veröffentlichte einen mittlerweile legendären Comic-Strip, der die Passwortstärke illustriert. Er verglich Tr0ub4dor&3, ein typisches „komplexes“ Passwort, mit correct horse battery staple, einer Passphrase aus vier gewöhnlichen, aber zufälligen Wörtern. Während Tr0ub4dor&3 für einen Menschen schwer zu merken ist, verleiht ihm seine Mischung aus Ersetzungen und Mustern eine berechenbare Entropie, die ein engagierter Cracker in Tagen durchkauen könnte. Die Vier-Wort-Passphrase ist jedoch für einen Menschen leicht zu merken. Angenommen, es gibt ein Wörterbuch mit 2048 gebräuchlichen Wörtern, beträgt ihre Entropie log₂(2048^4), was 4 * 11 = 44 Bits an sinnvoller Entropie sind. Um sie Zeichen für Zeichen per Brute-Force zu knacken, steht ein Angreifer vor einer 28-stelligen Zeichenfolge – eine unmögliche Aufgabe.

Lektion: Länge ist oft eine mächtigere und benutzerfreundlichere Verteidigung als auf Symbolen basierende Komplexität. Passphrasen sind dein Freund.

### Das ‚zufällige‘ Passwort, das es nicht war

Ein Entwickler sollte ein System erstellen, das sichere, zufällige Anfangspasswörter für neue Benutzer generiert. Er verwendete die standardmäßige random()-Funktion seiner Programmiersprache in einem einfachen Skript. Die Passwörter sahen super aus: j8sL2!kP. Was der Entwickler nicht wusste, war, dass die Standard-random()-Funktion ein Pseudorandom Number Generator (PRNG) war, der mit der Systemzeit als Seed initialisiert wurde. Ein Angreifer, der nur eines dieser Passwörter und dessen Erstellungszeitstempel (z. B. aus einer E-Mail) in die Hände bekam, konnte den Seed herausfinden. Er konnte dann die gesamte Sequenz der „zufälligen“ Passwörter für jeden Benutzer regenerieren, der ungefähr zur gleichen Zeit erstellt wurde.

Lektion: Die Quelle der Zufälligkeit ist enorm wichtig. Für alles, was mit Sicherheit zu tun hat, verwende immer einen kryptografisch sicheren Pseudozufallszahlengenerator (CSPRNG), wie window.crypto.getRandomValues() im Browser oder /dev/urandom unter Linux.

Häufige Fehler und Fallen

  • Komplexität mit Stärke verwechseln. P@$$w0rd! sieht komplex aus, ist aber ein weltweit bekanntes schlechtes Passwort. vier zufaellige woerter aneinander ist konzeptionell einfach, aber in der Praxis weitaus stärker, weil es keine vorhersagbaren Muster aufweist und viel länger ist.
  • Dem ‚grünen Balken‘ blind vertrauen. Viele Stärkemesser im Web sind gefährlich naiv. Sie führen eine simple Länge * Zeichensatz-Berechnung durch und prüfen nicht auf Wörterbücher, Muster oder öffentliche Datenlecks. Eine „starke“ Bewertung von einem schwachen Messer ist eine Lüge.
  • Den Offline-Angriffsvektor ignorieren. Miss die Stärke deines Passworts nicht an einem Anmeldeformular, das dich nach drei Versuchen sperrt. Geh davon aus, dass der Angreifer deinen gehashten Passwort hat und es mit einem Rack voller GPUs in seinem Keller bombardiert. Plane immer für das Worst-Case-Szenario.
  • Passwörter wiederverwenden. Das brillanteste Passwort mit 128-Bit-Entropie wird wertlos, sobald es bei einem Datenleck einer anderen Website offengelegt wird. Ein Angreifer wird es nicht knacken; er wird es einfach auf einer Liste nachschlagen und direkt reinspazieren.
  • Denken, dass kurz okay ist, solange es zufällig ist. Ein wirklich zufälliges 8-stelliges Passwort mit allen Tastatursymbolen hat eine anständige Entropie (~53 Bits). Aber „anständig“ ist nicht mehr das, was es einmal war. Angesichts der fallenden Kosten für Rechenleistung könnte es in wenigen Wochen oder Monaten geknackt werden. Länge bietet einen viel komfortableren Sicherheitsspielraum.

Warum du es auf dem Schirm haben solltest

Das Verständnis von Passwortstärke ist nicht nur etwas für Sicherheitsexperten.

Als Entwickler bist du an vorderster Front, wenn du irgendeine Art von Authentifizierung baust. Anstatt willkürliche Regeln durchzusetzen (muss einen Buchstaben aus dem kyrillischen Alphabet enthalten, der nur an Dienstagen gesprochen wird), solltest du Benutzer zu dem führen, was wirklich funktioniert: Länge und Unvorhersehbarkeit. Die Integration eines intelligenten Stärkeschätzers kann Echtzeit-Feedback geben, das den Benutzern wirklich hilft, und das Wissen um die Prinzipien ermöglicht es dir, bessere Architekturentscheidungen zu treffen (wie die Wahl eines langsamen, teuren Hashing-Algorithmus wie Argon2).

Als Benutzer verwandelt dich dieses Wissen von einem passiven Regelbefolger in einen aktiven Verteidiger deiner eigenen Daten. Es gibt dir die Intuition, Geheimnisse zu schaffen, die sowohl für dich einprägsam als auch für sie unmöglich schwer zu knacken sind. Es ist das theoretische Fundament für deine gesamte digitale Sicherheitslage.

Tauche tiefer ein

  • NIST Special Publication 800-63B - Die offiziellen (und überraschend lesbaren) Richtlinien des US National Institute of Standards and Technology zur digitalen Identität, einschließlich Passwortrichtlinien.
  • Passwortstärke auf Wikipedia - Ein umfassender Überblick über die Konzepte, Formeln und die Geschichte.
  • Entropie (Informationstheorie) auf Wikipedia - Für einen tieferen Einblick in die mathematischen Grundlagen des Ganzen.
  • XKCD 936: Password Strength - Der Original-Comic, der die Art und Weise verändert hat, wie viele Leute über das Erstellen sicherer, einprägsamer Passwörter denken.
  • zxcvbn-ts GitHub Repository - Die moderne TypeScript-Implementierung von Dropbox' wegweisendem zxcvbn-Passwortstärkeschätzer. Das Durchlesen der Logik ist eine Meisterklasse in realer Sicherheitsanalyse.

Theorie erledigt. Zeit, loszulegen — 100 % in deinem Browser.

Tool ausprobieren: Passwortstärke