Freigeben über


Schlüsselwiederherstellungsserver

Eine Microsoft-Zertifizierungsstelle (Certification Authority, CA) kann so konfiguriert werden, dass der private Schlüssel archiviert und wiederhergestellt werden kann, der mit dem öffentlichen Schlüssel verknüpft ist, welcher in der Zertifikatanforderung übermittelt wurde. Die Wiederherstellung ist nützlich, wenn ein Schlüssel verloren geht. Standardmäßig können nur Verschlüsselungsschlüssel archiviert werden. Es ist nicht erforderlich, Schlüssel zu archivieren, die nur für die Signatur vorgesehen sind, da nur der öffentliche Schlüssel benötigt wird, um eine Signatur zu verifizieren, wenn der private Signaturschlüssel verloren geht.

Um einen Schlüssel zu archivieren, muss die Zertifizierungsstelle so konfiguriert sein, dass KRA-Zertifikate (Key Recovery Agent, KRA) ausgestellt werden und bereits mindestens ein Zertifikat ausgestellt wurde. Ein Schlüsselwiederherstellungs-Agent ist ein Administrator, der von einer Organisation zum Entschlüsseln privater Schlüssel autorisiert wurde. Um die Sicherheit zu verbessern, empfehlen wir, dass dem Schlüsselwiederherstellungs-Agent und den Zertifikatmanagerrollen unterschiedliche Personen zugewiesen werden, dass der Zertifikatmanager archivierte Schlüssel abrufen, aber nicht entschlüsseln darf und dass der Schlüsselwiederherstellungs-Agent Schlüssel entschlüsseln, aber nicht abrufen darf.

Schlüsselarchivierung

Ein Client fordert in der Regel ein Zertifikat mithilfe einer Vorlage an. Wenn für die Vorlage die Archivierung des privaten Schlüssels erforderlich ist, werden die folgenden Schritte vom Client und der Zertifizierungsstelle ausgeführt:

  1. Der Client ruft das Zertifizierungsstellenaustauschzertifikat ab und überprüft es, um zu ermitteln, ob es mit demselben Schlüssel signiert wurde, der zum Signieren des Zertifizierungsstellenzertifikats verwendet wurde. Dadurch wird sichergestellt, dass die einzige Zertifizierungsstelle, die den privaten Schlüssel entschlüsseln kann, die Zertifizierungsstelle ist, von der ein Zertifikat angefordert wird.
  2. Der öffentliche Schlüssel im Austausch-Zertifikat der Zertifizierungsstelle wird verwendet, um den privaten Schlüssel zu verschlüsseln, der der Zertifikatanforderung zugeordnet ist, und die Anforderung wird an die Zertifizierungsstelle gesendet.
  3. Die Zertifizierungsstelle verwendet den privaten Schlüssel mit seinem verknüpften Austausch-Zertifikat, um den vom Client gesendeten privaten Schlüssel zu entschlüsseln und zu verifizieren, ob die öffentlichen und privaten Schlüssel in der Anforderung verwandt sind.
  4. Die Zertifizierungsstelle verschlüsselt den privaten Schlüssel mithilfe des öffentlichen Schlüssels im KRA-Zertifikat. Wenn die Zertifizierungsstelle mehrere KRA-Zertifikate ausgestellt hat, verschlüsselt sie den privaten Schlüssel einmal mit jedem verfügbaren öffentlichen Schlüssel, damit jeder autorisierte Schlüsselwiederherstellungs-Agent einen Schlüssel wiederherstellen kann. Die verschlüsselten privaten Schlüssel werden in der Zertifikatdatenbank gespeichert.
  5. Die Zertifizierungsstelle gibt alle Verweise auf den privaten Schlüssel frei und löscht alle Speicher, die den Schlüssel enthalten haben. Dadurch wird sichergestellt, dass die Zertifizierungsstelle keinen weiteren Zugriff auf den Schlüssel im Klartextformat hat.

Hinweis

Nur eine CMC-Anforderung kann für die Schlüsselarchivierung verwendet werden. CMC-Anforderungen werden durch die IX509CertificateRequestCmc-Schnittstelle dargestellt.

 

Schlüsselwiederherstellung

Die Schlüsselwiederherstellung wird nicht direkt von Active Directory-Zertifikatdiensten oder der Zertifikatregistrierungs-API unterstützt. Microsoft stellt jedoch die folgenden Anwendungen zur Verfügung, um den Prozess zu unterstützen:

  • Certutil.exe ist ein Befehlszeilenprogramm, das zum Abrufen von Zertifizierungsstellenkonfigurationsinformationen, zum Verifizieren von Zertifikaten, Schlüsselpaaren und Zertifikatketten sowie zum Sichern und Wiederherstellen von Schlüsseln verwendet werden kann. Es ist ab Windows Server 2003 in Serverbetriebssystemen enthalten.
  • Krecover.exe ist ein Dialogfeld-basiertes Programm, das die Wiederherstellung von Schlüsseln ermöglicht. Es ist ab Windows Server 2003 im Ressourcen-Kit enthalten.

Die folgenden Schritte werden ausgeführt, um einen privaten Schlüssel wiederherzustellen:

  1. Der Zertifikatmanager sucht potenzielle Kandidaten für die Schlüsselwiederherstellung in der Zertifikatdatenbank mithilfe des Namens des Zertifikats, des Antragstellers oder des Benutzers. Der Befehl Certutil -getkey kann zu diesem Zweck verwendet werden.
  2. Sobald der Zertifikatmanager über eine Liste von Zertifikaten verfügt, wird der Befehl -getkey erneut mit einer bestimmten Seriennummer oder einem Fingerabdruck des Zertifikats aufgerufen, um eine PKCS #7-Datei abzurufen, die das KRA-Zertifikat, die Benutzerzertifikatkette und den privaten Schlüssel enthält, der während der Archivierung mithilfe des öffentlichen KRA-Schlüssels verschlüsselt wurde.
  3. Der Zertifikatmanager übergibt die Kontrolle über den Prozess an den Schlüsselwiederherstellungs-Agenten, dessen privater Schlüssel mit dem öffentlichen Schlüssel übereinstimmt, der im KRA-Zertifikat enthalten ist.
  4. Der Schlüsselwiederherstellungs-Agent entschlüsselt den archivierten privaten Schlüssel, der in der PKCS #7-Datei mithilfe des privaten KRA-Schlüssels zurückgegeben wird. Dazu können Sie den Befehl Certutil -recoverkey verwenden, der den Schlüssel in einer kennwortgeschützten PKCS #12-Datei platziert. Der Client muss das Kennwort über einen sicheren Out-of-Band-Mechanismus erhalten.
  5. Der Client importiert die PKCS #12-Datei und verwendet das Kennwort zum Abrufen des Schlüssels.

PKI-Elemente