Hinweis: Dies ist mein privater Blog.
Für Software-Entwicklung und Refactoring siehe weigandtlabs.de.

Systematisch Passwörter ausdenken und merken

Achtung, diese Artikel ist von 2010. Inzwischen gibt es brauchbare Passwort-Manager wie KeePass, die man anstelle eines Passwort-Systems nutzen sollte.

Sehr oft treffe ich Menschen, die mit ihren vielen benötigten Passwörtern nicht zu recht kommen. Entweder vergessen sie sie ständig, müssen sie aufgeschrieben mit sich herumtragen, oder benutzen der Einfachkeit halber immer dasselbe Passwort.

Ich möchte in diesem Artikel eine Methode vorstellen, mit der man sich sehr viele, lange, komplizierte und sichere Passwörter generieren kann, die man nicht auf Papier oder USB-Sticks mitführen muss und die man dennoch nicht mehr vergisst. Das klingt unmöglich, ist es aber nicht.

Vorwort

Als ich vor mehreren Jahren in das Internet „eingetaucht“ bin, musste ich mir auf einmal immer öfter immer mehr Passwörter merken. Anfangs benutze ich überall das gleiche einfache Passwort, das nur aus Kleinbuchstaben bestand.

Mit immer weiterer Beschäftigung mit dem Thema Internet und Sicherheit lernte ich schnell (vor allem, als ich mit dem Online-Banking beginnen wollte), dass meine Passwörter zu unsicher waren. Ich verstärkte meine Passwörter mit Groß- und Kleinschreibung, Zahlen und Sonderzeichen, was zur Folge hatte, dass ich mir meine vielen Passwörter bald nicht mehr merken konnte. Immer öfter musste ich die „Passwort vergessen“-Funktionen benutzen oder schrieb mir einige Passwörter auf einen Zettel, den ich dann immer bei mir tragen musste.

Da das so nicht weitergehen konnte, musste ich mir etwas Neues ausdenken. Die Methode mit der Satzverkürzung (Ich fahre ein schickes gelbes Fahrrad mit 2 Rädern. => IfesgFm2R.) gefiel mir nicht, da man sich dabei ja ganze Sätze merken muss. Mit 20 verschiedenen Sätzen kann man da schnell durcheinander kommen.

Angedacht hatte ich auch eine verschlüsselte Passwort-Datei auf meinem USB-Stick, den ich ohnehin immer mit mir trage. Da es aber auch den Fall gibt, dass man den USB-Stick nicht an den PC anschließen kann oder will (Stichwort: Internet-Cafe) oder man die Entschlüsselungs-Software nicht ausführen kann, da Administrator-Rechte erforderlich sind (zB. bei TrueCrypt), setzte ich diese Idee nie in die Tat um. Außerdem kann man einen USB-Stick verlieren und hat dann nicht immer die Möglichkeit an die Backup-Kopie auf dem Heimrechner heranzukommen.

Zum Schluss der Überlegung blieb also nur eine Sache übrig: Es musste ein System her, mit dem ich alle Passwörter im Kopf haben und nicht vergessen würde. Und so entwickelte ich einen Generator, mit der ich mir jederzeit einfache und immer verschiedene Passwörter generieren und schnell wieder herleiten kann. Diesen Generator habe ich immer weiter ausgearbeitet und erweitert. Ich setze dieses System bereits seit Jahren erfolgreich ein, ohne je ein Passwort verloren zu haben.

Grundlagen für sichere Passwörter

Bevor wir zum eigentlichen System kommen, muss festgelegt werden, welche Ansprüche an ein Passwort gesetzt sind und wie demnach unser Generator aufgebaut sein muss, um sichere Passwörter erzeugen zu können.

Derzeit gelten Passwörter, die eine Länge von 8 10 Zeichen haben und die Groß-/Kleinschreibung, Zahlen und Sonderzeichen beinhalten, als sicher. Wenn man auf Nummer  Sicher gehen will, benutzt man eine Mindestlänge von 10 12 Stellen.

Im Passwort sollten nicht der eigene Name, Name des Partners oder Haustieres, Geburtsdatum oder ähnliche Angaben verwendet werden, die jemand aus dem Bekanntenkreis erraten könnte.

Zudem sollte auf Wörter versichtet werden, die in einem Wörterbuch zu finden sind. Auch sind 2 Wörter hintereinander (zB. HotelAuto) nicht sicher, so schlau sind Passwort-Cracker inzwischen.

Ein sicheres Passwort müsste in etwa so aussehen: R5-gL/d.2b

Außerdem sollte man nicht vergessen, die Passwörter regelmäßig zu wechseln.

Weitere gute und ausführliche Tipps zu Passwörtern gibt es hier.

Update (21.07.2011): Ich habe einige Mythen entzaubert.

Generator entwickeln

Kommen wir jetzt zum eigentlichen System.

Die Sicherheit dieser Methode steht und fällt mit der Geheimhaltung der Funktionsweise. Denn ist diese Funktionsweise dem Angreifer einmal bekannt, kann er sich damit jedes Passwort wieder herleiten.

Man kann das mit dem Masterpasswort einer verschlüsselten Passwortdatei vergleichen. Kommt der Angreifer an dieses Passwort, liegen ihm alle darin gespeicherten Passwörter offen.

Ich werde jetzt schrittweise den Aufbau eines solchen Generators beschreiben. Daran sollte man die einzelnen Schritte leicht nachvollziehen können.

Es sollte klar sein, dass die hier vorgestellten Passwörter und Schlüsselwörter nicht mehr verwendet werden sollten. Man sollte sich bei Bedarf unbedingt seinen eigenen Generator entwickeln.

Begriffsklärung

In der folgenden Anleitung werde ich einige Begriffe wie Username oder Dienstname verwenden. Diese Begriffe stehen für den Anmeldenamen und den Namen des Programms oder der Webseite. Diese können je nach Dienst sehr unterschiedlich sein.

Bespiele für unterschiedliche Dienstnamen:

  • eine Webseite: www.google.de => „Google“
  • ein Blog auf wordpress.com: myblog.wordpress.com => „Myblog“
  • ein Programm: Skype => „Skype“
  • der Heimrechner zu Hause => „Home“
  • der Rechner auf der Arbeit => „Büro“ oder [Firmenname]

Beispiele für unterschiedliche Usernamen:

  • eine Email-Adresse: mail [ät] example [dot] com
  • ein Username im Forum: Testuser
  • eine ID: 987654321

Wahrscheinlich gibt es noch einige andere Formen. Deswegen werde ich die allgemeinen Formulierungen verwenden.

1. Passwortlänge bestimmen

Zu Beginn sollten wir uns überlegen, wie lang die Passwörter sein sollen, die wir später mit dem Generator erzeugen wollen.

Ausgehend von den oben erwähnten Grundlagen für sichere Passwörter lege ich für unsere Beispiel-Generator eine Passwort-Länge von 10 Stellen fest.

2. Schlüsselwort definieren und anpassen

Das Schlüsselwort ist ein Wort, das in jedem Passwort enthalten sein wird. Damit wird sichergestellt, dass in allen generierten Passwörtern die grundlegenden Sicherheitsansprüche erfüllt werden, also Groß-/Kleinschreibung, Zahlen und Sonderzeichen.

Als Basis für das Schlüsselwort kommt im Grunde jedes Wort infrage.

Wir verwenden für unser Beispiel das Basis-Schlüsselwort „Nachtigall“.

via Wikipedia

Das Wort Nachtigall beinhaltet bisher nur die Sicherheitsaspekte der Groß- und Kleinschreibung. Deshalb wenden wir nun eine eigene Form des Leetspeak auf dieses Wort an. Mit Leetspeak bezeichnet man das Ersetzen von Buchstaben durch Ziffern und Sonderzeichen (siehe Wikipedia)

Keine Angst: Nach einmaligem Festlegen des Schlüsselwortes braucht man es sich nur noch zu merken.

Im Namen des kleinen Singvogels finden wir das Wort „acht“. Diese vier Buchstaben ersetzen wir deshalb mit der Zahl 8.

Das Schlüsselwort sieht jetzt so aus: N8igall

Wenn wir das i auf den Kopf drehen, sieht es aus wie ein !.

Daraus ergibt sich: N8!gall

Jetzt haben wir bereits Groß- und Kleinschreibung, eine Zahl und ein Sonderzeichen im Passwort. Dennoch ersetze ich noch das g durch eine 9 und verkürze das Doppel-l zum einfachen l.

Unser fertiges Schlüsselwort lautet jetzt: N8!9al

Das Schlüsselwort ist jetzt von 10 Stellen auf 6 Stellen geschrumpft. Das ist auch gut so. Die Schlüsselwortlänge darf logischerweise nicht länger als unsere Passwortlänge am Ende sein. Am besten ist es, wenn es nur halb so lang ist wie das fertige Passwort.

Merke: Je kürzer das Schlüsselwort im Verhältnis zur Passwortlänge, desto mehr variiert am Ende die Unterschiedlichkeit der Passwörter.

Die restlichen 4 Zeichen, die uns zu unserer fertigen Passwortlänge von 10 Stellen fehlen, füllen wir im nächsten Punkt mit Zusätzen auf.

3. Zusätze ausdenken

Zusätze sind Variable, die sich anders als das Schlüsselwort von Passwort zu Passwort unterscheiden. Zusätze müssen statische und lokale Angaben sein, die sich von Dienst zu Dienst ändern, aber innerhalb des Dienstes immer gleich bleiben.

Gute Beispiele für Zusätze sind zum Beispiel:

  • Dienstname (oder Teile davon)
  • Username (oder Teile davon)
  • Zeichenanzahl des Dienstnamens
  • Zeichenanzahl des Usernamens

Vielleicht kann man sich auch noch einen Zusatz ausdenken, mit dem die Passwortlänge variiert. Zum Beispiel hängt man an das Passwort die Buchstabenanzahl des Dienstnamens x2 an. Das würde bei einem Passwort für den ICQ-Account die Zahl (3×2=) 6 anhängen, für den Google-Account jedoch die Zahl (6×2=) 12, wodurch die Passwortlänge um eine Stelle beeinflusst wird.

Beispiele für schlechte Zusätze wären

  • Registrierungsdatum
  • Anmeldedatum
  • Farbe der Hose, die man gerade trägt
  • Geld in der Brieftasche
  • usw.

Es sollte klar sein, worauf ich hinaus will. Alles, was man leicht vergisst oder sich in Zukunft sehr wahrscheinlich ändern wird, ist ungeeignet.

Für unser Beispiel möchte ich einen Account bei Google anlegen. Als Username benötigt man hier eine Emailadresse, zB. mail [ät] example [dot] com

Ich vereinbar, dass ich alle Dienstnamen immer klein, nur das letzte Zeichen immer groß schreiben werde. (also „googlE“)

Jetzt lege ich mir 3 Zusätze fest:

  1. das 1. und 2. Zeichen des Dienstnamens (bei googlE => „go“)
  2. das letzte Zeichen des Diesntnamens (bei googlE => „E“)
  3. das letzte Zeichen des Usernamens (bei mail [ät] example [dot] com => „m“)

4. Generator fertig stellen

Zur besseren Nachvollziehbarkeit fasse ich noch einmal unsere beispielhaften Angaben zusammen:

  • Dienstname: „googlE“
  • Username: mail [ät] example [dot] com
  • Schlüsselwort: N8!9al
  • 1. Zusatz: „go“
  • 2. Zusatz: „E“
  • 3. Zusatz: „m“

Jetzt lege ich nur noch eine feste Reihenfolge der Zusätze und des Schlüsselwortes fest und damit ist unser Generator fertig. Ich verwende einmal folgendes Schema:

[1. Zusatz][Schlüsselwort][2. Zusatz][3. Zusatz]

5. Generator anwenden

Ein Passwort für unseren neuen Google-Account würde mit diesem Generator lauten:

goN8!9alEm

Ein weiteres Beispiel: Das Passwort für ein Forum mit dem Namen „Techtalk“, bei dem man mit dem Username „Testuser“ angemeldet ist, würde mit diesem Generator lauten:

teN8!9alKr

Das ist natürlich nur ein ganz einfaches Beispiel für einen Generator. Der eigene Generator sollte auf jeden Fall ein eigenes Schlüsselwort und eine eigene Anordnung verwenden.

Was muss man sich praktisch merken?

  • Schlüsselwort
  • Zusätze
  • Anordnung
  • evtl. besondere Schreibweisen des Dienstes oder des Usernamens

Alles andere ergibt sich automatisch bei Eingabe eines Passwortes. Wenn man sich die Funktionsweise einmal gemerkt hat, sollte man sich das Passwort schon nach einiger Zeit schnell wieder herleiten und eingeben können.

Die Anzahl der Passwortmöglichkeiten für diesen Generator liegt bei 36^4 = 1,68 Millionen Möglichkeiten, wenn man nur von Buchstaben und Zahlen im Dienstnamen und Usernamen ausgeht.

Je kürzer das Schlüsselwort im Verhältnis zur Passwortlänge ist, desto mehr Passwortmöglichkeiten gibt es.

Wenn man sich seine persönlichen Generator ausgedacht hat, sollte man sie erst einmal ausführlich testen, zB. als Passwort für seinen PC oder seinen Email-Account. Dann fallen einem vielleicht noch Verbesserungen auf. Wenn man sich dann die finale Funktion erstellt hat und diese nun überall anwenden möchte, sollte man das möglichst systematisch und in einem Schritt tun, um nicht durcheinander zu kommen.

Abschließende Hinweise

Wie bei allen Passwörter gilt auch für die Funktionsweise des Generators: Sie darf nicht weitergegeben werden. Zur eigenen Sicherheit sollten auch die Zusätze, die Passwortlänge, das Schlüsselwort und sogar die Existenz des Generators geheim gehalten werden. Gerät ein Angreifer an ein Passwort, kann er solche Informationen nutzen, um sich die Funktionsweise des Generators herzuleiten.

Wer solche einfachen Dingen verrät, dem nützt auch das beste System nicht mehr.

Von Zeit zu Zeit sollte man alle Passwörter ändern. Hier sollte man sich einen Tag festlegen, an dem man seinen eigenen Generator etwas verändert und alle betroffenen Passwörter ändert.

Es ist sehr wichtig, dass man sich am Anfang sehr allgemeine Regeln setzt, die alle möglichen Fälle von Dienstnamen und Usernamen abdecken, und diese Regeln auch strikt für jedes Passwort anwendet. Nur dann ist garantiert, dass man sich auch Jahre später ein Passwort wieder herleiten kann.

Das Wichtigste noch einmal zum Schluss: Hat ein Angreifer Kenntnis über die Existenz des Generators und findet ein Passwort inklusive Usernamen und Dienstnamen heraus, kann er damit Rückschlüsse auf die anderen Passwörter nehmen. Ich beuge dem ein wenig vor, in dem ich besondere Dienstnamen und sehr spezielle Zusätze verwende.

Ich hoffe, ich konnte mit dieser Anleitung einige Denkanstöße geben, wie man seine Passwörter einfach und zuverlässig merken kann. Ich gebe zu, dass es einige Sicherheitsbedenken gibt und möchte damit auch zur Diskussion aufrufen.

Was haltet ihr von dieser Methode? Welche Sicherheitsbedenken habt ihr und wie könnte man diese beseitigen? Und wie kann man die Methode noch sicherer machen?

Update 20.10.2010

Ich bin auf ein Video von Mozilla über sichere Passwörter aufmerksam gemacht worden, in dem das gleiche Prinzip etwas vereinfacht gezeigt wird.

http://www.youtube.com/watch?v=COU5T-Wafa4


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

4 Antworten zu „Systematisch Passwörter ausdenken und merken“

  1. […] auf phpgangsta.de über Passwortmythen werden einige Dinge angesprochen, die ich damals in meinem Artikel über ein Passwortsystem erwähnt habe. Genauer gesagt geht es um die Mythen “Ein Passwort mit mindestens 8 Zeichen […]

  2. Avatar von BusinessLifeHack

    @Artur: Habe mich diese Woche etwas intensiver mit dem Thema „Sichere Passwörter“ befasst. Vielleicht kann dir der eine oder andere Tipps als Ergänzung dienen. Freue mich über Feedback http://www.businesslifehack.de/warum-dein-kollege-ganz-genau-weiss-wie-viel-geld-du-auf-deinem-bankkonto-hast/

  3. […] ist die Geschichte auch ein schönes Beispiel dafür, wieso man immer sichere Passwörter wählen […]

  4. […] By Artur Security 2 Kommentare » Tags: Passwort Und wieder ein Beispiel, wieso jeder sichere Passwörter verwenden soll: Schwache Passwörter haben Einbrüche in Mail-Accounts von zahlreichen Prominenten bewirkt und so […]