Aller au contenu
buybitcoinsmart

Glossaire / Référence pour développeurs

Certificat intermédiaire

Qu'est-ce qu'un certificat intermédiaire ?
Un certificat intermédiaire se situe entre une racine et un certificat feuille, signé par la racine et signant la feuille, ce qui permet à la clé privée de la racine de rester hors ligne et inutilisée.

Les autorités de certification ne signent jamais le certificat d'un site avec la clé racine. Elles signent un intermédiaire, mettent la clé racine hors ligne, et émettent à partir de l'intermédiaire, qui peut être remplacé en quelques semaines plutôt que les vingt ans de vie d'une racine. Quand un serveur oublie d'envoyer son intermédiaire, les navigateurs masquent la lacune et les clients plus stricts ne le font pas, si bien qu'un site peut sembler correct dans Chrome et échouer dans une application.

Comment cela fonctionne

Un certificat intermédiaire est un certificat d'autorité qui n'est pas une ancre de confiance. Il porte l'extension basicConstraints avec CA défini à true, ce qui l'autorise à signer d'autres certificats, et il est lui-même signé par une racine ou par un autre intermédiaire. La vérification remonte du certificat du serveur vers le haut, en contrôlant chaque signature par rapport à la clé contenue dans le certificat au-dessus, et s'arrête lorsqu'elle atteint un élément déjà présent dans le magasin de confiance local.

Répartir l'émission de cette façon apporte trois choses. La clé racine reste dans un module hors ligne qui ne sort que pour des cérémonies scriptées et sous témoin. Les dommages sont contenus, car un intermédiaire compromis peut être révoqué et réémis sans toucher au magasin de racines d'un appareil. Et une autorité peut séparer ses gammes de produits, de sorte qu'un problème dans l'offre automatisée bon marché n'implique pas celle qui est auditée.

La cosignature est l'astuce qui rend une nouvelle autorité utilisable tout court. Une même clé intermédiaire peut porter deux certificats : l'un signé par la racine de sa propre organisation, l'autre signé par une racine établie déjà présente sur de vieux appareils. Let's Encrypt s'est appuyé sur cette méthode pendant des années, parce qu'ISRG Root X1 était absent des versions d'Android qui ne recevaient plus de mises à jour, et servait donc une chaîne cosignée par IdenTrust. Cette béquille a survécu à la racine derrière elle, qui a expiré le 30 septembre 2021, et Let's Encrypt a finalement cessé de servir la chaîne cosignée le 6 juin 2024.

L'assemblage de la chaîne est le point que les opérateurs ratent. Un serveur doit envoyer son propre certificat plus chaque intermédiaire au-dessus, en s'arrêtant avant la racine, que le client possède déjà. Les navigateurs masquent les omissions en récupérant la pièce manquante à l'URL indiquée dans l'extension authority information access ou en réutilisant une copie en cache. Une bibliothèque de paiement, une application mobile ou un client en ligne de commande ne fait généralement ni l'un ni l'autre et signale simplement une chaîne non fiable.

Où vous le voyez

BIP70 embarque les intermédiaires dans le message de paiement lui-même. Le champ pki_data porte une structure X509Certificates dont la première entrée est le certificat du marchand, suivie des intermédiaires nécessaires pour atteindre une racine, la racine étant omise car le portefeuille était censé la détenir déjà. C'est exactement l'ordre qu'envoie un serveur TLS, transposé dans un protocol buffer.

En dehors du bitcoin, les intermédiaires se manifestent chaque fois qu'une connexion réussit dans un programme et échoue dans un autre. Une plateforme d'échange dont le point de terminaison d'API renvoie une erreur de certificat à un script de trading alors que le site se charge normalement a presque toujours supprimé un intermédiaire de sa chaîne. Tester avec un outil qui n'effectue pas la réparation silencieuse du navigateur est la façon de le détecter avant votre bot.

Certificat intermédiaire vs certificat racine

Une racine et un intermédiaire sont tous deux des certificats d'autorité, et la différence tient à qui les a signés et à l'endroit où vit la clé. Une racine est auto-signée et tire son pouvoir d'une liste d'inclusion d'un fournisseur. Un intermédiaire tire son pouvoir de la signature au-dessus de lui, ce qui signifie que l'autorité émettrice peut le révoquer en un après-midi, sans aucune mise à jour logicielle nulle part. En exploitation quotidienne, l'intermédiaire fait presque toute la signature tandis que la racine n'en fait presque aucune, et cette asymétrie est toute la raison d'être de cette couche.

À ne pas confondre avec

Questions fréquentes

Pourquoi un site se charge-t-il dans mon navigateur mais échoue dans une application ou un script ?

Généralement à cause d'un intermédiaire manquant. Les navigateurs récupèrent discrètement le certificat absent grâce à l'extension authority information access, tandis que la plupart des bibliothèques et des clients en ligne de commande ne le font pas, si bien que le même serveur paraît fiable à un endroit et non fiable à un autre.

Un certificat intermédiaire peut-il être révoqué ?

Oui, et c'est la principale raison d'être de cette couche. L'autorité émettrice peut révoquer un intermédiaire immédiatement, alors que retirer une racine compromise exige une mise à jour logicielle sur chaque appareil qui embarque le magasin de racines.

Termes associés

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

Lire cette page en anglais