Veröffentlichung von Widerrufsinformation

Eine Grundfunktion einer PKI ist, die Widerrufsinformation gesammelt zu veröffentlichen, bzw. zu verteilen. Dieses kann in Form von Widerrufslisten geschehen oder aber auch als Online-Abfragemöglichkeit bestehen.

Liste und Protokolle für Widerrufsdienst

 

  • CRL - Certificate Revocation List: Die widerrufenen Zertifikate sind zumindest für die Zeit der jeweiligen Zertifikatsgültigkeit in einer signierten Liste veröffentlicht. Wenn die Liste widerrufene CA-Zertifikate enthält spricht man häufig von ARLs (Authority Revocation List) oder CARLs (Certificate Authority Revocation List). Wenn die Liste widerrufene Attributszertifikate enthält spricht man auch von ACRL (Attribute Certificate Revocation List) und AARL (Attribute Authority Revocation List)
  • Delta CRL: Diese Liste beinhaltet nur die Zertifikate, die sich im Widerrufsstatus seit der Veröffentlichung der letzten Base CRL verändert haben.
  • Indirect CRL: Diese Widerrufslisten enthalten auch Widerrufsinformationen über Zertifikate die von anderen CAs ausgestellt wurden, die Anderen werden zur Unterscheidung dann Simple CRLs genannt. Delta CRLs können ebenso indirekte CRLs sein (indirect delta Tree)
  • Redirect CRL: Bei Konfigurationsänderungen der PKI kann sich auch der Verteilungspunkt für CRLs ändern. Um eine reibungslose Validierung bestehender Zertifikate zu ermöglichen, kann mittels Redirect CRLs auf den neuen Verteilungspunkt verwiesen werden. Das lässt sich mit der X.509 CRL-Erweiterung Status Referral erreichen.
  • CRT - Certificate Revocation Tree: Die Widerrufsinformation kann auch als Merkle-Hash-Tree veröffentlicht werden, was den Aufwand reduziert.
  • Online-Verifikation: Bei PKIX sind OCSP und SCVP als Protokolle zur Online-Verifikation spezifiziert

X.509 CRL

X.509 sieht als Widerrufsmechanismus Listen vor, obwohl auch andere Mechanismen verwendet werden können. X.509 unterscheidet zwischen dem Zeitpunkt, an dem ein Zertifikat durch eine CA widerrufen wurde, und dem Zeitpunkt, an dem dieser erstmals veröffentlicht wurde.

Um Konsistenz und Prüfbarkeit aufrechtzuerhalten muss eine CA Aufzeichnungen über den Widerruf aufbewahren, Widerrufsinformation zur Verfügung stellen bzw. CRLs veröffentlichen, auch wenn kein Eintrag existiert.

Eine CRL ist eine, von einem CA-Zertifikat, signierte Liste von widerrufenen Zertifikaten.

CRL - Format

FeldnameInhalt
Version NumberIndiziert die Version der CRL und damit den erlaubten Inhalt.
Signature AlgorithmIndiziert das Hash-Verfahren und den Signaturalgorithmus, die verwendet wurden, um die CRL zu signieren.
IssuerBeinhaltet den Namen des Ausstellers der CRL als Distinguished Name.
This UpdateDefiniert den Zeitpunkt, an dem diese CRL veröffentlicht wurde
Next UpdateDefiniert den Zeitpunkt, wann die nächste CRL ausgestellt werden wird.
revoked Certificates:

 

  • Serial Number,
  • Date of Revocation,
  • v2: CRL Entry Extension:
  • v2: Reason Code

 Reason Codes

  • unspezifiziert: (0)
  • Key Compromise: (1) Der private Schlüssel ist oder könnte kompromittiert worden sein, nur bei Endzertifikaten
  • CA Compromise: (2) Der private Schlüssel einer CA ist oder könnte kompromittiert worden sein.
  • Affiliation Changed: (3) Die "Zugehörigkeit" d.h. der Name oder andere Informationen über den Inhaber haben sich geändert
  • Superseeded: (4) Das Zertifikat wurde durch ein neueres abgelöst.
  • Cessation of Operation: (5) Das Zertifikat wird nicht mehr länger für den ausgestellten Zweck benötigt.
  • Certificate Hold: (6) Das Zertifikat ist (vorübergehend) gesperrt, die Sperre kann später endgültig in einen Widerruf umgewandelt werden, oder wieder freigegeben werden.
  • Remove from CRL: (8) Mit diesem Code wird innerhalb delta CRLs angezeigt, dass dieses widerrufene Zertifikat abgelaufen ist, und von der Liste zu streichen ist. Ansonsten wird dieser Code genutzt, um eine Sperre wieder aufzuheben.
  • Privilege Withdrawn: (9) Ein im Zertifikat dokumentiertes Recht wurde zurückgezogen.
  • AA Compromise: (10) Der private Schlüssel einer Attribute Authority ist oder könnte kompromittiert worden sein.

x.509 CRL-Erweiterungen

CRL - Erweiterungen haben zumeist die gleichen Eigenschaften wie Zertifikatserweiterungen (Kritikalitätsindikator, Standarderweiterungen, Private Erweiterungen) und sind zum Teil sogar ident, aber CRL Erweiterungen umfassen noch den zusätzlichen Themenbereich der CRL-Verteilungspunkte bzw. delta CRLs. Es gibt auch noch eine besondere Art von CRL Erweiterungen:

CRL Entry Extensions beinhalten weitere Informationen über den Eintrag eines Zertifikates in die Widerrufsliste.

CRL-Entry Extension

  •  Reason Code
  • Hold Instruction Code: spezifiziert mittels OID was bei gesperrten Zertifikaten zu tun ist.
  • Invalidity Date: gibt den (vermutlichen) Zeitpunkt an dem die Kompromittierung des privaten Schlüssel tatsächlich stattfand
  • Certificate Issuer: gibt in indirekten CRLs an, wer die ausstellende CA des widerrufenen Zertifikats ist.

CRL-Erweiterungen

  •  Authority Key Identifier
  • Issuer Alternative Name
  • CRL-Number: monoton ansteigende Nummer für eine CRL eines Bereiches
  • CRL-Scope: (non PKIX): definiert den Bereich, den unterschiedliche CRL-Typen abdecken: simple CRL, indirect CRL, delta CRL, indirect delta CRL.
  • Status Referal: (non PKIX): Diese Erweiterung liefert keine Widerrufsinformation sondern eine Liste von CRLs und deren jeweilige Eigenschaften, wie deren Verteilungspunkt oder Bereich. Anwendungen können dadurch die geeignete CRL auswählen. Diese Erweiterung kann auch als Redirect-Mechanismus bei Konfigurationsänderungen bei der PKI verwendet werden.
  • CRL Stream Identifier: (non PKIX): diese Erweiterung erlaubt einer CA mehrere CRL auszustellen. Dieser Identifier sollte für jeden CRL-Stream eindeutig sein, und so zusammen mit der CRL-Nummer eine CRL eindeutig spezifizieren.
  • Ordered List: (non PKIX) gibt die Art der Ordnung der CRL-Einträge, aufsteigend nach Seriennummer oder nach Widerrufsdatum, an.
  • Delta Information: (non PKIX) spezifiziert in normalen CRLs, wo es Delta CRLs zu dieser CRL gibt.
  • Freshest CRL:  bzw. Delta CRL Distribution Point, spezifiziert in normalen CRLs, wo es Delta CRLs zu dieser CRL gibt. Es sollte laut X.509 nur in Zertifikaten verwendet werden, PKIX definiert diese Erweiterung als CRL-Erweiterung.
  • Issuing Distribution Point: diese kritische Erweiterung spezifiziert den Verteilungspunkt und den Bereich einer CRL
  • Delta CRL Indicator: diese kritische Erweiterung definiert die CRL als delta CRL und beinhaltet die Nummer der Base CRL
  • Base Update: (non PKIX) in Delta CRLs gibt diese Erweiterung an, ab welchem Zeitpunkt diese Delta CRL Widerrufsinformation beinhaltet.

Hold Instruction Code

PKIX definiert 3 unterschiedliche Reaktionsarten und entsprechende OIDs für diese CRL Entry Extension

None:
semantisch gleichbedeutend mit dem Fehlen dieser Erweiterung
Call Issuer:
Nachfrage beim Aussteller oder sofortige Ablehnung
Reject:
Ablehnung des Zertifikats

Issuing Distribution Point

Die Issuing Distribution Point Erweiterung gibt neben dem Verteilungspunkt auch den Bereich an, den die CRL abdeckt, oder ob alle Widerrufsgründe abgedeckt werden. Mögliche Werte sind

Only contain User Certs: Die CRL deckt nur Endzertifikate ab.
Only contain Authority Certs:
Die CRL deckt nur CA-Zertifikate ab.
Only some Reasons:
Die CRL beinhaltet nur Zertifikate die aus bestimmten Gründen (Reason Codes) widerrufen wurden
Indirect CRL:
Wenn gesetzt, kann die CRL auch Widerrufsinformation anderer CAs beinhalten
Only contain Attribute Certs :
Die CRL deckt nur Attributszertifikate ab.