Benutzerkontrolle beim Vertrauen auf Zertifikate
13. März 2013Kommt eine PKI (Public Key Infrastructure) zum Einsatz, stellt sich oftmals die Frage, wie Benutzer unter Windows kontrollieren können, welchen Zertifikaten einer Zertifizierungsstelle sie vertrauen. Dazu muss man mit den „Trust Anchors“ – also den Vertrauensankern umgehen können. Hierzu gibt es im Internet Explorer den „Certificate Viewer“. Er findet sich in diesem Browser unter Extras und dann unter den Internetoptionen.
Die Zertifikate einer Zertifizierungsstelle (Certificate Authority, CA), denen ein Benutzer, eine Computer, eine Applikation oder ein Service in einer PKI vertraut, werden als „Trust Anchors“ bezeichnet. Diese Objekte sind besonders kritisch für PKI-fähige Anwendungen. Denn mit diesen Objekten wird von den Applikationen die Entscheidung gefällt, ob die Zertifikate auch wirklich vertrauenswürdig sind.
Eigene Entscheidungen sind machbar
Dazu bietet Windows den PKI-Anwendern die Möglichkeit, dass sie für ihre Entscheidung, welche Zertifikate vertrauenswürdig sind, den Container „Trusted Root Certification Authorities” (also die Vertrauenswürdige Stammzertifizierungsstellen) verwenden. Dieser Container befindet sich im persönlichen Zertifikatspeicher (Personal Certificate Store) eines Benutzers. Dieser Container wird aber auch als Stammzertifikatspeicher betitelt. Alle CA-Zertifikate, die im Container „Vertrauenswürdige Stammzertifizierungsstellen“ liegen, werden standardmäßig als „Trust Anchors“ behandelt.
Um auf den persönlichen Zertifikatspeicher eines Benutzers zuzugreifen, kann man das Snap-in für die Zertifikate (certmgr.msc) der MMC (Microsoft Management Console) benutzen oder der „Certificate Viewer“ im IE (Internet Explorer von Microsoft) einsetzen.
IE zeigt die Zertifikate an
Der IE Viewer findet sich im Internet Explorer unter Extras und dann unter den Internetoptionen. Dann ist auf den Reiter Inhalte zu gehen und dann auf die Schaltfläche Zertifikate zu klicken. Bild 1 zeigt den zugehörigen Dialog im deutschsprachigen IE.
Standardmäßig haben die Benutzer die vollständige Kontrolle darüber, welche CA-Zertifikate sie diesem Container hinzufügen wollen oder welche sie aus ihm entfernen möchten. Um Zertifikate in diesen Container zu importieren, kann man die Option „Alle Aufgaben / Importieren“ (All Tasks / Import) nutzen, die über das Kontextmenü des Containers erscheint.
Eine andere Möglichkeit ist das Verschieben – mittels Drag & Drop – eines Zertifikats aus einem anderen Container, in dem Zertifikate gespeichert sind. Versucht man ein CA-Zertifikat dem Stammspeicher hinzuzufügen, wird eine Sicherheitswarnung in einer Dialogbox ausgeben (siehe Bild 2). Dabei wird nachgefragt, ob man diese Aktion wirklich ausführen möchte und so einen neuen „Trust Anchor“ erzeugt.
Geänderte Vorzeichen ab Windows 2003
Ab dem Windows Server 2003 hat Microsoft wichtige Erweiterungen bei den Gruppenrichtlinienobjekten (GPOs) ins Spiel gebracht, die sich auf die Verwaltung der CA-Zertifikate und die Vertrauensbeziehungen auswirken. Damit können Administratoren konfigurieren, ob die Endbenutzer eigene Entscheidungen im Bereich der Stammzertifikatsspeicher treffen dürfen. Die Systembetreuer können diese neuen Einstellungen auch für die Konfiguration verwenden, und somit angeben, welche Zertifikate automatisch als „Trust Anchor“ fungieren.
Beim Windows Server 2003 stehen diese Einstellungen über die Eigenschaften bei \Computerkonfiguration\Windows-Einstellungen\Sicherheitseinstellungen\Richtlinien öffentlicher Schlüssel\Vertrauenswürdige Stammzertifizierungsstellen zur Verfügung.
Sollen Benutzer ihre eigenen Entscheidungen bei den „Trust Anchors“ treffen können, muss man die Checkbox „Benutzern erlauben, neue vertrauenswürdige Stammzertifizierungsstellen auszuwählen“ (Allow users to select new root certification authorities (CAs) to trust) anklicken. Im Bereich „Folgende Zertifikatspeicher sind vertrauenswürdig” (Client computers can trust the following certificate stores) kann man die Option „Organisations-Stammzertifizierungsstellen“ (Enterprise Root Certification Authorities) wählen und dann wird nur den Zertifikaten vertraut, die im folgenden Container im Active Directory liegen:
CN=Certification Authorities, CN=Public Key Services, CN=Services, CN=Configuration, DC=,DC=.
Wählt man dagegen die andere Einstellung, wird den Zertifikaten in dem eben genannten AD-Container sowie denen vertraut, die im Container „Stammzertifizierungsstellen von Drittanbietern und Organisationen“ (Third-Party Root Certification Authorities) abgespeichert sind.
Windows Server 2008 bringt kleine Änderung
Ab dem Windows Server 2008 sind diese Einstellungen an einem anderen Ort zu finden. Sie liegen im Gruppenrichtlinienobjekt-Container \Computerkonfiguration\Windows-Einstellungen\Sicherheitseinstellungen\Richtlinien öffentlicher Schlüssel\ Einstellungen für die Überprüfung des Zertifikatpfades (auf einem englischsprachigen System unter: Computer Configuration\Windows Settings\Security Settings\Public Key Policies\Certificate Path Validation Settings).
Damit die Benutzer hier ihre eigenen Vertrauensentscheidungen in Bezug auf das Stammzertifizierungsstellenzertifikat angeben können, muss die Checkbox „Diese Richtlinieneinstellungen definieren“ (Define these policy settings) selektiert sein und dann noch auf dem Reiter „Speicher“ (Stores) die Checkbox „Die Verwendung von vertrauenswürdigen Stammzertifizierungsstellen des Benutzers zur Überprüfung von Zertifikaten zulassen (empfohlen)“ (Allow user trusted root CAs to be used to validate certificates (recommended) angegeben sein.
Das verdeutlicht Bild 3 auf einem englischsprachigen System. Um anzugeben, welchen Zertifizierungsstellenzertifikaten automatisch vertraut wird, kann man die Radio-Buttons auf dem Reiter Speicher (Stores) verwenden.
Auch die Vererbung darf nicht vergessen werden
Ein weiteres interessantes Detail, das der Administrator nicht übersehen sollte, ist die Vielzahl von „Trust Anchor“-Zertifikaten, die im Container „vertraute Stammzertifizierungsstellen“ (Trusted Root Certification Authorities) eines Benutzers liegen, die von den Trust Anchors vererbt werden, die im Zertifikatsspeicher des lokalen Systems liegen. Nur der lokale Administrator kann die Trust Anchors für ein lokales System direkt modifizieren.
Um sich die Inhalte des Zertifikatspeichers eines lokalen Systems anzeigen zu lassen, kann man die MMC mit dem Zertifikate-Snap-in starten und dann beim aktuellen Benutzer das lokale System angeben. Um sich die Zertifikate im persönlichen Zertifikatspeicher anzeigen zu lassen, die vom Zertifikatspeicher des lokalen Systems vererbt wurden, muss beim Menüpunkt „Ansicht“ über den Anpassen-Dialog die Checkbox für die Beschreibungsleiste angegeben sein.
Dann kann man im mittleren Darstellungsbereich der MMC erkennen, für wen die Zertifikate ausgestellt wurden, wer sie ausgestellt hat, ihr Ablaufdatum, die beabsichtigten Zwecke für das Zertifikat, der Anzeigename, der Status und die Zertifikatvorlage.
Jeder der logischen Zertifikat-Container wird dann einen eigenen Container enthalten („Lokaler Computer“ – bzw. auf einem englischsprachigen System Local Computer). Darin sind dann die Zertifikate enthalten, die aus dem Zertifikatspeicher des lokalen Systems vererbt wurde. Ein Beispiel dazu zeigt Bild 4 (auf einem englischsprachigen System).