OCSP – Donnez l’état de votre certificat en temps réel !
À la une,OCSP

OCSP Certificat en temps réel

Comme vous le savez certainement, dans son fonctionnement de base une PKI doit publier toutes les 24h une liste de certificats révoqués. Cette liste de certificats révoqués que l’on appelle CRL vous permet d’identifier les certificats qui ne sont plus valides et/ou plus dignes de confiance.

Un certificat peut avoir été révoqué avant sa date d’expiration par l’intermédiaire de l’Autorité de Certification (AC) émettrice, dans le cas où une personne a quitté une organisation ou si l’on suspecte la compromission de la clé privée. Il est donc essentiel de s’appuyer sur un service qui a la capacité de vérifier la validité du certificat au moment où l’on souhaite l’utiliser.

Les certificats électroniques ayant une durée de validité limitée c’est alors  l’AC qui gère leur cycle de vie, qu’il s’agisse de les renouveler ou de les révoquer. Face à la perspicacité des cybercriminels, un délai de 24h peut toutefois s’avérer beaucoup trop long… C’est pourquoi le recours à un service de validation en temps réel d’un certificat – Service communément appelé OCSP pour Online Certificate Status Protocol peut être recommandé.

Le statut de vérification d’un certificat est donc accessible selon deux modes : l’interrogation de la CRL ou l’utilisation d’un répondeur OCSP.

CRL et OCSP – Qu’est-ce qui les différencie ?

Une CRL (Certificate Revocation List) est la  liste « noire» regroupant les identifiants des certificats qui ne sont plus dignes de confiance, soit parce qu’ils ont été révoqués ou parce qu’ils sont désormais invalides.

La révocation d’un certificat pour rappel consiste à annuler le certificat avant la date de son expiration effective ou à « faire opposition », la même procédure que pour une carte bancaire lorsque celle-ci a été volée par exemple. Cette action est par conséquent définitive. Après révocation le certificat n’est plus utilisable, son statut change et passe ainsi de certificat valide à révoqué.

Une CRL est  datée et signée par une AC et périodiquement publiée. Pour vérifier la validité d’un certificat, le vérificateur doit envoyer une requête au serveur de publication hébergeant la CRL correspondante, avec l’identifiant de l’AC en charge du certificat ; il reçoit alors la dernière CRL générée par l’AC et doit ensuite vérifier la signature de la CRL et sa durée de validité, pour ensuite rechercher le certificat au sein de la CRL.

L’avantage de la CRL est sa simplicité, sa richesse en informations et son faible risque système. La taille de la CRL constitue toutefois son inconvénient majeur… La bande passante nécessaire à la mise à jour et à la vérification est très élevée, ce qui limite considérablement son extensibilité.

La « fraicheur » d’une CRL mérite également un point d’attention car il existe une période d’« incertitude » entre l’interrogation du statut du certificat et la date de publication effective de la CRL comme le montre l’exemple ci-dessous :

  • Heure de publication de la CRL 01:00:00
  • Date d’interrogation du statut d’un certificat valide dans la précédente CRL 06:00:00
  • Incertitude sur le statut du certificat 5 heures.

C’est indéniable, la mise en place de mécanismes de révocation est critique pour conserver la confiance dans les certificats.

Le choix du mécanisme de révocation repose donc sur l’analyse des besoins en sécurité et en disponibilité, des contraintes de débit et de temps ainsi que sur l’architecture du système d’information.

OCSP

L’OCSP « Online Certificat Status Protocol » est un Protocole de vérification de certificat en ligne. Il représente une alternative efficace  puisqu’il peut permettre de vérifier en temps réel (s’il se base sur « liste blanche ») le statut d’un certificat.

L’OCSP, qui est un standard de l’IETF (RFC2560), introduit un serveur OCSP de confiance auprès duquel les vérificateurs vont s’adresser pour connaître l’état de validité d’un certificat (‘bon’, ‘révoqué’, ‘inconnu’). Le vérificateur qui a connaissance du certificat du serveur doit vérifier l’authenticité des messages signés et retournés par le serveur.

L’OCSP peut s’appuyer soit sur CRL soit sur « liste blanche » qui vérifie en temps réel le numéro du certificat transmis par l’émetteur. Via un mécanisme de requête-réponse demandant à l’Autorité de certification des informations très précises, le protocole OCSP réduit ainsi au maximum la période d’incertitude entre les dates et heures de mises à disposition des CRL. Un transpondeur OCSP fournit donc des informations de révocation plus récentes que les CRL téléchargées de façon asynchrone, mais il doit pour cela être joignable en permanence

En pratique, une requête OCSP contient :

  • la version du protocole
  • le service demandé
  • les informations du certificat pour connaître son statut
  • les extensions supportées ou non par le serveur OCSP en tant que signature de la requête.

La réponse signée du transpondeur contient :

  • la version utilisée du protocole afin de construire la réponse
  • la réponse sur le statut du certificat demandé
  • le bloc de signature
  • le certificat du serveur OCSP interrogé
  • l’heure de production de la réponse
  • l’heure exacte à laquelle la réponse est fournie (cette information est tributaire de l’aspect ou non temps réel de l’information).

Si l’information transmise n’est pas instantanée, apparaît alors une information complémentaire de type « prochaine mise à jour » qui indique le moment où le statut du certificat peut être contrôlé. En fonction du besoin client, le service OCSP met en œuvre différents mécanismes pour garantir la « fraîcheur » des informations qui sont à disposition du transpondeur !

Vous l’aurez compris, afin de satisfaire au mieux vos exigences environnementales, le choix d’une méthode de révocation par rapport à une autre doit être fait en fonction des exigences de l’application (surtout en matière de fraîcheur d’informations de révocation et niveau de sécurité), du niveau de disponibilité des ressources dans le système (bande passante, puissance de calculs, etc.) et du délai de calcul toléré.

Dans cette dynamique d’optimiser davantage le service, nous recommandons de combiner l’OCSP avec un service d’horodatage électronique. Il s’agit d’un service de sécurité qui permet d’attester que des données sous forme électronique existaient bien à un instant donné. L’horodatage consiste donc à apposer à un fichier une date provenant d’une source de temps fiable sous la forme d’un jeton

Dans la pratique, lors de l’horodatage d’un document électronique, le jeton d’horodatage scelle le document avec une datation « universelle » pour en garantir son intégrité et sa valeur probante. L’horodatage constitue donc une preuve juridique incontestable.

La vérification du statut des certificats est une phase cruciale dans un processus de contrôle d’authentification ou de validation de signature. IDnomic en a bien conscience et c’est pour cette raison qu’elle met à disposition de ses clients une plateforme intégrant les services OCSP et TSP « Time Stamping Protocol » !

En voir plus