Matthias Aevermann Systemberatung

« | Home | »

SCVP

Server-based Certificate

Validation Protocol

Das Server-based Certificate Validation Protocol (SCVP) dient der Validierung von Zertifikaten in einer X.509-Zertifikatskette. Es wurde entwickelt um PKI-Funktionalitäten leichter in Applikationen integrieren zu können und den Prozess der PKI Nutzung deutlich zu vereinfachen. SCVP ist als definierter Standard noch relativ neu, obwohl seit 1999 an dem Protokoll gearbeitet wird. Im Rahmen der Arbeiten an dem Protokoll hat sich der Name mehrfach geändert, zwischenzeitlich hieß das Protokoll Simple Certificate Validation Protocol und später Standard Certificate Validation Protocol. Diese Namen finden sich teilweise noch in Dokumentationen. Seit Dezember 2007 ist es als Standard im RFC 5055 definiert. Seit August 2008 liegt zudem der RFC 5276 vor, der sich mit der späteren Validierung von Zertifikaten beschäftigt und ermöglichen soll, dass man zu einem späteren Zeitpunkt prüfen kann, ob ein Zertifikat zu einem abgefragten Zeitpunkt gültig war.

Welche Möglichkeiten der Validierung bietet SCVP?

Im Gegensatz zu OCSP, dessen Design nur die Bereitstellung von Sperrstatus-Informationen beinhaltet, stellt SCVP zusätzliche Möglichkeiten zur Validierung der Vertrauensstellung zur Verfügung. SCVP ist somit konzipiert um alle für eine Validierung von Zertifikaten notwendigen Schritte durchzuführen. Um die darin liegenden Vorteile zu zeigen, möchte ich kurz auf die notwendigen Validierungsschritte bei einer Zertifikatsnutzung eingehen. Wie bereits auf der Seite OCSP Zertifikats-Validierung mit OCSP und SCVP beschrieben, handelt es sich bei X.509 um eine hierarchische Struktur. Zertifikate werden innerhalb einer Vertrauenshierarchie genutzt. Bei der Nutzung eines X.509-Zertifikates muss die Hiararchie validiert werden. Zum einen wird geprüft, ob das Zertifikat von einer vertrauenswürdigen CA herausgegeben wurde, und zum anderen, ob ein Zertifikat in der Hierarchie zwischenzeitlich gesperrt wurde. Die notwendigen Informationen für die Validierung finden sich in dem genutzten Zertifikat des Kommunikationspartners. Über die Felder Stellen-Informationszugriff und Sperrlisten-Verteilungspunkte werden Informationen bezogen um eine Validierung durchzuführen. Der Client greift, auf die im Zertifikat enthaltenen URLs zu und versucht die Informationen downzuloaden. Anschließend müsste die Informationen verarbeitet und überprüft werden, gegebenfalls muss noch auf weitere Informationen zugegriffen werden. Beispielsweise, wenn die Zertifikatskette nicht aus einer sondern aus mehereren CAs besteht. Ein Zertifikat ist nur gültig, wenn die Hierarchie bis zu einer vertrauenswürdigen Stammzertifizierungsstelle zurückverfolgt werden kann und der Status aller Zertifikat in der Hierarchie als nicht gesperrt ermittelt wird. Die technische Implementierung dieser Funktionen ist komplex und bedarf der Möglichkeit auf die eingetragenen Verteilpunkte zuzugreifen.

SCVP bietet zwei Möglichkeiten für ein Prüfung:

1. Delegated Path Discovery
2. Delegated Path Validation (DPV)

Die Unterschiede sind im Folgenden erklärt.
 

Wie funktioniert Delegated Path Discovery?

Bei der Delegated Path Discovery (DPD) fragt der Client den SCVP Server an und beauftragt ihn mit der Suche der notwendigen Informationen. Der Server berarbeitet das Zertifikat, stellt die für die Validierung notwendigen Dateien zusammen und sendet sie an den Client, der selbständig die Validierung durchführt. Diese Funktion ist geeignet, wenn der Client bereits die Funktionalitäten für eine Validierung des Status von Zertifikates hat und nur ein zentraler Zugriff auf diese Informationen bereit gestellt werden soll. Die Delegated Path Discovery stellt nur Infomationen bereit und der Client bewertet sie, somit funktioniert SCVP hier als Proxy Lösung, ohne Bewertung der Ergebnisse. Der SCVP Server greift nicht direkt in der Verarbeitung ein und übersendet die signierten Datei (Zertifikate, Sperreinträge, usw.). Bei diesem Modell hängt der Status des Zertifikates weiterhin vom Client ab und ob dieser den übertragenen Informationen vertraut. Der SCVP Server spielt dagegen für die Bewertung nur eine geringe Rolle und muss nicht als Vertrauenswürdig eingestuft sein. Daher besteht keine Notwendigkeit zu Signatur des Responses durch den SCVP Server um einen Ursprungsnachweis zu erreichen.

Wie funktioniert Delegated Path Validation?

Bei der Delegated Path Validation (DPV) wird der Server nicht nur mit dem Sammeln sondern auch mit der Validierung der Informationen beauftragt. Der Server sammelt die Informationen und wertet sie aus. Erst nach der Auswertung sendet er eine Antwort an den Client, der keine weiteren Validierungsschritte durchführen muss. Da hier auf Basis der Quellinformationen eine Auswertung durch den Server erfolgt besteht die Notwendigkeit, dass die Echtheit des Antwort-Paketes verifiziert werden kann. Hieraus folgt die Notwendigkeit, dass DPV Responses signiert sind. Diese Version eignet sich besonders, wenn noch keine PKI Validierungsfunktionalitäten implementiert sind. Die Anforderungen an die Integrität eines SCVP Servers sind bei der DPV deutlich höher, da der Server für die Validierung bürgt und die Notwendigkeit besteht, dass der SCVP Server vertrauenswürdig ist.

Die beiden Modelle unterscheiden sich in dem administrativen Aufwand, bei Nutzung der Delegated Path Discovery besteht weiterhin die Notwendigkeit, auf den Clients die Vertrauensstellungen einzurichten. Bei der Delegated Path Validation dagegen besteht die Möglichkeit die notwendigen Vertrauensstellungen zentral zu verwalten und auf diese Weise die administrativen Aufwände reduziert werden können. SCVP ist kein Ersatz für OCSP sondern eher eine Weiterentwicklung, die für die Validierung des Revokations-Status auf OCSP oder Sperrlisten zugreift und diese Funktionen mit abdeckt. Derzeit ist die Bedeutung von SCVP noch gering, da sich erst geeignete Implementierungen finden müssen und dies von den Zyklen der Software-Entwicklung abhängen. Sobald Clients für SCVP verfügbar sein werden, ist eine Vereinfachung der Nutzung von X.509 Zertifikaten zu erwarten, zu mal zu beachten ist, dass SCVP ermöglicht die notwendigen Zugriffe auf Server zu reduzieren und dies interesssant für Firmennetzwerke ist. SCVP könnte hier zu einer höheren Sicherheit führen und die Verwaltung von Vertrauensstellungen reduzieren.