Sicherheit

Tagebuch eines Ahnungslosen: Mein Weg in die Verschlüsselung – Teil 8: Sichere P4sSw0erT3R

Tagebuch
geschrieben von Tobias Gillen

Seit einigen Wochen schon plagt es mich: das schlechte Gewissen. Jeden Tag kommen neue Dinge ans Licht, die illegalen Praktiken hinter NSA, GCHQ und BND werden immer weiter und tiefgründiger aufgedeckt. Und dennoch: Ich bin ahnungslos. PGP? SSL? Was-weiß-ich-was-für-eine-Abkürzung? Ich habe keine Ahnung von Verschlüsselung, Kryptologie und Co. Meine Daten sind ungeschützt. Bis jetzt. Denn nun wage ich mich endlich vor, raus aus der Lethargie und starte meinen Weg zur Verschlüsselung. In Teil 1 aus dem Tagebuch eines (noch) Ahnungslosen ging es um den Versuch, meine E-Mails zu verschlüsseln. Während in Teil 2 anschließend die ersten Tage mit PGP im Mittelpunkt standen, versuchte ich mich in Teil 3 an S/MIME. Nach der PGP-Verschlüsselung am Smartphone (Teil 4) widmete ich mich schließlich auch noch dem Thema mobiles S/MIME (Teil 5). Teil 6 beschäftigte sich mit den omninösen „Fingerprints“. Nachdem ich mich im siebten Teil der Serie mit SSL und TLS auseinander gesetzt habe, kommt zum Abschluss ein echter Dauerbrenner: sichere Passwörter. Und ihr dürft natürlich – wie immer – in den Kommentaren gerne helfen, korrigieren, verbessern – und so auch anderen helfen.

Liebes Tagebuch,

vor nicht allzu langer Zeit brachen Hacker beim Software-Konzern Adobe ein und erhielten Zugriff auf mehrere Millionen Kundendaten, darunter auch verschlüsselte Kreditkarteninformationen und Passwörter. Von knapp drei Millionen Datensätzen war die Rede, die Aufregung hielt sich in Grenzen. Wenig später aber musste diese Angabe entscheidend nach oben korrigiert werden: Die Hacker erbeuteten zusätzlich 153 Millionen (!) E-Mail-Adressen, Passwörter und Passwort-Hinweise. Das ist schon schlimm genug, aber es geht noch schlimmer: Adobe hat lediglich die Passwörter verschlüsselt hinterlegt, nicht aber den Benutzernamen (= E-Mail-Adresse) und die Passwort-Hinweise (ähnlich einer Sicherheitsfrage, wenn man sein Passwort mal vergessen hat).

Es dauerte nicht lange, da war der riesige Datensatz frei im Netz verfügbar – und die Tüftler unter den Hackern machten sich an die Fleißaufgabe: Sie versuchten, die Passwörter zu entschlüsseln. Das hätte sie eigentlich zwecks der Verschlüsselung von Adobe schon mal einige Zeit beschäftigt, doch es ging schneller als gedacht, da taumelten die „Top 100“ der meistbenutzten Passwörter von Adobe-Nutzern durch die Weiten des Internets.

Nun stellt sich mir eine Frage: Wie sind die Hacker an die sensiblen Passwörter gekommen? Haben sie sich echt die Mühe gemacht, und zig Millionen Passwörter geknackt, um dann in einen nutzlosen Account einzudringen? Nö. Die Antwort ist ganz einfach: Mit den Passwort-Hinweisen.

„123456“ vor „123456789“

Bedauerlicherweise hatte ein Großteil der Nutzer nämlich ihre lächerlich simplen Passwörter mit ebensolchen Hinweis-Fragen geschützt. Ein Beispiel? Gern: Das meistbenutzte Passwort war – das hätte man sich auch denken können, wenn man vergleichbare Statistiken kennt – „123456“. Nun die Preisfrage: Was ist die Sicherheitsfrage gewesen? „1-6=?“

Auf Platz zwei liegt „123456789“, auf Platz drei „password“, gefolgt von „adobe123“ und „12345678“. Wirklich einfallsreich ist das nicht. Für mich bedeutet das: Rausfinden, was ein sicheres Passwort ist.

Um das zu klären, muss ich erst mal wissen, wie genau Hacker so ein Passwort eigentlich knacken können. Schnell stoße ich auf den Begriff „Brute-Force-Angriff“. Zu Deutsch also sinngemäß „Angriff mit roher Gewalt“? Das klingt gefährlich und ist es auch, allerdings ist es weit weniger brutal, als man annehmen würde.

Denn ein Brute-Force-Angriff ist nichts anderes als stures Ausprobieren. Also das, was ich früher in Mathetests immer gemacht habe, um der Lösung wenigstens im Ansatz näher zu kommen, auch wenn ich meinen Lösungsweg anschließend nicht erklären konnte. Einziger Unterschied: Bei einem Brute-Force-Angriff läuft das eine Ecke schneller ab – aber nur ein winziges bisschen, ehrlich!

Man geht heute, das verrät mir meine Freundin Wikipedia, von etwa einer Milliarde Kombinationen aus, die ein moderner Computer mit guter Ausstattung durchprobieren kann – in einer einzigen Sekunde (!). (So ähnlich ging ich in Matheklausuren übrigens auch ab, wenn ich vorher ausreichend Kaffee getrunken hatte.)

Rechenbeispiele

Daraus ergeben sich einige aufschlussreiche Zahlen, deren Berechnung folgende Formel zugrunde liegt: Anzahl der maximalen Versuche = Zeichenraumgröße hoch Passwortlänge.

Die Zeichenraumgröße ist dabei die Anzahl der möglichen Zeichen. Bei einem Passwort aus Kleinbuchstaben wäre das also 26 (a, b, … y, z). Bei einem Passwort aus Groß- und Kleinbuchstaben entsprechend 52 (a-z; A-Z), inklusive Ziffern 62 (a-z; A-Z; 0-9) und inklusive Sonderzeichen schon 96.

Na? Schon abgeschaltet? Machen wir das an einem Beispiel fest: Im Fall des meistbenutzten Passwortes der Adobe-Nutzer, „123456“, läge die Zeichenraumgröße nur bei 10, die Länge bei 6. Entsprechend müsste man folgendes Rechnen, um die Dauer zu errechnen, die ein Brute-Force-Angriff bräuchte, um Erfolg zu haben:

10^6 = 1.000.000

1.000 000 / 1.000.000.000 = 0,00053 Sek.

Das beweist, dass ein Passwort dieser Länge auch ohne die selten naive Sicherheitsfrage keinen Bestand gegen einen Angriff hätte. Ich muss zugeben, dass mir das zwar bewusst war, ich aber auch nicht wirklich großen Wert auf meine Passwörter gelegt habe. Erst jetzt, wo mir das so bildhaft vor Augen geführt wird, verstehe ich: Einfach mal davon auszugehen, dass es mich schon nicht treffen wird, ist dumm. Und auch wenn meine Passwörter (hoffentlich) sicherer sind als „123456“: Ich brauche neue Passwörter.

Aber was genau macht ein gutes Passwort aus? Dazu reicht es eigentlich schon, ein bisschen den Taschenrechner zu schwingen. Nehmen wir an, mein Passwort besteht aus Groß- und Kleinbuchstaben und ist fünfstellig – etwa „ALiCe“:

52^5 = 380.204.032

380.204.032 / 1.000.000.000 = 0,38 Sek.

0,38 Sekunden? Das ist zu wenig. Mehr muss her. Ich versuche es mal mit allen möglichen Zeichen, also Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen – diesmal sechsstellig beim Wort „t0b!aS“:

96 ^ 6 = 782.757.789.696

782.757.789.696 / 1.000.000.000 = 782,76 Sek.

782,76 / 60 = 13,04 Min.

Das sieht doch schon besser aus, würde mich aber nicht zufriedenstellen. Die Frage ist in diesem Fall, wie lange ein Hacker vor einer Aufgabe sitzen würde. Zudem sind 1.000.000.000 Versuche / Sekunde nur eine ungefähre Schätzung, es gibt weitaus schnellere und leistungsfähigere Computer und Programme, die die Zeit noch mal deutlich verkürzen würden. Und überhaupt: Gemeint ist natürlich nur die maximal benötigte Zeit. Wenn das Programm nach fünf Versuchen das richtige Passwort hat, ist die ganze Rechnung ohnehin für die Katz.
Ich brauche es also noch etwas sicherer. Gehen wir mal von 12 Stellen mit Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen aus, etwa beim Wort „t0b!aSg1LlEn“:

96 ^ 12 = 612.709.757.329.767.363.772.416

Das geteilt durch eine Milliarde und anschließend durch 60 Sekunden, 60 Minuten, 24 Stunden und 365 Tage ergibt immerhin noch die süße Dauer von 19 Millionen Jahren – gekauft!

Aber keine Sorge, es ist nicht zwingend nötig, sich nun 12 Zeichen auf die Festplatte zu schaffen. 8 Zeichen aller Art dürften voll und ganz ausreichen. Damit würde man sich die Hacker schon 84 Tage vom Leib zu halten. Und das ist sicher schon länger, als die meisten auf ein Ergebnis warten würden. Klar ist aber auch, dass bei den Sicherheitsfragen dringend darauf geachtet werden sollte, dass man sie nicht auf Anhieb erraten kann. Ist mein Passwort also G!r4Ffe, wäre „Tier mit langem Hals“ nicht sonderlich einfallsreich. Schließlich sind die Kombinationen für „Giraffe“ mit Buchstaben, Zahlen und Sonderzeichen auch nur sehr beschränkt.

Passwörter einfach merken

Es bietet sich zudem generell an, ein Passwort zu wählen, das niemand erahnen kann, weil es a) einzigartig und individuell ist und b) ausreichend lang. Natürlich muss man sich so ein Passwort aber auch merken können – und da beginnt das eigentliche Problem: „7Ha6e9!2fDjdE“ ist nicht sonderlich einfach zu merken. Aber es gibt einen Trick: Man bastelt sich einen Satz und nimmt von jedem Wort anschließend die Anfangs- oder Endbuchstaben oder meinetwegen den zweiten Buchstaben jeden Wortes. Nun muss man sich nur noch den Satz merken und kann sich eine prima Eselsbrücke bauen.

Ein Beispiel: Ich mag Medienkram, den 1. FC Köln und Blogging. Ein Satz wäre dann etwa „Ich schreibe gerne ins Internet während ich den 1. FC Köln gucke.“ Daraus würde dann die Kombination „Isg!Iwid1FCKg“, also:

Ich schreibe gerne !ns Internet während ich den 1. FC Köln gucke.

Das klingt am Anfang komplizierter, als es eigentlich ist. Und wenn man sich einmal seinen eigenen Satz gemerkt hat, ist alles weitere kein Problem mehr. Übrigens: Für dieses Passwort bräuchte eine Brute-Force-Attacke 1,865 Milliarden Jahre.

Ein sicheres Passwort ist also keine Hexerei. Und dennoch habe ich wenig Hoffnung, dass die „Top 100“ beim nächsten Datenleck anders aussehen werden. Dabei ist es wirklich so einfach. Ich jedenfalls habe meine Kennwörter nun umgestellt. Und, ganz wichtig: Nicht überall dasselbe Passwort benutzen. Hat ein Hacker nämlich doch mal eins abgegriffen, kann er damit nicht zwangsläufig in alle meine Accounts eindringen.

Na, da hat sich die viele Rechnerei doch gelohnt – und das ganz ohne Brute-Force-Methode…

Dein Tobias

Hinweis in eigener Sache: Das Tagebuch gibt es nun mit vielen weiteren nützlichen Tipps und Tricks als günstiges E-Book!


Vernetze dich mit uns!

Like uns auf Facebook oder folge uns bei Twitter


Über den Autor

Tobias Gillen

Tobias Gillen ist seit August 2014 Chefredakteur und seit Mai 2015 Geschäftsführer von BASIC thinking. Erreichen kann man ihn immer per E-Mail oder in den Netzwerken.

8 Kommentare

  • Willkommen in der Welt kryptischer Passwörter! 🙂

    Seit ich einen Passwortsafe nutze, sind meine Passwörter alle Zeichensalat. Ein Hinweis auf z. B. http://keepass.info/ wäre bei diesem Artikel angebracht gewesen.

    Zu Denken geben mir Websites, die mir vorschreiben, dass das Passwort maximal x Zeichen lang sein darf. WTF? Speichern die das etwa im Klartext oder wird das nur mit Rot13 „verschlüsselt“? Na ja, noch immer besser als Rot26…

    Adieu,
    Carsten

  • Entscheidend bei der Berechnung der Dauer des BruteForce Angriffs sind übrigens nicht die tatsächlich verwendeten Zeichen, sondern der erwartete Zeichenvorrat. Demnach ist es einfach besser lange Passwörter zu haben, als kryptische, die sich kein Mensch merken kann. http://xkcd.com/936/

    Wichtig ist auch eher, dass man seine Passwörter nicht überall streut, sondern jedesmal ein anderes benutzt. Das ist dann der Punkt, wo der Mensch an seine Grenzen kommt.

  • Hallo Tobias,

    die Kernaussage deiner Berechnungen stimmt natürlich, das schonmal vorweg. Längere Passwörter sind sicherer. Und kryptisch müssen sie auch nicht unbedingt sein. Allerdings werden auch Passwörter mit über 20 Zeichen geknackt, das passiert meist wenn die Grundlage des gewählten Passwortes auf irgendeine Art von Muster basiert. Auch bekannte Zitate sind, sofern sie vorher nicht abgewandelt wurden, keine guten Vorlagen. Außerdem werden bei Brute-Force-Attacken auch Kollisionen gesucht (siehe Kollisionen bei Hash-Funktionen), was man mathematisch nicht berechnen kann und die Dauer einer Brute-Force-Attacke wesentlich beeinflusst. Und dann spielt noch die Wahrscheinlichkeitsrechnung eine große Rolle. Denn wie Wahrscheinlich ist es wohl, dass ein Passwort direkt beim ersten Versuch gefunden wird? Genau, mindestens so unwahrscheinlich wie beim letzten Versuch. Deshalb geht man bei den Berechnungen zur Komplexität eines Passwortes immer von der mittleren Wahrscheinlichket aus, was bedeutet, dass von deinen 1,8 Millarden Jahren nur noch die Hälfte übrig bleibt 🙂 Denn dann ist die Wahrscheinlicheit schon am Größten, dass das Passwort erraten wird. Vorrausgesetzt natürlich, dass kein Passwort ein zweites Mal probiert wird. Die c’t hat in der dritten Ausgabe 2013 drei sehr gute Artikel dazu veröffentlicht.

    Ich hoffe, dass ich dir damit noch ein paar Anregungen geben konnte.

    Gruß, Kai

  • Bitte, bitte, bitte an die Vorredner halten und auf KeePass und Konsorten hinweisen.

    Auch wenn ein Passwort Milliarden Jahre brute force sicher ist, so hilft einem das alles nichts, wenn man sich nur wenige Passwörter merken kann, daher zwangsweise recycled und dann mal eines auf welchem Wege auch immer zusammen mit dem Nutzernamen unverschlüsselt auftaucht. Auch eine heute für sicher befundene anbieterseitige Verschlüsselung der Daten kann sich in Zukunft als fehlerbehaftet herausstellen.

    Zudem erinnert einen ein solches Tool auch gerne daran, sein Passwort ab und zu zu ändern und nimmt einem die Erstellung und das Eintippen des Zeichensalates ab.

  • Hallo,

    ich folge einem Systemadministrator, den ich über Google+ aufstöberte, jetzt seit einiger Zeit auf seinem Blog.

    Diesem traue ich eine gewisse Kompetenz zu. Er selbst meidet Werkzeuge, die ihm das Verwalten der Passwörter abnehmen (woher will man wissen, dass die nicht auch komprommitiert sein könnten?) und verwaltet die Passwörter lieber mit selbstgeschriebenen Scripts und einer verschlüsselten Datei.

    Aber um sich Passwörter besser merken zu können, empfiehlt er die „Tabula Recta“ Methode:
    http://seraphyn.teiko.org/archives/tabula-recta-fuer-sichere-passwoerter.html

    Ich zitiere:
    „Wenn man dies nun mit jedem Service macht, welchen man im Internet benutzt, ergibt dies nicht nur sichere Passwörter, sondern auch einen Spickzettel, welchen man einfach ablesen kann.

    Wenn dieser Zettel gestohlen wird, dann müsste der Dieb auch die Art wissen, wie man diese Passwörter entschlüsselt, sprich wie diese Passwörter auszulesen sind.

    Von dieser Tablua Recta kann man einen Ausdruck machen und in seine Geldbörse packen, oder als Bild exportieren und es in seiner Smartphonegallery abspeichern.
    Toll ist es es sich den Ausdruck neben den Bilschirm zu hängen.
    Ja, ich fordere sogar dazu auf, die Passwörter an den Bildschirm zu hängen. ツ“

    Passwörter ausdrucken klingt doch toll! 😀

Kommentieren