Konfigurieren der Trusted Platform Module (TPM) Key Attestation

Seit Windows 8 ist es möglich, dass private Schlüssel für Zertifikate mit einem – sofern vorhanden – Trusted Platform Modul (TPM) geschützt werden. Dadurch ist eine Nichtexportierbarkeit des Schlüssels – auch mit Werkzeugen wie mimikatz – gegeben.

Auf den Ersten Blick ist allerdings nicht ersichtlich, dass nicht garantiert werden kann, dass auch wirklich ein TPM zum Einsatz kommt. Zwar wird keine Beantragung über die Microsoft Management Console oder AutoEnrollment möglich sein, wenn der Computer über kein TPM verfügt.

Es handelt sich jedoch bei der Konfiguration in der Zertifikatvorlage lediglich um eine Voreinstellung für den Client. Die Zertifizierungsstelle wird bei Beantragung nicht explizit prüfen, ob auch wirklich ein Trusted Platform Modul verwendet wurde.

Um sicherzustellen, dass der private Schlüssel einer Zertifikatanforderung wirklich mit einem Trusted Platform Modul geschützt wurde verbleibt also nur die TPM Key Attestation.

„Konfigurieren der Trusted Platform Module (TPM) Key Attestation“ weiterlesen

Signieren von Zertifikaten unter Umgehung der Zertifizierungsstelle

Immer wieder kommt in Diskussionen zur Sicherheit einer Zertifizierungsstelle auf, dass ein Missbrauch der Zertifizierungsstelle durch deren Sicherheitseinstellungen eingedämmt werden könnte.

Dass die Integrität einer Zertifizierungsstelle jedoch unmittelbar an ihr Schlüsselmaterial gebunden ist und sie somit durch dieses auch kompromittiert werden kann, ist auf den Ersten Blick nicht offensichtlich.

Muss man sich die Zertifizierungsstellen-Software als eine Art Management um das Schlüsselmaterial herum vorstellen. Die Software bietet beispielsweise eine Online-Schnittstelle für die Zertifikatbeantragung an, kümmert sich um die Authentifizierung der Antragsteller, um die automatisierte Durchführung von Signaturoperationen (Ausstellen von Zertifikaten und Sperrlisten) und deren Protokollierung (Zertifizierungsstellen-Datenbank, Auditprotokoll, Ereignisprotokoll).

Signaturoperationen benötigen jedoch nichts weiter als den privaten Schlüssel der Zertifizierungsstelle. Nachfolgend wird anhand eines Beispiels aufgezeigt, wie ein Angreifer, wenn er Zugang zum privaten Schlüssel der Zertifizierungsstelle erhält, Zertifikate erzeugen und ausstellen kann, ohne dass die Zertifizierungsstellen-Software und deren Sicherheitsmechanismen dies mitbekommen würden.

Mit einem solchen Zertifikat wäre es im schlechtesten Fall sogar möglich, die Active Directory Gesamtstruktur unerkannt zu übernehmen.

„Signieren von Zertifikaten unter Umgehung der Zertifizierungsstelle“ weiterlesen

Verschieben der Zertifizierungsstellen-Datenbank in ein anderes Verzeichnis oder auf ein anderes Laufwerk

Im Betrieb einer Zertifizierungsstelle mag man feststellen, dass es erforderlich ist, den Speicherpfad für die Zertifizierungsstellen-Datenbank nachträglich zu ändern. Beispielsweise möchte man die Datenbank vielleicht auf eine andere Partition/ein anderes Laufwerk verschieben.

„Verschieben der Zertifizierungsstellen-Datenbank in ein anderes Verzeichnis oder auf ein anderes Laufwerk“ weiterlesen

Die "S/MIME Capabilities" Zertifikaterweiterung in ausgestellten Zertifikaten um die Cryptography Next Generation (CNG) Algorithmen erweitern

Stellt man S/MIME Zertifikate aus, beinhalten diese üblicherweise eine Zertifikaterweiterung "S/MIME Capabilities". Diese Zertifikaterweiterung ist in RFC 4262 spezifiziert und kann von kompatiblen E-Mail Programmen dazu verwendet werden, die vom Empfänger einer verschlüsselten Nachricht unterstützten symmetrischen Algorithmen zu spezifizieren. Der Absender sollte dann den jeweils stärksten vom Empfänger unterstützen Algorithmus wählen.

Wirft man einen Blick auf die in einem solchen Zertifikat enthaltenen symmetrischen Algorithmen, wird man jedoch vermutlich feststellen, dass die Liste eher veraltete Algorithmen enthält – der "stärkste" dieser Algorithmen ist der mittlerweile als übrholt geltende Triple-DES (3DES).

„Die "S/MIME Capabilities" Zertifikaterweiterung in ausgestellten Zertifikaten um die Cryptography Next Generation (CNG) Algorithmen erweitern“ weiterlesen

Bei der Installation einer Active Directory integrierten Zertifizierungsstelle erscheint die Fehlermeldung "Insufficient access rights to perform the operation. 0x80072098 (Win32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)"

Folgendes Szenario angenommen:

  • Es wird eine ins Active Directory integrierte Zertifizierungsstelle (Enterprise Certification Authority) per Windows PowerShell installiert.
  • Für die Installation der Zertifizierungsstelle werden delegierte Berechtigungen verwendet. Der installierende Benutzer ist also nicht Mitglied der Gruppe "Enterprise Administrators".
  • Nach Ausführen des Rollenkonfigurations-Assistenten wird eine oder mehrere der folgenden Fehlermeldungen auf der Kommandozeile ausgegeben:
Setup could not add the Certification Authority's computer account to the Pre-Windows 2000 Compatible Access security group. Certificate managers Restrictions feature will not work correctly on this Certification Authority. To fix this, an administrator must manually add the Certification's Authority's computer account to the Pre-Windows 2000 Compatible Access security group in Active Directory. Insufficient access rights to perform the operation. 0x80072098 (Win32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)
Warning: Setup could not add the certification authority’s computer account to the cert Publishers Security Group. This Certification Authority will not be able to publish certificates in Active Directory. To fix this, an administrator must manually add the Certification Authority’s computer account to the Cert Publishers security group in Active Directory.  Insufficient access rights to perform the operation. 0x80072098 (Win32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)
„Bei der Installation einer Active Directory integrierten Zertifizierungsstelle erscheint die Fehlermeldung "Insufficient access rights to perform the operation. 0x80072098 (Win32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)"“ weiterlesen

Die Installation eines Zertifizierungsstellen-Zertifikats schlägt fehl mit Fehlermeldung "Insufficient access rights to perform the operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)"

Folgendes Szenario angenommen:

  • Es wird eine ins Active Directory integrierte Zertifizierungsstelle (Enterprise Certification Authority) installiert.
  • Für die Installation der Zertifizierungsstelle werden delegierte Berechtigungen verwendet. Der installierende Benutzer ist also nicht Mitglied der Gruppe "Enterprise Administrators".
  • Nach der Ausstellung des Zertifizierungsstellen-Zertifikats durch die übergeordnete Zertifizierungsstelle wird dieses installiert, um die Rollenkonfiguration abzuschließen.
  • Die Installation des Zertifizierungsstellen-Zertifikats schlägt mit folgender Fehlermeldung fehl:
Insufficient access rights to perform the operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)
„Die Installation eines Zertifizierungsstellen-Zertifikats schlägt fehl mit Fehlermeldung "Insufficient access rights to perform the operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS)"“ weiterlesen

Die Installation eines Zertifizierungsstellen-Zertifikats schlägt fehl mit Fehlercode "NTE_PROVIDER_DLL_FAIL"

Folgendes Szenario angenommen:

  • Es wird eine Zertifizierungsstelle installiert.
  • Die Zertifizierungsstelle verwendet ein Gemalto/SafeNet Hardware Security Modul (HSM) mit dem SafeNet Luna Key Storage Provider.
  • Nach der Ausstellung des Zertifizierungsstellen-Zertifikats durch die übergeordnete Zertifizierungsstelle wird dieses installiert, um die Rollenkonfiguration abzuschließen.
  • Die Installation des Zertifizierungsstellen-Zertifikats schlägt mit folgender Fehlermeldung fehl:
An error was detected while configuring Active Directory Certificate Services.
The Active Directory Certificate Services Setup Wizard will need to be rerun to complete the configuration.
The new certificate public key does not match the current outstanding request.
The wrong request may have been used to generate the new certificate: Provider DLL failed to initialize correctly.
0x8009001d (-2146893795 NTE_PROVIDER_DLL_FAIL)
„Die Installation eines Zertifizierungsstellen-Zertifikats schlägt fehl mit Fehlercode "NTE_PROVIDER_DLL_FAIL"“ weiterlesen

Verwenden von nicht definierten Relative Distinguished Names (RDN) in ausgestellten Zertifikaten

Manchmal ist es erforderlich, Relative Distinguished Names (RDNs) in ausgestellten Zertifikaten zu erlauben, die nicht definiert sind und entsprechend auch nicht im SubjectTemplate Wert der Registrierung der Zertifizierungsstelle konfiguriert werden könnten.

Ein Beispiel hierfür ist der Organization Identifier mit Objektidentifizierer 2.5.4.97, der beispielsweise für Zertifikate benötigt wird, die zur eIDAS Verordnung konform sind.

„Verwenden von nicht definierten Relative Distinguished Names (RDN) in ausgestellten Zertifikaten“ weiterlesen

Die Reihenfolge der Relative Distinguished Names (RDNs) im Subject Distinguished Name (DN) ausgestellter Zertifikate ändern

Microsoft Active Directory Certificate Services übernimmt Subjects aus Zertifikatanträgen für Vorlagen, in welchen dessen Angabe durch den Antragsteller erlaubt ist, nicht 1:1 in das ausgestellte Zertifikat.

Stattdessen ist sowohl definiert, welche Relative Distinguished Names (RDNs) erlaubt sind, als auch, in welcher Reihenfolge diese in ausgestellte Zertifikate geschrieben werden. Diese Reihenfolge kann allerdings verändert werden. Wie das gemacht wird, wird nachfolgend erläutert.

„Die Reihenfolge der Relative Distinguished Names (RDNs) im Subject Distinguished Name (DN) ausgestellter Zertifikate ändern“ weiterlesen

Protokollierungsebene (Log Level) für das Ereignisprotokoll der Zertifizierungsstelle konfigurieren

Manche von der Zertifizierungsstelle generierten Windows-Ereignisse werden nur ab einer bestimmten Protokollierungsebene erzeugt.

Nachfolgend wird beschrieben, wie die Protokollierungsebene einer Zertifizierungsstelle bestimmt und verändert werden kann.

„Protokollierungsebene (Log Level) für das Ereignisprotokoll der Zertifizierungsstelle konfigurieren“ weiterlesen

Die Ausstellung von Zertifikaten oder Sperrlisten schlägt fehl mit Fehlercode CERTSRV_E_NO_DB_SESSIONS

Folgendes Szenario angenommen:

  • Die Zertifizierungsstelle kann keine Zertifikate ausstellen und/oder
  • Die Zertifizierungsstelle kann keine Sperrlisten ausstellen.
  • Es wird mindestens eine der folgende Fehlermeldungen protokolliert:

Ereignis-ID: 53 (Microsoft-Windows-CertificationAuthority)

Active Directory Certificate Services denied request 12345 because An attempt was made to open a Certification Authority database session, but there are already too many active sessions. The server may need to be configured to allow additional sessions. 0x8009400f (-2146877425 CERTSRV_E_NO_DB_SESSIONS). The request was for CN=Rudi Ratlos. Additional information: Denied by Policy Module

Ereignis-ID: 130 (Microsoft-Windows-CertificationAuthority)

Active Directory Certificate Services could not create a certificate revocation list. An attempt was made to open a Certification Authority database session, but there are already too many active sessions. The server may need to be configured to allow additional sessions 0x8009400f (-2146877425). This may cause applications that need to check the revocation status of certificates issued by this CA to fail. You can recreate the certificate revocation list manually by running the following command: "certutil -CRL". If the problem persists, restart Certificate Services.
„Die Ausstellung von Zertifikaten oder Sperrlisten schlägt fehl mit Fehlercode CERTSRV_E_NO_DB_SESSIONS“ weiterlesen

Die Installation einer Zertifizierungsstelle schlägt fehl mit Fehlercode ERROR_INVALID_PARAMETER

Folgendes Szenario angenommen:

  • Es wird eine Zertifizierungsstelle installiert
  • Die Rollenkonfiguration schlägt mit folgender Fehlermeldung fehl:
CCertSrvSetupProperty: The parameter is incorrect. 0x80070057 (WIN32: ERROR_INVALID_PARAMETER).
„Die Installation einer Zertifizierungsstelle schlägt fehl mit Fehlercode ERROR_INVALID_PARAMETER“ weiterlesen

Die Installation einer Zertifizierungsstelle schlägt fehl mit Fehlercode "Bad Data. 0x80090005 (-2146893819 NTE_BAD_DATA)."

Folgendes Szenario angenommen:

  • Es wird versucht, eine Zertifizierungsstelle zu installieren
  • Die Rollenkonfiguration schlägt mit folgender Fehlermeldung fehl:
An error occurred when creating the new key container "ADCS Labor Issuing CA 3". Please make sure the CSP is installed correctly or select another CSP.
Bad Data. 0x80090005 (-2146893819 NTE_BAD_DATA).
„Die Installation einer Zertifizierungsstelle schlägt fehl mit Fehlercode "Bad Data. 0x80090005 (-2146893819 NTE_BAD_DATA)."“ weiterlesen

Die Installation einer ins Active Directory integrierten Zertifizierungsstelle mittels Windows PowerShell schlägt fehl mit Fehlermeldung "A value for the attribute was not in the acceptable range of values. 0x80072082 (WIN32: 8322 ERROR_DS_RANGE_CONSTRAINT)"

Folgendes Szenario angenommen:

  • Es wird eine ins Active Directory integrierte Zertifizierungsstelle (Enterprise CA) mittels Windows PowerShell installiert (Install-AdcsCertificationAuthority).
  • Die Rollenkonfiguration schlägt mit folgender Fehlermeldung fehl:
Install-AdcsCertificationAuthority : Active Directory Certificate Services setup failed with the following error: A value for the attribute was not in the acceptable range of values. 0x80072082 (WIN32: 8322 ERROR_DS_RANGE_CONSTRAINT)
„Die Installation einer ins Active Directory integrierten Zertifizierungsstelle mittels Windows PowerShell schlägt fehl mit Fehlermeldung "A value for the attribute was not in the acceptable range of values. 0x80072082 (WIN32: 8322 ERROR_DS_RANGE_CONSTRAINT)"“ weiterlesen

Der Zertifizierungsstellen-Dienst startet nicht und wirft die Fehlermeldung "The device that is required by this cryptographic provider is not ready for use. 0x80090030 (-2146893776 NTE_DEVICE_NOT_READY)"

Folgendes Szenario angenommen:

  • Es ist eine Zertifizierungsstelle im Netzwerk implementiert.
  • Der Zertifizierungsstellen-Dienst startet nicht.
  • Beim Versuch, den Zertifizierungsstellen-Dienst zu starten, erhält man folgende Fehlermeldung:
The device that is required by this cryptographic provider is not ready for use. 0x80090030 (-2146893776 NTE_DEVICE_NOT_READY)
„Der Zertifizierungsstellen-Dienst startet nicht und wirft die Fehlermeldung "The device that is required by this cryptographic provider is not ready for use. 0x80090030 (-2146893776 NTE_DEVICE_NOT_READY)"“ weiterlesen
de_DEDeutsch