Principes de base : contrainte de longueur de chemin (Path Length Constraint)

L'attaque de l'algorithme de signature MD5 présentée fin 2008 n'a pu être utilisé pour créer un faux certificat d'autorité de certification utilisable que parce que l'autorité de certification attaquée n'avait pas configuré de limitation de la longueur du chemin.

La limitation de la longueur du chemin est indiquée dans le RFC 5280 est décrite. L'idée est de définir la profondeur maximale de la hiérarchie des autorités de certification dans l'extension „Basic Constraints“ d'un certificat d'autorité de certification.

Continuer la lecture de « Grundlagen: Einschränkung der Pfadlänge (Path Length Constraint) »

Créer un module de sortie pour l'autorité de certification dans C#

Microsoft Active Directory Certificate Services offre la possibilité de créer ses propres Modules Policy et Exit de développer les fonctionnalités de l'autorité de certification.

Voici les étapes nécessaires pour créer un module Exit dans C# avec Visual Studio 2019. Le module Exit écrira les certificats émis dans un répertoire configurable du système de fichiers.

Continuer la lecture de « Ein Exit Modul für die Zertifizierungsstelle in C# erstellen »

Configuration de l'attestation de clé du module TPM (Trusted Platform Module)

Depuis Windows 8, c'est possible, que les clés privées des certificats soient protégées par un module de plate-forme de confiance (TPM), si celui-ci est disponible. De ce fait, la clé n'est pas exportable - même avec des outils comme mimikatz.

Au premier coup d'œil, il n'est toutefois pas évident de garantir l'utilisation d'un TPM. Il est vrai que pas de demande possible via la Microsoft Management Console ou AutoEnrollment si l'ordinateur ne dispose pas de TPM.

Toutefois, la configuration dans le modèle de certificat n'est qu'une configuration par défaut pour le client. L'autorité de certification, lorsqu'elle demande un certificat ne pas vérifier explicitement si un module Trusted Platform a vraiment été utilisé.

Pour s'assurer que la clé privée d'une demande de certificat a bien été protégée par un module Trusted Platform, il ne reste donc que l'attestation de clé TPM.

Continuer la lecture de « Konfigurieren der Trusted Platform Module (TPM) Key Attestation »

Demande manuelle d'un certificat de serveur web

Dans certains cas, il n'est pas possible ou souhaitable d'obtenir des certificats de serveur web directement auprès d'une autorité de certification de sa propre structure globale Active Directory via la Microsoft Management Console, par exemple lorsque le système concerné n'est pas membre du domaine.

Dans ce cas, il n'est pas possible d'utiliser des modèles de certificats et il faut créer manuellement une demande de certificat (Certificate Signing Request, CSR).

Continuer la lecture de « Manuelle Beantragung eines Webserver-Zertifikats »

Détails de l'événement avec ID 4 de la source Microsoft-Windows-CertificateServicesClient-CertEnroll

Source de l'événement :Microsoft-Windows-CertificateServicesClient-CertEnroll
ID de l'événement :4 (0x425A0004)
Journal des événements :Application
Type d'événement :Information
Texte de l'événement (en anglais) :L'inscription au certificat pour %1 n'a pas permis d'accéder aux ressources locales ou de récupérer les informations du modèle de certificat %2 (%3). L'enrôlement n'a pas été effectué.
Texte de l'événement (en allemand) :Le registre de certificats pour %1 n'a pas pu accéder aux ressources locales ou récupérer les informations de modèle de certificat pour %2 (%3). Aucun enregistrement n'est effectué.
Continuer la lecture de « Details zum Ereignis mit ID 4 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll »

Détails de l'événement avec ID 13 de la source Microsoft-Windows-CertificateServicesClient-CertEnroll

Source de l'événement :Microsoft-Windows-CertificateServicesClient-CertEnroll
ID de l'événement :13 (0xC25A000D)
Journal des événements :Application
Type d'événement :Erreur
Texte de l'événement (en anglais) :L'inscription au certificat pour %1 a échoué pour un certificat %2 avec l'ID de demande %4 de %3 (%5).
Texte de l'événement (en allemand) :Le registre de certificats pour %1 n'a pas pu s'enregistrer pour un certificat %2 avec l'ID de requête %4 de %3 (%5).
Continuer la lecture de « Details zum Ereignis mit ID 13 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll »

Détails de l'événement avec ID 57 de la source Microsoft-Windows-CertificateServicesClient-CertEnroll

Source de l'événement :Microsoft-Windows-CertificateServicesClient-CertEnroll
ID de l'événement :57 (0x825A0039)
Journal des événements :Application
Type d'événement :Information, avertissement et erreur
Texte de l'événement (en anglais) :Le fournisseur „%2“ n'a pas été chargé car l'initialisation a échoué.
Texte de l'événement (en allemand) :Le fournisseur „%2“ n'a pas été chargé en raison d'une erreur d'initialisation.
Continuer la lecture de « Details zum Ereignis mit ID 57 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll »

Détails de l'événement avec ID 82 de la source Microsoft-Windows-CertificateServicesClient-CertEnroll

Source de l'événement :Microsoft-Windows-CertificateServicesClient-CertEnroll
ID de l'événement :82 (0x825A0052)
Journal des événements :Application
Type d'événement :Avertissement
Texte de l'événement (en anglais) :L'inscription au certificat pour %1 a échoué dans l'authentification à toutes les url pour le serveur d'inscription associé à l'identifiant de politique : %2 (%4). Echec de l'inscription pour le modèle : %3
Texte de l'événement (en allemand) :Erreur d'enregistrement de certificat pour %1 lors de l'authentification pour toutes les URL pour le serveur de registre associé à l'ID de stratégie suivante : %2 (%4). Erreur d'enregistrement pour le modèle : %3
Continuer la lecture de « Details zum Ereignis mit ID 82 der Quelle Microsoft-Windows-CertificateServicesClient-CertEnroll »

La demande d'un certificat échoue avec le message d'erreur „A certificate issued by the certification authority cannot be installed. Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)“

Supposons le scénario suivant :

  • Un certificat est demandé à une autorité de certification.
  • Le certificat est délivré avec succès par l'autorité de certification.
  • Cependant, lors de l'installation du certificat sur le système cible, le message d'erreur suivant apparaît :
A certificate issued by the certification authority cannot be installed. Contact your administrator.
Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)
Continuer la lecture de « Die Beantragung eines Zertifikats schlägt fehl mit Fehlermeldung „A certificate issued by the certification authority cannot be installed. Cannot find object or property. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)“ »

Demander un certificat protégé par un Trusted Platform Module (TPM) - sans posséder de TPM

Depuis Windows 8, c'est possible, que les clés privées des certificats soient protégées par un module de plate-forme de confiance (TPM), si celui-ci est disponible. De ce fait, la clé n'est pas exportable - même avec des outils comme mimikatz.

Au premier coup d'œil, il n'est toutefois pas évident de garantir l'utilisation d'un TPM. Il est vrai que pas de demande possible via la Microsoft Management Console ou AutoEnrollment si l'ordinateur ne dispose pas de TPM.

Toutefois, la configuration dans le modèle de certificat n'est qu'une configuration par défaut pour le client. Lors de la demande, l'autorité de certification ne vérifiera pas explicitement si un module Trusted Platform a vraiment été utilisé.

Ainsi, si la demande de certificat est effectuée en dehors de la MMC, n'importe quel paramètre peut être utilisé pour la clé privée.

Continuer la lecture de « Beantragen eines durch ein Trusted Platform Modul (TPM) geschütztes Zertifikat – ohne ein TPM zu besitzen »

La demande de certificat n'est pas possible, car le modèle de certificat ne s'affiche pas. Le message d'erreur est „Can not find a valid CSP in the local machine“.“

Supposons le scénario suivant :

  • Un certificat est demandé pour un utilisateur ou un ordinateur auprès d'une autorité de certification via la console de gestion des certificats (certlm.msc ou certmgr.msc).
  • Autoenrollment ne demande pas de certificat du modèle de certificat souhaité, bien qu'il soit activé et que les autorisations soient définies en conséquence.
  • Le modèle de certificat souhaité ne s'affiche pas lors d'une demande manuelle via la console de gestion Microsoft (MMC). Si l'on active la case à cocher „Show all templates“, le message d'erreur suivant s'affiche pour le modèle de certificat souhaité :
Cannot find object or property.
Can not find a valid CSP in the local machine.
Continuer la lecture de « Die Beantragung eines Zertifikats ist nicht möglich, da die Zertifikatvorlage nicht angezeigt wird. Die Fehlermeldung lautet „Can not find a valid CSP in the local machine.“ »

Configuration d'un modèle de certificat pour l'utilisation du Microsoft Platform Crypto Provider afin de permettre la protection de la clé privée par un Trusted Platform Module (TPM)

Depuis Windows 8, il est possible de protéger les clés privées des certificats à l'aide d'un module de plate-forme de confiance (TPM), si celui-ci est disponible. Cela permet une véritable non-exportabilité de la clé.

Le processus de configuration d'un modèle de certificat utilisant un module Trusted Platform est décrit ci-dessous.

Continuer la lecture de « Konfigurieren einer Zertifikatvorlage für die Verwendung des Microsoft Platform Crypto Provider, um Schutz des privaten Schlüssels durch ein Trusted Platform Module (TPM) zu ermöglichen »

La demande d'un certificat protégé par Trusted Platform Module (TPM) échoue avec le message d'erreur „The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)“

Supposons le scénario suivant :

  • Un modèle de certificat est configuré pour l'utilisation du Microsoft Platform Crypto Provider, de sorte que la clé privée générée lors de la demande de certificat est protégée par un Trusted Platform Module (TPM).
  • Cependant, la demande de certificats échoue avec le message d'erreur suivant :
An error occurred while enrolling for a certificate.
A certificate request could not be created.
Url: CA02.intra.adcslabor.de\ADCS Labor Issuing CA 1
Error: The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)
Continuer la lecture de « Die Beantragung eines Trusted Platform Module (TPM) geschützten Zertifikats schägt fehl mit Fehlermeldung „The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)“ »

Google Chrome et Microsoft Edge ne vérifient pas l'état de révocation des certificats

De plus en plus d'entreprises utilisent comme navigateur par défaut sur la plateforme Windows le navigateur Google Chrome ou le nouveau Microsoft Edge basé sur Chromium (nom de code Anaheim).

Lors de la distribution de l'un de ces deux navigateurs, il convient de tenir compte du fait qu'ils se comportent en partie différemment des autres navigateurs en ce qui concerne les certificats.

Outre le fait que Chromium, contrairement à Internet Explorer et au précédent Edge (nom de code Spartan) qui impose le RFC 2818, il se comporte aussi en Vérification des informations de blocage différent.

Continuer la lecture de « Google Chrome und Microsoft Edge prüfen Sperrstatus von Zertifikaten nicht »

Signer des certificats en contournant l'autorité de certification

Dans les discussions sur la sécurité d'une autorité de certification, on entend régulièrement qu'un abus de l'autorité de certification pourrait être endigué par ses paramètres de sécurité.

Il n'est toutefois pas évident à première vue que l'intégrité d'une autorité de certification soit directement liée à son matériel de clé et qu'elle puisse donc être compromise par ce dernier.

Il faut se représenter le logiciel d'autorité de certification comme une sorte de gestion autour du matériel clé. Le logiciel offre par exemple une Interface en ligne pour la demande de certificat s'occupe de l'authentification des demandeurs, de l'exécution automatisée des opérations de signature (délivrance de certificats et de Listes de blocage) et leur enregistrement (Base de données des organismes de certification, Protocole d'audit, Journal des événements).

Or, les opérations de signature ne nécessitent rien d'autre que la clé privée de l'autorité de certification. L'exemple suivant montre comment un attaquant peut, s'il a accès à la clé privée de l'autorité de certification, générer et émettre des certificats sans que le logiciel de l'autorité de certification et ses mécanismes de sécurité ne le sachent.

Avec un tel certificat, ce serait même possible dans le pire des cas, de reprendre la structure globale d'Active Directory sans être détecté.

Continuer la lecture de « Signieren von Zertifikaten unter Umgehung der Zertifizierungsstelle »
fr_FRFrançais