Überlegungen zum PKI-Entwurf bei Verwendung der Active Directory-Zertifikatdienste
Es gibt einige Dinge, die Sie bei der Planung der Bereitstellung einer Public Key-Infrastruktur mit Active Directory-Zertifikatdiensten berücksichtigen sollten. Hier finden Sie alle Informationen, die Sie benötigen, um Ihre PKI-Umgebung erfolgreich zu installieren und zu konfigurieren.
Allgemeine Hinweise:
- Planen Sie eine geeignete Public Key-Infrastruktur (PKI) für Ihr Unternehmen.
- Installieren und konfigurieren Sie ein Hardwaresicherheitsmodul (HSM) gemäß der Anweisungen des HSM-Anbieters, falls Sie ein solches Modul verwenden möchten.
- Erstellen Sie eine geeignete
CAPolicy.inf
-Datei, falls Sie die Standardinstallationseinstellungen ändern möchten. - Auswählen von Kryptografieoptionen
- Ermitteln des Namens der Zertifizierungsstelle
- Ermitteln des Gültigkeitszeitraums
- Auswählen einer Datenbank für die Zertifizierungsstelle
- Einstellungen für den Zugriff auf Zertifizierungsstelleninfos und für den Verteilungspunkt für die Zertifikatssperrliste
Planen für die PKI
Um sicherzustellen, dass Ihr Unternehmen die Installation der Active Directory-Zertifikatdienste (AD CS) optimal nutzen kann, müssen Sie die PKI-Bereitstellung entsprechend planen. Bevor Sie Zertifizierungsstellen installieren, sollten Sie festlegen, wie viele Zertifizierungsstellen Sie in welcher Konfiguration benötigen. Benötigen Sie z. B. eine Stammzertifizierungsstelle für das Unternehmen oder eine eigenständige Stammzertifizierungsstelle? Wie werden Genehmigungsanforderungen für Zertifikate verarbeitet? Wie verwalten Sie die Zertifikatsperrung? Die Erarbeitung eines geeigneten PKI-Designs kann zeitraubend sein, ist aber wichtig für den Erfolg Ihrer PKI.
Verwenden eines HSM
Ein HSM ist ein dediziertes Hardwaregerät, das getrennt vom Betriebssystem verwaltet wird. Diese Module stellen einen sicheren Hardwarespeicher für Zertifizierungsstellenschlüssel sowie einen dedizierten kryptografischen Prozessor zur Beschleunigung von Signier- und Verschlüsselungsvorgängen zur Verfügung. Das Betriebssystem verwendet das HSM über die CryptoAPI-Schnittstellen, und das HSM fungiert als kryptografisches Dienstanbieter (CSP)-Gerät.
HSMs sind normalerweise PCI-Adapter, sind jedoch auch als netzwerkbasierte Geräte, serielle Geräte und USB-Geräte erhältlich. Wenn eine Organisation die Implementierung von zwei oder mehr Zertifizierungsstellen plant, können Sie ein einzelnes netzwerkbasiertes HSM installieren und für mehrere Zertifizierungsstellen verwenden.
Wenn Sie eine Zertifizierungsstelle mit einem HSM einrichten, muss das HSM installiert und konfiguriert sein, bevor Sie Zertifizierungsstellen mit Schlüsseln einrichten, die im HSM gespeichert werden müssen.
Betrachtungen zur CAPolicy.inf-Datei
Die CAPolicy.inf
-Datei ist zum Installieren von AD CS nicht zwingend erforderlich, kann aber verwendet werden, um die Einstellungen der Zertifizierungsstelle anzupassen. Die CAPolicy.inf
-Datei enthält verschiedene Einstellungen, die bei der Installation der Zertifizierungsstelle und beim Erneuern des Zertifizierungsstellenzertifikats verwendet werden. Die CAPolicy.inf
-Datei muss im %systemroot%
-Verzeichnis (in der Regel C:\Windows
) erstellt und gespeichert werden, damit sie verwendet werden kann.
Die in der CAPolicy.inf
-Datei enthaltenen Einstellungen richten sich größtenteils davon danach, welchen Bereitstellungstyp Sie erstellen möchten. Eine Stammzertifizierungsstelle kann z. B. eine CAPolicy.inf
-Datei aufweisen, die wie folgt aussieht:
[Version]
Signature= "$Windows NT$"
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
LoadDefaultTemplates=0
Auswählen von Kryptografieoptionen
Die Auswahl der Kryptografieoptionen für eine Zertifizierungsstelle (ZS) hat entscheidende Auswirkungen auf Sicherheit, Leistung und Kompatibilität der ZS. Die standardmäßigen Kryptografieoptionen sind wahrscheinlich für die meisten Zertifizierungsstellen geeignet. Die Möglichkeit, benutzerdefinierte Optionen zu implementieren, kann aber für Administrator*innen und Anwendungsentwickler*innen nützlich sein, die sich mit dem Thema Kryptografie gut auskennen und diese Flexibilität benötigen. Kryptografieoptionen können über Kryptografiedienstanbieter (CSPs) oder Schlüsselspeicheranbieter (Key Storage Providers, KSPs) implementiert werden.
CSPs sind Hardware- und Softwarekomponenten in Windows-Betriebssystemen, die generische Kryptografiefunktionen bereitstellen. Kryptografiedienstanbieter können so geschrieben sein, dass sie verschiedene Verschlüsselungs- und Signaturalgorithmen bereitstellen.
Bei der Auswahl von Anbieter, Hashalgorithmus und Schlüssellänge berücksichtigen Sie unbedingt die Kryptografieoptionen, die von den geplanten Anwendungen und Geräten unterstützt werden können. Obwohl es eine bewährte Methode ist, die stärksten Sicherheitsoptionen auszuwählen, können diese nicht von allen Anwendungen und Geräten unterstützt werden.
Die Option „Administratorinteraktion bei jedem Zertifizierungsstellenzugriff auf den privaten Schlüssel zulassen“ wird üblicherweise gemeinsam mit Hardwaresicherheitsmodulen (HSMs) verwendet. Mit dieser Option können Kryptografieanbieter Benutzer*innen beim Zugriff auf den privaten Schlüssel der Zertifizierungsstelle zur Bereitstellung einer weiteren Authentifizierung auffordern. Beispielsweise müssen Administrator*innen vor jedem Kryptografievorgang ein Kennwort eingeben.
Die eingebauten Kryptografieanbieter unterstützen bestimmte Schlüssellängen und Hashalgorithmen, wie in der folgenden Tabelle beschrieben.
Kryptografieanbieter | Schlüssellängen | Hashalgorithmus |
---|---|---|
Microsoft Basis-Kryptografieanbieter v1.0 | – 512 – 1024 – 2048 – 4096 |
– SHA1 – MD2 – MD4 – MD5 |
Microsoft Basis-DSS-Kryptografieanbieter | – 512 – 1024 |
SHA1 |
Microsoft BasisSmartcard-Kryptografieanbieter | – 1024 – 2048 – 4096 |
– SHA1 – MD2 – MD4 – MD5 |
Microsoft erweiterter Kryptografieanbieter v1.0 | – 512 – 1024 – 2048 – 4096 |
– SHA1 – MD2 – MD4 – MD5 |
Microsoft starker Kryptografieanbieter | – 512 – 1024 – 2048 – 4096 |
– SHA1 – MD2 – MD4 – MD5 |
RSA#Softwareschlüsselspeicher-Anbieter von Microsoft | – 512 – 1024 – 2048 – 4096 |
– SHA1 – SHA256 – SHA384 – SHA512 – MD2 – MD4 – MD5 |
DSA#Softwareschlüsselspeicher-Anbieter von Microsoft | – 512 – 1024 – 2048 |
SHA1 |
ECDSA_P256#Softwareschlüsselspeicher-Anbieter von Microsoft | 256 | – SHA1 – SHA256 – SHA384 – SHA512 |
ECDSA_P384#Softwareschlüsselspeicher-Anbieter von Microsoft | 384 | – SHA1 – SHA256 – SHA384 – SHA512 |
ECDSA_P521#Softwareschlüsselspeicher-Anbieter von Microsoft | 521 | – SHA1 – SHA256 – SHA384 – SHA512 |
RSA#Smartcard-Schlüsselspeicher-Anbieter von Microsoft | – 1024 – 2048 – 4096 |
– SHA1 – SHA256 – SHA384 – SHA512 – MD2 – MD4 – MD5 |
ECDSA_P256#Smartcard-Schlüsselspeicher-Anbieter von Microsoft | 256 | – SHA1 – SHA256 – SHA384 – SHA512 |
ECDSA_P384#Smartcard-Schlüsselspeicher-Anbieter von Microsoft | 384 | – SHA1 – SHA256 – SHA384 – SHA512 |
ECDSA_P521#Smartcard-Schlüsselspeicher-Anbieter von Microsoft | 521 | – SHA1 – SHA256 – SHA384 – SHA512 |
Ermitteln des Namens der Zertifizierungsstelle
Bevor Sie Zertifizierungsstellen (ZS) in Ihrem Unternehmen konfigurieren, sollten Sie eine ZS-Benennungskonvention auswählen.
Sie können beliebige Unicode-Zeichen im Namen verwenden, allerdings sollten Sie sich auf den ANSI-Zeichensatz beschränken, falls Interoperabilität eine Rolle spielt. Bestimmte Arten von Routern können den Registrierungsdienst für Netzwerkgeräte für die Registrierung von Zertifikaten nicht verwenden, wenn der Zertifizierungsstellenname Sonderzeichen wie z. B. einen Unterstrich enthält.
Falls Sie nicht-lateinische Zeichen (z. B: kyrillische, arabische oder chinesische Zeichen) verwenden, muss Ihr ZS-Name kürzer als 64 Zeichen sein. Falls Sie ausschließlich lateinische Zeichen verwenden, darf Ihr ZS-Name maximal 37 Zeichen lang sein.
In Active Directory Domain Services (AD DS) wird der Name, den Sie beim Konfigurieren eines Server als Zertifizierungsstelle angeben, zum allgemeinen Namen der Zertifizierungsstelle. Der allgemeine Name ist in jedem Zertifikat enthalten, das von der Zertifizierungsstelle ausgegeben wird. Aus diesem Grund ist es wichtig, dass Sie nicht den vollqualifizierten Domänennamen als allgemeinen Zertifizierungsstellennamen verwenden. Auf diese Weise können böswillige Benutzer*innen, die eine Kopie des Zertifikats an sich bringen, nicht den vollqualifizierten Domänennamen der Zertifizierungsstelle identifizieren und verwenden – das wäre ein potenzielles Sicherheitsrisiko.
Der Name der Zertifizierungsstelle sollte nicht mit dem Namen des Computers identisch sein (NetBIOS- oder DNS-Name). Außerdem können Sie den Namen eines Servers nach der Installation der Active Directory-Zertifikatdienste (AD CS) nicht ändern, ohne dass alle von dieser Zertifizierungsstelle ausgestellten Zertifikate ungültig werden.
Um den Servernamen nach der Installation von AD CS zu ändern, müssen Sie die ZS deinstallieren, den Servernamenn ändern, die ZS mit denselben Schlüsseln neu installieren und die Registrierung bearbeiten, sodass diese die existierenden ZS-Schlüssel und Datenbank verwendet. Wenn Sie den Namen einer Domäne ändern, müssen Sie die Zertifizierungsstelle nicht neu installieren. Sie müssen sie allerdings neu konfigurieren, um die Namensänderung zu unterstützen.
Ermitteln des Gültigkeitszeitraums
Zertifikatbasierte Kryptografie verwendet Public Key-Kryptografie für Schutz und Signierung von Daten. Im Lauf der Zeit können Angreifer die mit dem öffentlichen Schlüssel geschützten Daten sammeln und versuchen, daraus den privaten Schlüssel zu extrahieren. Mit genügend Zeit und Ressourcen kann der private Schlüssel und somit alle geschützten Daten gefährdet werden. Außerdem müssen die durch Zertifikate garantierten Namen regelmäßig geändert werden. Da ein Zertifikat eine Bindung zwischen einem Namen und einem öffentlichen Schlüssel darstellt, muss es erneuert werden, wenn sich einer dieser Werte ändert.
Jedes Zertifikat verfügt über eine Gültigkeitsdauer. Nach Ablauf der Gültigkeitsdauer gilt das Zertifikat nicht mehr als akzeptable oder verwendbare Anmeldeinformation.
Zertifizierungsstellen können keine Zertifikate ausstellen, die über deren eigene Gültigkeitsdauer hinaus gültig sind. Daher sollte das ZS-Zertifikat erneuert werden, wenn die Hälfte der Gültigkeitsdauer abgelaufen ist. Sie sollten dieses Datum bei der Installation einer Zertifizierungsstelle planen und als zukünftige Aufgabe erfassen.
Auswählen einer Datenbank für die Zertifizierungsstelle
Die Datenbank der Zertifizierungsstelle ist eine Datei auf der Festplatte. Neben dieser Datei existieren noch weitere Dateien als Transaktionsprotokolle, die alle Änderungen an der Datenbank empfangen, bevor die Änderungen umgesetzt werden. Da möglicherweise häufig und gleichzeitig auf diese Dateien zugegriffen wird, sollten Sie die Datenbank- und Transaktionsprotokolle auf separaten Volumes speichern.
Der Speicherort von Zertifikatdatenbank und Protokolldateien wird mit dem folgenden Registrierungseintrag festgelegt:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration
Die Registrierung enthält die folgenden Werte:
DBDirectory
DBLogDirectory
DBSystemDirectory
DBTempDirectory
Einstellungen für den Zugriff auf Zertifizierungsstelleninfos und für den Verteilungspunkt für die Zertifikatssperrliste
Nach der Installation einer Stammzertifizierungsstelle oder einer untergeordneten ZS müssen Sie die Erweiterungen „Zugriff auf Zertifizierungsstelleninfos“ und „Verteilungspunkt für die Zertifikatssperrliste“ konfigurieren, bevor die Zertifizierungsstelle Zertifikaten ausstellen kann. Die AIA-Erweiterung bestimmt, wo sich die aktuellen Zertifikate der ZS befinden. Die CDP-Erweiterung bestimmt, wo sich die aktuellen Zertifikate befinden, die von dieser ZS signiert wurden. Diese Erweiterungen gelten für alle von dieser ZS ausgestellten Zertifikate.
Durch die Konfiguration dieser Erweiterungen wird sichergestellt, dass diese Informationen in allen von dieser Zertifizierungsstelle ausgestellten Zertifikaten enthalten und somit für alle Clients verfügbar sind. Die Verwendung der Erweiterungen führt zu weniger Fehlern aufgrund nicht verifizierter Zertifikatketten oder Zertifikatsperren, die wiederum erfolglose VPN-Verbindungen, Fehler bei Smartcardanmeldungen oder nicht verifizierte E-Mail-Signaturen zur Folge haben können.
Als ZS-Administrator können Sie Zertifikatsperrlisten-Verteilungspunkte und die Standorte für die CDP- und AIA-Zertifikatausstellung hinzufügen, entfernen und bearbeiten. Änderungen an der URL für einen Zertifikatsperrlisten-Verteilungspunkt wirken sich nur auf neu ausgestellte Zertifikate aus. Zuvor ausgestellte Zertifikate verweisen weiterhin auf die ursprüngliche URL. Daher sollten Sie diese Orte festlegen, bevor Ihre Zertifizierungsstelle mit dem Ausstellen von Zertifikaten beginnt.
Beachten Sie diese Richtlinien beim Konfigurieren von URLs für die CDP-Erweiterung:
- Vermeiden Sie es, Deltazertifikatsperrlisten auf offline-Stamm-ZS zu veröffentlichen. Da in Offline-Stammzertifizierungsstellen nicht viele Zertifikate gesperrt werden, wird vermutlich keine Deltazertifikatsperrliste benötigt.
- Passen Sie die standardmäßigen
LDAP://
undhttps://
-URL-Standorte in der Registerkarte „Erweiterungen“ innerhalb der Registerkarte „Erweiterungseigenschaften“ Ihrer Zertifizierungsstelle entsprechend an. - Veröffentlichen Sie eine Zertifikatsperrliste an einem Ort im Internet oder Extranet, um Benutzern und Anwendungen außerhalb des Unternehmens eine Zertifikatprüfung zu ermöglichen. Sie können die LDAP- und HTTP-URLs für CDP-Speicherorte veröffentlichen, sodass Clients die CRL-Daten per HTTP und LDAP abrufen können.
- Beachten Sie, dass Windows-Clients die Liste der URLs in sequenzieller Reihenfolge abrufen, bis eine gültige CRL abgerufen wurde.
- Verwenden Sie HTTP-CDP-Speicherorte, um die CRL-Speicherorte für Clients mit nicht-Windows-Betriebssystemen zugänglich zu machen.
Nächste Schritte
Weitere Informationen zum Bereitstellen von AD CS finden Sie unter Implementieren und Verwalten der Active Directory-Zertifikatdienste.