Certificate Enrollment ist der Prozess, bei der einer End-Entität ein Zertifikat für eigene Verwendungszwecke ausgestellt wird.
Man unterscheidet zwischen der
- manuellen Zertifikatregistrierung, z.B. über ein Webinterface oder über eine Zertifikatsrequestdatei,
- sowie der automatischen Zertifikatregistrierung über Gruppenrichtlinien (Autoenrollment).
Der Grundprozess bleibt dabei immer der gleiche. Es muss nur vorab sichergestellt sein, dass die anfragende Entität dem Zertifikat der CA vertraut, an die die Zertifikatanfrage erfolgt.
Schritte des Enrollments:
1. Beim Erstellen einer Zertifikatanforderung (Certificate Request) wird der Cryptographic Service Provider (Kryptografie-Software im Betriebssystem oder auf spezieller Hardware z.B. Smartcard) aufgefordert, ein Schlüsselpaar aus privatem und öffentlichem Schlüssel zu erstellen.
2. Der öffentliche Schlüssel wird dann zusammen mit weiteren Informationen des Zertifikatanforderers im Certificate Request direkt an die Zertifizierungsstelle oder an eine vorgelagerte Registration Authority übermittelt – der gesamte Request wird zusätzlich mit dem privaten Schlüssel der anfragenden Entität signiert. In manchen Systemen kann die Anfrage zusätzlich mit dem öffentlichen Schlüssel der CA selbst verschlüsselt werden, z.B. über SSL.
3. Beim Eingang der Anforderung prüft die CA die Integrität der Anforderung, indem sie einen Hashwert über die Anforderung bildet und dann die Signatur des Requests – mit dem inkludierten öffentlichen Schlüssel des Antragstellers – entschlüsselt und daraufhin den entschlüsselten Hashwert mit dem selbst berechneten Hashwert vergleicht. Unterscheiden sich die Hashwerte wird die Anforderung verworfen, bei erfolgreichem Abgleich wird die Anforderung anhand der CA Richtlinien (und evtl. konfigurierter Zertifikatvorlagen) angenommen oder abgelehnt bzw. auf einen bis zur manuellen Prüfung wartenden Status gesetzt.
4. Bei Annahme der Anforderung stellt die Zertifizierungsstelle ein entsprechendes X.509 Zertifikat für den Antragsteller aus – dabei wird das komplette Zertifikat mit dem privaten Schlüssel der CA signiert und der dabei entstandene Hashwert wird dem Zertifikat im Fingerabdruck-Feld (Signature Value) angefügt.
5. Die anfragende Entität speichert das Zertifikat dann im Betriebssystem – in der Regel im Benutzerprofil – oder auf entsprechender Hardware (Smartcard/Token). Das Zertifikat kann anschließend für die entsprechenden Anwendungen eingesetzt werden. Für die Verwendung der privaten Schlüssel auf mehreren Arbeitsstationen muss ein Roaming User Profile eingerichtet sein, bzw. eine portable Smartcard oder ein Token verwendet werden.
Vgl. Cummings, Phil: „The Certificate Enrollment Process”. http://www.tech-faq.com/the-certificate-enrollment-process.html (zuletzt abgerufen am 11. September 2011).