CA Emergency Revocation list

Notfallsignierung der Zertifikatssperrliste

Sperrliste nach Ausfall der CA signieren

Sobald die Zertifizierungsstelle ausgefallen ist, wird man feststellen, wie wichtig die Sperrlisten wirklich sind.

Damit die ausgestellten Zertifikate weiterhin uneingeschränkt eingesetzt werden können, sollte man im Besitz einer Notfall-Sperrliste sein.

Die Notfall-Sperrliste lässt sich wie folgt auf einem Drittsystem des Vertrauens erstellen.

Dazu benötigen wir eine aktuelle Sperrliste und das Backup des Zertifizierungsstellenzertifikat. Diese beiden Teile lege ich in den Ordner C:\CAEmergency ab.

Notfallsignierung Sperrliste

Das Zertifizierungsstellenzertifikat (Privater Schlüssel) importieren wir in den lokalen Speicher.

Zertifizierungsstellenzertifikat Notfallsignierung

Bevor wir beginnen kontrollieren wir noch einmal, ob die aktuelle vorliegende Sperrliste auch wirklich mit dem Zertifizierungsstellenzertifikat signiert worden ist. Dazu gleichen wir die Schlüsselkennung einmal ab.

Wenn die Schlüsselkennung der Sperrliste mit der Schlüsselkennung des CA Zertifikats übereinstimmt, dann passt alles.

Schlüsselkennung ZertifizierungsstellenzertifikatSchlüsselkennung Zertifikatssperrliste

Notfallsignierung der Zertifikatssperrliste

Erstellen wir nun die Notfallsperrliste. Dazu öffnen wir die CMD mit administrativen Rechten und setzen folgenden Befehl ab. Der Befehl erstellt auf Basis der aktuell vorliegenden Sperrliste eine neue und verändert das Ablaufdatum wie gewünscht. In diesem Beispiel exemplarisch um 365 Tage und 0 Stunden von heute an.

Der Parameter 2.5.29.46 entfernt den Verweis auf die Deltasperrliste den wir in einem Notfall nicht benötigen.

Es öffnet sich ein Fenster in dem das CA Zertifikat zum signieren ausgewählt werden muss.

Die neue Sperrliste ist vom heutigen Tag an 1 Jahr gültig. In dieser Zeit sollte es möglich gewesen sein, die ausgefallene Zertifizierungsstelle in Betrieb zu nehmen.

Zertifizierungsstellenzertifikat Notfall

Emergency Revocation list

Zum Abschluss muss die präparierte Sperrliste nur noch an die Verteilpunkte ausgegeben werden. Die Sperrlisten Notfallsignierung ist nur ein Workaround!

Optional:

Ein manueller (lokaler) Import einer Sperrliste wird wie folgt durchgeführt. Dazu setzt man in einer administrativen Kommandozeile folgenden Befehl ab:

certutil -addstore CA C:\Temp\Sperrliste.crl

Die Sperrliste kann dann mithilfe der Managementkonsole eingesehen werden.

Was ist eine Sperrliste

Certificate Revocation List (CRL) wird durch RFC 5280 definiert und spezifiziert einen einfachen Mechanismus, um den Status jedes Zertifikats zu überprüfen: Jede Zertifizierungsstelle verwaltet und veröffentlicht regelmäßig eine Liste der gesperrten Zertifikatsseriennummern.

Wenn ein System oder eine Applikation versucht ein Zertifikat zu verifizieren, wird dafür die Sperrliste heruntergeladen, zwischengespeichert und auf das Vorhandensein einer bestimmten Seriennummer geprüft. Ist die Seriennummer in der CRL-Liste enthalten, dann wurde das Zertifikat gesperrt.

Dieser Vorgang ist simpel, hat jedoch auch ein paar von Einschränkungen:

  • Viele Widerrufe führen dazu, dass die CRL-Liste länger wird, und jeder Client die gesamte Liste der Seriennummern abrufen und durcharbeiten muss.
  • Es gibt leider keinen Mechanismus für die sofortige Benachrichtigung über den Widerruf eines Zertifikats. Wenn die CRL-Liste vom Client zwischengespeichert wurde, bevor das Zertifikat widerrufen wurde, betrachtet die CRL-Liste das widerrufene Zertifikat als gültig, bis der Cache abläuft.
  • Besteht die Notwendigkeit, die neueste CRL-Liste von der CA abzurufen, kann das die Zertifikatsüberprüfung hinauszögern, was dem TLS-Handshake eine erhebliche Latenzzeit hinzufügen kann.
  • Der CRL-Abruf kann aus verschiedenen Gründen fehlschlagen, und in solchen Fällen ist das Browserverhalten nicht definiert. Die meisten Browser behandeln solche Fälle als “soft Fail”, wodurch die Überprüfung fortgesetzt werden kann.

Um den Einschränkungen entgegen zu wirken, wurde das OSCP (Online Certificate Status Protocol) entwickelt. Es bietet die Möglichkeit zur Durchführung einer Echtzeitprüfung, um den  Status eines Zertifikats abzurufen.

https://www.der-windows-papst.de/2018/01/20/zertifikatsstellen-sperrlistenpruefung-deaktivieren/