Montagmorgen, drei Partner melden sich: verschlüsselte Mails an die Buchhaltung gehen nicht mehr raus. Ihr Mailprogramm lehnt den Schlüssel ab, er ist seit dem Wochenende abgelaufen. Der naheliegende Reflex ist ein neuer Schlüssel. Der bessere Weg ist fast immer, den alten zu verlängern.
Warum PGP-Schlüssel überhaupt ablaufen
Ein Ablaufdatum ist eine Sicherung. Geht ein privater Schlüssel samt Passphrase verloren und fehlt ein vorab erstelltes Widerrufszertifikat, lässt er sich nicht mehr zurückziehen. Der Schlüssel läge dann für immer auf Schlüsselservern und in Adressbüchern von Gegenstellen. Mit Ablaufdatum wird er von selbst unbrauchbar.
Nach dem aktuellen OpenPGP-Standard RFC 9580 gilt ein Schlüssel vom Zeitpunkt seiner Erzeugung bis zum angegebenen Ablauf. Diese Angabe steckt nicht im Schlüssel selbst, sondern in seiner Selbstsignatur.
Was beim Verlängern tatsächlich passiert
Genau das macht das Verlängern so einfach. Wer ein neues Ablaufdatum setzt, schreibt eine neue Selbstsignatur mit späterem Ablauf. Das Schlüsselmaterial bleibt unberührt.
Der Fingerabdruck wird nach RFC 9580 aus dem Schlüsselpaket berechnet, also aus Schlüsselmaterial und Erzeugungszeitpunkt. Beides ändert sich nicht. Für Gegenstellen bedeutet das:
- Kein neuer Fingerabdruck, den jemand am Telefon abgleichen muss.
- Alte verschlüsselte Nachrichten bleiben mit demselben privaten Schlüssel lesbar.
- Routing-Regeln, Adressbücher und Freigaben, die am Fingerabdruck hängen, gelten weiter.
Ein neuer Schlüssel bricht dagegen alle drei Punkte.
Die Falle: der Unterschlüssel läuft extra ab
Ein typischer PGP-Schlüssel besteht aus zwei Teilen. Der Hauptschlüssel signiert, ein Unterschlüssel verschlüsselt. Beide haben ein eigenes Ablaufdatum.
Wer nur den Hauptschlüssel verlängert, kann weiter signieren. Verschlüsselte Mails an ihn scheitern trotzdem, weil der Verschlüsselungs-Unterschlüssel abgelaufen ist. Das ist der häufigste Grund, warum ein verlängerter Schlüssel angeblich nicht funktioniert.
Anleitung mit GnuPG
Zuerst den Fingerabdruck anzeigen:
gpg --list-secret-keys --keyid-format long
Dann Hauptschlüssel und Unterschlüssel verlängern, hier um zwei Jahre:
gpg --quick-set-expire FINGERABDRUCK 2y gpg --quick-set-expire FINGERABDRUCK 2y '*'
Der zweite Befehl verlängert laut GnuPG-Handbuch alle Unterschlüssel, die weder widerrufen noch schon abgelaufen sind. Ist der Unterschlüssel bereits abgelaufen, geht es über den Bearbeitungsmodus:
gpg --edit-key FINGERABDRUCK gpg> key 1 gpg> expire gpg> save
key 1 wählt den ersten Unterschlüssel, expire fragt nach dem neuen Ablauf. Ohne Auswahl ändert expire den Hauptschlüssel.
Zum Schluss den öffentlichen Schlüssel exportieren und verteilen:
gpg --armor --export FINGERABDRUCK > oeffentlicher-schluessel.asc
Anleitung mit Kleopatra
In Kleopatra, der Oberfläche von Gpg4win, den Schlüssel doppelt anklicken. In den Details gibt es eine Schaltfläche zum Ändern des Ablaufdatums. Danach den öffentlichen Schlüssel über das Exportieren neu weitergeben.
Anleitung mit Thunderbird
Thunderbird hat eine eigene OpenPGP-Verwaltung. Im Schlüsselmanager den Schlüssel doppelt anklicken und dort das Ablaufdatum ändern. Bei Schlüsseln mit ungewöhnlichem Aufbau lehnt Thunderbird das ab. Dann bleibt der Weg über GnuPG: privaten Schlüssel exportieren, dort verlängern, zurück importieren.
Was Gegenstellen danach tun müssen
Die Verlängerung wirkt nur dort, wo der neue öffentliche Schlüssel ankommt. Wer noch die alte Kopie hat, sieht den Schlüssel weiter als abgelaufen.
- Den aktualisierten öffentlichen Schlüssel an alle Gegenstellen schicken oder auf den Schlüsselserver laden, den sie nutzen.
- Die Gegenstellen lesen ihn ein. Der Fingerabdruck stimmt mit dem bekannten überein, ein neuer Abgleich ist nicht nötig.
- Wer den Schlüssel in einem Gateway oder Mailsystem hinterlegt hat, aktualisiert ihn auch dort.
Signaturen, die vor dem Ablauf erstellt wurden, bleiben prüfbar. Mailprogramme weisen dabei meist auf den Ablauf hin.
Wann ein neuer Schlüssel doch richtig ist
Verlängern ist die Regel, nicht immer die Antwort. Ein neuer Schlüssel gehört her, wenn
- der private Schlüssel kompromittiert sein könnte oder die Passphrase verloren ist,
- der Algorithmus nicht mehr zeitgemäß ist, etwa RSA mit 1024 Bit,
- der Schlüssel einer Person gehörte, die das Unternehmen verlassen hat.
Im ersten Fall den alten Schlüssel zusätzlich widerrufen.
Das eigentliche Problem im Unternehmen
Ein Schlüssel ist schnell verlängert. Zweihundert sind es nicht. Im Alltag läuft es so: Schlüssel entstehen verteilt auf Arbeitsplätzen, jeder mit eigenem Ablaufdatum, niemand hat die Liste. Bemerkt wird es erst, wenn ein Partner anruft.
Conbool SecureMail löst das zentral. PGP-Schlüssel lassen sich je Gruppe automatisch erzeugen, und die Automatik verlängert sie 30 Tage vor Ablauf. Der Fingerabdruck bleibt dabei gleich. Importierte Schlüssel fasst sie nicht an, sondern meldet nur, wenn einer abläuft. Mehr dazu auf der Seite PGP-Schlüsselverwaltung, die Einrichtung steht in der Doku zur Zertifikats- und Schlüsselverwaltung.
Häufige Fragen
Ändert sich der Fingerabdruck, wenn man einen PGP-Schlüssel verlängert?
Nein. Der Fingerabdruck wird aus dem Schlüsselpaket berechnet, also aus dem Schlüsselmaterial und dem Erzeugungszeitpunkt. Das Ablaufdatum steht in einer Signatur, die beim Verlängern neu geschrieben wird.
Kann man einen bereits abgelaufenen PGP-Schlüssel noch verlängern?
Ja, solange der private Schlüssel und seine Passphrase vorhanden sind und der Schlüssel nicht widerrufen wurde.
Muss ich den öffentlichen Schlüssel nach dem Verlängern neu verteilen?
Ja. Gegenstellen mit der alten Kopie sehen den Schlüssel weiter als abgelaufen. Sie müssen den öffentlichen Schlüssel neu einlesen, ihm aber nicht neu vertrauen, weil der Fingerabdruck gleich bleibt.
Wann sollte man statt zu verlängern einen neuen Schlüssel erstellen?
Wenn der private Schlüssel kompromittiert oder die Passphrase verloren ist, wenn der Algorithmus zu schwach ist oder wenn der Schlüssel einer Person zugeordnet war, die das Unternehmen verlassen hat.


