Pour pouvoir retirer les certificats émis avant la fin de leur durée de validité, on utilise des listes de révocation de certificats (en anglais "Certificate Revocation List", CRL).
Il s'agit d'une liste signée des numéros de série des certificats qui ont été révoqués par l'autorité de certification. La liste de révocation a une date d'expiration (généralement courte de quelques jours) et est réémise et signée à intervalles réguliers par l'autorité de certification correspondante.
Les listes de révocation de certificats peuvent atteindre une taille considérable si le volume de certificats révoqués est important (en règle générale, on peut compter environ 5 mégaoctets pour 100 000 entrées). Le téléchargement régulier de grandes listes de révocation de certificats par les abonnés peut générer une charge importante sur le réseau. Pour répondre à ce problème, il existe le concept des listes de blocage delta.
Il est parfois nécessaire qu'un certificat délivré par une autorité de certification soit retiré avant sa date d'expiration. Pour ce faire, une autorité de certification tient à jour une liste de révocation. Il s'agit d'un fichier signé avec une date d'expiration relativement courte, qui est utilisé en combinaison avec le certificat pour vérifier sa validité.
Fonctionnement
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.
L'idée des listes de blocage delta est d'allonger les intervalles de publication de la liste de blocage de base (supposée importante) afin que les participants aient moins souvent besoin de la télécharger. Les changements intervenus depuis la dernière publication de la liste de blocage de base sont inscrits dans la liste de blocage delta, qui est publiée à des intervalles plus courts.
Une liste de blocage de base peut donc être associée à plusieurs listes de blocage delta. Lors de la publication de listes de blocage de certificats, on a le choix entre publier la liste de blocage de base ou une nouvelle liste de blocage delta.

Si des listes de blocage delta sont actives, la liste de blocage de base dispose d'une extension appelée "Freshest CRL", qui contient l'URL pour le téléchargement de la liste de blocage delta.

Si les listes de blocage delta sont activées, une vérification de l'état de blocage n'est donc possible que si la liste de blocage de base et une liste de blocage delta correspondante peuvent être consultées et sont valables dans le temps.
Mappage dans les services de certificats Microsoft Active Directory
Configuration
La configuration de la validité de la liste de blocage est représentée dans le registre sous le chemin suivant :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\{Name-der-Zertifizierungsstelle>
| Valeur du registre | Valeur par défaut |
|---|---|
| CRLPeriodUnits | 1 |
| CRLPeriod | Weeks |
| CRLOverlapUnits | 0 |
| CRLOverlapPeriod | Hours |
| CRLDeltaPeriodUnits | 1 |
| CRLDeltaPeriod | Days |
| CRLDeltaOverlapUnits | 0 |
| CRLDeltaOverlapPeriod | Minutes |

Valeurs par défaut
Si l'on installe une autorité de certification Microsoft avec des paramètres par défaut, les listes de blocage delta sont automatiquement activées avec les paramètres suivants :
| Liste de blocage | Paramètres | Valeur configurée explicitement | Valeur effective |
|---|---|---|---|
| Liste de blocage de base | Validité | 1 semaine | 1 semaine |
| Liste de blocage de base | Période de chevauchement | 0 heures | 12 heures |
| Liste de blocage du delta | Validité | 1 jour | 1 jour |
| Liste de blocage du delta | Période de chevauchement | 0 minutes | 12 heures |
Comme on peut le voir, les valeurs pour les périodes de chevauchement sont respectivement fixées à 0. Cela ne signifie pas pour autant que le chevauchement des listes de blocage est activé. L'autorité de certification applique plutôt des valeurs par défaut de 12 heures. Il en résulte les périodes de validité suivantes dans le réglage standard :
- La liste de blocage de base est valable 180 heures (1 semaine + 12 heures) et est renouvelée 12 heures avant son expiration.
- La liste de blocage du delta est valable 36 heures (1 jour + 12 heures) et est renouvelée 12 heures avant son expiration.
L'autorité de certification Microsoft avance la date d'émission des listes de blocage de 10 minutes à la fois. De même, la date de fin est prolongée de 10 minutes. Cette procédure vise à prévenir d'éventuels problèmes de synchronisation horaire entre les participants.
La pertinence des listes de blocage du delta
La plupart des entreprises ne seront jamais dans l'embarras pour révoquer un nombre de certificats tel qu'il pourrait en résulter des situations de charge significatives sans listes de blocage delta. De facto, la plupart des entreprises n'ont même pas mis en place un processus de révocation de certificats robuste.
L'utilisation de listes de blocage des deltas peut offrir un avantage en matière de sécurité (en raison de leurs périodes de validité généralement très courtes), car les révocations de certificats deviennent très rapidement effectives.
Il convient toutefois de noter que l'utilisation de listes de blocage delta réduit considérablement la durée des mesures d'urgence telles que l'établissement d'une liste de blocage d'urgence en cas de défaillance de l'autorité de certification ou du module de sécurité matériel.
Ainsi, la décision pour ou contre les listes de blocage du delta dépend en fin de compte des cas d'utilisation mis en œuvre. On peut toutefois affirmer que l'exigence de l'exploitabilité (de la stabilité opérationnelle) aura généralement la priorité sur d'éventuels blocages de certificats devenant effectifs à court terme.
Une alternative aux listes de blocage delta peut être l'utilisation d'un Répondants en ligne (OCSP) peut être. Toutefois, ce service ne convient que pour améliorer l'efficacité.
Désactiver les listes de blocage du delta
Dans de nombreux cas, il peut être judicieux de désactiver les listes de blocage des deltas et de travailler plutôt avec des périodes de chevauchement plus importantes de la liste de blocage de base.
Désactiver via le registre
Si l'on définit la valeur "CRLDeltaPeriodUnits" dans le registre à 0 et que l'on redémarre ensuite l'autorité de certification, celle-ci n'émettra plus de listes de blocage du delta.
certutil -setreg CA\CRLDeltaPeriodUnits 0 net stop certsvc net start certsvc
Il est conseillé d'émettre directement une nouvelle liste de blocage de base qui ne renvoie plus à une liste de blocage delta, c'est-à-dire qui ne possède plus l'extension "Freshest CRL".
certutil -crl
La désactivation des listes de blocage des deltas via le registre présente toutefois l'inconvénient de poser des problèmes avec les listes de blocage des certificats stockées temporairement chez les participants. Ceux-ci peuvent continuer à utiliser l'ancienne liste de blocage de base jusqu'à ce qu'elle expire, mais ils ne peuvent plus accéder à une liste de blocage delta valide correspondante, car celle-ci n'est plus émise.
Il est donc conseillé de toujours désactiver les listes de blocage des deltas via la console de gestion des autorités de certification.
Désactiver via la console de gestion des autorités de certification
Dans la console de gestion des autorités de certification, les listes de blocage du delta peuvent être configurées par un clic droit sur le dossier des certificats révoqués.

Si l'on décoche la case "Publish Delta CRLs", l'autorité de certification n'émet plus de nouvelles listes de blocage delta à partir de ce moment-là.

Mais il se passe encore quelque chose en coulisses. L'autorité de certification délivre immédiatement une nouvelle liste de blocage de base (à gauche sur l'image) qui ne contient plus l'extension "Freshest CRL". En outre, une liste de blocage delta (à droite sur l'image) est émise une dernière fois, avec la même date d'expiration que la liste de blocage de base.

Cela permet d'éviter que les participants ne se retrouvent dans la situation incohérente décrite précédemment et ne soient plus en mesure de vérifier l'état de révocation des certificats.
Liens complémentaires :
- Principes de base : vérification du statut de révocation des certificats
- Principes de base du répondeur en ligne (Online Certificate Status Protocol, OCSP)
Sources externes
- Configurer la période de chevauchement CRL et delta CRL (Microsoft Corporation)
- La désactivation de Delta CRL sur une AC peut-elle entraîner des problèmes ? (Tom Aafloen)