[Update 20.5.2016: Fehlerhafter Hinweis auf SSLCACertificateFile für Apache entfernt.]
Zertifikate für Webserver enthalten die URL eines OCSP-Responders, der von der Zertifizierungsstelle betrieben wird. Viele Webbrowser wie z.B. Firefox oder Internet Explorer (aber nicht Google Chrome) führen beim Aufrufen einer https-Webseite mit dieser URL eine Prüfung durch, ob das Zertifikat gesperrt wurde. Hierzu stellen sie nach dem Verbindungsaufbau mit der Webseite eine weitere Anfrage an den OCSP-Responder, dessen URL im Serverzertifikat enthalten ist.
Dieses Verhalten offenbart dem Betreiber des OCSP-Responders, von welcher IP-Adresse welcher Webserver aufgerufen wurden. Selbstverständlich werden auf den OCSP-Respondern der DFN-PKI keine IP-Adressen geloggt. Für Zertifikate aus anderen PKIs ist das Logging-Verhalten der zugehörigen OCSP-Responder aber nicht einfach zu klären.
Ein weiterer Nachteil ist die erhöhte Latenz durch den zusätzlichen Verbindungsaufbau zum OCSP-Responder.
Zur Lösung dieses Problems gibt es seit einiger Zeit ein Verfahren namens OCSP-Stapling, standardisiert in http://tools.ietf.org/html/rfc6066
Beim OCSP-Stapling bezieht der Webserver regelmäßig (z.B. jede Stunde) vom OCSP-Responder eine OCSP-Antwort über sein eigenes Zertifikat, und schickt diese direkt im initialen TLS-Handshake zum Webbrowser des Nutzers. Damit muss der Webbrowser des Nutzers keine Verbindung zum OCSP-Responder aufnehmen.
Da die OCSP-Antwort immer vom OCSP-Responder signiert ist und diese Signatur vom Webbrowser verifiziert wird, ist die Sicherheit des Verfahrens gewährleistet.
OCSP-Stapling ist ein Feature, das die Software des Webservers unterstützen muss, und das teilweise separat konfiguriert werden muss. Es wird z.B. von folgender Software unterstützt:
- Microsoft IIS ab Version 8.0
- Apache ab 2.3.3
- nginx ab 1.3.7
In Microsoft IIS ist OCSP-Stapling per Default aktiviert, es ist keine Konfiguration notwendig. In Apache lässt es sich sehr einfach einschalten:
SSLStaplingCache shmcb:/tmp/stapling_cache(102400)
SSLUseStapling on
SSLStaplingReturnResponderErrors off
Bedingungen für die Nutzung im Apache:
- Das
socache_shmcb
-Modul muss geladen sein. SSLStaplingCache
muss außerhalb einesVirtualHost
gesetzt werden.- Der Server muss den OCSP-Responder erreichen können (Ausgehende Verbindung in der Firewall, evtl. DNS).
Ob ein Server so konfiguriert ist, dass OCSP-Stapling genutzt wird, kann entweder mit den Test-Werkzeugen von SSL Labs geprüft werden, oder aber direkt mit openssl:
# openssl s_client -connect www.example.org:443 -status
CONNECTED(00000003)
depth=3 C = DE, O = Test, CN = Test Root
verify error:num=19:self signed certificate in certificate chain
verify return:0
OCSP response:
======================================
OCSP Response Data:
OCSP Response Status: successful (0x0)
Response Type: Basic OCSP Response
[...]
Es ist zu empfehlen, wo immer möglich OCSP-Stapling zu aktivieren, da es für alle Beteiligten nur Vorteile bietet.
(jbr, 04.03.2015)