Heute ist “Ändere dein Passwort”-Tag. Der Name ist sehr unglücklich gewählt, aber der Anlass ist gut um einen meiner Artikel zum Thema Passwortsicherheit aus dem Archiv zu holen und zu recyclen.
In allen Fällen steht und fällt die Sicherheit der Daten mit dem Umgang mit persönlichen Passwörtern. Für viele Menschen ist es schwer, sich ein komplexes und gleichzeitig ausreichend merkbares Passwort zu erstellen. Noch komplexer wird das Problem, wenn man bedenkt, dass es sich nicht um ein einzelnes Passwort handelt, sondern um viele.
In diesem Artikel möchte ich eine Übersicht schaffen über das gesamte Thema, es ist aber natürlich umfangreich. Daher hier einmal tl;dr: Passwörter müsse lang, komplex und einmalig sein. Nutze Passwortmanager, nutze Passphrasen, nutze Zwei-Faktor-Authentisierung. Schreibe Passwörter nicht auf Zettel!
Inhaltsverzeichnis
Was ist ein sicheres Passwort?
Kurz gesagt, gibt es bei Passwörtern drei Aspekte zu beachten: Länge, Komplexität und Einmaligkeit.
Passwortlänge
Ein Passwort sollte mindestens 10 Zeichen haben, je mehr desto besser. Das kommt daher, dass ein Passwort was nicht bekannt ist von einem Angreifer erraten werden muss. Erraten bedeutet in diesem Fall, dass alle möglichen Passwörter durchprobiert werden, diese Technik nennt man „Brute Force“, zu deutsch „Brutale Gewalt“. Als Rechenbeispiel schauen wir uns mal an, wie lange das „erraten“ eines Passwortes mit einer Geschwindigkeit von einer Milliarde Versuchen pro Sekunde dauert, wenn man ein Passwort mit 8, 9 oder 10 Zeichen verwendet. Wir gehen von einem komplexen Passwort aus, was das bedeutet sehen wir nachher noch. Die Zeiten sind dann:
Länge des Passwortes | Laufzeit |
---|---|
8 Zeichen | 84 Tage |
9 Zeichen | 22 Jahre |
10 Zeichen | 2108 Jahre |
Dieser Sprung kommt daher, dass sich mit jedem Zeichen die Möglichkeiten um die Anzahl der möglichen Zeichen multipliziert. Haben wir also das gesamte Alphabet, mit Groß- und Kleinschreibung, Sonderzeichen und Zahlen in der Suche berücksichtigt, macht das 96 Zeichen, also ist die Anzahl der möglichen Passwörter 96 hoch 10 bei einem Passwort mit zehn Zeichen. Das macht insgesamt 66.483.263.599.150.100.000 (66 Trillionen) mögliche Passwörter, die durchprobiert werden müssen. Bei nur acht Zeichen im Passwort sind es lediglich 7.213.895.789.838.340 (7 Billiarden) mögliche Passwörter, das ist immerhin ein Unterschied vom Faktor Zehntausend.
Passwortkomplexität
Passwortknacker arbeiten erst einmal bekannte Begriffe durch, anhand einer so genannten Wortliste. Grundsätzlich sind Wörter die in einem Wörterbuch auftauchen absolut tabu für die Wahl eines Passwortes, denn diese sind innerhalb von wenigen Sekunden erraten. Besser ist es, ein Passwort zufällig generieren zu lassen, aber auch dann ist es wichtig, dass es möglichst komplex ist.
Wenn ich zu den Klein- und Großbuchstaben die Zahlen und Sonderzeichen mit hinzuziehe, vervierfacht sich mein Namensraum und wie man weiter oben lesen kann, ist die Anzahl der möglichen Zeichen die Basis in der Potenz, das soll heißen, jedes Zeichen was mehr im Zeichenraum ist sorgt für ein vielfaches an zusätzlich nötigen Versuchen beim raten des Passwortes. Hier auch ein Rechenbeispiel. Gehen wir davon aus, jemand hat ein zehn Zeichen langes Passwort gewählt, wie sind dann die Laufzeitunterschiede für einen Angriff auf Passwörter die unterschiedliche Namensräume als Basis haben? Auch hier nehmen wir als Geschwindigkeit wieder eine Milliarde Versuche pro Sekunde an.
Zeichenraum | Laufzeit |
---|---|
[26] a-z | 2 Tage |
[52] a-z;A-Z | 5 Jahre |
[62] a-z;A-Z;0-9 | 27 Jahre |
[96] a-z;A-Z;0-9 + Sonderzeichen | 21008 Jahre |
Schwache Passwörter
Man kann deutlich erkennen, wie wichtig eine Kombination aus Passwortlänge und Passwortkomplexität für die Sicherheut des Passwortes ist. Ein Passwort wie „passwort“ ist wertlos, ein Passwort wie „!f#5SplM&A“ ist sicher, aber schwer zu merken. Dennoch sollte man natürlich der Passwortsicherheit immer den Vorrang vor der Bequemlichkeit geben, sich ein Passwort einfach merken zu können. Hier ein paar Beispiele für sehr schwache Passwörter.
- Rein numerisch
- 12345
- 4711
- 42
- Begriffe aus Wörterbüchern
- passwort / password
- haus
- katze
- Eigennamen
- Jessica
- Emil
- Bello
- Geburtsdatum / Jahrestag
- 01.01.1970
- 25.05.2001
- 04.05.2013
Das alles sind bekannte Tatsachen und dennoch lauten die häufigsten Passwörter 2023 laut Hasso Plattner Institut wie folgt:
- 123456789
- 12345678
- hallo
- 1234567890
- 1234567
Mach es besser.
Ein starkes Passwort
Fassen wir also zusammen, was ein starkes und somit sicheres Passwort ausmacht.
- Möglichst lang, mindestens 10 Zeichen, ich persönlich tendiere sogar zu “nicht weniger als 16”
- Möglichst komplex
- Nicht aus bekannten Begriffen herleitbar
- Keine Eigennamen oder Geburts-/Jubiläumsdaten, auch nicht vom Hund oder der Katze
Wenn man das alles beachtet, ergibt sich das folgende sichere Passwort:
%F9L#6sSq§DiU0RgK$vuIY/5k4)IVm#o*!
Das kann man natürlich so nicht im Hinterkopf behalten. Selbst wenn man sich dieses Passwort merken könnte, was niemand wirklich möchte, wäre das nur ein einziges Passwort. Ein einziges Passwort für alle Logins? E-Mail, Facebook, Twitter, Bankkonto,… Besser nicht.
Einmaligkeit
Ein viel größeres Risiko als ein zu kurzes oder zu einfaches Passwort ist das weit verbreitete „Password Reuse„, also das Mehrfachverwenden eines Passwortes. Wenn man ein Passwort zu oft an verschiedene Stellen nutzt, läuft man Gefahr, dass ein einzelnes kompromittiertes Nutzerkonto dazu führt, dass diverse weitere Nutzerkonten unsicher sind.
Als Beispiel stelle man sich vor, man hat die E-Mail Adresse mail@example.org. Jetzt melde ich mich bei Facebook mit dieser Mailadresse an und verwende bei Facebook das gleiche Passwort wie bei meinem Mailanbieter. Außerdem bin ich Hobbyfischer und melde mich beim Fischerforum ebenfalls mit genau diesen Daten an. Was ich nicht weiß ist, dass das Fischerforum nicht ordentlich gegen Passwortraub gesichert ist, wenn jetzt also jemand dieses Forum angreift und die Nutzerdaten extrahiert, hat er meine Mailadresse und mein Passwort und wird selbstverständlich bei meinem Mailanbieter versuchen sich damit einzuloggen. Wenn er die Mails liest und sieht dass ich bei Facebook angemeldet bin, hat er auch hierfür die entsprechenden Informationen.
Ein sicherer Umgang mit Passwörtern bedeutet, dass ich idealerweise für jeden Dienst bei dem ich mich registriere ein eigenes Passwort verwende und diese Passwörter auch nicht jeweils aus einem anderen herzuleiten sind.
Außerdem ist zu empfehlen, dass das Mailkonto besonders gut geschützt ist. Denn über die „Passwort vergessen“ Funktion, die quasi jeder Dienst anbietet, kann man am Ende jedes Konto übernehmen, wenn man erst einmal zugriff auf die E-Mails hat.
Wie kann ich mich zusätzlich schützen?
Natürlich gibt es Hilfsmittel zum Umgang mit Passwörtern, sowie zusätzliche Schutzmechanismen.
Passwortverwaltung
Nun kann man sich vorstellen, dass das Verwenden von solchen sicheren und auch noch unterschiedlichen Passwörtern aus dem Gedächtnis an seine Grenzen stoßen wird. Daher empfiehlt es sich, eine Software zur Passwortverwaltung zu verwenden. Empfehlen kann ich an dieser Stelle das unter GPL lizenzierte Tool KeePassXC, welches für Linux, Mac, Windows und Mobilgeräte verfügbar ist. Man speichert seine Passwörter in einer verschlüsselten Datenbank und muss sich nur noch ein Hauptpasswort merken, mit dem man diese Datenbank bei Bedarf entsperrt.
Mit den entsprechenden Plugins im Browser, kann der Passwortmanager die Passwörter dort sogar automatisch ausfüllen, sodass man nicht einmal mehr im Passwortmanager nach den Passwörtern erst suchen und sie herauskopieren muss. Falls das im Browser mal nicht funktioniert, gibt es auch eine Autotype-Funktion, wenn man die aktiviert, wechselt KeyPassXC zurück ins vorherige Fenster, tippt Benutzername und Passwort ein und “drückt Enter”, ganz ohne, dass man im vorherigen Fenster irgendeine Anbindung an den Manager braucht. Damit wird die Nutzung sehr bequem.
Passphrasen
Manchmal ist es einfach nicht möglich, dass ein Passwort nicht aus einem Passwortmanager heraus eingegeben werden kann. Das Loginpasswort am PC zum Beispiel, oder die Festplattenverschlüsselung, die ich entschlüsseln muss, bevor ich überhaupt an mein System komme. Dann sind kryptische und lange Passwörter natürlich sehr unhandlich. Aber es gibt eine Alternative, die in diesen Fällen sehr gut nutzbar ist: Passphrasen.
Man merkt sich einen halbwegs komplexen Satz, der aber an sich keinen Sinn ergibt, außer vielleicht für einen selbst. Das kann ein Bild sein, was man sich innerlich vorstellt, das man dann beschreibt, wie zum Beispiel ein Pferd, welches einen Stapel Batterien anschaut, sagt dass das ein Stapel Batterien ist, was von einer zweiten Person (oder einem zweiten Pferd) bestätigt wird. Correct Horse Battery Staple ist ein Beispiel des Comiczeichners Randall Munroe, mit dem er gezeigt hat, wie das Konzept funktioniert.
Sicherheitsfragen
Viele Betreiber bieten zu der Option, sich ein Passwort per Mail zusenden zu lassen, auch noch eine Passwortüberbrückung durch so genannten „Sicherheitsfragen“ an. Oft wird dann nach dem Geburtsnamen der Mutter oder dem Namen des ersten Haustieres gefragt, welche beim Anbieter hinterlegt werden und dann beim Verlust des Passwortes genutzt werden können.
Hier wurde eine Option geschaffen, ein verlorenes Passwort, welches ja eine Personenverifizierung sein soll, durch eine andere Personenverifizierung zu umgehen. Was dabei nicht zu Ende gedacht wurde: Somit ist die Antwort auf eine der „geheimen“ Fragen gleichwertig mit meinem Passwort, mit dem Unterschied, dass der Geburtsname meiner Mutter potentiell heraus gefunden werden kann. Daher sollte man jede dieser Sicherheitsfragen und die dazu gehörigen Antworten wie das eigentliche Passwort betrachten und behandeln. Wenn möglich, hinterlegt man keine Antworten zu diesen Fragen.
Zwei-Faktor-Authentisierung
Viele Dienste bieten eine Möglichkeit, mit einem zweiten Faktor zu arbeiten. Ein zweiter Faktor ist nicht einfach ein zweites Passwort, sondern erweitert das Konzept der Authentisierung. Während ein Passwort ein Faktor der Kategorie “Wissen” ist, kann man die Anmeldung erweitern um den Faktor “Haben”. Zum Beispiel kann man neben “Weiß das Passwort” noch “Und hat sein Handy” abfragen, durch einen Code, der aufs Handy geschickt wird. Aber auch da gibt es Tücken zu beachten.
Die einfachste Möglichkeit ist in vielen Fällen, dass für ein Login immer noch ein zusätzliches Einmalpasswort an deine E-Mail-Adresse oder per SMS an dein Handy versandt wird. Leider ist ein solches Einmalpasswort per E-Mail kein wirklicher zweiter Faktor, denn im Grunde hat man dann nur den ersten um einen zweiten Wissensfaktor ergänzt, nämlich das Passwort für das E-Mail-Konto. Auch eine SMS, die zumindest das Kriterium eines zweiten Faktors (Haben: Das korrekte Handy) erweitert, ist nur ein schwacher Schutz, da SMS unverschlüsselt übertragen werden und nicht hinreichend gegen Fremdzugriff abgesichert sind.
Besser ist ein zweiter Faktor in Form eines Hard- oder Softwaretoken. Es gibt Softwaretokenlösungen, bei denen ich eine App auf meinem Handy habe, die mir alle paar Sekunden oder Minuten eine neue PIN anzeigt. Wenn ich mich einloggen will, muss ich die aktuellen PIN eingeben. Oft bieten Apps dann sogar an, dass man in der App direkt einen Button zum Bestätigen verwenden kann, ohne die PIN abzuschreiben. Das Prinzip kennen die meisten zumindest vom Onlinebanking, früher über TAN-Listen, dann TAN-Generatoren und heute TAN-Apps. Diese Möglichkeit bieten aber auch quasi alle Social-Media-Plattformen und E-Mail-Anbieter.
Es gibt auch Hardwaretoken, wie zum Beispiel YubiKey, für die Verwendung am PC. Da muss der Token im USB-Port stecken, um eine sichere Authentisierung vorzunehmen. Fehlt der Token, schlägt der Loginvorgang fehl.
Wenn ein Anbieter eine Option für einen zweiten Faktor anbietet, sollte man diesen immer nutzen. Hier gilt natürlich, dass ein Hardwaretoken besser ist als ein Mailtoken, aber ein Mailtoken ist immerhin besser als gar kein zweiter Faktor, die Abwägung, wie viel Aufwand für die Sicherheit man hier akzeptiert, muss man je nach Einsatzfall treffen.
Regelmäßiger Passwortwechsel ist Unfug
Zum Ende noch ein kleiner Hinweis: Alle paar Monate oder einmal im Jahr, zum Beispiel am 1. Februar, seine Passwörter zu ändern ist grober Unfug. Das verleitet nur dazu, sich einfache Passwörter auszudenken, die man dann jährlich minimal verändert. Ja, mit einem Passwortmanager könnte man sicher arbeiten und das Passwort regelmäßig ändern, aber dennoch sollte man das vermeiden. Es bringt keinen Sicherheitsgewinn.
Ich habe zwei Zustands-Möglichkeiten. Entweder mein Passwort ist noch nicht kompromittiert, damit auch mein Account nicht, dann gibt es keinen Grund das Passwort zu ändern. Oder ich gehe davon aus, dass mein Passwort und damit mein Account kompromittiert sind, dann muss ich davon ausgehen, dass alle relevanten Daten dort bereits gestohlen wurden und weitere Schäden entstanden sind. Dann sollte ich natürlich mein Passwort ändern, aber auch entsprechende weitere Maßnahmen einleiten, zweite Faktoren ändern, prüfen ob Kollateralschaden entstanden ist und so weiter. Wenn ich von diesem Fall ausgehe, ist ein einfaches Passwort-Ändern also auch nutzlos, oder zumindest nicht hinreichend geeigent als Umgang mit der Situation.
Zusammengefasst
Man sollte ich hinreichende Gedanken um seine Passwortsicherheit und seine Account-Sicherheit allgemein machen. Verwende sichere und einmalige Passwörter oder Passphrasen, nutze einen Passwortmanager und Zwei-Faktor-Authentisierung, wenn möglich, aber ändere nicht andauernd ohne Sinn und Verstand deine Passwörter.
Übrigens, für das Notieren von Passwörtern auf Zetteln ist eine Sünde und bringt Sysadmins zum weinen!