- Online Certificate Status Protocol
-
Das Online Certificate Status Protocol (OCSP) ist ein Internet-Protokoll, das es Clients ermöglicht, den Status von X.509-Zertifikaten bei einem Validierungsdienst abzufragen. Benötigt wird dies bei der Prüfung digitaler Signaturen, bei der Authentisierung in Kommunikationsprotokollen (z. B. bei SSL) oder für die Versendung verschlüsselter E-Mails, um zu überprüfen, ob die Zertifikate, die zur Prüfung der Signatur, zur Identifizierung der Kommunikationspartner oder zur Verschlüsselung verwendet werden, gesperrt und damit bereits vor Ende ihres regulären Gültigkeitszeitraums ungültig wurden.
Inhaltsverzeichnis
Funktionsweise
Mittels OCSP kann der Status eines Zertifikats durch Anfrage bei einem Server (ein so genannter OCSP-Responder) abgefragt werden. Dieser OCSP-Responder wird in der Regel vom Herausgeber des Zertifikats betrieben und liefert als Antwort „good“ (d. h. das Zertifikat nicht gesperrt), „revoked“ (Zertifikat ist gesperrt) oder „unknown“ (der Status konnte nicht ermittelt werden, etwa weil der Herausgeber des Zertifikats dem Responder nicht bekannt ist). Des Weiteren besteht die Möglichkeit, dass der OCSP-Responder sogenannte Positivauskünfte („Zertifikat ist authentisch und gültig“) erteilt. Dabei wird der Antwort ein Hash-Wert des Zertifikats mitgegeben, wenn das Zertifikat tatsächlich existiert. Die Erteilung von Positivauskünften ist im OCSP-Standard RFC 2560 allerdings nicht vorgesehen, so dass ihre korrekte Auswertung ein vom Standard abweichendes Verhalten der OCSP-Clients erfordert. In Deutschland ist die Erteilung von Positivauskünften für qualifizierte Zertifikate vom Signaturgesetz gefordert.
Reguläre Antworten (OCSP Response) sind stets vom OCSP Responder digital signiert und können somit vom Client auf ihre Echtheit und Unverfälschtheit geprüft werden. Antworten, die Fehlersituationen repräsentieren, sind nicht signiert. Die Anfrage (OCSP Request) kann signiert sein, muss es aber nicht sein; in der Praxis werden OCSP Requests selten signiert.
OCSP erlaubt es auch, in einer Anfrage die Gültigkeit mehrerer Zertifikate abzufragen; der Responder liefert dann in seiner Antwort eine Liste mit den jeweiligen Zertifikatsstatus.
Sofern ein OCSP-Responder auf einer aktuellen Datenbasis (z. B. einer Replikation der Datenbank der Zertifizierungsstelle) arbeitet, gibt er stets den gegenwärtigen Sperrstatus des Zertifikates an. Für die Gültigkeit einer elektronischen Signatur ist aber unter Umständen nicht der Status des Zertifikates zum Zeitpunkt der Prüfung (und der OCSP-Abfrage) relevant, sondern der Status zum (vergangenen) Zeitpunkt der Signierung (dies gilt z. B. für el. Signaturen nach dem deutschen Signaturgesetz). Daher müssen die OCSP-Antworten bei einem gesperrten Zertifikat auch den Sperrzeitpunkt angeben, so dass sich daraus ermitteln lässt, ob dieses Zertifikat zu einem bestimmten Zeitpunkt noch gültig war. Falls jedoch die Zertifizierungsstelle vorübergehende Sperrungen (Suspendierungen) zulässt, kann man einer positiven OCSP-Antwort („good“) nicht entnehmen, ob dieses Zertifikat zwischenzeitlich suspendiert war. Allerdings wird dies gemeinhin nicht als Nachteil von OCSP gewertet, sondern vielmehr die Suspendierung von Signaturzertifikaten als problematisch für elektronische Signaturen angesehen. Daher ist eine solche Suspendierung in Deutschland für qualifizierte Zertifikate nicht zugelassen. Im Unterschied zu OCSP unterstützt das Server-based Certificate Validation Protocol die Abfrage des Zertifikatsstatus zu einem vergangenen Zeitpunkt.
OCSP besitzt kein eigenes Transport-Protokoll, zum Transport wird in der Regel http oder https verwendet.
Verbreitung
OCSP wird inzwischen von vielen Standard-Programmen und Betriebssystemen (z. B. Microsoft Windows Vista, Adobe Acrobat, Mozilla Firefox, Mozilla Thunderbird, Lotus Notes Version 8, Opera ab Version 8[1][2]) unterstützt. Einige, vor allem ältere Programme unterstützen nur Zertifikatsperrlisten (CRLs) zur Prüfung des Zertifikatsstatus.
Um der Forderung des Signaturgesetzes nach einem aktuellen Auskunftsdienst zu genügen, betreiben alle Aussteller von qualifizierten Zertifikaten in Deutschland einen OCSP-Responder.
Vor- und Nachteile
Vorteile
Im Gegensatz zu Sperrlisten, die nur in bestimmten Intervallen erstellt werden und damit nicht immer aktuell sind, können OCSP-Responder sekundengenaue Sperrinformationen liefern, sofern sie eine aktuelle Datenbasis verwenden (z. B. die CA-Datenbank).
Außerdem ermöglicht es OCSP im Gegensatz zu Sperrlisten, nicht gesperrte Zertifikate von gefälschten Zertifikaten zu unterscheiden – wenn der OCSP-Responder so konfiguriert ist, dass er nur bei tatsächlich existierenden Zertifikaten die Antwort „good“ liefert (Positivauskunft). Dies wird vor allem dann wichtig, wenn die von der Zertifizierungsstelle (CA) zur Signierung der Zertifikate eingesetzten Algorithmen und Schlüssellängen im Laufe der Zeit unsicher und Fälschungen möglich werden. Allerdings sieht der Standard vor, dass ein OCSP-Responder bereits dann die Antwort „good“ liefert, wenn das Zertifikat nicht in einer Sperrliste gelistet ist; in diesem Fall könnte das Zertifikat auch gar nicht ausgestellt worden sein, d. h. gefälscht sein.
Nachteile
OCSP liefert – wie Sperrlisten – nur Auskünfte zum Sperrstatus von Zertifikaten, prüft aber nicht die mathematische Korrektheit der Signaturen der Zertifikate, ihre Gültigkeitsdauer oder ggf. im Zertifikat angegebene Nutzungsbeschränkungen. Außerdem muss der Client zunächst eine Zertifizierungskette ermitteln. Um diese Aufgaben an den Auskunftsdienst auszulagern, wurde SCVP entwickelt.
Weiterhin hängt die Aktualität von OCSP-Antworten von der verwendeten Datenbasis ab. Bei manchen Implementierungen basiert der OCSP-Responder auf einer Sperrliste und liefert daher keine aktuelleren Sperrinformationen als diese.
Problematisch ist, dass viele Client-Implementierungen ein Zertifikat auch dann als gültig betrachten, wenn sie die Fehlerantwort "tryLater" erhalten. Da Fehlerantworten nicht signiert sind, kann ein Angreifer durch gefälschte "tryLater"-Antworten die OCSP-Prüfung aushebeln[3].
Weblinks
- Spezifiziert wurde das OCSP im RFC 2560
- OCSP Servers – the must have features! (in englisch)
- GlobalTrustFinder - OCSP Demo (angetrieben durch ADSS)
Einzelnachweise
- ↑ Yngve Nysæter Pettersen (November 09, 2006): Introducing Extended Validation Certificates. Opera Software. Abgerufen am 8. Januar 2010.
- ↑ Yngve Nysæter Pettersen (3. July 2008): Rootstore newsletter. Opera Software. Abgerufen am 8. Januar 2010.
- ↑ Moxie Marlinspike: Defeating OCSP. Abgerufen am 27. Januar 2011.
Kategorie:- Digitale Zertifikate
Wikimedia Foundation.