Umgang mit Passworten

Posted on 2021-09-29

Passworte stellen den Schlüssel zu Ihren Identitäten in der digitalen Welt dar. Bessere Technologien setzen sich nur langsam durch, bis dahin kommen Sie nicht umhin sich mit dem Thema praktisch auseinanderzusetzen. In diesem Tutorial stelle ich Ihnen einige grundlegende Richtlinien für die Nutzung und ein paar Werkzeuge zur Speicherung und Erzeugung von Passworten vor.

Passworteigenschaften

  • Kein Passwort mehrfach verwenden
    • Jeder Account hat ein eigenes Passwort
    • Ansonsten reicht ein Datenleck und alle Accounts sind offen
  • Passwort umfasst großen Zeichenraum
    • Groß-, Kleinbuchstaben, Ziffern und Sonderzeichen
    • Erschwert das “Erraten” und “Ausprobieren”
  • Mindestens 8 Zeichen lang, besser mehr
    • Kürzere Passworte sind zu schnell durchprobiert
    • Verlängert die erwartete “Ratezeit” eines Angreifers
  • keine Worte, Namen, Daten oder andere erkennbare Muster
    • Angreifer probieren solche Dinge zuerst
  • Wichige Passworte sollten regelmäßig geändert werden
    • Setzt Angriffe “zurück auf Null”
  • Alternativen für Passworte nutzen, wenn es geht.
    • Siehe unten “SSH-keys”

Beispiele

Schlechte Passworte sind:

  • “123456”
    • nur Zahlen
    • zu kurz
    • sehr einfaches Muster
  • “4u%w01ke7”
    • triviale Umwandlung aus “aufwolke7”
      • Worte aus Wörterbuch
      • bekannte Phrase
    • “Standardumwandlung” Leetspeak
  • “Y1seR$fvg5Z”
    • basiert auf Zickzackpfad-Muster auf Qwertz-Tastaturlayout
      • zu einfaches Muster, nicht wesentlich besser als “asdfghjkl”
    • Eingestreute Zahlen und Sonderzeichen sind gut

Gute Passworte können Sie mit dem Program pwgen auf hopper erzeugen:

pwgen -sy 10

(Oder Sie besorgen sich einen 30-seitigen Buchstabenwürfel aus dem Spielehandel.)

Was ist ein gutes Passwort?

Ein gutes Passwort zeichnet sich durch zwei Dinge aus:

  1. es ist schwer zu erraten, und
  2. es ist leicht zu merken.

Ein Passwort, welches schwer zu erraten ist, besteht aus einer möglichst zufälligen Zeichenkette. Das Passwort darf nicht aus persönlichen Informationen bestehen, weil diese einem Angreifer bekannt sein können. Es darf auch nicht trivial sein, wie zum Beispiel “123456”, weil solche Zeichenketten von Angreifern zuerst ausprobiert werden. Es darf zum Beispiel nicht aus einem oder zwei Wörtern bestehen, die Sie in einem Wörterbuch finden. Auch Wörter aus anderen Sprachen können nicht als sicher gelten. Und es sollte auch nicht dadurch erzeugt werden, dass Sie mit den Händen einfach auf die Tastatur hauen, weil auch dabei, mit hoher Wahrscheinlichkeit, bestimmte Muster mit höherer Wahrscheinlichkeit entstehen — und sie müssen davon ausgehen, dass diese Muster den Angreifern bekannt sind. Damit es Angreifer schwer haben das Passwort zu raten, müssen Sie vermeiden bekannte Muster für Ihre Passworte zu verwenden.

Auf der anderen Seite müssen Sie in der Lage sein jedes einzelne Passwort für jeden Account zur Verwendung reproduzieren zu können. Wenig erstaunlich fällt es leichter sich Passworte zu merken, wenn diese nach Mustern zusammengesetzt sind.

Beide Ziele wirken erst einmal nicht gleichzeitig erreichbar, weshalb ich im Folgenden ein paar Techniken vorstellen möchte die dabei helfen.

Passwort Manager

Die wenigsten Menschen können sich nicht langfristig sicher 42 zufällige 13-stellige Zeichenketten aus Groß-, Kleinbuchstaben, Ziffern und Sonderzeichen merken, die sich dann auch noch jährlich ändern. Für Dinge die wir uns nicht merken können oder wollen haben wir eine alte Kulturtechnik: Aufschreiben.

Papiergedächtnis

Ein Passwort vergessen Sie nicht bei der Erzeugung, sondern später. Es gibt keine Vorwarnung, Sie merken erst, dass Sie ein Passwort vergessen haben, wenn Sie sich nicht mehr daran erinnern können. Es ist besser Sie schreiben es sich sofort bei der Erzeugung auf.

Eine einfache Variante ist ein kleines Notizbuch oder Adressbuch zu führen. Nutzen Sie einen radierbaren, wasserfesten Stift. Eine gute Möglichkeit benötigte Passworte später auch wiederzufinden ist es diese nach dem Namen des Dienstes zu sortieren für welchen das Passwort gültig ist. Vergessen Sie auch nicht sich den Nutzernamen mitaufzuschreiben, ohne diesen ist ein Passwort nutzlos.

Wichtig ist, dass Ihre Passwortnotizen damit zu einem kritischen Ausweisdokument werden. Wer Ihr Passwortbuch in die Finger bekommt kann Ihre Identitäten übernehmen, leichter noch als wenn die Angreifer Ihren Reisepass entwenden. Verwahren Sie Ihre Passworte sicher.

Digitale Passwortmanager

Passwortmanager speichern Passworte in einem verschlüsseltem Speicher. Es gibt viele verschiedene Varianten. Auf unserem zentralen Shell-Server hopper haben wir für Sie den Passwortmanager pass installiert, den ich hiermit empfehlen will und, mit dem sich Grundprinzipien und Prozess beispielhaft erklären lassen.

pass speichert Passworte und mehrzeilige Texte in verschlüsselten Dateien in einer normalen Verzeichnishierachie. Die Verschlüsselung erfolgt mittels GnuPG und nutzt damit ein verbreitetes, offenes und gut getestetes Programm für diese kritische Operation.

Zuerst sollte ein eigener GPG-Schlüssel angelegt werden. Name und Emailadresse spielen dabei keine wichtige Rolle, geben Sie am besten einen Namen an, an dem Sie den Zweck des Schlüssels wiedererkennen:

gpg --generate-key

Merken Sie sich die Schlüssel-ID. Das ist die lange Hexadezimalzahl die am Ende ausgegeben wird.

Dann müssen Sie ein Verzeichnis für den Passwortspeicher anlegen und den Passwordmanager initialisieren. Optional können Sie eine Versionskontrolle ihrer Schlüsselverwaltung mit git initialisieren um später auch auf ältere Versionen Ihrer Passworte zugreifen zu können.

mkdir ~/.passwordstore
pass init ~/.passwordstore <Schlüssel-ID>
pass git init

Jetzt ist der Passwortmanager bereit und sie können mit den folgenden Kommandos Passworte hinzufügen, suchen und auslesen. Sie müssen nur beim Auslesen das Passwort ihres gpg-Schlüssels eingeben.

pass insert
pass search <suchtext>
pass show <passwort-pfad>

Merkbare Passworte

Selbst gegenüber einem Passwortmanager müssen Sie sich noch authentifizieren, und meist machen Sie dies mit einem Passwort. Und, es wäre dafür doch gut, wenn Sie dieses Passwort nicht direkt nach jeder längeren Pause wieder vergessen haben. (Ein so wichtiges Passwort sollten Sie sich vielleicht tatsächlich an einer sicheren Stelle auf Papier notieren.) Wenn Sie dieses Passwort vergessen bleiben alle Ihre Passworte für Sie versperrt. Und, ein paar andere Passworte, z.B. der Zugang zu Ihrem Arbeitsrechner, wollen Sie vielleicht grundsätzlich auch noch im Gehirn abspeichern.

Es gibt mehrere Varianten “merkbare” Passworte zu generieren, die ich an dieser Stelle nicht ausführlich behandeln kann. Eine Variante ist die Nutzung eines persönlichen Algorithmus mit dem sich aus einem Geheimen Wort und dem Dienstnamen ein sehr zufälliges Passwort generieren lässt. Dieses Verfahren muss ausreichend einfach sein, damit Sie es im Kopf ausführen können und nicht vergessen. Es muss aber auch ausreichend komplex sein, um ein schwer ratbares Passwort zu erzeugen.

Eine zweite Methode ist, sich ein zufälliges Passwort zu generieren, welches für das menschliche Gehirn leichter zu merken ist, als eine zufällige Verkettung von Buchstaben. Das bekannteste Verfahren dafür ist vermutlich Diceware. Dabei wählen fünf Würfelwürfe ein Wort aus einem öffentlichen und bekannten Verzeichnis aus. Sechs dieser Worte bilden dann die Passphrase die Sie als Passwort verwenden können. Unser Gehirn kann sich die mit den Worten assoziierten Konzepte, z.B. “HorseBatteryStapleCorrect”, deutlich leichter merken. (Das sehen Sie schon daran, dass ich dieses Beispiel aus XKCD 936 hier aus dem Kopf, nur mit einem Wortdreher aufschreiben konnte.)

Aber, auch wenn Sie sich heute perfekt an Ihr grandioses Passwort erinnern können. Schreiben Sie sich zumindest Ihre wichtigsten Passworte an einem sicheren Ort auf.

SSH-Keys

Passworte sind weder bequem nutzbar noch besonders sicher. Deshalb ist es grundsätzlich sinnvoller echte kryptographische Schlüssel zur Authentifizierung zu nutzen. Jannik Peters hat eine sehr gute Einführung zum Umgang mit SSH geschrieben.