Warum werden Zertifikate gesperrt?

Um diese Frage zu beantworten müssen wir uns zuerst mit dem Standard X.509 beschäftigen. X.509 ist der am weitesten verbreitete Standard für eine Public Key Infrastructure (PKI). X.509 ist eine hierarchische Struktur bei dem eine Zertifizierungsstelle (englisch: Certification Authority) digitale Zertifikate ausstellt und für deren Vertrauenswürdigkeit garantiert. X.509 Zertifikate kommen überall da zum Einsatz, wo es um die Gewährleistung einer sicheren Kommunikation geht. X.509 Zertifikate dienen als Grundlage für vier der wichtigsten Sicherheitsanforderungen in heutigen Computersystemen: Integrität, Authentizität, Vertraulichkeit und Nichtabstreitbarkeit. Auch für die fünfte Sicherheitsanforderung der Verfügbarkeit können X.509 Zertifikate eine Rolle spielen, hier kommen aber noch andere Faktoren zum Einsatz. Die Rolle, die X.509 Zertifikate für die vier genannten Sicherheitskriterien spielt sind im Folgenden beschrieben:

  • Integrität
    Zertifikate gewährleisten, dass digitale Daten nicht verändert werden können.
  • Authentizität
    Zertifikate ermöglichen die eindeutige Identifizierung des Kommunikationspartners anhand des Zertifikates.
  • Vertraulichkeit
    Zertifikate sind die Grundlage für die Verschlüsselung von Daten und sichern Informationen gegen den Zugriff von Dritten, da nur die Kommunikationspartner die Daten entschlüsseln können.
  • Nichtabstreitbarkeit
    Durch die digitale Signatur wird erreicht, dass der Urheber einer Nachricht oder Datei eindeutig identifiziert werden kann und als Urheber feststeht.

Aufgrund der hohen Bedeutung von X.509 Zertifikaten für die digitale Kommunikation ist es notwendig, dass ein Mechanismus vorhanden ist, um Zertifikate zurückzurufen. Dieser Mechanismus wird als Sperrung (englisch: Revocation) bezeichnet.
Die ausstellende Zertifizierungsstelle (CA) verfügt über 2 Möglichkeiten die Sperrung eines Zertifikates zu publizieren:

  1. Sperrlisten (englisch Certificate Revocations List)
  2. Online Certificate Status Protocol (OCSP)

An dieser Stelle möchte ich noch auf eine zukünftig eventuell mögliche Art der Validierung von Zertifikaten hinweisen: Dem Server-based Certificate Validation Protocol (SCVP). Das Protokoll ist im RFC 5055 beschrieben, hat aber als „Proposed Standard“ in aktuellen X.509 Implementierungen noch keine Bedeutung. Eine Beschreibung des Protokolles findet sich in dem Artikel SCVP.

Welchen Zweck haben Sperrlisten?

Sperrlisten enthalten alle von einer CA ausgestellten und zwischenzeitlich gesperrten Zertifikate. Üblicherweise wird die Seriennummer eines Zertifikates mit dem Sperrzeitpunkt eingetragen.

Optional kann für jeden Eintrag auch der Sperrgrund eingetragen werden. In der Praxis empfiehlt es sich, immer einen passenden Sperrgrund anzugeben, da so die eigenen Kommunikationspartner selbständig Sperrgründe prüfen können. Die Bedeutung der Sperrgründe habe ich im Beitrag Passenden Sperrgrund auswählen dargestellt.
Die Sperrlisten werden anschließend auf den so genannten CRL Distribution Points (CDP) bereitgestellt und haben den Suffix .crl. Bei den CDPs sollte aus Kompatibilitätsgründen ein LDAP Verzeichnisse (wie dem Active Directory) oder HTTP-Servern verwendet werden. Der Zugriff auf diese CDPs erfolgt auf Basis des Attributes Sperrlisten-Verteilungspunkt in einem Zertifikat.

Mit dem Online Certificate Status Protokoll beschäftige ich in einem gesonderten Beitrag.