Chapitre 10 — PKI, Autorités de Certification & Certificats
La PKI (Public Key Infrastructure) est l'infrastructure de confiance qui permet la communication sécurisée sur internet. Ce module couvre les CAs, les types de certificats, et leur cycle de vie.
Mémorisez ! Un certificat numérique lie une clé publique à une identité. L'Autorité de Certification (CA) est le tiers de confiance qui signe les certificats. La hiérarchie PKI : Root CA → Intermediate CA → End-Entity Certificate (feuille). La Root CA est hors ligne pour la protéger.
- CA (Certificate Authority) : tiers de confiance qui émet et signe les certificats numériques. Exemples : DigiCert, Let's Encrypt, Comodo, GlobalSign.
- Root CA : CA racine dont le certificat est auto-signé et pré-installé dans les navigateurs/OS. Doit être maintenu hors ligne (air-gapped) pour éviter sa compromission.
- Intermediate CA (SubCA) : CA intermédiaire signée par la Root CA. Émet les certificats finaux. Protège la Root CA (si une Intermediate CA est compromise, seuls les certs qu'elle a signés sont révoqués).
- Certificate Chain (Chaîne de confiance) : End-Entity Cert → Intermediate CA cert → Root CA cert. Le client valide chaque maillon.
- RA (Registration Authority) : entité qui vérifie l'identité du demandeur avant que la CA émette le certificat. Sépare la vérification de l'émission.
- CA privée vs CA publique : CA privée = interne à l'organisation, non reconnue par les navigateurs (nécessite installation manuelle). CA publique = reconnue par défaut (DigiCert, Let's Encrypt).
| Type | Validation | Exemple |
|---|---|---|
| DV (Domain Validation) | Vérifie uniquement la propriété du domaine | Let's Encrypt — HTTPS basique, pas de vérification d'identité |
| OV (Organization Validation) | Vérifie domaine + existence légale de l'organisation | Sites commerciaux — nom d'organisation dans le cert |
| EV (Extended Validation) | Vérification approfondie (documents légaux, physique) | Banques — ancienne barre verte (abandonnée dans Chrome 77) |
| Wildcard (*) | Couvre tous les sous-domaines d'un domaine | *.example.com couvre mail.example.com, www.example.com, etc. |
| SAN (Subject Alternative Name) | Plusieurs domaines dans un seul certificat | example.com + example.fr + www.example.com |
| Self-Signed | Signé par la propre clé privée du sujet (pas de CA tierce) | Tests internes uniquement — génère des avertissements navigateur |
- CRL (Certificate Revocation List) : liste publiée par la CA des certificats révoqués avant expiration. Le client télécharge la CRL et vérifie. Problème : taille de la liste, délai de mise à jour.
- OCSP (Online Certificate Status Protocol) : le client interroge le serveur OCSP de la CA en temps réel pour vérifier le statut d'un certificat spécifique. Plus rapide et plus léger que la CRL.
- OCSP Stapling : le serveur web inclut (staple) la réponse OCSP dans le handshake TLS. Évite que le client contacte la CA — meilleur pour la vie privée et les performances.
- Raisons de révocation : clé privée compromise, changement d'organisation, mauvaise émission, cessation d'utilisation.
- Certificate Pinning : l'application s'attend à un certificat ou une clé publique spécifique. Protège contre les attaques on-path même avec un certificat valide d'une CA compromise.
Astuce Examen
Question fréquente : "un certificat a expiré ET a été révoqué — quelle est la différence ?" Expiration = date normale d'expiration atteinte. Révocation = invalidé avant l'expiration par la CA (clé compromise, etc.). La révocation est consultée via CRL ou OCSP. Un certificat expiré est aussi invalide mais sans consulter la CRL/OCSP.
- Génération de la paire de clés : le demandeur génère sa paire clé publique/privée (localement ou via HSM).
- CSR (Certificate Signing Request) : fichier contenant la clé publique + informations du demandeur (CN, O, C) envoyé à la CA.
- Vérification : la CA (ou RA) vérifie l'identité du demandeur selon le niveau de validation (DV/OV/EV).
- Émission : la CA signe la clé publique du demandeur avec sa propre clé privée → certificat X.509.
- Installation : le certificat est installé sur le serveur web (avec la clé privée, jamais partagée).
- Renouvellement : avant expiration. Let's Encrypt = 90 jours (renouvellement automatique recommandé).
- Révocation ou expiration : fin du cycle. CRL/OCSP mis à jour.