La sécurité des systèmes d’information repose sur un certain nombre d’outils et de standards, notamment sur le chiffrement asymétrique à clés publiques et privées, ainsi que sur le « passeport digital » qui l’accompagne. Ce passeport, c’est le certificat électronique, qui associe une clé publique de chiffrement à une personne physique ou morale. Cette association est établie par une norme, le « standard x509 », source de la sécurisation des échanges et de la confidentialité des données sur le web – les deux piliers sur lesquels repose le socle de confiance indispensable aux échanges numériques. On parle aussi de certificat x509 ou de système x509. Mais de quoi s’agit-il, exactement ? Et quel est son rôle dans le cadre du protocole SSL de protection des données entre un site web et un internaute ?

 

Certificats électroniques et norme x509

Au fil de vos pérégrinations sur le web, il vous est sans doute arrivé de confier des informations personnelles à un site, généralement via le remplissage d’un formulaire. Éventuellement, vous avez prêté attention à la sécurité du site en question, en vérifiant qu’il arborait bien le fameux cadenas vert ou le sigle « HTTPS » précédant l’URL. Si c’est le cas, vous avez transmis des données en vous appuyant sur la validité d’un certificat électronique, en l’occurrence via le protocole SSL/TLS. Mais ce que vous ignorez peut-être, c’est que ce protocole n’est que l’une des applications d’une norme globale de sécurisation des échanges appelée certificat x509.

Un certificat électronique a pour objet de certifier une clé publique. Pour que celle-ci soit valide, il faut être certain de l’identité de son détenteur : si vous naviguez sur un site web qui vous demande de remplir un formulaire, vous souhaitez vous assurer que l’adresse URL est associée au bon propriétaire, et non à un tiers malveillant qui chercherait à récupérer des données personnelles. Ce certificat permet d’associer une clé publique à une entité (personne ou entreprise) et de garantir qu’elle lui appartient bel et bien. Comme une carte d’identité digitale. Pour cela, vous devez faire confiance à une autre entité, légitimement appelée « tiers de confiance », qui s’occupe de certifier une clé publique et de valider l’identité du détenteur. Les Autorités de Certification (comme CertEurope) en font partie : elles délivrent des certificats, leur assignent un délai de validité, et peuvent les révoquer en cas de problème (voir, plus bas, la partie consacrée aux révocations).

Il existe différents types de certificats, dont les certificats SSL/TLS qui garantissent le chiffrement des données, par exemple entre un site web et les internautes qui le visitent. Ils reposent sur l’existence d’une norme qui en définit la forme et l’étendue : c’est le certificat x509. Techniquement, les certificats SSL/TLS sont des certificats x509 dotés d’une extension dite d’ « utilisation de clés étendues », qui assigne à chaque entité son rôle dans le processus.

 

Définition du certificat x509

Le certificat x509 n’est donc pas tout à fait un certificat en tant que tel, mais une norme permettant de spécifier les formats des certificats à clé publique délivrés par les Autorités de Certification. Il établit un format standard pour les certificats et pour les algorithmes de validation du chemin de certification. Quand vous visitez un site web, votre navigateur (Chrome, Firefox, Safari, Edge…) vous alerte quant au niveau de sécurité de différentes façons : adresse de couleur verte, présence d’un cadenas, etc. Pour vous apporter cette information, il « consulte » le certificat x509 de la page. En somme, celui-ci renvoie à n’importe quel certificat fonctionnant sous le standard x509 pour clé publique. C’est un passeport donnant des informations au sujet du possesseur du certificat.

Créé en 1988 dans le cadre de la norme x500, le certificat x509 a été défini par l’Union internationale des télécommunications (UIT, une organisation de standardisation des systèmes d’information). Il aide aujourd’hui les utilisateurs à identifier une connexion sécurisée via la création d’une double clé liant un utilisateur spécifique au demandeur du certificat. Plus exactement, son rôle consiste à associer une identité à une clé publique, et à garantir la validité de cette association, par le biais d’une Autorité de Certification qui appose sa signature. La norme x509 repose ainsi sur un système hiérarchique (chaîne de certification) : l’utilisateur doit faire confiance à l’Autorité, ou aux Autorités (racine, intermédiaire, émettrice), ayant validé les certificats.

Les certificats SSL/TLS ne sont pas les seules applications reposant sur la spécification x509. Celle-ci est également utilisée pour les signatures électroniques, pour l’authentification, dans le cadre des protocoles S/MIME, IPSec, SET ou SSH, à des fins d’horodatage, etc.

 

La structure d’un certificat x509

Les certificats sont des fichiers électroniques complexes. On les divise communément en deux parties : d’un côté, les informations contenues par le certificat, de l’autre, la signature de l’Autorité de Certification. Cette structure est normalisée par le standard x509 qui fait que l’on retrouve les mêmes informations quel que soit le certificat. À savoir :

  • La version du certificat
  • Le numéro de série
  • Le nom de l’Autorité de Certification qui l’a validé (Distinguished Name)
  • La date de début et de fin de validité
  • L’objet de l’utilisation du certificat
  • Des informations au sujet de la clé publique (algorithme de chiffrement et clé publique proprement dite)
  • L’identifiant unique du signataire et/ou du détenteur du certificat (en option)
  • Les extensions au certificat (en option)
  • La signature de l’émetteur du certificat
  • L’algorithme de signature

L’ensemble est validé par une Autorité de Certification, par le truchement de sa signature finale. Le tout est chiffré avec une clé privée, fournie par cette même AC. La clé publique, elle, a été diffusée en amont pour permettre aux utilisateurs de vérifier la signature.

 

Les extensions du certificat x509

L’une des particularités du standard x509 réside dans la possibilité d’y adjoindre des extensions via des champs supplémentaires. En permettant d’ajouter des informations, ces extensions, essentielles dans le cadre de l’émission d’un certificat, contribuent à sa personnalisation et à sa flexibilité. Par exemple, pour qu’un certificat donné ne puisse servir qu’à une seule application, ou, au contraire, pour qu’un logiciel spécifique rejette un certificat qui n’embarquerait pas l’extension souhaitée. On peut regrouper ces extensions en quatre grandes « familles » :

  • Les données portant sur les clés de chiffrement (notamment, pour limiter l’utilisation qui peut être faite de la clé publique) ;
  • Les données portant sur l’utilisation du certificat (pour spécifier les manières dont celui-ci sera utilisé, en lien direct avec la politique de confidentialité définie par le demandeur du certificat en question) ;
  • Les données portant sur les attributs des utilisateurs et des Autorités de Certification (un ou plusieurs noms uniques et supplémentaires pour le détenteur du certificat et/ou pour l’AC) ;
  • Les données relatives aux contraintes liées à la co-certification (dans le cadre d’une certification assumée par plusieurs tiers de confiance, à travers trois champs : Basic Constraints, Name Constraints et Policy Constraints).

 

Les révocations

Terminons ce survol du certificat x509 en évoquant la question des révocations. Dans certains cas de figure, un certificat peut être révoqué : parce que son délai de validité a expiré et qu’il n’a pas été renouvelé dans les temps, parce que la clé privée associée a été compromise ou perdue, parce que l’identité du demandeur n’est plus garantie, etc.

Là encore, la norme x509 joue un rôle crucial. Elle définit le format standard pour la constitution d’une liste de certificats devenus invalides pour une Autorité de Certification spécifique : date d’émission et de mise à jour, numéro de série du certificat révoqué, et motif invoqué. Cette liste est elle-même signée par une AC, dans le but d’empêcher toute modification ou compromission.

 

En conclusion, on peut dire que le certificat x509 pose les bases de la sécurisation des échanges via des protocoles spécifiques, dont font partie les tunnels SSL/TLS. Il s’agit donc d’un maillon essentiel de la chaîne qui lie une entité (votre entreprise) à ses utilisateurs (vos internautes) via une Autorité de Certification.

Découvrir plus en détail les certificats électroniques de CertEurope

 

Hélène Toutchkov

Hélène Toutchkov
Content Manager

Commander un certificat

User
Certificat électronique de personne physique
Corporate
Certificat électronique pour serveur
(authentification, chiffrement, cachet)