La plupart des applications qui dépendent des certificats X.509 doivent valider l’état des certificats utilisés lorsqu’elles effectuent des opérations d’authentification, de signature ou de chiffrement. Cette vérification de validité et de révocation de certificats s’effectue sur tous les certificats dans une chaîne de certificats, jusqu’au certificat racine. Si le certificat racine, ou un certificat quelconque de la chaîne, n’est pas valide, les certificats situés au-dessous du certificat non valide dans la chaîne ne sont également pas valides.

La validation comprend les points suivants :

  • La signature de chaque certificat est valide.

  • La date et l’heure actuelles figurent dans la période de validité de chaque certificat.

  • Aucun certificat n’est endommagé ou déformé.

En outre, l’état de révocation de chaque certificat de la chaîne de certificats est vérifié. La vérification de révocation peut s’effectuer via une réponse de liste de révocation de certificats (CRL) ou de protocole OCSP (Online Certificate Status Protocol).

Qu’est-ce qu’OCSP ?

Le répondeur en ligne Microsoft implémente le protocole OCSP, qui permet à un destinataire d’un certificat de soumettre une demande d’état de certificat à un répondeur OCSP via le protocole HTTP (Hypertext Transfer Protocol). Ce répondeur OCSP renvoie une réponse définitive signée numériquement qui indique l’état de certificat. La quantité de données extraites par demande est constante, quel que soit le nombre de certificats révoqués dans l’autorité de certification.

Pour plus d’informations, voir l’article RFC 2560, « X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP » à l’adresse https://go.microsoft.com/fwlink/?LinkID=71068 (éventuellement en anglais).

Répondeur en ligne

L’implémentation par Microsoft d’OCSP - le répondeur en ligne - est divisée en composants client et serveur. Le composant client est intégré dans la bibliothèque CryptoAPI 2.0, tandis que le composant serveur est introduit comme nouveau service fourni par le rôle de serveur ds services de certificats Active Directory (AD CS). Le processus suivant décrit comment les composants client et serveur interagissent :

  1. Lorsqu’une application tente de vérifier un certificat qui spécifie des emplacements sur des répondeurs OCSP, le composant client recherche d’abord dans la mémoire locale et les caches de disque une réponse OCSP mise en cache contenant les données de révocation actuelles.

  2. Si une réponse mise en cache acceptable est trouvée, une demande est envoyée à un répondeur en ligne via le protocole HTTP.

  3. Le proxy Web de répondeur en ligne décode et vérifie la demande. Si la demande est valide, les informations de révocation nécessaires au traitement de la demande sont vérifiées dans le cache de proxy Web. Si les informations actuelles ne sont pas disponibles dans le cache, la demande est transférée au service de répondeur en ligne.

  4. Le service de répondeur en ligne reçoit la demande et vérifie une liste de révocation de certificats (CRL) locale, si celle-ci est disponible, et une copie mise en cache de la CRL la plus récente délivrée par l’autorité de certification.

  5. Si le certificat ne figure pas dans les listes de révocation locale ou mise en cache, le fournisseur de révocation obtient une CRL d’autorité de certification mise à jour, si celle-ci est disponible, à partir des emplacements répertoriés dans la configuration de révocation pour vérifier l’état du certificat. Le fournisseur, à son tour, renvoie l’état du certificat au service de répondeur en ligne.

  6. Le proxy Web encode et renvoie alors la réponse au client pour lui indiquer que le certificat est valide. Il met également en cache une copie de la réponse pour une durée limitée au cas où ce certificat fasse l’objet de demandes d’état supplémentaires.


Table des matières