Eine Zuordnung von einem Benutzerzertifikat zum dazugehörigen Computer herstellen

Folgendes Szenario angenommen:

  • Ein Computer eines Benutzers wird entwendet oder ist mit einer Malware befallen.
  • Die Integrität von auf dem Computer befindlichen Zertifikaten kann nicht mehr gewährleistet werden.
  • Die Zertifikate der/des Benutzers, welche auf diesem Computer beantragt wurden, müssen widerrufen werden.
  • Man möchte allerdings vermeiden, alle Zertifikate eines Benutzers zu widerrufen.
  • Es muss somit eine Verbindung zwischen den Zertifikaten des Benutzers und des Computers hergestellt werden, auf welchem diese beantragt wurden.

Wurden die Zertifikate per Autoenrollment beantragt, können wir uns zunutze machen, dass ein entsprechendes Attribut Teil der ursprünglichen Zertifikatanforderung war, und dass die Zertifikatanforderung zusammen mit dem Zertifikat in der Zertifizierungsstellen-Datenbank gespeichert wird.

Mitunter ist es erforderlich, dass ein von einer Zertifizierungsstelle ausgestelltes Zertifikat bereits vor dessen Ablaufdatum aus dem Verkehr gezogen werden muss. Um dies zu ermöglichen, hät eine Zertifizierungsstelle eine Sperrliste vor. Hierbei handelt es sich um eine signierte Datei mit einem relativ kurzen Ablaufdatum, welches in Kombination mit dem Zertifikat zur Überprüfung der Gültigkeit herangezogen wird.

Die Methode funktioniert nicht, wenn Credential Roaming oder Roaming User Profiles konfiguriert sind, da die privaten Schlüssel in einem solchen Fall auf andere Rechner mitwandern.

In der Zertifizierungsstellen-Verwaltungskonsole (certsrv.msc) wird zunächst zu den "Issued Certificates" gewechselt. Anschließend wird unter "View" – "Filter…" eine Filterung der angezeigten Datenbankeinträge vorgenommen.

Der Filter wird auf das Feld "Requester Name" gesetzt. Es sollen nur Zertifikate angezeigt werden, die der betreffende Benutzer beantragt hat, im Beispiel INTRA\rudi.

Anschließend wird mit Klick auf "View" – "Add/Remove Columns…" eine zusätzliche Spalte zu den angezeigten Datenbankeinträgen hinzugefügt.

Wir geben an, dass die Spalte "Binary Request" ausgegeben werden soll.

Nun sind wir in der Lage, die zurückgegebenen Zertifikate in der Ergebnisübersicht mit rechts anzuklicken und "All Tasks" – "Export Binary Data…" zu wählen.

Wir lassen uns den "Binary Request" in der "formatted text version of data" ausgeben.

Es öffnet sich ein Texteditor mit einer aufbereiteten Ausgabe der zum Zertifikat gehörenden Zertifikatanforderung. Hier sollte sich ein Attribut "Client Information" finden, welches unter Anderem den Hostnamen des dazugehörigen Computers beinhaltet.