zur Startseitezur Glossar-Startseite

Glossar: Passphrase

04.10.2014 (24.03.2014)

Eine Passphrase ist ein Passwort (das Leerzeichen enthalten kann, daher der andere Name), mit dem typischerweise private Schlüssel vor dem Abspeichern im Keyring verschlüsselt werden. Dies ist lediglich eine Schutzmaßnahme, der Schlüssel selber ändert sich dadurch nicht. Die Passphrase kann jederzeit geändert werden. Wie eine Passphrase beschaffen sein muss, um ein wirksamer Schutz zu sein, hängt von den jeweiligen Umständen ab.

verwandte Begriffe

Offline-Hauptschlüssel

Die Passphrase hat insbesondere keinerlei Einfluss auf die Sicherheit verschlüsselter Nachrichten (für die Verschlüsselung werden nur die öffentlichen Schlüssel verwendet, die keine Passphrase haben).

Eine Passphrase ist kein wirksamer Schutz gegen Onlineangriffe (also Schadsoftware, die auf dem Rechner ausgeführt wird), weil man in diesen Fällen (typischerweise) davon ausgehen muss, dass der Angreifer in der Lage ist, die Passphrase einfach auszulesen (z.B. vom Caching-Dämon gpg-agent in den GnuPG-Versionen 1.4.x und 2.0.x) oder bei der Eingabe mitzulesen. Gegen Onlineangriffe hilft nur eine Smartcard (und auch die nur begrenzt).

Eine Passphrase kann verhindern, dass der Schlüssel missbraucht wird, wenn private Schlüssel in geschützter Form geklaut werden. Das ist wenig relevant, wenn der Rechner über (sichere) Plattenverschlüsselung verfügt. Eine Passphrase kann verhindern, dass Schlüssel auf dem Rechner selber missbraucht werden, wenn Dritte Zugang zu dem laufenden Rechner bekommen – aber keine Möglichkeit haben, die Schlüssel runterzukopieren (ein wenig realistisches Szenario), und die Passphrase nicht gecacht wird. Praxisrelevant dürfte ein Schutz gegen Leute sein, die keine "richtigen" Angreifer sind, also vielleicht neugierige Kollegen, Familienmitglieder oder Mitbewohner, die keinen Schaden anrichten, sondern sich höchstens einen Spaß machen wollen, und auch keinen großen technischen Aufwand treiben würden, um ihr Ziel zu erreichen, sondern die den unbeaufsichtigten Rechner sehen, auf dumme Gedanken kommen, ausprobieren, nach einem Passwort gefragt werden (das sie nicht raten können) und dann gleich aufgeben.

Große Bedeutung hat die Passphrase, wenn Schlüssel auf unverschlüsselten Datenträgern gespeichert werden (etwa, um sie auf einen anderen Rechner zu transportieren), zumal das sichere Löschen von Dateien so eine Sache ist. USB-Sticks zu verschlüsseln, ist unüblich, aber natürlich möglich.

Man kann die Passphrase jederzeit problemlos ändern. Wenn man allerdings eine schwache Passphrase durch eine starke ersetzt, muss man im Auge behalten, dass es womöglich irgendwo (Backup, USB-Stick) Versionen des Schlüssels mit der alten Passphrase gibt.

Stärke der Passphrase: Qualität und Länge

Die Stärke einer Passphrase ist der Aufwand, den ein Angreifer treiben muss, um sie zu finden. Eine Passphrase ist für einen gegebenen Zweck sicher, wenn die dem (stärksten) betrachteten Angreifer mutmaßlich zur Verfügung stehenden Ressourcen nicht ausreichen, die Passphrase (innerhalb der Zeit, in der sie für ihn von Interesse ist und die man selber als notwendigen Schutzzeitraum empfindet) zu finden. Die Stärke entspricht dem zu durchsuchenden Schlüsselraum. Der ist nur dann leicht zu berechnen, wenn es sich um eine Zufallspassphrase handelt, also jede Kombination der zulässigen Zeichen möglich ist. Dann ist die Größe des Schlüsselraums die Anzahl der Möglichkeiten für jedes Zeichen potenziert mit der Anzahl der Zeichen. Wenn man sich auf die 26 Buchstaben (keine Umlaute) in Groß- und Kleinschreibung sowie die Ziffern beschränkt (was große Vorteile hat, wenn man mal an einem Rechner mit anderer Tastatureinstellung sitzt) und davon acht Stellen nimmt, sind das also 62 hoch acht, 628, Möglichkeiten: 191.707.312.997.281 (1,91×1014).

Die Frage ist also, was unterschiedlich starken Angreifern heute möglich ist. Das Wichtigste vorab: Alles, was man als kurze oder einfache Passphrase ansehen könnte, kann man gleich vergessen. Alle Abwandlungen normaler Wörter ("o" durch "0" ersetzen und ähnlichen Quatsch) kann man vergessen.

Das Testen einer OpenPGP-Passphrase funktioniert zwar anders und wird deshalb nicht so schnell gehen, aber als Anhaltspunkt kann man nehmen, mit welcher Geschwindigkeit heutzutage Hashwerte berechnet werden können (das ist für das Knacken klassischer Login-Passwörter relevant). Die Verfügbarkeit der massiv parallel und bei hohen Taktfrequenzen arbeitenden Grafikchips, die man auch für andere Aufgaben als Grafikberechnungen einspannen kann, hat quasi jedermann eine für diese Zwecke immense Rechenleistung zur Verfügung gestellt. Auch Grafikkarten, die nicht zu den teuersten gehören, schaffen derzeit (2014) eine einstellige Milliardenmenge an Hashwerten pro Sekunde.

Auf dieser externen Seite gibt es eine Übersicht für unterschiedliche Passwortkomplexität und Passwortlängen, wie lange es (maximal) dauert, das Passwort zu finden.

Empfehlungen

Für normale Schlüssel empfehle ich, eine Passphrase zu nehmen, die man auch anderswo nutzt und deshalb nicht vergisst; sie sollte so (kurz) sein, dass man sie auch freiwillig mehrfach am Tag eingibt. Einen Schlüssel (auch vorübergehend) nicht mehr nutzen zu können, weil man die Passphrase vergessen hat (die zudem nicht mal echte Sicherheit bietet), ist keine schöne Erfahrung und wird einen nicht in der Nutzung der Technik bestärken.

Unabhängig von der Länge und Komplexität kann man den Aufwand des Knackens der Passphrase dadurch hochtreiben, dass man GnuPG anweist, ihre Berechnung aufwendiger zu machen. Solange das auf dem langsamsten genutzten Gerät nicht zu größeren Verzögerungen als einer Sekunde führt, sollte das nicht stören. Der Standardwert für die Iterationen der Passphrase ist 65536. Möglich sind Werte von 1024 bis 65011712. Gesetzt wird dieser Wert mit der Option s2k-count 1000000. Das reine Ändern der Konfigurationsdatei ändert aber nichts; man muss danach die Passphrase neu setzen (und sei es auf denselben Wert). Siehe diesen Thread auf der GnuPG-Mailingliste, wie man den Erfolg der Aktion prüft. Es ist unproblematisch, private Schlüssel mit unterschiedlichen Iterationswerten im Keyring zu haben, weil der jeweilige Wert im Schlüssel gespeichert ist. Änderungen des Werts in der Konfigurationsdatei führen also nicht zu Funktionsstörungen.

Das amerikanische NIST empfiehlt für Schlüssel der höchsten zivilen Sicherheitsstufe eine Passphrasestärke von 80 Bit. Bei der Beschränkung auf normale Buchstaben und Ziffern ist das bei 14 Stellen erreicht. In meiner Schulung verwenden wir für die Hauptschlüssel 18 Stellen (und s2k-count 1000000); ob 14 oder 18 – merken kann (oder will) man sich das sowieso nicht, und ob man nun die eine oder andere Stelle mehr abschreibt, macht den Kohl nicht fett. Für Schlüssel, die sehr lange genutzt werden sollen, bietet es sich an, hier eine Sicherheitsmarge mitzunehmen.