Astuces pour les professionnels du web

Comment savoir quelle Autorité de Certification a émis le certificat SSL d’un site ?

Certificat SSL
Tous les certificats SSL ne sont pas identiques.
La plupart des internautes, s’ils savent où regarder, verront le cadenas dans la barre d’adresse du navigateur et s’en tiendront là pour savoir si un site est sécurisé. La plupart du temps, cela n’aura probablement pas vraiment d’importance pour eux. Mais, étant donné que les certificats SSL sont à la base de la sécurité de toutes les transactions et de tous les comptes en ligne, cela a de l’importance.
Ce que la plupart des internautes ne savent probablement pas, en revanche, c’est que la sécurité de leurs transactions et de leurs comptes en ligne dépend d’une « chaîne de confiance », c’est-à-dire de la réputation étendue d’une poignée d’émetteurs de certificats SSL. Ces émetteurs, appelés Autorités de Certification (AC), sont, par définition, les garants de la sécurité en ligne. 
Mais comment savoir laquelle de ces entreprises est responsable du certificat SSL d’un site Web donné ? Et quelle impact cela a-t-il ?

Pourquoi savoir quelle Autorité de Certification a émis un certificat ?

Qu’est-ce qu’une Autorité de Certification ?

Commençons par définir ce qu’est une Autorité de Certification (AC) et par décrire le système utilisé pour assurer la sécurité des certificats SSL.
Une AC, ou Autorité de Certification, est une entité qui émet, signe et stocke des certificats, tels que les certificats SSL/TLS. 
Ces entités font partie d’un nombre limité de fournisseurs qui remplissent les conditions techniques pour devenir une Autorité de Certification. Dans le monde, il n’existe qu’environ 65 Autorités de Certification (malgré certaines statistiques erronées faisant état de plus de 600 entités de ce type).
 

Chaîne de confiance

Il existe quatre types d’AC :

  • AC racine
  • AC intermédiaire
  • AC subordonnée
  • AC non fiable

Les trois premiers types d’AC correspondent en fait à un noeud différent de la « chaîne de confiance », sur laquelle repose la sécurité des certificats SSL.

Les quelques 65 Autorités de Certification racine sont reconnues par les navigateurs Internet. Afin de permettre la flexibilité et l’évolutivité de ce système, les organisations auxquelles ces Autorités de Certification racine font confiance peuvent se voir délivrer un certificat intermédiaire, qui leur permet de créer des certificats reposant sur l’autorité de l’AC racine. Ces organisations auxquelles les AC racines font confiance sont des AC intermédiaires. L’Autorité de Certification racine « signe » de façon chiffrée le certificat de l’Autorité de Certification intermédiaire pour indiquer qu’elle prête son autorité à cette entité, qui peut ensuite utiliser ce certificat pour émettre des certificats pour d’autres.

Un certificat subordonné est essentiellement un terme plus large pour un certificat intermédiaire, ce qui signifie qu’une AC subordonnée n’est pas foncièrement différente d’une AC intermédiaire, sauf qu’une AC intermédiaire fait généralement référence à une AC subordonnée qui délivre des certificats à d’autres tiers.
Ces AC subordonnées et intermédiaires émettent ensuite les certificats SSL/TLS réels utilisés, par exemple, par les sites Web utilisant le protocole HTTPS. Le certificat SSL/TLS final utilisé par un site Web sera donc signé par l’Autorité de Certification racine. C’est la « chaîne de confiance ».
Tant que la « chaîne de confiance » peut être remontée d’un certificat à une Autorité de Certification racine, les navigateurs la considèrent comme fiable, affichent le cadenas dans la barre d’adresse et n’affichent pas d’avertissement aux utilisateurs. Pour la plupart des utilisateurs, grâce à la chaîne de confiance, il n’y a donc aucune différence fonctionnelle entre un certificat signé par une AC racine et un certificat signé par une AC intermédiaire.
 

Conditions à remplir pour devenir AC

Il n’y a pas nécessairement une seule façon de certifier qu’un AC est digne de confiance dans le monde entier.
En Amérique du Nord, presque toutes les autorités de certification racine suivent les normes « WebTrust », tandis que les autorités de certification en Europe sont auditées par l’Institut européen des normes de télécommunications (ETSI), et les autorités de certification gouvernementales sont souvent vérifiées par le gouvernement en question.
D’une manière ou d’une autre, ces programmes d’audit garantissent que les AC racines répondent à certaines pratiques de sécurité standard qui protègent la sécurité des certificats SSL/TLS qu’elles émettent.
Cependant, le fait qu’une AC soit « de confiance » ou non dépend du navigateur. Il n’existe pas de norme technique universelle indiquant aux navigateurs comment sélectionner les AC à inclure dans leur liste d’AC de confiance. En d’autres termes, chaque navigateur définit ses propres politiques d’approbation des AC.

Qui sont les principales AC ? 

Selon Digicertvoici les 8 principales AC de certificats SSL, qui représentent près de 75 % de tous les certificats :

  • Comodo — 42.6%
  • Digicert — 15.3%
  • GoDaddy — 7.7%
  • GlobalSign — 4.9%
  • Digicert — 2.3%
  • StartCom — 0.9%
  • Entrust — 0.4%
  • Certum — 0.5%
L’autorité de certification d’un certificat est-elle importante ?
Oui et non.
D’une part, un certificat signé par l’une des quelque 65 autorités de certification de confiance est plus que probablement aussi sûr que n’importe quel autre. D’autre part, tant que l’autorité de certification est reconnue par votre navigateur, vous ne verrez aucune indication, lorsque vous visiterez une page web, de l’autorité de certification racine responsable de la sécurité du certificat, mais seulement l’icône du cadenas dans la barre d’adresse. 
En ce sens, l’autorité de certification d’un certificat n’a pas d’importance, puisque la plupart des navigateurs et des utilisateurs finaux considèrent qu’une AC de confiance est aussi bonne qu’une autre, et dans de nombreux cas, c’est probablement vrai.
D’un autre côté, comme décrit ci-dessus, tout le système des certificats SSL/TLS est basé sur la confiance. Si la chaîne de confiance d’un certificat contient des entités auxquelles les utilisateurs ne peuvent pas réellement faire confiance pour maintenir la sécurité et l’intégrité des certificats SSL/TLS, alors l’autorité de certification d’un certificat a de l’importance.
Prenons une hypothèse extrême pour illustrer ce point. Si vous êtes un critique virulent de l’invasion de l’Ukraine par la Russie et que vous vivez en Russie, vous pourriez vous méfier de l’échange d’informations financières ou de mots de passe pour vos données personnelles sur un site web avec un certificat dont l’autorité de certification racine est détenue par le gouvernement russe.
Mais la plupart des cas ne sont pas aussi extrêmes. Certaines autorités de certification peuvent ne pas être aussi performantes que vous le souhaiteriez et, bien sûr, dans certains cas, il n’y aura pas d’autorité de certification racine et le certificat sera « auto-signé ». Les sites Web malveillants peuvent également exploiter des vulnérabilités dans le code de gestion des certificats qui n’ont pas encore été corrigées et faire en sorte que l’icône de verrouillage s’affiche comme s’il y avait un certificat valide derrière.
Dans ces cas, l’autorité de certification d’un certificat est plus qu’importante.
En dehors de ces situations, le fait que les navigateurs doivent disposer d’une liste d’autorités de certification de confiance signifie que l’autorité de certification d’un certificat est de la plus haute importance, même si c’est le navigateur lui-même qui s’assure que l’autorité de certification est émise par une société internationalement reconnue plutôt que par quelque chose inventé par des pirates.

Comment savoir quelle Autorité de Certification a émis un certificat ?

Où les informations relatives à l’Autorité de Certification d’un certificat sont-elles stockées dans le certificat ?

La structure d’un certificat

L’autorité de certification qui a délivré un certificat particulier est, tout d’abord, renseignée dans le fichier de certificat lui-même. Ce fichier est un fichier .crt qui est stocké sur le serveur web d’un site web.
Ces fichiers utilisent la norme X.509, qui impose un format particulier pour les données qu’ils contiennent.
Voici la structure des informations contenues dans un certificat X.509 :
  • Numéro de version
  • Numéro de série
  • ID de l’algorithme de signature
  • Nom de l’émetteur
  • Période de validité 
    • Pas avant
    • Pas après
  • Nom du sujet
  • Informations sur la clé publique du sujet
  • Algorithme de la clé publique
  • Clé publique du sujet
  • Identificateur unique de l’émetteur (facultatif)
  • Identificateur unique du sujet (facultatif)
  • Extensions (facultatif)
  • Algorithme de signature du certificat
  • Signature du certificat
Le « Nom de l’émetteur » est la partie de ces données qui indique l’autorité de certification.

Comment trouver l’Autorité de Certification d’un certificat dans votre navigateur ?

Par chance, vous n’avez pas besoin de lire vous-même le fichier .crt d’un site Web spécifique pour trouver l’Autorité de Certification qui a émis un certificat pour un site Web particulier. Votre navigateur lit et interprète le certificat et fournit les informations de manière plus lisible, si vous savez comment le trouver.
Le processus exact dépend du navigateur mais, dans la plupart des cas, vous commencez par cliquer sur le verrou situé à côté de l’URL d’un site Web sécurisé par SSL/TLS.
Les certificats TLS ou SSL sont extrêmement importants pour assurer la sécurité en ligne et leur sécurité est garantie par des « chaînes de confiance » qui permettent de remonter la signature du certificat jusqu’à l’une des Autorités de Certification racine de confiance, parmi un nombre relativement restreint.
L’Autorité de Certification racine qui signe un certificat est extrêmement importante. L’Autorité de Certification racine d’un certificat SSL pour un site Web que vous visitez doit être une entité en laquelle vous avez confiance. Mais comme l’écosystème des AC de certificats SSL est complexe, il est difficile pour chaque utilisateur individuel de faire confiance à toutes les AC possibles.
Il en résulte que les internautes ne font pas réellement confiance aux AC individuelles, qu’elles soient intermédiaires ou racine, du moins pas directement. Ils font plutôt confiance aux navigateurs et aux listes d’AC de confiance qu’ils tiennent à jour.
Pour la grande majorité des internautes, l’apparition de l’icône d’un cadenas dans la barre d’adresse d’un navigateur suffit pour croire qu’un site Web a correctement mis en œuvre le protocole SSL et que les informations saisies sur ce site sont à l’abri des regards indiscrets.
C’est pourquoi il est parfois important et nécessaire de vérifier quelle est l’Autorité de Certification racine du certificat TLS/SSL d’un site Web.
Cependant, il n’est pas raisonnable que les internautes fassent confiance ou se méfient d’AC dont ils n’ont probablement jamais entendu parler.
Il devrait y avoir une option intermédiaire entre la confiance accordée à toutes les pages Web pour lesquelles un navigateur affiche une icône de verrouillage et la recherche de l’Autorité de Certification pour le certificat.
Pour cela, la seule solution serait une sorte d’information contextuelle supplémentaire pour aider les internautes à évaluer la fiabilité d’un site web.
En attendant, la meilleure solution consiste à faire confiance à l’icône de verrouillage du navigateur ou à rechercher l’Autorité de Certification racine qui a émis le certificat.

Protégez les utilisateurs de votre site avec un certificat TLS / SSL chez Gandi