Navigation

Windows

General

Die richtigen Passworte

Inhaltsverzeichnis

Wie sichere Passworte aussehen
128 Bit, 256 Bit - Bedeutung für Passworte und längste sinnvolle Passwortlänge
Sind 128 Bit sicher?

Kommentar abgeben (Bisher 0)

Wie sichere Passworte aussehen

Der Sinn dieser Anleitung ist, zu zeigen, wie gute Passworte aussehen, wie man sich diese merken kann, welche man nicht benutzen sollte und die mathematischen Hintergründe davon zu zeigen.

Passworte aus persönlichen Daten
Selbst heute noch verwenden diverse Leute Passworte, die rein durch raten herausgefunden werden können. Solche Passworte sind beispielsweise Namen von Familienmitgliedern, Mädchennamen derselben, Namen von Lieblingscharakteren in irgendwelchen Filmen/Büchern/Serien, Lieblingstiere, Lieblingspflanzen, Lieblingsdichter, Daten von Geburtstagen und so weiter. Dies sind (fast) die schlechtesten denkbaren Passworte, da sie von jemandem, der euch kennt, oder jemandem, der etwas über euch recherchiert hat sehr einfach zu raten sind. Beinahe jeder hat heutzutage enorm viele Daten von sich im Internet, in Foren, auf seiner Homepage, auf Seiten wie Myspace etc. Für jemanden, der euer Passwort knacken will, ist so etwas eine wahre Goldgrube, da er so beinahe alles über euch Erfahren kann. Benutzt keine solchen Passworte, nicht mal, wenn ihr denkt, dass nur ihr das wissen könnt. Nie.
In dieselbe Kategorie fallen übrigens auch einfallslose Passwörter wie "passwort" oder "qwertzuiop" - Auch die werden so ziemlich als erstes probiert. An der geleakten Passwortliste von Furaffinity sieht man, das "password" von 47 Leuten benutzt wurde, "123456" von 31 Personen, "querty" von 20 etc.

Passworte aus normalen Worten
Eine etwas sicherere Variante, die aber immernoch extrem unsicher ist, ist das normale Wort. Wenn ihr irgendein Wort als Passwort wählt, das nicht direkt mit euch in Verbindung gebracht werden kann, wird zwar simples raten nicht mehr funktionieren, jedoch hilft das nicht viel: Die Anzahl der Worte der Sprache, selbst zusammen mit Eigennamen, ist für einen Computer verschwindend gering.
Ein Angreifer braucht nichts zu tun, als sich eine sogenannte "Wordlist" zu beschaffen. Eine solche Liste enthält alle Worte einer oder mehrerer Sprachen und je nach Ausführung auch Namen und Daten. Alles, was der Angreifer tun muss, ist, jedes in der Liste aufgeführte Wort als Passwort auszuprobieren. Dies geht sehr schnell.
Die grösste und ausführlichste solche Wordlist, die ich kenne, ist die Argon-Liste. Sie ist 2 Gigabyte gross und enthält genau 249'226'180 Worte aus allen möglichen Sprachen mit allen möglichen Eigennamen (die Macher der Liste haben auch etwas getrickst, um sie grösser zu machen, damit sie nach mehr Aussieht - viele Einträge bestehen schlicht aus Steuerzeichen oder so). Dies erscheint einem als sehr viel, um jedes einzelne als mögliches Passwort zu prüfen, jedoch ist es für den Computer keine grosse Sache. Ein ganz normaler Heimcomputer rattert diese Liste in etwa 3 Minuten durch, ev. noch schneller. Wenn also ein normales Wort als Passwort gewählt wurde, wird es mit dieser Liste mit an Sicherheit grenzender Wahrscheinlichkeit in 3 Minuten geknackt. Dies sollte klarmachen, dass auch normale Worte als Passwort nicht geeignet sind.
Um wieder die geleakte Passwortliste von Furaffinity heranzuziehen: 59 Leute benutzten "dragon", 28 "shadow" und 14 "werewolf".

Zufällige Passworte
Zufällige Passworte sind nicht Worte in diesem Sinne, sondern Aneinanderreihungen von Zeichen. Sie sehen zufällig aus, als wenn eine Katze über die Tastatur gelaufen wäre.
Solche Passworte kann man nicht mehr raten oder mit einer Liste abgleichen, für sie braucht es eine Technik, die sich Brute Force nennt. Dabei wird schlicht jede Möglichkeit durchprobiert, von aaaaa bis zzzzz, bis schliesslich das Passwort gefunden ist. Dass es so gefunden (geknackt) werden kann, ist ausser Frage, das ist auf diese Weise theoretisch bei jedem Passwort möglich. Unerfahrene könnten nun denken, dass das den Sinn von Passworten ad absurdum führe, jedoch vergessen sie einen Faktor: Auch wenn jedes Passwort geknackt werden kann, ist die Zeit, die es dafür braucht, eine ganz andere Sache. Ein Passwort, das zu knacken 20 Jahrtausende dauern würde, kann man wohl als sicher bezeichnen.
Lassen wir die Zeit aber erstmal aussen vor. Was uns hier interessiert, sind die möglichen Kombinationen. Je mehr mögliche Kombinationen ein Passwort bietet, desto sicherer ist es.
Ein Beispiel: Nehmen wir an, wir würden für unser Passwort nur die Zeichen a und b verwenden und es wäre drei Zeichen lang. Die möglichen Kombinationen wären dabei die folgenden:
aaa, aab, aba, abb
baa, bab, bba, bbb
Es gäbe also exakt 8 mögliche Kombinationen. Ausrechnen kann man das einfach mit der Formel (Anzahl mögliche Zeichen)^(Passwortlänge), im Beispiel oben also 2^3 = 8.
Ein mehr der Wirklichkeit entsprechendes Passwort würde beispielsweise das grosse und das kleine Alphabet benutzen (52 Buchstaben) und eine Länge von, sagen wir mal, 5 Zeichen haben. Entsprechenderweise sind die möglichen Kombinationen 52^5 (ungefähr 380 Millionen). Selbst ein solches sehr kurzes und simples Passwort ist um einiges besser als ein Wort der Deutschen Sprache (Deutsch hat etwa 300'000 - 500'000 Wörter), jedoch ist es immernoch Ungenügend und lässt sich, schätzungsweise, in 10-20 Minuten knacken.

An sehr vielen Orten wird gesagt, man solle in seinem Passwort grosse Buchstaben, kleine Buchstaben, Zahlen und Sonderzeichen benutzen. Zwar schadet das nicht, aber der Nutzen wird vollkommen übertrieben dargestellt. Viel wichtiger ist die Länge des Passwortes. Als Beispiel, nehmen wir wieder unser 5-Zeichen-Passwort von vorhin. Anstatt dass wir nun nur das grosse und kleine Alphabet nehmen, fügen wir noch Zahlen (10 Ziffern) sowie alle Sonderzeichen der ASCII-Zeichenliste (32) hinzu, was gesamthaft eine Anzahl von 94 möglichen Zeichen gibt. 94^5 sind etwa 7.3 Milliarden Möglichkeiten, was nach sehr viel im Vergleich zu den 380 Millionen von vorher aussieht. Jedoch: Nehmen wir wieder nur das grosse und das kleine Alphabet und fügen ein zusätzliches Zeichen in der Länge hinzu. Nun haben wir 52^6 Möglichkeiten, was etwa 19 Milliarden sind. Ein Zeichen in der Länge hat uns also etwa 18.6 Milliarden zusätzliche Möglichkeiten gegeben, während 42 mögliche zusätzliche Zeichen nur gerade etwa 6.9 Milliarden zusätzliche Möglichkeiten ergaben. Man sieht also, dass die Länge um einiges wichtiger ist als die Anzahl benutzter Zeichen. Das ist sehr praktisch, denn ein Passwort wie "jSkHKA" lässt sich weit leichter merken als ein Passwort wie "b&H8#".

Die Erkenntnis, dass die Länge wichtiger ist als die Anzahl möglicher Zeichen bringt uns nun endlich zu den wirklich sicheren Passworten. Diese sind sehr lange, deshalb nennt man sie eigentlich nicht mehr Passworte, sondern Passphrasen. Am simpelsten kann man sich die als normale Sätze vorstellen. Ein Satz mit 5 Worten jedoch muss man zuerst mal anders Ansehen: Nimmt man einen ganz normalen Satz, dann ist Jedes Wort davon ein "Zeichen" aus dem "Zeichensatz" der deutschen Wörtern. Bei 300'000 Wörtern der deutschen Sprache wäre das bei 5 Wörtern pro Satz also entsprechenderweise 300'000^5 (~2.43 Quadrilliarden) Möglichkeiten. Jedoch sind normale Sätze schlecht geeignet, da nur sehr wenige der Deutschen Wörter wirklich im aktiven Gebrauch sind und die Auswahl durch Satzbauregeln noch eingeschränkt wird. Wenn überhaupt, sollten ausschliesslich Sätze mit selten genutzten Wörtern oder Wörtern aus mehreren Sprachen genommen werden.
Wirkliche Passphrasen bildet man sich am besten, in dem man einen Satz als Grund nimmt und nur Teile davon verwendet. Beispielsweise nimmt man den Satz "Das Bier vermischt sich mit dem Blut" und verwendet davon die ersten zwei Buchstaben jedes Wortes, wobei man für jedes Wort mit der Grossschreibung abwechselt: Da bi Ve si Mi de Bl = DabiVesiMideBl. Dies würde nun 52^14 (~1 Quadrillion) Möglichkeiten bieten. Noch besser ist es, wenn man den Satz gleich so nimmt, aber beispielsweise pro Wort einen Buchstabendreher macht, damit es kein deutsches Wort mehr ist: Dsa Beir vremischt scih mti dme Bult = DsaBeirvremischtscihmtidmeBult. Schon hat man 52^30 (~3 Oktilliarden) Möglichkeiten. Oder ihr ersetzt in jedem Wort den zweiten Buchstaben mit einer fortlaufenden Nummer: D1s B2er v3rmischt s4ch m5t d6m B7ut = D1sB2erv3rmischts4chm5td6mB7ut = 62^30 Möglichkeiten. Wichtig ist dabei nur, dass ihr eine eigene Technik dafür wählt und dass die Grundwörter möglichst nicht mehr erkennbar sind. Übrigens müsst ihr die Leerzeichen nicht unbedingt herausnehmen (Manche Systeme haben Probleme damit, darum entferne ich sie normalerweise) und nichts hindert euch daran, längere Sätze zu nehmen.

Hinweis: Obwohl ein Passwort besser ist, je länger es ist (bis zu einer bestimmten Länge, darauf Werde ich im nächsten Kapitel kommen) gibt es leider immer noch sehr viele Orte, besonders Webseiten, die keine allzulangen Passworte erlauben. Man kann für sie eine abgeänderte Form des Tricks für die Passphrasen verwenden: Man überlegt sich einen Satz, der so viele Wörter/Satzzeichen hat wie das grösstmögliche Passwort und nimmt davon jeweils den ersten Buchstaben jedes Wortes. In dem Falle sind Sonderzeichen übrigens wieder wichtig, da man nicht auf die Länge ausweichen kann. Wäre man also auf 10 Zeichen begrenzt, könnte man den Satz "Die Nummer #7 ist ein schlechter Jahrgang, dummerweise." nehmen, was "DN#iesJ,d." ergeben würde, was dank dem Satz leicht zu merken, aber dennoch schwer zu knacken ist.

Zurück zum Inhaltsverzeichnis

128 Bit, 256 Bit - Bedeutung für Passworte und längste sinnvolle Passwortlänge

Oft wird bei Verschlüsselungen oder so eine Schlüssellänge von 128 Bits oder so angegeben. Jedoch betrifft das nicht nur Verschlüsselungen, sondern auch normale Passworte.
Eine Angabe wie "128 Bits" bedeutet an sich nur, dass es sich um ein Passwort, das aus Bits, also Einsen und Nullen, besteht, handelt, und dass es 128 Zeichen lang ist. Man kann also die gleiche Rechnung wie im Vorherigen Abschnitt anwenden: 128 Bits = 2^128 = 340 Sextillionen mögliche Kombinationen. Angegeben wird es, weil Verschlüsselungen intern nicht mit eurem Passwort arbeiten, sondern mit eben diesem soundsoviele Bits langem Schlüssel. Nun betrifft das aber nicht nur Verschlüsselungen, sondern die meisten Orte, an denen Passworte benutzt werden.
In sozusagen allen Foren oder anderen Bereichen im Internet wird eine sogenannte Hashfunktion benutzt. Einfach ausgedrückt: Sie verwandelt euer Passwort in eine immer gleich lange Abfolge von Nullen und Einsen. Nur in sehr schlecht implementierten Bereichen wird wirklich euer Passwort genutzt, überall sonst wird das Passwort, wenn ihr es das erste mal eingebt, in diese Abfolge verwandelt und auch so gespeichert. Wenn ihr euch dann einloggen wollt, wird das eingegebene Passwort wieder umgewandelt und mit der Binärfolge in der Datenbank verglichen. Ist das Passwort nach dem Umwandeln mit dieser Identisch, wird euch das einloggen gestattet. Der Grund für dieses Verfahren ist, dass, wenn das Forum (oder vergleichbares) je einmal gehackt wurde, der Angreifer nur diese Bitfolge erhält und nicht euer Passwort - um an euer Passwort zu kommen, muss er alle möglichen Passworte mit derselben Hashfunktion in Binärzahlen umwandeln, bis das Umgewandelte mit dem Binärwert in der Datenbank übereinstimmt. Beispiel: Angenommen, die Hashfunktion wäre MD5 (128 Bit) und euer Passwort "abb", dann wäre dieser Binärwert:
11101010000000011110010111111101100011100100110110001000001100101000001001011010110011011101001000001110101011000101000100000100
Da das ausgeschrieben natürlich ungemein Unhandlich ist, gibt man es normalerweise im hexadezimalen Zahlensystem an: 0xea01e5fd8e4d8832825acdd20eac5104
Der Angreifer müsste nun etwa folgendermassen durchprobieren:

aaa = 0x47bce5c74f589f4867dbd57e9ca9f808 --> Passt nicht
aab = 0xe62595ee98b585153dac87ce1ab69c3c --> Passt nicht
aba = 0x79af87723dc295f95bdb277a61189a2a --> Passt nicht
abb = 0xea01e5fd8e4d8832825acdd20eac5104 --> Passt, Passwort ist also abb

Nun, das mit dem durchprobieren (Brute-Force) hatten wir ja schon - was heisst das nun für unsere Passworte? Es gibt ihnen eine maximale Länge. Da Hashfunktionen das Eingegebene Passwort, ganz egal, wie lange es ist, auf immer dieselbe Länge erweitern/stauchen, kann es vorkommen, dass zwei verschiedene Passworte in dieselbe Nummernfolge umgewandelt werden. Dies nennt man Kollision. Solche Kollisionen können, je nach Funktion, auch schon früher auftreten (auch wenn man das natürlich zu Verhindern versucht - bei der Funktion SHA1 wurden solche früheren Kollisionen 2006 entdeckt, deshalb sollte man sie heute nicht mehr verwenden), jedoch wird es ganz sicher dann auftreten, wenn man ein Passwort hat, das mehr mögliche Kombinationen bietet, als die Schlüssellänge der Hashfunktion das bietet, also bei MD5 mehr Möglichkeiten als 2^128.
Das kann man sich mittels Logarithmen ausrechnen, aber viel einfacher ist es, Wolfram Alpha zu benutzen. Da MD5 soweit ich weiss die im Internet am häufigsten benutzte Hashfunktion ist, kann man sich 128 Bit Länge als Vorlage nehmen. Um nun herauszufinden, was die längste sinnvolle Länge für ein Passwort ist, gibt man auf Wolfram Alpha schlicht folgendes ein: "2^128 = 52^x" (Beispiel für grosses und kleines Alphabet, also mit 52 möglichen Zeichen).
Eine kleine Liste der maximalen noch sinnvollen Längen:

Anzahl mögliche ZeichenMaximal sinnvolle Länge bei 128 Bit
Kleines Alphabet: 2627 - 28
Grosses und kleines Alphabet: 5222 - 23
Grosses und kleines Alphabet, Sonderzeichen: 9419 - 20
Grosses und kleines Alphabet, Sonderzeichen und Umlaute: 10019 - 20
Zurück zum Inhaltsverzeichnis

Sind 128 Bit sicher?

Im vorherigen Abschnitt habe ich erklärt, was mit 128 Bit für Passworte heisst. Es bedeutet an sich ein Passwort mit 2^128 möglichen Kombinationen. Nun mag man sich fragen - reicht das denn? Dafür möchte ich eine nette Analogie von Jon Callas, dem technischen Leiter von PGP, heranziehen. Er hat seine Analogie selber nicht durchgerechnet (Anstatt 1000 Jahre hätten sie nach meiner Nachrechnung etwa eine halbe Stunde), deshalb gebe ich sie hier leicht angepasst wieder.
Stellt euch einen Computer von der Grösse eines Sandkornes vor. Dieser Computer kann ein mögliches Passwort in der Zeit testen, die das Licht braucht, um über ihn zu wandern (Was millionenfach schneller ist, als alles, was wir heutzutage haben). Stellt euch weiterhin vor, dass ihr so viele dieser Computer hättet, dass ihr damit die gesamte Erdoberfläche bedecken könntet. Diese Unmengen an Computern würden für das knacken eines 128-Bit-Passwortes immernoch mehr als eine Woche benötigen.

Da ich kein Freund von leeren Aussagen bin, werde ich das hier gleich mal nachrechnen. Wen das nicht interessiert, kann hier mit dem Lesen aufhören, mehr kommt weiter unten nicht mehr.

Erstmal: Wie gross ist ein Sandkorn? Laut Wikipedia geht Sand von einer Korngrösse von 0.063 mm bis 2 mm, wir nehmen also den Mittelwert, 1mm bzw. um besser rechnen zu können, einen Sandkornkubus mit 1mm Seitenlänge.
Die Lichtgeschwindigkeit ist etwa 299'792'458'000 Millimeter pro Sekunde, was bedeutet, dass das Licht in 299'792'458'000stel Sekunden über das Korn geht, was wiederum bedeutet, dass unser Sandkorncomputer 299'792'458'000 Kombinationen pro Sekunde testen kann.
Nun kommt die Anzahl der Computer. Die Oberfläche der Erde ist, wieder laut Wikipedia, 510'072'000 Quadratkilometer, was 510'072'000'000'000'000'000 (5.10072 * 10^20) Quadratmillimeter, also ebensoviele Computer sind.
Wir haben also 5.10072 * 10^20 Computer, die jeweils 299'792'458'000 Kombinationen pro Sekunde testen können. Gesamthaft können sie also pro Sekunde die wahnsinnige Anzahl von 152'915'738'636'976'000'000'000'000'000'000 Kombinationen ausprobieren.
Wie viele Sekunden würde es also dauern, um alle möglichen Kombinationen in 2^128 zu testen? 2^128 / 152'915'738'636'976'000'000'000'000'000'000 = 2'225'293 Sekunden = 3.68 Wochen.
Durchschnittlich hätte man das Passwort also nach 1.8 Wochen.

Zurück zum Inhaltsverzeichnis

Kommentare

Kommentar hinzufügen

*Name:

Email:
(Optional, versteckt. Nur für Benachrichtigung bei Antwort (Englisch))

* Spam check: ㊻ + ⑦ =
*Kommentar:

Zurück zum Inhaltsverzeichnis