Les certificats TLS (Transport Layer Security, sécurité de la couche de transport) des sites web sécurisés vérifient à la fois l’intégrité de leur possession et celle des informations que vous recevez de ces sites. Cet article explique comment cela fonctionne.
Table des matières
Sites web qui utilisent des certificats
Les sites web dont l’adresse commence par https utilisent des certificats de serveur TLS. Ces sites sont sûrs seulement dans la mesure où ils fournissent l’assurance que sont remplies deux conditions :
- l’administrateur ou l’administratrice du site web possède le nom de domaine ou en détient le contrôle, garantissant que l’on se connecte au site légitime et non à une copie contrefaite ou malveillante ;
- les échanges de données via TLS entre le navigateur et le site web sont chiffrés pour offrir une protection contre l’espionnage ou la falsification par des tiers non autorisés.
Chaîne de confiance
Les navigateurs, tel Firefox, vérifient les certificats via une hiérarchie appelée une chaîne de confiance. Elle définit une structure à l’intention des navigateurs et d’autres programmes qui leur permet de vérifier l’intégrité d’un certificat. Il s’agit d’une liste composée de trois certificats :
- le certificat racine (certificat approuvé)
- le certificat intermédiaire
- le certificat de serveur TLS (entité finale)
Définissons-les. Le certificat racine appartient à une autorité de certification (AC) qui délivre des certificats de serveur TLS auquel le navigateur fait confiance intrinsèquement. Le certificat intermédiaire sert de truchement entre l’AC racine et le site web. Le certificat de serveur TLS est délivré à l’entité ou l’organisation qui prouve son contrôle sur le domaine du site web.
Les certificats de serveur TLS s’appuient sur la cryptographie à clés publiques dans laquelle une paire de clés asymétriques contient deux clés mathématiquement associées :
- une clé privée – cette clé est gardée secrète par son propriétaire et sert aux opérations de chiffrement telle la signature de données (y compris des certificats) ou le déchiffrement des informations chiffrées grâce à la clé publique
- une clé publique – cette clé est partagée publiquement et sert à vérifier les signatures créées par la clé privée et à chiffrer des informations que seule la clé privée est en mesure de déchiffrer
Les certificats de clé publique contiennent les informations suivantes :
- des détails sur l’autorité de certification (AC) qui a émis le certificat
- une clé publique appartenant à l’organisation qui a reçu le certificat
- des détails permettant d’identifier l’organisation qui détient la clé privée (voir Contenu d’un certificat ci-dessous, pour TLS, c’est principalement le nom de domaine du site web)
Nous pouvons maintenant décrire comment Firefox détermine la sécurité d’un site web.
Vérification de l’intégrité des certificats par Firefox
Voici comment Firefox utilise la chaîne de confiance pour vérifier les certificats de serveur TLS :
- Firefox télécharge le certificat du site web que vous visitez.
- Firefox vérifie le certificat en utilisant sa base de données interne des autorités de certification (AC) de confiance.
- Il se sert de la clé publique du certificat racine de l’AC pour s’assurer que le certificat racine et le certificat intermédiaire sont correctement signés en descendant la chaîne vers le certificat de serveur TLS que le site a fourni.
- Firefox vérifie les informations contenues dans le certificat pour être sûr que le site web auquel vous vous connectez correspond bien au site web listé dans le certificat.
- Firefox génère une clé symétrique (unique) pour chiffrer le trafic HTTP de la connexion.
- Firefox chiffre la clé symétrique avec la clé publique du serveur trouvée dans le certificat du serveur.
- La clé privée, qui se trouve sur le serveur web, déchiffre les données nécessaires à la connexion pour terminer ce qui est connu comme la négociation TLS (TLS handshake en anglais).
Une communication sécurisée peut alors s’établir entre Firefox et le site web.
Afficher un certificat
Pour afficher un certificat, suivez ces instructions :
- Cliquez sur l’icône de cadenas dans la barre d’adresse.
- Dans le panneau des informations pour le site qui s’ouvre, cliquez sur
- Dans le panneau suivant, cliquez sur
- Dans la fenêtre Informations sur la page qui s’ouvre, cliquez sur
Firefox ouvre alors la page about:certificate montrant des informations sur le certificat du site web sur lequel vous vous trouvez :
Les trois onglets présentent, de gauche à droite, le certificat de serveur TLS, le certificat intermédiaire et le certificat racine.
Contenu d’un certificat
Les certificats de serveur TLS contiennent les informations suivantes :
- Nom du sujet : contient des attributs optionnels comme le nom du site web et d’autres informations sur l’organisation qui détient le certificat.
- Nom de l’émetteur : identifie l’entité AC qui a émis le certificat.
- Validité : affiche la période de validité du certificat.
- Nom alternatif du sujet du certificat : énumère les adresses de sites web pour lesquels le certificat est valide.
- Informations sur la clé publique : énumère les attributs de la clé publique du certificat.
- Numéro de série : identifie de façon unique le certificat.
- Algorithme de signature : algorithme créé pour générer la signature.
- Empreintes numériques : hachage du fichier du certificat au format binaire DER*.
- Utilisations de la clé et Utilisations étendues de la clé : spécifient l’utilisation possible du certificat par les gens, comme réaliser l’authentification TLS du serveur web.
- Identifiant de clé du sujet : un identifiant généré à partir de la clé publique du certificat TLS, comme moyen d’identifier le certificat.
- Identifiant de clé de l’autorité : un identifiant généré à partir de la clé publique de l’AC, moyen d’identifier la clé publique correspondant à la clé privée utilisée pour signer le certificat.
- Points de terminaison CRL : les emplacements de la liste de révocation des certificats (Certificate Revocation List, CRL) de l’AC émettrice.
- Informations sur l’autorité : contient la méthode de validation pour les fichiers de l’autorité du certificat et le certificat intermédiaire.
- Politiques du certificat : contient des pointeurs vers le type de certificat TLS (c’est-à-dire des informations vérifiées quand le certificat a été émis).
- SCT intégrés : énumère les horodatages des certificats signés* (Signed Certificate Timestamps, SCT).
(*) document en anglais
Certificats problématiques
Lorsque vous naviguez sur un site web dont l’adresse commence par https et qu’il y a un problème avec le certificat TLS, une page d’erreur s’affiche. Quelques erreurs de certificat courantes sont décrites dans l’article Que signifie : « Votre connexion n'est pas sécurisée » ?
Pour afficher le certificat qui pose problème, suivez ces instructions :
- Sur la page d’avertissement, cliquez sur
- Cliquez sur Afficher le certificat.
- Le mauvais certificat s’affiche.