Aller au contenu
buybitcoinsmart

Glossaire / Référence pour développeurs

Chaîne de certificats

Qu'est-ce qu'une chaîne de certificats ?
Une chaîne de certificats est la liste ordonnée de certificats qui relie celui présenté par un serveur à une racine à laquelle votre appareil fait déjà confiance, chaque maillon étant signé par le suivant.

Les chaînes existent pour que les clés les plus précieuses puissent rester hors ligne. Une racine signe une poignée de certificats intermédiaires puis retourne dans un coffre, et les intermédiaires font le travail quotidien de signature des serveurs. La vérification suit le chemin inverse, du certificat qui vous a été présenté jusqu'à un élément que votre appareil possédait déjà, et elle échoue si un maillon manque, a expiré ou n'est pas reconnu.

Comment cela fonctionne

Trois positions composent une chaîne typique, et un serveur n'en transmet que deux.

En bas se trouve le certificat feuille, émis pour un ensemble précis de noms de domaine. Au-dessus se placent un ou plusieurs intermédiaires, dont le rôle est d'isoler la racine de l'usage quotidien. En haut se trouve la racine, auto-signée et présente dans votre magasin de confiance bien avant que vous ne visitiez le site. Le serveur envoie la feuille et les intermédiaires, car envoyer la racine ajouterait des octets sans rien prouver : une racine ne compte que si vous la possédiez déjà.

La validation n'est pas une simple remontée d'une liste. Un certificat peut être signé par plus d'un émetteur, pratique appelée signature croisée, de sorte qu'un client peut se trouver face à plusieurs chemins candidats et doit en trouver un qui aboutit à une racine qu'il détient. C'est pourquoi le même site se charge sur un ordinateur portable neuf et échoue sur un téléphone ancien. Les chemins diffèrent parce que les magasins de confiance diffèrent.

L'illustration la plus claire reste la transition de Let's Encrypt. Sa propre racine, ISRG Root X1, a fait l'objet d'une signature croisée par l'ancienne DST Root CA X3 afin que les appareils qui n'avaient pas encore ajouté X1 puissent tout de même construire un chemin. DST Root CA X3 a expiré le 30 septembre 2021. Les appareils détenant X1 ont changé de chemin sans que personne ne le remarque, tandis que les versions d'Android antérieures à 7.1.1 et plusieurs bibliothèques TLS héritées ne l'ont pas fait, et les connexions ont cessé de fonctionner dans le monde entier en un seul après-midi. Rien n'avait été piraté et aucune clé n'avait fuité. Une date était passée.

Où vous le rencontrez

Les problèmes de chaîne paraissent alarmants et sont presque toujours banals.

La mauvaise configuration serveur la plus fréquente est un intermédiaire oublié. Les navigateurs la masquent souvent en mettant en cache des intermédiaires issus de visites antérieures ou en les récupérant depuis une URL contenue dans le certificat, si bien que le site fonctionne pour l'administrateur et échoue pour les outils en ligne de commande et les téléphones, ce qui en fait un bug particulièrement pénible à localiser.

Pour quiconque gère du bitcoin, la lecture utile d'une erreur de chaîne est diagnostique. Quand une plateforme d'échange renvoie une erreur de certificat sur un appareil et fonctionne sur un autre, la différence tient presque toujours à l'appareil : une horloge système erronée, un système d'exploitation trop ancien pour avoir reçu une racine plus récente, ou un antivirus qui s'insère dans la connexion. Corrigez l'appareil avant de supposer une attaque, et ne cliquez jamais sur l'avertissement pour continuer.

L'attestation des portefeuilles matériels utilise la même structure à une échelle bien plus petite, avec une racine de fabricant, parfois un intermédiaire, et un certificat conservé sur l'appareil lui-même.

Chaîne de certificats vs certificat racine

Une chaîne est un chemin ; une racine est l'endroit où le chemin doit se terminer. Chaque certificat de la chaîne, hormis la racine, n'est digne de confiance que parce qu'un élément au-dessus de lui l'a signé, tandis que la racine est digne de confiance parce qu'elle figure sur une liste livrée avec votre appareil et qu'elle se signe elle-même. Ajouter une racine à cette liste est donc une décision bien plus lourde que d'accepter n'importe quel autre certificat, ce que les réseaux d'entreprise et les outils d'interception du trafic vous demandent précisément de faire.

À ne pas confondre avec

Questions fréquentes

Pourquoi un site se charge-t-il sur un appareil et affiche-t-il une erreur de certificat sur un autre ?

Parce que les deux appareils détiennent des magasins de confiance ou des horloges différents. Un téléphone plus ancien peut ne pas avoir une racine récente, donc il ne peut pas construire un chemin valide, et une date système erronée fait paraître expirés des certificats valides.

Faut-il contourner un avertissement de certificat pour accéder à une plateforme d'échange ?

Non. L'avertissement signifie que le nom et la clé présentés ne concordent pas d'une manière que votre appareil peut vérifier. Fermez l'onglet, vérifiez l'horloge et l'orthographe du domaine, puis rejoignez le site à nouveau à partir d'un signet enregistré.

Termes associés

Plus de termes : Référence pour développeurs

Lire cette page en anglais