Ich find das echt interessant, was hier so überlegt wird!
Deswegen spiele ich jetzt mal Ketzer und sage: Die Beschaffenheit des einzelnen Passworts ist Völlig. Scheiss. Egal. 💩
Warum?
- so gut wie niemand "erbeutet" sich "zufällig" irgendwelche Passwörter, sondern Hashes
- wenn tatsächlich ein Passwort erbeutet wird, dann über social engineering und dann ist es wurst wie simpel oder komplex es ist.
Das
eigentliche Problem hat
@AI-Nadja bereits vorsichtig angerissen: Nicht das einzelne Passwort ist das Problem, sondern wie hoch die Kollisionswahrscheinlichkeiten sind dafür, daß aus einem theoretisch unendlich großen Pool von möglichen Passwörtern... es doch Situationen gibt, wo Häufungen auftreten, eben WEIL z.B. zunächst erstmal das Geburtsdatum verwendet wird oder halt eben logische Kombinationen die man direkt vor die Nase gesetzt bekommt. Wie QUERTZ -- kein besonderes "Wort", aber ist jetzt nicht schwer herauszufinden wie man auf exakt diese Zeichenkombination kommt.
Würde(tm) jeder Erdenbürger solche Passwörter haben, die sich von denen aller anderen unterscheiden, lies: wenn es keine besonderen Häufungspunkte geben würde, dann hätten wir nicht die Frage zu stellen nach "gutem" oder "schlechten" Passwörtern.
DIE gibt es objektiv nämlich nicht.
Stattdessen... haben wir ganz einfach das Problem der VERARBEITUNG derselben.
1. Passwort über HTTP-ohne-S verschickt? Kann als kompromittiert verstanden werden.
2. Passwort im Klartext oder MD5 oä gespeichert? Das liegt nicht in unserer eigenen Hand, kann aber geausogut als"kompromittiert" verstanden werden.
3. bedenkenlos überall mein Passwort eingeben? Kompromittiert.
4. Konkret zB in einer SSO-Domain mein Paßwort angegeben? Da laufe ich zumindest Gefahr, wenn der Domain-Admin nicht aufpaßt oder es ihm schlicht egal ist, daß meine Credentials dann irgendwo landen => kompromittiert.
Und so weiter.
Der potentielle Angreifer interessiert sich erst einmal exakt NULL für das konkret verwendete Paßwort. Warum sollte er? Ziel ist, an Daten zu kommen und/oder einen Fuß in die Tür für relevantere Dinge zu kriegen. Ja, wenn er über das konkrete Passwort verfügen WÜRDE, dann hätte er kein Problem mehr.... hat er aber erstmal nicht, auch wenn er natürlich so tun kann als wäre er ein Bekannter und dann einfach danach FRAGEN kann (und wenn er gut war, bekommt er auch eine Antwort).
Was er aber hat ist der Hash. Hashes sind naturgemäß unumkehrbar -- wäre das anders, wäre es kein Hash mehr. Es gibt zwangsläufig Kollisionen, weswegen Entwickler von "Crypto" hashes versuchen, die Wahrscheinlichkeit solcher Kollisionen zu mindern. (Natürlich darf man dann irgendwann fragen, ob das wirklich noch Hashfunktionen sind, wenn eine eins-zu-eins Umkehrung doch wieder rmöglich wird.)
Aufgabe des Hash-Abgreifers ist es daher, eine (beliebige!) Zeichenkombination zu ermitteln, welche denselben Hashwert erzeugt wie das ursprüngliche Paßwort.
Dabei ist es völlig egal ob das Paßwort ein Zeichen lang war oder einhundertachtundzwanzig. Der zugehörige Hashwert ist immer gleich lang, wird aber natürlich mit abnehmender Quellzeichenzahl weniger komplex sein (rainbow tables blenden wir erstmal aus).
Konnte der Angreifer eine Datenbank aus MD5 Hashes erbeuten, dann hat er sozusagen gewonnen. Wie die ursprünglichen Passwörter aussahen, interessiert ihn nicht; mit oder ohne Rainbow Table wird er in kürzester Zeit gültige Zeichenkombinationen bekommen, die er anstelle des ursprünglichen Passworts verwenden oder zumindest erstmal probieren kann.
NACHTEIL für den Angreifer: Das funktioniert nur zuverlässig, wenn das angegriffene Ziel ebenfalls MD5 fürs Hashing verwendet. Was (hoffentlich) nicht mehr so häufig der Fall sein sollte.
Bessere Chancen hat er vermutlich mit einer SHA1 Datenbank, die inzwischen nur ein bisschen aufwendiger zu knacken ist als MD5 und die insgesamt betrachtet noch ein bißchen besser verteilt ist als die MD5 Variante. Auch hier gilt, die ursprünglichen Passwörter interessieren den Angreifer nicht.
WEIL das ein signifikanter und kritischer Einfallsvektor ist und WEIL man als Endbenutzer darauf so gut wie gar keinen Einfluß haben KANN, DESWEGEN gibt es Salts. Deswegen gibt es das Challenge-Response-System ohne Übertragung von Credentials. Deswegen gibt es das Passkey-System, welches darauf aufsetzt.
WAS ein Problem ist für den Passwortnutzer ist die BERECHENBARKEIT nicht eines KONKRETEN Passworts, sondern von FOLGEpasswörtern und solchen, die eine Privilege escalation ermöglichen.
WENN ich in der Lage bin, ein konkretes Passwort zu erlangen und ich SEHE dass es beispielsweise Blume25 ist, und ich stelle fest, daß ich es plötzlich nicht mehr verwenden kann, dann ist die Chance verdammt gut, daß ich mit "Blume26" wieder erfolg haben werde.
WENN ich einen Benutzernamen habe zu einem Passworthash, und ich stelle fest daß ich denselben Benutzer noch mal finde in einem anderen Kontext: andere Website, andere Rolle, was weiß ich... und ich SEHE dass die Hashes übereinstimmen, ODER ich kann tatsächlich irgendeine passende Zeichenkombination ermitteln welche zu diesem Hash paßt...
... DANN habe ich eine gewisse Chance, mich im Kontext dieses Benutzers mehr oder weniger überall anzumelden, unter der Annahme, daß dieser Benutzer dort überhaupt erstmal ein Konto hat. War das ein Adminkonto, habe ich als Angreifer gewonnen.
Auch hier ist es völlig belanglos wie "gut" oder wie "schlecht" das Paßwort war. Das Problem ist die mehrfache Verwendung. Da ist es dann auch egal ob mein Paßwort aus siebzig nicht-druckbaren Zeichen bestand; ich habe es mehrmals verwendet und exakt das kann der (erfolgreiche) Angreifer dann auch tun.
NICHT berücksichtigt werden von Seiten der "Angegriffenen" der Umstand daß eventuell sein Paßwort bereits kompromittiert und erfolgreich verwendet wird. Wenn ich erfolgreich irgendwo einen Zugang erbeuten konnte, dann wäre ich als Angreifer schön blöde, das überall herauszuposaunen; im Gegenteil werde ich versuchen diesen Zugang so lange es geht unbemerkt nutzen zu können.
Dem entgegen stehen die Vorschläge u.a. des BSI, Passwörter NICHT mehr zu wechseln. Da muß man ganz klar sagen: JA, ein vorgeschriebener Passwortwechsel hat seine eigenen Problemchen.
ABER: Daraus herzuleiten, daß ich meine Credentials jetzt einfach so liegeblassen kann wie ich sie vor fünf Jahren mal eingerichtet hatte wäre grob fahrlässig. Nur weil ich nicht WEISS daß sie jemand erbeutet hat, heißt noch lange nicht, dass sie sicher sind. Es heißt nur, daß ich dies nicht erfahren habe.