Die meisten Anwendungen, die von X.509-Zertifikaten abhängen, müssen den Status der verwendeten Zertifikate bei einer Authentifizierung, Signierung oder Verschlüsselung überprüfen. Diese Überprüfung der Zertifikatgültigkeit und -sperrung wird bei allen Zertifikaten in einer Zertifikatkette bis hin zum Stammzertifikat ausgeführt. Wenn das Stammzertifikat oder ein Zertifikat in der Kette ungültig ist, sind die Zertifikate unterhalb des ungültigen Zertifikats in der Kette auch ungültig.
Folgendes wird überprüft:
-
Die Signatur eines jeden Zertifikats ist gültig.
-
Die aktuellen Datums- und Zeitangaben liegen innerhalb des Gültigkeitszeitraums eines jeden Zertifikats.
-
Kein Zertifikat ist beschädigt oder unzulässig.
Darüber hinaus wird der Sperrstatus eines jeden Zertifikats in der Zertifikatkette überprüft. Die Sperrüberprüfung kann mithilfe der Antwort einer Zertifikatsperrliste (Certificate Revocation List, CRL) oder des Online Certificate Status-Protokolls (OCSP) erfolgen.
Was ist OCSP?
Der Microsoft Online-Responder implementiert das Online Certificate Status-Protokoll, mit dem der Empfänger eines Zertifikats mithilfe von HTTP (Hypertext Transfer Protocol) eine Zertifikatstatusanforderung an einen OCSP-Responder senden kann. Der OCSP-Responder sendet eine definitive, digital signierte Antwort mit dem Zertifikatstatus zurück. Die pro Anforderung abgerufene Datenmenge bleibt unabhängig von der Anzahl der gesperrten Zertifikate in der Zertifizierungsstelle stets konstant.
Weitere Informationen finden Sie unter RFC 2560 zum X.509-Internet-PKI-OCSP (
Online-Responder
Die Microsoft-Implementierung von OCSP - der Online-Responder - ist in Client- und Serverkomponenten unterteilt. Die Clientkomponente ist in die CryptoAPI 2.0-Bibliothek integriert, die Serverkomponente hingegen wird als neuer Dienst der Active Directory-Zertifikatsdienste-Serverrolle (Active Directory Certificate Services, AD CS) eingeführt. Mit dem folgenden Verfahren wird beschrieben, wie die Client- und Serverkomponenten interagieren:
-
Wenn eine Anwendung versucht, ein Zertifikat zu überprüfen, das Speicherorte für OCSP-Responder angibt, durchsucht zuerst die Clientkomponente den lokalen Arbeitsspeicher und die Datenträgercaches, um eine zwischengespeicherte OCSP-Antwort zu finden, die aktuelle Sperrdaten enthält.
-
Wenn keine zulässige zwischengespeicherte Antwort gefunden wird, wird mithilfe von HTTP eine Anforderung an einen Online-Responder gesendet.
-
Der Online-Responder-Webproxy decodiert und überprüft die Anforderung. Wenn die Anforderung gültig ist, wird der Webproxycache auf die zum Auffüllen der Anforderung erforderlichen Sperrinformationen überprüft. Wenn keine aktuellen Informationen im Cache verfügbar sind, wird die Anforderung an den Online-Responder-Dienst weitergeleitet.
-
Der Online-Responder-Dienst nimmt die Anforderung an und überprüft eine lokale Zertifikatsperrliste (wenn verfügbar) und eine zwischengespeicherte Kopie der neuesten Zertifikatsperrliste, die von der Zertifizierungstelle ausgestellt wurde.
-
Wird das Zertifikat in den lokalen oder zwischengespeicherten Sperrlisten nicht angezeigt, erhält der Sperranbieter von den in der Sperrkonfiguration aufgeführten Speicherorten eine aktualisierte Zertifizierungsstellen-Zertifikatsperrliste (wenn verfügbar), um den Status des Zertifikats zu überprüfen. Der Anbieter gibt wiederum den Status des Zertifikats an den Online-Responder-Dienst zurück.
-
Die Antwort wird dann vom Webproxy entschlüsselt und an den Client zurückgesendet. Der Client wird so darüber benachrichtigt, dass das Zertifikat gültig ist. Darüber hinaus wird für den Fall, dass weitere Statusanforderungen zu diesem Zertifikat eingehen, für einen begrenzten Zeitraum eine Kopie der Antwort zwischengespeichert.