Pour renforcer le contrôle sur les certificats pouvant être délivrés par une autorité de certification, il est possible de mettre en place une restriction de longueur de chemin (Path Length Constraint) afin que les autorités de certification situées au-dessus d'un certain niveau hiérarchique ne puissent plus délivrer de certificats d'autorité de certification subordonnés.
Pour une explication du fonctionnement de la limitation de la longueur du chemin, voir l'article „ Principes fondamentaux : contrainte de longueur de chemin (Path Length Constraint) “.
Mise en œuvre
Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.
Il existe deux possibilités de réaliser une limitation de la longueur du chemin dans un certificat d'autorité de certification :
- Par l'inscription dans l'extension „Basic Constraints“ d'un certificat d'autorité de certification. Cela peut être demandé via la demande de certificat de l'autorité de certification ou être imposé par l'autorité de certification parente. Une autorité de certification racine peut définir elle-même cette entrée pour son propre certificat d'autorité de certification lors de sa délivrance. Dans le cas d'une autorité de certification racine (Root CA), cela prive toutefois de flexibilité, car une modification nécessite une nouvelle émission (renouvellement) du certificat d'autorité de certification.
- En inscrivant une clé d'enregistrement dans l'autorité de certification, qui fera croire à l'autorité de certification qu'elle dispose d'une limitation de la longueur du chemin, alors qu'aucune n'est définie dans le certificat de l'autorité de certification. Il s'agit de la méthode préférée d'une autorité de certification.
Configuration via la demande de certificat d'une autorité de certification
Si un certificat d'autorité de certification est demandé pour la première fois ou renouvelé ultérieurement (dans le cas d'une autorité de certification racine, également : délivré par elle-même), il est possible de créer une section au sein de l'autorité de certification en inscrivant préalablement une section. capolicy.inf (fonctionne également pour les autorités de certification déjà existantes), la demande de certificat qui en résulte doit être traitée en conséquence, de sorte qu'une limitation de la longueur du chemin soit demandée.
[BasicConstraintsExtension]
PathLength={Wert}
Critical=TRUE
RemarqueLes politiques et les contraintes doivent toujours être définies par l'autorité de certification supérieure. Cela signifie que l'autorité de certification supérieure n'est pas liée à notre Antrasg et peut donc la traiter différemment. C'est pourquoi un contrôle des résultats est indispensable.

Pour définir la limitation de la longueur du chemin, on saisit comme „valeur“ un nombre positif naturel correspondant au nombre de niveaux hiérarchiques souhaités. Veuillez noter que le dernier niveau de la hiérarchie aura la valeur „0“. Ainsi, si l'on souhaite définir une hiérarchie à deux niveaux, la valeur „1“ doit être inscrite sur l'autorité de certification racine.
C'est l'autorité de certification supérieure qui décide en fin de compte de la mise en œuvre des paramètres demandés dans une demande de certificat (CSR). Ainsi, le résultat dans le certificat délivré peut tout à fait différer du certificat et doit être contrôlé en conséquence.
Ensuite, le certificat d'autorité de certification peut être demandé ou renouvelé.
Configuration via le registre de l'autorité de certification
La configuration pour la limitation de la longueur du chemin d'accès aux certificats émis par une autorité de certification est définie dans le registre de l'autorité de certification. Elle se trouve dans la clé suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\
{Common-Name-der-Zertifizierungsstelle}\PolicyModules\CertificateAuthority_MicrosoftDefault.Policy

La configuration peut se faire via l'éditeur de registre ou via la commande de ligne de commande suivante :
certutil -setreg Policy\CAPathLength {Wert}
- Pour définir la limitation de la longueur du chemin, il faut saisir un nombre naturel positif correspondant au nombre de niveaux hiérarchiques souhaités. Veuillez noter que le dernier niveau de la hiérarchie recevra la valeur „0“. Ainsi, si l'on souhaite définir une hiérarchie à deux niveaux, il faut inscrire la valeur „1“ sur l'autorité de certification racine.
- Pour désactiver la limitation de la longueur du chemin, on saisit la valeur „-1“ (hexadécimal : ffffffff).

Après avoir défini la configuration, le service d'autorité de certification doit être redémarré pour que la configuration soit lue et utilisée.
Mot de la fin
Les certificats émis par l'autorité de certification (et, selon la configuration, le certificat de l'autorité de certification lui-même) devraient maintenant avoir une limitation correspondante de la longueur du chemin dans l'extension „Basic Constraints“.
