Partie 3 · Architecture PKI 9 min de lecture

Certificat Révocation

Les certificats ont des dates d'expiration, mais parfois la confiance doit être retirée avant que cette date n'arrive. La révocation de certificat est le mécanisme qui permet aux organisations d'invalider un certificat immédiatement lorsqu'un problème survient, que ce soit une clé privée compromise, un employé qui est parti, ou un domaine dont la propriété a changé.

Faits rapides

Type
Éducatif
Niveau
Intermédiaire
Sujets
7 sections
Chapitre
13 sur 25
Suivant
Transparence des certificats

Introduction

quand un Autorité de certification émets un certificat numérique, il définit une période de validité : une date de début et une date d'expiration. Dans des circonstances normales, le certificat est considéré comme fiable pendant toute cette période et est rejeté par la suite. Mais que se passe-t-il lorsqu'un certificat doit être invalidé avant son expiration ?

C’est ici que la révocation de certificat intervient. La révocation est le processus par lequel une autorité de certification (CA) déclare qu’un certificat précédemment émis ne doit plus être fiable, même s’il n’a pas encore expiré. Sans révocation, un certificat compromis resterait valide jusqu’à son expiration naturelle, donnant potentiellement à un attaquant des jours, des semaines ou des mois pour usurper l’identité d’un serveur légitime, signer du code malveillant ou intercepter des communications chiffrées.

L'écosystème PKI fournit deux mécanismes principaux pour communiquer l'état de révocation aux clients : Listes de révocation de certificats (CRLs) et le Protocole de statut de certificat en ligne (OCSP). Chaque approche présente des forces et des compromis distincts, et les comprendre est essentiel pour quiconque gère des certificats à grande échelle.

Quand révoquer un Certificat

Tous les problèmes de certificat ne justifient pas une révocation, mais plusieurs scénarios l'exigent absolument. Le CA/Browser Forum et le RFC 5280 définissent des raisons de révocation standard qui aident les organisations et les parties prenantes à comprendre pourquoi un certificat a été retiré.

Compromission de la clé privée

La raison la plus urgente. Si la clé privée associée à un certificat a été exposée (suite à une violation de serveur, une sauvegarde volée ou un dépôt fuité), le certificat doit être révoqué immédiatement. Toute personne disposant de la clé privée peut usurper l'identité du certificat.

Changement d'affiliation

Lorsqu'un employé quitte une organisation, ses certificats d'authentification client ou S/MIME doivent être révoqués. De même, lorsqu'un domaine est vendu ou transféré, les certificats TLS qui y sont associés doivent être invalidés afin que le nouveau propriétaire puisse obtenir de nouveaux certificats.

Compromission ou mauvaise émission d'une AC

Si la clé de signature propre à l'Autorité de Certification est compromise, chaque certificat qu'elle a émis est potentiellement non fiable. L'AC doit révoquer les certificats affectés et, dans les cas graves, son propre certificat intermédiaire peut être révoqué par l'AC racine. Une mauvaise émission (un certificat émis avec des informations incorrectes ou sans validation appropriée) nécessite également une révocation rapide.

Remplacé ou plus nécessaire

Lorsqu'un certificat est remplacé par un nouveau (par exemple, après une rotation de clé ou une mise à jour d'algorithme), l'ancien certificat doit être révoqué pour éviter toute confusion et réduire la surface d'attaque. Les serveurs hors service et les services retirés doivent également voir leurs certificats révoqués.

CRL : Certificat Listes de révocation

Une liste de révocation de certificats est le mécanisme de révocation original défini dans la norme X.509. Une CRL est un fichier signé, publié par une autorité de certification, qui contient une liste des numéros de série de tous les certificats qui ont été révoqués avant leur date d'expiration. Chaque entrée comprend le numéro de série du certificat's, la date de révocation et, éventuellement, un code de raison.

Les CRL sont publiées aux URL spécifiées dans le certificat's Points de distribution des CRL extension. Lorsqu'un client (tel qu'un navigateur ou une application) doit vérifier un certificat, il télécharge la CRL depuis cette URL et vérifie si le numéro de série du certificat's apparaît dans la liste. Si c'est le cas, le certificat est rejeté.

Les CRL sont périodiquement mises à jour et signées par l'Autorité de Certification (CA), généralement selon un planning fixe (toutes les quelques heures ou une fois par jour). nextUpdate horodatage qui indique aux clients quand une version plus récente sera disponible. Entre les mises à jour, les clients mettent en cache la CRL localement pour éviter des téléchargements répétés.

La principale limitation des CRL est l'évolutivité. Pour une CA qui a révoqué des milliers de certificats, le fichier CRL peut atteindre plusieurs mégaoctets. Télécharger et analyser un gros fichier simplement pour vérifier un seul certificat est inefficace, surtout sur les appareils mobiles ou dans des environnements réseau contraints. De plus, l'intervalle entre les publications de CRL crée une fenêtre pendant laquelle un certificat récemment révoqué peut encore être accepté par les clients utilisant une CRL mise en cache et obsolète.

OCSP: certificat en ligne Protocole d'état

OCSP (défini dans la RFC 6960) a été développé pour répondre aux limitations des CRL. Au lieu de télécharger une liste complète de révocation, le client envoie une requête légère à un répondeur OCSP demandant le statut d'un seul certificat. Le répondeur répond avec l'un des trois statuts : bon, révoqué, ou inconnu.

L'URL du répondeur OCSP est spécifiée dans le certificat Accès à l'information d'autorité (AIA) extension. Le client inclut le numéro de série du certificat et l'identifiant de l'émetteur dans la requête, et le répondeur renvoie une réponse signée que le client peut vérifier. Comme chaque requête cible un seul certificat, la réponse est petite (généralement quelques centaines d'octets) et rapide à traiter.

OCSP offre plusieurs avantages par rapport aux CRL. Les réponses sont en temps réel (ou quasi temps réel), les données transférées sont minimales, et les clients n'ont pas besoin de stocker ou d'analyser de gros fichiers. Cependant, OCSP introduit ses propres défis. Le client doit effectuer une requête réseau vers le répondant OCSP pour chaque certificat qu'il valide, ce qui ajoute de la latence à la poignée de main TLS. Si le répondant est lent ou inaccessible, les clients font face à une décision difficile : échouer en mode ouvert (accepter le certificat sans vérification, ce qui est peu sûr) ou échouer en mode fermé (rejeter le certificat, ce qui provoque une panne

OCSP soulève également des préoccupations de confidentialité. Parce que le client envoie le numéro de série du certificat' à l'interrogateur, l'autorité de certification qui exploite l'interrogateur peut observer quels sites Web ou services un utilisateur tente de rejoindre. Il s'agit d'un problème important pour la confidentialité des utilisateurs, et c'était l'une des motivations derrière le stapling OCSP.

OCSP Stapling

OCSP stapling (formellement connu sous le nom d'extension TLS Certificate Status Request, définie dans la RFC 6066) résout élégamment les problèmes de latence et de confidentialité de l'OCSP standard. Au lieu que le client interroge directement le répondant OCSP, le serveur récupère sa propre réponse OCSP à l'avance et "attache" celle-ci à la poignée de main TLS.

1

Le serveur récupère la réponse OCSP

Le serveur web interroge périodiquement le répondant OCSP pour connaître le statut de son propre certificat. La réponse OCSP signée est mise en cache localement sur le serveur. Cela se produit en arrière-plan et n'affecte pas les requêtes des utilisateurs.

2

La réponse est attachée à la poignée de main TLS

Lorsque un client se connecte, le serveur inclut la réponse OCSP mise en cache dans la poignée de main TLS (plus précisément, dans le CertificateStatus message). Le client reçoit le certificat et son statut de révocation en un seul aller-retour.

3

Le client valide la réponse agrafée

Le client vérifie que la réponse OCSP agrafée est signée par la CA, qu’elle est toujours dans sa fenêtre de validité, et confirme le certificat's statut comme "bon." Parce que la réponse est signée par la CA, le serveur ne peut pas falsifier un statut favorable.

Le stapling OCSP élimine le trajet réseau supplémentaire vers le répondeur, supprime le problème de confidentialité (l'Autorité de Certification ne voit jamais la requête du client) et réduit la charge sur l'infrastructure OCSP. Il est pris en charge par tous les serveurs web modernes (Apache, Nginx, IIS, Caddy) et recommandé comme meilleure pratique pour les déploiements TLS. La variante améliorée, OCSP Must-Staple (indiqué par une extension de certificat), indique aux clients d'exiger une réponse staplée et de rejeter le certificat si aucune n'est fournie, fermant ainsi la faille du mode fail-open.

CRL vs OCSP Comparaison

Les deux mécanismes servent le même objectif, mais ils l'abordent différemment. Voici une comparaison côte à côte pour vous aider à comprendre quand chacun est le plus approprié.

Modèle de données

CRL fournit une liste complète de tous les certificats révoqués. OCSP fournit le statut d'un certificat à la fois. Les CRL sont orientées par lots ; l'OCSP fonctionne en requête/réponse.

Bande passante

Les CRL peuvent être volumineux (mégaoctets pour les AC occupées), imposant une surcharge de téléchargement importante. Les réponses OCSP sont petites (quelques centaines d'octets), les rendant beaucoup plus efficaces pour les vérifications individuelles.

Actualité

Les CRL sont mises à jour selon un planning (heures ou jours), créant une fenêtre où des données obsolètes peuvent être servies. L'OCSP peut fournir un statut quasi en temps réel, surtout avec des périodes de validité de réponse de courte durée.

Disponibilité

Les CRL peuvent être mis en cache et servis depuis des CDN, ce qui les rend très disponibles. L'OCSP nécessite un répondeur en direct, ce qui peut devenir un point de défaillance unique. Le stapling OCSP atténue ce problème en transférant la responsabilité au serveur.

Confidentialité

Les CRL préservent la confidentialité du client car l'Autorité de Certification ne sait pas quel certificat le client vérifie. L'OCSP standard révèle cette information au répondeur. Le stapling OCSP rétablit la confidentialité en supprimant la connexion directe client-repondeur.

Utilisation moderne

La plupart des AC publiques prennent en charge les deux mécanismes. Les navigateurs sont largement passés à des solutions propriétaires (comme CRLSets dans Chrome et CRLite dans Firefox) qui agrègent les données de révocation pour les performances. Le stapling OCSP reste l'approche recommandée pour les opérateurs de serveurs.

Comment nous aidons

Evertrust & Révocation de certificat

Flux de révocation instantanés: Evertrust CLM vous permet de révoquer tout certificat de votre inventaire en une seule action, en notifiant automatiquement l'AC émettrice et en mettant à jour vos enregistrements internes. Lorsqu'une compromission de clé est détectée, chaque seconde compte.

Gestion des CRL et OCSP: Evertrust PKI fonctionne comme une autorité de certification complète avec publication intégrée des CRL et capacités de réponse OCSP. Les CRL sont générées selon un planning et les réponses OCSP sont servies avec des intervalles de fraîcheur configurables, garantissant que les parties prenantes ont toujours accès aux données de révocation actuelles.

Surveillance de la révocation: Evertrust surveille en continu le statut de révocation de tous les certificats de votre inventaire, vous alertant si un certificat dont vous dépendez a été révoqué par une autorité de certification externe. Ceci est crucial pour l'intégrité de la chaîne.

Remplacement automatisé après révocation: Révoquer un certificat n’est que la moitié du travail. Evertrust automatise l’émission et le déploiement d’un certificat de remplacement immédiatement après révocation, empêchant les pannes qui surviennent souvent après des processus de révocation manuels.