Partie 3 · Architecture PKI Lecture de 10 min

Chaînes de certificats & Confiance

Un seul certificat n'est jamais suffisant. La confiance sur Internet est construite à travers des chaînes, des séquences liées de certificats qui relient celui de votre serveur jusqu'à une autorité racine que votre navigateur fait déjà confiance.

Faits rapides

Type
Éducatif
Niveau
Intermédiaire
Sujets
6 sections
Chapitre
11 sur 25
Suivant
Norme X.509

Introduction

Lorsque votre navigateur se connecte à un site web via HTTPS, il n'accepte pas simplement le certificat numérique à sa valeur nominale. Au lieu de cela, il suit une chaîne de signatures, du certificat sur le serveur, à travers un ou plusieurs certificats intermédiaires, jusqu'à un certificat racine déjà intégré dans le magasin de confiance du navigateur. Si chaque maillon de cette chaîne est valide, la connexion est fiable. Si un maillon est rompu, la connexion échoue.

Ce mécanisme, la chaîne de certificats (ou chaîne de confiance), est ce qui rend PKI évolutif. Un petit nombre d'autorités de certification racines peut garantir des milliers d'autorités de certification intermédiaires, qui à leur tour peuvent délivrer des millions de certificats d'entité finale. Aucune autorité unique n'a besoin de signer chaque certificat dans le monde. La confiance est déléguée, stratifiée et vérifiable à chaque étape.

Comprendre comment fonctionnent les chaînes n'est pas seulement académique. Les chaînes mal configurées sont l'une des causes les plus courantes des erreurs TLS, pannes liées aux certificats, et des intégrations échouées. Si vous avez déjà vu un avertissement de navigateur indiquant "le certificat n'est pas fiable" (même si le certificat lui‑même est valide), le problème était presque certainement une chaîne cassée.

Comment les chaînes de certificats fonctionnent

Une chaîne de certificats est une séquence ordonnée de certificats, chacun signant le suivant, depuis l'ancre de confiance jusqu'au certificat présenté par le serveur ou l'appareil. Il y a généralement trois niveaux:

1

Certificat CA Racine

Au sommet de la chaîne se trouve la racine Autorité de certification. Le certificat de la CA racine est auto-signé: il est signé avec sa propre clé privée, car il n'existe aucune autorité supérieure pour le garantir. Au lieu de cela, la confiance dans une CA racine provient de son inclusion dans les magasins de confiance maintenus par les fournisseurs de systèmes d'exploitation et de navigateurs. Les CA racines sont conservées hors ligne, leurs clés sont stockées dans HSMs, et elles ne sont utilisées que pour signer les certificats CA intermédiaires.

2

Certificat(s) CA intermédiaire(s)

Les CA intermédiaires (également appelés CA subordonnés) sont signés par le CA racine. Ils se situent au milieu de la chaîne et effectuent le travail réel d'émission des certificats d'entité finale. Cette couche existe pour la sécurité : si un CA intermédiaire est compromis, le racine peut révoquer son certificat sans détruire l'ensemble du PKI. Il peut y avoir un ou plusieurs niveaux intermédiaires, bien que la plupart des PKI publiques en utilisent un ou deux.

3

Certificat d'entité finale (feuille)

Il s'agit du certificat installé sur le serveur, l'appareil ou l'application. Il est signé par une autorité de certification intermédiaire. Le certificat d'entité finale contient la clé publique du serveur, son nom de domaine (dans les champs Subject ou SAN), et les informations de l'émetteur qui pointent vers l'autorité de certification intermédiaire. Il ne peut pas signer d'autres certificats ; il est la "feuille" de la chaîne.

Lorsqu'un serveur présente son certificat lors d'une poignée de main TLS, il envoie également le(s) certificat(s) intermédiaire(s). Le client construit alors la chaîne vers le haut : feuille vers intermédiaire vers racine. Si la racine se trouve dans le magasin de confiance du client's et que chaque signature de la chaîne est valide, la confiance est établie.

Validation de la chaîne Étape par étape

Lorsqu'un client (navigateur, application ou système d'exploitation) reçoit un certificat, il effectue une série de vérifications pour valider la chaîne. Voici le processus détaillé :

1

Construire la chaîne

Le client assemble la chaîne de certificats en faisant correspondre chaque certificat's Issuer champ avec le Subject champ du certificat suivant. Il commence avec le certificat de l'entité finale et remonte jusqu'à atteindre une racine auto-signée.

2

Vérifier chaque signature

Pour chaque certificat de la chaîne, le client utilise la clé publique pour vérifier la signature numérique. Si la signature du certificat de l'entité finale peut être vérifiée avec la clé publique du CA intermédiaire, et la signature de l'intermédiaire peut être vérifiée avec la clé publique de la racine, la chaîne est cryptographiquement solide.

3

Vérifier les périodes de validité

Chaque certificat de la chaîne doit être dans sa période de validité (entre ses "Not Before" et "Not After" dates). Si un certificat a expiré ou n’est pas encore valide, la validation de la chaîne échoue, même si le certificat final est actuel.

4

Vérifier le statut de révocation

Le client vérifie si un certificat de la chaîne a été révoqué, généralement en interrogeant un OCSP répondant ou en téléchargeant un CRL. Un certificat intermédiaire CA révoqué invalide chaque certificat final qu’il a émis.

5

Contraintes de vérification & Extensions

Le client vérifie que les extensions du certificat permettent son rôle. Par exemple, le basicConstraints extension sur un intermédiaire doit avoir CA:TRUE. L' keyUsage extension doit inclure keyCertSign pour les certificats qui signent d'autres certificats. En savoir plus dans le standard X.509 chapitre.

6

Confirmer l'ancre de confiance

Enfin, le client vérifie que le certificat racine en haut de la chaîne est présent dans son magasin de confiance. S'il l'est, toute la chaîne est fiable. Sinon (par exemple, parce que la racine appartient à une autorité de certification privée que le client n'a pas configurée pour faire confiance), la validation échoue et l'utilisateur voit un avertissement de certificat.

Magasins de confiance Expliqué

Un magasin de confiance est une collection de certificats d'autorité racine qu'un système considère comme fiables. Chaque navigateur, système d'exploitation et de nombreuses applications maintiennent leur propre magasin de confiance. Lorsqu'une chaîne de certificats est validée, la vérification finale consiste à déterminer si l'autorité racine en haut de la chaîne existe dans le magasin de confiance utilisé.

Magasins de confiance des navigateurs

Firefox utilise son propre magasin de confiance (géré par le programme racine de Mozilla's). Chrome et Edge s’appuient sur le magasin de confiance du système d’exploitation's sur la plupart des plateformes, bien que Chrome migre vers son propre Chrome Root Store. Safari utilise le magasin de confiance d’Apple. Chaque programme a ses propres critères d’inclusion et exigences d’audit.

Magasins de confiance du système d’exploitation

Windows maintient son magasin d'autorités de certification racines de confiance, macOS utilise le trousseau système, et les distributions Linux utilisent généralement un bundle CA partagé (par ex., /etc/ssl/certs). Applications qui ne livrent pas leur propre magasin de confiance héritent de la confiance du système d'exploitation.

Comment les racines sont ajoutées

Les autorités de certification racine publiques doivent passer des audits stricts (WebTrust pour les AC, ETSI EN 319 411) et se conformer aux exigences de base du forum CA/Browser. Le processus de demande peut prendre plus d'un an. Une fois acceptée, la racine est distribuée à des milliards d'appareils via les mises à jour du système d'exploitation et du navigateur.

Distribution de confiance privée

Pour le privé PKI, les organisations distribuent leur propre certificat d'autorité racine aux appareils gérés via la stratégie de groupe Active Directory, les profils MDM, la gestion de configuration (Ansible, Puppet), ou l'installation manuelle. C’est ainsi que les services internes sont approuvés sans dépendre des AC publiques.

Certification croisée & CAs de pont

Dans une hiérarchie PKI simple, la confiance circule dans une seule direction : du racine à l'intermédiaire jusqu'à la feuille. Mais les déploiements réels doivent parfois connecter des hiérarchies PKI distinctes afin que les certificats d'une hiérarchie soient reconnus par les systèmes d'une autre. Il existe deux approches principales.

Certification croisée se produit lorsque deux AC délivrent des certificats l'un à l'autre. Si l'AC-A signe un certificat pour l'AC-B, alors les systèmes qui font confiance à l'AC-A feront également confiance aux certificats délivrés par l'AC-B, et inversement, si l'AC-B signe un certificat pour l'AC-A. Cela crée une confiance mutuelle sans nécessiter une racine partagée. Il est couramment utilisé lorsque deux organisations fusionnent, lorsqu'un gouvernement doit interopérer avec une AC commerciale, ou lors de la transition entre les anciennes et les nouvelles AC racines.

Bridge CAs take this concept further. A bridge CA acts as a central trust hub that cross-certifies with multiple independent CAs. Rather than each CA cross-certifying with every other CA (which grows quadratically), each CA only needs to cross-certify with the bridge. The U.S. Federal Bridge Certification Authority (FBCA) is a well-known example, connecting numerous federal agency PKIs into a single interoperable trust framework.

Les deux mécanismes ajoutent de la complexité à la construction et à la validation des chaînes. Un seul certificat peut désormais avoir plusieurs chaînes valides : une via la hiérarchie directe et une autre via un chemin de certificat croisé. Les bibliothèques TLS modernes gèrent cela automatiquement, mais il est important de comprendre cela lors du dépannage d’un comportement de confiance inattendu.

Chaîne commune Problèmes

Les problèmes de chaîne de certificats font partie des causes les plus fréquentes d’erreurs TLS et pannes. Voici les problèmes que vous êtes le plus susceptible de rencontrer :

Certificats intermédiaires manquants

C’est le problème de chaîne le plus courant. Un serveur présente son certificat de feuille mais n’inclut pas le(s) certificat(s) intermédiaire(s) de l’AC. Sans l’intermédiaire, le client ne peut pas établir un chemin vers la racine, et la connexion échoue. Certains navigateurs contournent cela en mettant en cache les intermédiaires des connexions précédentes (un processus appelé récupération AIA), mais tous les clients ne le prennent pas en charge. La solution est simple : configurez votre serveur pour envoyer la chaîne complète.

Certificats racine ou intermédiaires expirés

Les certificats d'autorité racine (Root CA) ont généralement des périodes de validité très longues (20-30 ans), et les intermédiaires durent 5-10 ans. Mais ils expirent tout de même. Lorsqu'une racine ou un intermédiaire expire, chaque certificat en dessous dans la chaîne devient non fiable, même si les certificats finaux eux‑mêmes sont encore dans leur période de validité. L'expiration du certificat IdenTrust DST Root CA X3 en 2021, qui a affecté des millions d'appareils plus anciens, est un exemple bien connu.

Ordre de chaîne incorrect

La spécification TLS exige que les certificats soient envoyés dans l'ordre : d'abord le certificat final, puis les intermédiaires, la racine étant éventuellement incluse en dernier. Certains serveurs envoient les certificats dans le mauvais ordre. Bien que la plupart des bibliothèques TLS modernes puissent réorganiser automatiquement la chaîne, les implémentations plus anciennes ou plus strictes peuvent rejeter une chaîne mal ordonnée. Un ordre correct élimine toute ambiguïté.

Autorité de certification racine non fiable ou manquante

Si le CA racine en haut de la chaîne n'est pas présent dans le magasin de confiance du client's, toute la chaîne est non fiable. Cela se produit couramment lorsqu la racine d'un CA privé n'a pas été distribuée à tous les points de terminaison, lorsqu'une racine est retirée d'un programme de magasin de confiance, ou lorsqu'une application cliente utilise un magasin de confiance différent de celui attendu (par exemple, une application Java utilisant son propre cacerts keystore).

La plupart des problèmes de chaîne sont évitables avec une configuration et une surveillance appropriées. Le défi augmente avec l'échelle : lorsque vous gérez des milliers de certificats sur des centaines de serveurs, une chaîne mal configurée peut passer inaperçue jusqu'à ce qu'elle provoque un incident de production.

Comment nous aidons

Evertrust & Validation de chaîne

Détecter automatiquement les chaînes cassées: Evertrust CLM surveille en continu vos certificats déployés et signale les problèmes de chaîne (intermédiaires manquants, autorités de certification expirées et configurations incorrectes) avant qu'ils ne provoquent des pannes.

Cartographiez toute votre hiérarchie d'AC: Visualisez les relations entre les AC racines, les AC intermédiaires et les certificats d'entité finale à travers votre infrastructure. Identifiez quels certificats dépendent de quelles AC, et recevez des alertes précoces lorsqu'un certificat d'AC approche de son expiration.

Validez les chaînes à grande échelle: Evertrust CLM effectue la validation des chaînes sur l'ensemble de votre inventaire de certificats, identifiant les problèmes de confiance qui seraient impossibles à détecter manuellement lors de la gestion de milliers de certificats.

Prévenir les pannes de façon proactive: Alertes en temps réel sur les anomalies de chaîne, les intermédiaires expirants et les changements de magasin de confiance garantissent que votre équipe puisse agir avant que les utilisateurs ne soient impactés.