đ PKI (Public Key Infrastructure)
Guide complet : Cryptographie, Certificats X.509, Autorités de Certification (CA) & Gestion des Confiances.
Introduction : Définition & Objectifs
Le rÎle de la PKI dans l'établissement de la confiance et l'identification numérique.
Cryptographie AuthentificationIntroduction : Le ModĂšle de Confiance
Le rÎle de la PKI dans l'établissement du modÚle de confiance.
Cryptographie TrustComposants & RĂŽles
CA, RA, Certificats, CRL, OCSP. L'écosystÚme de la validation et de la révocation.
CA Clés RevocationCertificat X.509 Détaillé
Format, OID, Extensions et les différents types (DV, OV, EV, Wildcard, SAN).
X.509 ASN.1 Types1.1. Pourquoi la Sécurité des Communications est Indispensable
L'indispensabilité de la sécurité des communications (via TLS/PKI) repose sur l'établissement de la **confiance** sur des réseaux (Internet) qui sont, par nature, **non fiables et ouverts**.
La sécurité doit répondre à quatre exigences fondamentales (souvent résumées par l'acronyme C.I.A.N. ou C.I.A.A.):
| Exigence (Objectif) | Définition | RÎle de la PKI (Certificat) |
|---|---|---|
| **Confidentialité** | Assurer que seuls l'émetteur et le destinataire peuvent lire l'information. | Fournit la **clé publique** pour l'échange de la clé de session symétrique (TLS Handshake). |
| **Intégrité** | Garantir que les données n'ont pas été modifiées ou corrompues en transit. | Utilisation de **fonctions de hachage (ex: SHA-256)** chiffrées par la clé privée. |
| **Authentification** | Prouver l'identitĂ© des parties (client et serveur). | Le **certificat** prouve que le serveur est bien celui qu'il prĂ©tend ĂȘtre (Signature de la CA). |
| **Non-RĂ©pudiation** | EmpĂȘcher une partie de nier l'origine d'une transaction ou d'un message. | Garantie que seul le dĂ©tenteur de la **clĂ© privĂ©e** a pu signer le message. |
1.2. Le RÎle Central de la Cryptographie Asymétrique
La cryptographie asymétrique (à clé publique) est le moteur de la PKI. Elle est utilisée pour résoudre le problÚme de l'échange initial de clés de chiffrement symétriques sur un canal non sécurisé.
Le ProblĂšme de l'Ăchange de ClĂ© (Analogie Didactique)
Si Alice veut envoyer un secret à Bob, mais que leur conversation est écoutée (Mallory) :
- **Chiffrement SymĂ©trique (Rapide) :** NĂ©cessite qu'Alice et Bob partagent **le mĂȘme code secret (clĂ©)** avant de commencer. Comment partager ce code secret sans que Mallory ne l'intercepte ?
- **Solution Asymétrique (Lente, mais Sécurisée) :** Bob génÚre une paire de clés. Il envoie sa **Clé Publique** à tout le monde. Alice chiffre son code secret (clé symétrique) avec la **Clé Publique de Bob**. Seul Bob, qui possÚde la **Clé Privée**, peut déchiffrer ce code secret.
Le rÎle de la PKI est d'utiliser la cryptographie asymétrique (lente) **uniquement** pour échanger la clé symétrique (rapide) qui sera ensuite utilisée pour chiffrer la **session entiÚre (TLS/SSL)**.
Le Cas de la Signature Numérique
Pour l'**Authentification** (prouver l'identité), on inverse l'usage des clés :
(Alice) : Utilise la **Clé Privée** pour signer le message (unique à Alice).
(Client) : Utilise la **Clé Publique d'Alice** (incluse dans son certificat) pour vérifier la signature.
1.3. Définition d'une PKI (Composants RÎles)
Une PKI est le cadre de gouvernance et technique qui permet de lier de maniÚre fiable des **identités (domaines, personnes)** à des **clés cryptographiques**.
Les 5 Piliers d'une PKI (ModĂšle de Gouvernance)
- **1. Le Certificat Numérique (X.509) :** Le passeport. Le document qui lie l'identité (ex:
www.site.com) à la clé publique. - **2. L'Autorité de Certification (CA) :** Le notaire. L'entité qui **émet et signe** les certificats, prouvant la validité du lien.
- **3. L'Autorité d'Enregistrement (RA) :** Le vérificateur. Assure la vérification de l'identité du demandeur (avant signature par la CA).
- **4. Les ProcĂ©dures et Politiques :** Les rĂšgles qui rĂ©gissent la PKI (ex: comment vĂ©rifier l'identitĂ©, comment une clĂ© privĂ©e doit ĂȘtre stockĂ©e, quand un certificat doit ĂȘtre rĂ©voquĂ©).
- **5. Le Référentiel (Repository) :** Le systÚme (base de données) qui stocke les certificats émis et les informations de révocation (CRL/OCSP).
1.4. Cas d'Usage Multiples de la PKI
La PKI est l'infrastructure silencieuse de la sécurité moderne. Elle est essentielle pour l'identification et la sécurisation des communications dans de nombreux domaines :
| Domaine | RĂŽle du Certificat | Exemple d'application |
|---|---|---|
| **Web & Réseau** | **Authentification** du serveur et **Chiffrement** des données (TLS/SSL). | HTTPS (tous les sites), AWS Load Balancers, Cloudflare, VPN SSL/IPSec. |
| **Sécurité IoT / Edge** | **Identification unique** des appareils (puces, capteurs) avant de les laisser se connecter au réseau. | AWS IoT Core, Azure IoT Hub, mTLS (Mutal TLS) entre microservices. |
| **Administration / DevOps** | **Signature** de code, d'images Docker ou de mises Ă jour logicielles. | Certificats client pour l'accĂšs Ă l'API Kubernetes, chiffrement des secrets Vault. |
| **E-mail** | **Chiffrement** des messages et **Signature** de l'expéditeur (Non-Répudiation). | S/MIME (Secure/Multipurpose Internet Mail Extensions). |
| **SystÚmes d'Information (Active Directory)** | **Authentification forte** des utilisateurs et des ordinateurs au sein du domaine. | Cartes à puce, EAP-TLS (authentification réseau), BitLocker (chiffrement de disque). |
2.1. Cryptographie Symétrique vs Asymétrique
Ces deux types de cryptographie sont **complémentaires** et sont tous deux utilisés lors d'une session TLS/SSL sécurisée (le Handshake utilise l'Asymétrique, la session utilise le Symétrique).
| Caractéristique | Symétrique (Clé Unique) | Asymétrique (Paire de Clés) |
|---|---|---|
| **Algorithmes** | AES-256, ChaCha20, Blowfish. | RSA, ECC (Elliptic Curve Cryptography), Diffie-Hellman (Ăchange de clĂ©s). |
| **Vitesse** | **TrĂšs rapide**. UtilisĂ© pour chiffrer de grands volumes de donnĂ©es. | **TrĂšs lent**. UtilisĂ© uniquement pour chiffrer de petits volumes (ex: la clĂ© symĂ©trique elle-mĂȘme). |
| **Clés** | **Une seule clé** (secrÚte) partagée par les deux parties. | **Paire de clés** (Publique pour chiffrer / Privée pour déchiffrer). |
| **ProblĂšme Majeur** | Comment Ă©changer la clĂ© secrĂšte sans ĂȘtre interceptĂ© (man-in-the-middle). | ComplexitĂ© mathĂ©matique et forte consommation CPU. |
**Conclusion TLS :** La PKI (via l'Asymétrique) résout le problÚme de l'échange de la clé (Symétrique), puis utilise la clé Symétrique (AES) pour la vitesse de la communication.
2.2. Clé Publique / Clé Privée : Principes
La relation entre la clé publique et la clé privée est la pierre angulaire de la sécurité PKI (voir 1.1). Une est rendue publique (le Certificat), l'autre est conservée en sécurité (le Secret).
La Paire de Clés (RÎles Inversés)
| Clé | RÎle de Chiffrement | RÎle de Signature |
|---|---|---|
| **Clé Publique** | Chiffre les données (pour que seul le propriétaire puisse lire). | **Vérifie** la signature (par tout le monde). |
| **Clé Privée** | Déchiffre les données (seul le propriétaire peut lire). | **Crée (applique)** la signature (prouve l'identité). |
Conservation et Sécurité
- **Clé Publique :** Distribuée largement, incluse dans le certificat X.509. Elle est l'information d'identification de l'entité.
- **ClĂ© PrivĂ©e :** Doit ĂȘtre stockĂ©e dans un environnement de haute sĂ©curitĂ© :
- **HSM (Hardware Security Module) :** Boßtier physique ou cloud (ex: AWS KMS/CloudHSM) pour stocker les clés racines des CA.
- **Fichier PEM :** Fichier
.pemou.key(généralement chiffré par mot de passe) sur le serveur web ou le client.
2.3. Hash (Hachage) et Signature Numérique
Le hachage et la signature numérique travaillent de concert pour garantir l'**Intégrité** et l'**Authentification** des données.
Fonction de Hash (Hachage)
Une fonction de hash (ex: SHA-256) prend une donnée (un message, un fichier) de **taille variable** et produit une chaßne de caractÚres de **taille fixe** (l'empreinte, ou *digest*).
- **Propriétés :** Le processus est **unidirectionnel** (irréversible). Une infime modification de la donnée d'entrée produit une empreinte complÚtement différente (Propriété de l'effet avalanche).
- **RÎle PKI :** Le Hash est utilisé pour créer l'**empreinte** du certificat ou du message afin de vérifier l'**Intégrité**.
# Exemple : Empreinte SHA-256 du message "A"
SHA256("Hello World") = c0535e4be2b79ff8d05020c6dd87872d82914757c32cf856608fb3c25287aa67
SHA256("hello world") = a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b27796ad9f146e
# La différence entre H et h change l'empreinte totalement.
Signature Numérique
La signature numérique est le processus qui utilise la cryptographie asymétrique pour garantir l'origine des données (Authentification).
- (Emetteur) Crée l'**Empreinte (Hash)** du document (Intégrité).
- (Emetteur) **Chiffre** cette empreinte avec sa **Clé Privée** (ce qui est la Signature).
- (Récepteur) Reçoit le document et la Signature.
- (Récepteur) **Déchiffre** la Signature avec la **Clé Publique** de l'émetteur (récupÚre l'empreinte originale).
- (Récepteur) Calcule le **Hash** du document reçu.
- (Récepteur) Si les deux Hashes correspondent, le document est **authentique et intÚgre**.
2.4. Le ModÚle C.I.A.N. (Confidentialité, Intégrité, Authentification, Non-Répudiation)
Ce sont les objectifs de sécurité que la PKI s'efforce d'atteindre via ses mécanismes de chiffrement (asymétrique) et de hachage.
| Objectif | RÎle (Quoi garantir) | Mécanisme PKI |
|---|---|---|
| **Confidentialité** | Assurer la lecture exclusive par le destinataire prévu. | Chiffrement de la session (AES) initié par la Clé Publique (RSA/ECC). |
| **Intégrité** | Assurer que les données n'ont pas été modifiées en transit. | Fonction de Hachage (SHA-256) appliquée avant et aprÚs la transmission. |
| **Authentification** | Prouver l'identité de l'émetteur ou du serveur. | Signature numérique (Clé Privée) vérifiée par la Clé Publique (Certificat). |
| **Non-RĂ©pudiation** | EmpĂȘcher l'Ă©metteur de nier l'origine de la signature. | La ClĂ© PrivĂ©e est supposĂ©e ĂȘtre unique et secrĂšte, prouvant l'identitĂ© de l'Ă©metteur. |
2.5. Standards Cryptographiques
La sécurité des certificats repose sur l'utilisation d'algorithmes et de tailles de clés qui sont publiquement validés comme étant mathématiquement sûrs.
| Algorithme | Type | Taille de Clé / Standard | Recommandation Sécurité |
|---|---|---|---|
| **RSA** | Asymétrique | 2048 bits (Minimum standard actuel) ou 4096 bits. | Fiable, mais déclinant. Moins performant que ECC. |
| **ECC** | Asymétrique | 256 à 521 bits. (ex: secp256r1) | **Fortement Recommandé** (Performance et Sécurité équivalente à RSA 4096 avec une clé plus petite). |
| **SHA-2** | Hachage | SHA-256 (Le standard pour la signature des certificats). | Robuste. Utilisé pour créer les empreintes des certificats. |
| **SHA-3** | Hachage | SHA3-256 (Successeur du SHA-2). | Moderne. Utile pour les applications de nouvelle génération. |
| **AES** | Symétrique | 128, 192 ou 256 bits. | Standard mondial pour le chiffrement des **données de session** (utilisé aprÚs le Handshake TLS/PKI). |
**Transition :** Les autorités de certification recommandent la transition de RSA vers ECC pour les performances, et l'abandon des fonctions de hachage obsolÚtes (comme SHA-1 et MD5).
3.1. La ChaĂźne de Confiance (Chain of Trust)
La confiance est établie de maniÚre hiérarchique : le client ne fait confiance qu'à l'Autorité Racine (Root), qui délÚgue ensuite sa capacité à signer aux autorités intermédiaires.
Si le certificat intermédiaire est omis lors de la communication (erreur courante), la chaßne est brisée et la connexion échoue.
+------------------------------------+
| 1. Root CA (Auto-Signée) | <--- (Ancre de Confiance stockée dans le Trust Store du Client)
| (DigiCert, GlobalSign, AWS Root) |
+------------------------------------+
| (Signe le Certificat Intermédiaire)
v
+------------------------------------+
| 2. Intermediate CA (Opérationnelle)| <--- (Certificat envoyé par le serveur)
| (Signé par la Root) |
+------------------------------------+
| (Signe le Certificat Final)
v
+------------------------------------+
| 3. Certificat d'Entité Finale | <--- (Le certificat de votre site (www.exemple.com))
| (Serveur / Client) |
+------------------------------------+
**Mécanisme** : Le client vérifie la signature de N-1 avec la CLà PUBLIQUE de N.
RÎles des Clés dans la Chaßne
| Certificat | Clé Privée utilisée pour... | Clé Publique utilisée par le Client pour... |
|---|---|---|
| **Root CA** | **Signer** l'Intermediate CA (Niveau 2). | **Vérifier** la signature de l'Intermediate CA. |
| **Intermediate CA** | **Signer** le Certificat Final (Niveau 3). | **Vérifier** la signature du Certificat Final. |
| **Entité Finale** | **Signer** les données d'application et **déchiffrer** la clé de session TLS. | **Chiffrer** la clé de session TLS. |
3.2. Flux DĂ©taillĂ© : Handshake TLS (Ătablissement de la Session)
Le Handshake TLS (Transport Layer Security) est le protocole qui utilise la PKI pour sécuriser la session. Les étapes 3 et 4 sont les plus critiques pour la PKI.
[ Client (Browser) ] [ Serveur (Application) ]
| |
| 1. ClientHello (Suites cryptographiques supportées) ----------> |
| |
| <--- 2. ServerHello (Choix du protocole + Certificats) -------|
| |
| 3. VĂRIFICATION PKI (Signature, RĂ©vocation, ValiditĂ©) --------|
| |
| 4. ClientKeyExchange (Envoi de la Clé de Session Chiffrée) --->|
| (Chiffre la Clé de Session avec la CLà PUBLIQUE du Serveur)|
| |
| <--- 5. Fin du Handshake (Déchiffrement avec Clé Privée) -----|
| |
[ đ Session ChiffrĂ©e AES-256 (SymĂ©trique) ] <-----------------------------> [ đ Session ChiffrĂ©e AES-256 (SymĂ©trique) ]
RĂŽle de l'Authentification Client (mTLS)
L'**Authentification Mutuelle (mTLS)** ajoute une vérification de l'identité du client. Le Serveur (étape 2) demande un certificat client, et le Client (aprÚs l'étape 4) répond en envoyant son propre certificat. Le Serveur vérifie sa validité avant d'autoriser l'accÚs.
3.3. Cycle de Vie du Certificat Numérique
La PKI ne fait qu'émettre des certificats ; elle gÚre leur vie complÚte, de la création à l'expiration/révocation.
| Phase | Action | Composant Clé |
|---|---|---|
| **1. Demande (Key Generation)** | Création de la paire de clés (Publique/Privée) et du **CSR** (Certificate Signing Request). | Clé Privée (Entité Finale), OpenSSL. |
| **2. Validation & Ămission** | VĂ©rification d'identitĂ© (DV/OV/EV) par la RA, puis **signature** par la CA. | RA, CA (ClĂ© PrivĂ©e de la CA). |
| **3. Déploiement** | Installation du certificat final et de la chaßne intermédiaire (Bundle) sur le serveur. | Serveur Web, Load Balancer (AWS ACM). |
| **4. Révocation** | Annulation anticipée du certificat (clé privée compromise). Mise à jour du statut dans les référentiels. | CRL (Liste de Révocation), OCSP Responder. |
| **5. Renouvellement** | Nécessaire avant l'expiration (Not After). Utilisation du processus ACME (Let's Encrypt) ou processus manuel. | Processus ACME / Managé. |
4.1. Les Composants Techniques (Le CĆur du SystĂšme)
L'architecture d'une PKI repose sur la collaboration de plusieurs entités pour garantir la fiabilité des certificats et des statuts de révocation.
| Composant | RÎle Principal | Exigence Sécurité / Technique |
|---|---|---|
| **CA (Certificate Authority)** | **Ămission et RĂ©vocation.** L'entitĂ© qui signe les certificats. | Doit ĂȘtre hautement sĂ©curisĂ©e (HSM) et suivre une **Politique de Certificats (CP)** stricte. |
| **HSM (Hardware Security Module)** | **Sécurité de la Clé Privée.** Matériel cryptographique assurant le stockage des clés racines et intermédiaires. | **FIPS 140-2 Level 3+**. Assure que la clé privée ne peut **jamais** quitter le boßtier. |
| **RA (Registration Authority)** | **Validation d'Identité.** Vérifie l'identité du demandeur (le domaine, l'organisation). | Doit appliquer les procédures de validation (DV, OV, EV) avant de soumettre la CSR à la CA. |
| **Serveur OCSP / CRL** | **Statut de Révocation.** Permet aux clients de vérifier la validité du certificat en temps réel (OCSP) ou via une liste (CRL). | Haute Disponibilité (HA). Si le serveur OCSP est inaccessible, le client peut refuser la connexion (Fail-Safe). |
| **RĂ©pertoires (LDAP / AD)** | **Distribution des Certificats.** Point central oĂč les certificats publics et les CRL sont publiĂ©s pour ĂȘtre rĂ©cupĂ©rĂ©s par les clients. | Utilisation de LDAP (Lightweight Directory Access Protocol) ou de services comme AWS ACM/AD pour la distribution. |
**Exemple (mTLS) :** Dans un environnement d'entreprise, la CA pourrait ĂȘtre un serveur Microsoft CA intĂ©grĂ© Ă **Active Directory (AD)**, le **HSM** serait le module de sĂ©curitĂ© pour la clĂ© racine, et les certificats seraient distribuĂ©s aux utilisateurs via **LDAP/AD**.
4.2. Hiérarchie des CA (Root vs Intermediate)
Le modĂšle hiĂ©rarchique est conçu pour **isoler le risque** et faciliter les opĂ©rations. Une CA ne doit pas tout faire elle-mĂȘme.
| Niveau | CA Racine (Root CA) | CA Intermédiaire (Intermediate CA) |
|---|---|---|
| **Fonction** | **Ancre de Confiance (Trust Anchor)**. Auto-signĂ©. | **OpĂ©rationnelle**. Ămet les certificats d'entitĂ© finale. |
| **Sécurité** | **Hors Ligne (Offline)**. Stockée dans un HSM sécurisé, non connectée au réseau, pour prévenir les compromissions. | **En Ligne (Hot)**. Fonctionne 24/7 pour traiter les demandes (CSR). |
| **DurĂ©e de Vie** | TrĂšs longue (20-25 ans). | Courte (5-10 ans). Peut ĂȘtre facilement rĂ©voquĂ©e ou remplacĂ©e sans impacter la confiance dans la Racine. |
| **Clé Privée** | Utilisée uniquement pour signer la CA Intermédiaire (et les CA de second niveau). | Utilisée pour signer les certificats des serveurs (Entité Finale). |
**Conclusion Sécurité :** Si une Intermediate CA est compromise, l'opérateur peut la révoquer immédiatement (via la Root CA) sans avoir à demander à des millions d'utilisateurs de mettre à jour leur Trust Store. Cela isole le risque au niveau des opérations.
4.3. ModĂšles de Confiance et Structure
Il existe différentes façons d'organiser les CA au sein d'une entreprise ou entre organisations.
ModÚle 1 : Hiérarchique (Arborescence)
C'est le modÚle le plus courant (utilisé par toutes les CA publiques comme DigiCert ou Let's Encrypt). Une seule racine (Root) rÚgne sur toutes les autres (Intermédiaires, Sub-Intermédiaires...).
[ ROOT CA ]
|
+--- [ Intermediate CA 1 (Geo: Europe) ]
| +--- [ Certificat Server A ]
| +--- [ Certificat Client B ]
|
+--- [ Intermediate CA 2 (Geo: Asie) ]
+--- [ Certificat Server X ]
**Avantage :** Simple, facilement géré par les clients car il n'y a qu'une seule Root à installer dans le Trust Store.
ModÚle 2 : ModÚle Pont (Mesh / Croisé)
Utilisé pour établir une **confiance croisée** entre deux PKI indépendantes (souvent dans le cadre de fusions/acquisitions ou entre entités gouvernementales).
- **Principe :** La Root CA de l'Organisation A signe la Root CA de l'Organisation B, et vice-versa (Trust Mutuel).
- **Avantage :** Les utilisateurs de l'Organisation A peuvent faire confiance aux certificats émis par l'Organisation B sans avoir besoin d'installer une nouvelle CA Racine.
- **Inconvénient :** La révocation devient trÚs complexe (si A révoque B, cela affecte la chaßne des deux cÎtés).
4.1. Génération de la Paire de Clés et Création du CSR
Cette premiÚre phase est effectuée par l'**Entité Finale** (le serveur ou l'utilisateur) et se fait **localement**. La Clé Privée ne doit jamais quitter cet environnement.
Ătape 1 : GĂ©nĂ©ration de la ClĂ© PrivĂ©e
Le choix de l'algorithme (RSA ou ECC) et de la taille de la clé (minimum 2048 bits pour RSA) est primordial pour la sécurité.
# Génération de la clé privée (RSA 2048 bits) $ openssl genrsa -out mon_serveur.key 2048
**Critique :** Le fichier mon_serveur.key est la ClĂ© PrivĂ©e. Sa sĂ©curitĂ© doit ĂȘtre garantie (droits chmod 400, stockage sur HSM si possible).
Ătape 2 : CrĂ©ation de la CSR (Certificate Signing Request)
La **CSR** est un fichier qui contient l'**identité** (Common Name, Organisation, Pays...) et la **Clé Publique**. Elle est envoyée à la CA pour signature.
# Création du CSR à partir de la clé privée $ openssl req -new -key mon_serveur.key -out mon_serveur.csr # Informations demandées: # Common Name (CN): www.mon-domaine.com # Organization (O): Mon Entreprise SA # Subject Alternative Name (SAN) : [Ajouté via fichier conf, essentiel pour les sous-domaines]
**ContrÎle :** La CSR prouve à la CA que le demandeur possÚde bien la Clé Privée (bien que seule la Clé Publique soit transmise).
4.2. VĂ©rification dâIdentitĂ© (RA) et Signature du Certificat (CA)
Cette phase est sous la responsabilité de l'Autorité de Certification (CA) et de l'Autorité d'Enregistrement (RA).
Ătape 3 : VĂ©rification de lâIdentitĂ© (RĂŽle de la RA)
L'AutoritĂ© d'Enregistrement (RA) vĂ©rifie que les informations contenues dans le CSR sont valides, selon le niveau de validation choisi (DV, OV, EV). C'est le point oĂč la CA dĂ©cide s'il faut faire confiance au demandeur.
| Niveau de Validation | Méthode de Vérification |
|---|---|
| **DV (Domain Validation)** | **Automatisé.** Envoi d'un e-mail à l'admin du domaine ou vérification via un enregistrement DNS (TXT ou CNAME). |
| **OV (Organization Validation)** | **Manuel.** Vérification des documents légaux de l'organisation et appel téléphonique. |
Ătape 4 : Signature du Certificat (RĂŽle de la CA)
Si la vérification est réussie, la CA signe le certificat final.
- **Action :** La CA (Intermediate CA) utilise sa **Clé Privée** (protégée par un HSM) pour **chiffrer l'empreinte** (Hash) du CSR du demandeur.
- **Résultat :** Le Certificat X.509 final (fichier
.crtou.pem) est créé. Il contient la clé publique du sujet, les informations de validité et la signature chiffrée de la CA.
4.3. Installation et Renouvellement
Ătape 5 : Installation et Propagation
Le déploiement nécessite trois éléments pour fonctionner correctement :
- Le **Certificat Final** (
serveur.crt). - La **Clé Privée** (
serveur.key) (associée, restée locale). - Le **Bundle (Chaßne)** de Certificats Intermédiaires (pour permettre au client de remonter jusqu'à la Root CA).
**Erreur fréquente :** Le serveur est configuré avec serveur.crt et serveur.key, mais sans le Bundle Intermédiaire. La connexion échoue pour certains clients (ex: appareils mobiles ou systÚmes anciens).
Ătape 6 : Renouvellement
Le renouvellement est nécessaire avant que le certificat n'atteigne sa date d'expiration (Not After). Bien que l'identité soit déjà prouvée, la procédure est similaire à la création initiale :
- **Automatisé (ACME) :** Pour les certificats DV (ex: Let's Encrypt), le protocole ACME (Automatic Certificate Management Environment) gÚre la génération d'une nouvelle CSR et la re-signature **sans intervention humaine**. (Durée de vie courte, souvent 90 jours).
- **Manuel :** Pour les certificats OV/EV ou les certificats privĂ©s d'entreprise, un nouveau CSR doit ĂȘtre créé et soumis manuellement Ă la CA.
4.4. Révocation (CRL / OCSP)
La **révocation** est l'annulation d'un certificat avant sa date d'expiration. C'est l'étape la plus critique en cas d'incident de sécurité (ex: vol de la clé privée ou erreur de configuration).
Processus de Révocation (La CA)
- L'entité finale (ou l'opérateur) contacte la CA (ou la RA) pour signaler la compromission.
- La CA vérifie l'identité du demandeur (qui demande la révocation) et la validité de la demande.
- La CA ajoute le **numéro de série** du certificat à sa liste de certificats révoqués (CRL et base de données OCSP).
Vérification par le Client (Le Challenge)
Le défi est de s'assurer que le client a l'information rapidement. Le client utilise l'un des mécanismes suivants :
- **CRL (Liste de Révocation) :** Le client télécharge la liste complÚte (lente) et vérifie si le certificat est dedans.
- **OCSP (Temps Réel) :** Le client interroge le serveur **OCSP Responder** qui donne un statut instantané.
- **OCSP Stapling :** Le serveur web fournit lui-mĂȘme un "cache" de la rĂ©ponse OCSP signĂ©e, accĂ©lĂ©rant la vĂ©rification pour le client.
**ProblĂšme (Latence) :** Si la CA met 24 heures Ă publier sa nouvelle CRL, le certificat compromis peut ĂȘtre utilisĂ© pendant cette pĂ©riode (fenĂȘtre d'attaque). L'OCSP Stapling/Temps RĂ©el permet de rĂ©duire ce risque.
PKI : Une Fondation de Confiance pour l'Ăre NumĂ©rique
La **PKI** est le cadre global (politiques, procédures, systÚmes) qui gÚre la création, la distribution, la gestion et l'utilisation des **Certificats Numériques** pour identifier les individus et les appareils. Elle est le pivot de la sécurité des communications **TLS/SSL**, de l'e-mail chiffré (**S/MIME**) et des signatures de code.
Le Quatuor de la Sécurité PKI
La PKI assure les quatre services de sécurité fondamentaux en utilisant la cryptographie :
| Objectif | RÎle PKI | Mécanisme Principal |
|---|---|---|
| **Authentification** | **Prouver l'identité** d'un serveur ou d'un utilisateur. | Vérification de la **Signature numérique** du Certificat par la CA. |
| **Confidentialité** | Assurer que seuls les parties autorisées peuvent lire les données. | Chiffrement de la session (Clé symétrique) négocié via la **Clé Publique (Asymétrique)**. |
| **Intégrité** | Garantir que les données n'ont pas été altérées. | Utilisation d'un **Code de Hachage** (ex: SHA-256) pour comparer l'état initial et final du message. |
| **Non-RĂ©pudiation** | EmpĂȘcher l'Ă©metteur de nier l'envoi d'un message signĂ©. | L'Ă©metteur est le seul Ă possĂ©der la **ClĂ© PrivĂ©e** utilisĂ©e pour signer. |
La Cryptographie Asymétrique : Pourquoi deux clés ?
C'est la base mathématique de la PKI. La paire **Clé Publique/Clé Privée** est générée ensemble. La clé privée est le secret, la clé publique est la donnée partagée.
| Usage | Processus | Exemple d'application |
|---|---|---|
| **Chiffrement/DĂ©chiffrement** | Chiffrer avec la **Publique** (pour tout le monde) â DĂ©chiffrer avec la **PrivĂ©e** (pour le propriĂ©taire). | SĂ©curisation des communications (TLS/SSL). |
| **Signature/VĂ©rification** | Signer avec la **PrivĂ©e** (prouve l'identitĂ©) â VĂ©rifier avec la **Publique** (par tout le monde). | Ămission des certificats X.509 par la CA, signature d'e-mails. |
Exemple de Génération de Clé (OpenSSL)
L'outil de rĂ©fĂ©rence pour gĂ©nĂ©rer les clĂ©s et les requĂȘtes (CSR) est OpenSSL.
# Générer une clé privée RSA 4096 bits (fortement sécurisée)
$ openssl genrsa -aes256 -out private_key.key 4096
# Générer une clé privée ECC P-384 (Performance et Sécurité moderne)
$ openssl ecparam -name secp384r1 -genkey -out private_key_ecc.key
**Attention :** La perte de la Clé Privée rend le certificat inutilisable. La divulgation (vol) de la Clé Privée impose la **révocation immédiate** du certificat.
La ChaĂźne de Confiance (Chain of Trust)
La confiance est établie par une **chaßne ininterrompue de signatures** reliant le certificat de l'entité finale à une **Autorité Racine (Root CA)** préinstallée dans les systÚmes d'exploitation (le Trust Store).
Hiérarchie et RÎles de la Signature
| Niveau | RĂŽle | Signature (Confiance) |
|---|---|---|
| **1. Root CA (Racine)** | Ancre de confiance (Trust Anchor). | **Auto-Signé.** (Le client y fait confiance par défaut). |
| **2. Intermediate CA (IntermĂ©diaire)** | OpĂ©rateur. Ămet les certificats d'entitĂ© finale. | **SignĂ© par la Root CA.** |
| **3. Entité Finale** | Serveur, site web, utilisateur. | **Signé par l'Intermediate CA.** |
Processus de Validation (Remonter la ChaĂźne)
- Le **Serveur** envoie au client (navigateur) : [Certificat Final] + [Certificat Intermédiaire].
- Le **Client** utilise la clé publique de la Racine (qu'il connaßt) pour vérifier la signature de l'Intermédiaire.
- Le client utilise la clé publique de l'Intermédiaire (vérifié à l'étape 2) pour vérifier la signature du Certificat Final.
- Le client vérifie que la Racine est dans son **Trust Store** local (le Root est le point de confiance que le client connaßt).
**Erreur de Configuration Courante :** Un serveur mal configuré oublie d'envoyer le **Certificat Intermédiaire**. Le client ne peut pas remonter la chaßne jusqu'à la Racine et la validation échoue (erreur NET::ERR_CERT_AUTHORITY_INVALID).
Les RĂŽles Institutionnels de la Confiance
| Composant | Fonction détaillée | Sécurité (Critique) |
|---|---|---|
| **CA (Certificate Authority)** | **Ămet, Signe** et **rĂ©voque** les certificats. C'est le point de confiance central. Son rĂŽle est de vĂ©rifier que l'identitĂ© est rĂ©elle (ex: que vous possĂ©dez le domaine). | **TrĂšs critique**. Doit ĂȘtre protĂ©gĂ©e par un HSM (Hardware Security Module) physique ou cloud. |
| **RA (Registration Authority)** | DélÚgue les tùches de **validation d'identité**. Reçoit la demande (CSR) et s'assure que toutes les politiques (OCSP, validation de domaine) sont respectées avant de demander la signature à la CA. | **Critique**. Maillon faible potentiel dans la vérification de l'identité. |
| **Certificat Numérique (X.509)** | Le "passeport". Lie l'identité (domaine, utilisateur) à sa **clé publique**, le tout **signé par la CA**. | Certificats SSL/TLS pour les serveurs web, certificats client pour l'authentification forte. |
| **EntitĂ© Finale (End Entity)** | L'utilisateur, le serveur ou l'appareil qui **utilise** le certificat pour l'authentification ou le chiffrement. | **Moyennement critique**. La clĂ© privĂ©e doit ĂȘtre sĂ©curisĂ©e localement. |
**Didactique :** La CA est le **Notaire** qui valide et signe le passeport numérique (le Certificat) de l'Entité Finale.
La RequĂȘte CSR (Certificate Signing Request)
La **CSR** est la demande de signature envoyée à la CA. Elle contient les informations d'identité (CN, O, C) et la **Clé Publique** du demandeur, **mais jamais la clé privée**.
# Exemple d'une CSR (Encodé en Base64)
-----BEGIN CERTIFICATE REQUEST-----
... (Informations d'identité et Clé Publique) ...
-----END CERTIFICATE REQUEST-----
Le Cycle de Vie et le Statut de Révocation
Si une clé privée est compromise, le certificat devient immédiatement invalide. La CA doit le révoquer pour que les clients ne le fassent plus confiance.
| Mécanisme | Protocole | Avantages & Inconvénients |
|---|---|---|
| **CRL (Certificate Revocation List)** | HTTP / PULL | **Fonctionnement :** Le client télécharge une liste complÚte de tous les certificats révoqués. **Performance :** Lent. Le fichier devient lourd, et la vérification n'est pas instantanée (dépend de l'intervalle de mise à jour). |
| **OCSP (Online Certificate Status Protocol)** | HTTP / Temps RĂ©el | **Fonctionnement :** Le client envoie une requĂȘte lĂ©gĂšre au serveur OCSP de la CA qui rĂ©pond "Good" ou "Revoked". **Performance :** Plus rapide et prĂ©cis. |
| **OCSP Stapling (Agrafage OCSP)** | TLS Extension | **Fonctionnement :** Le serveur web lui-mĂȘme fournit la preuve de validitĂ© signĂ©e (Staple) par l'OCSP Responder. **Avantage :** RĂ©duit la latence et protĂšge la vie privĂ©e du client. **InconvĂ©nients :** NĂ©cessite une configuration serveur. |
| **Certificate Transparency (CT)** | Monitoring Public | **Fonctionnement :** Les CA publiques publient (dans des journaux publics) tous les certificats émis. **Objectif :** Permet à l'organisation de surveiller l'émission de certificats frauduleux sur ses propres domaines. |
La Commande OpenSSL pour la Vérification
Utilisez OpenSSL pour interroger l'OCSP Responder (souvent l'URL est dans le certificat) :
# Interroger le statut d'un certificat (server.crt) auprÚs de l'émetteur
$ openssl ocsp -issuer intermediate.crt -cert server.crt -url http://ocsp.example.com
# Résultat attendu (OK) : Response status: successful (0)
# server.crt: **good**
Le Format X.509 v3 (Abstract Syntax Notation One / ASN.1)
Le certificat est un document structurĂ© selon la norme **ITU-T X.509 version 3**. Il contient trois sections principales : TĂȘte, Corps, et Signature.
| Section | Champs Clés | RÎle et Explication |
|---|---|---|
| **TĂȘte (Header)** | Version (v3), NumĂ©ro de SĂ©rie, Algorithme de Signature. | Identifiants uniques et informations de base pour le traitement. |
| **Corps (Subject Data)** | **Subject Name (CN)**, **Clé Publique**, Période de **Validité (Not Before/Not After)**. | Contient l'identité du propriétaire (ex: Common Name: *.ideolab.com) et la clé publique pour le chiffrement. |
| **Extensions (Critiques)** | **SAN (Subject Alternative Name)**, **Key Usage**, AIA, CDP. | Définit les usages supplémentaires et les mécanismes de révocation. |
| **Signature** | Algorithme de Hachage, **Valeur de Signature**. | Le hachage du Certificat chiffré par la clé privée de la CA parente. **Preuve que la CA a émis ce certificat.** |
Extensions Essentielles
- **Subject Alternative Name (SAN) :** Permet à un seul certificat de sécuriser **plusieurs noms de domaine** (ex:
api.site.com,site.cometwww.site.com). Les navigateurs utilisent le champ SAN, pas le CN, pour la validation. - **Key Usage :** Définit l'usage cryptographique de la clé (ex: si elle est destinée au chiffrement ou à la signature).
- **CRL Distribution Point (CDP) / Authority Information Access (AIA) :** Indique oĂč trouver les certificats de la chaĂźne de confiance et les informations de rĂ©vocation (CRL/OCSP).
Exemple de Décodage (OpenSSL)
# Commande pour voir le contenu texte du certificat PEM
$ openssl x509 -in certificat.pem -text -noout
# ... Chercher la ligne Subject Alternative Name (SAN)
# X509v3 Subject Alternative Name:
# DNS:www.ideolab.com, DNS:ideolab.com
Les Niveaux de Validation : Que Garantit la CA ?
La **Validation** est le processus par lequel la CA vérifie l'identité du demandeur. Plus la validation est rigoureuse, plus le niveau de confiance est élevé.
| Type | Niveau de Garantie | Processus de Vérification |
|---|---|---|
| **DV (Domain Validation)** | **Bas.** Garantie que le demandeur **contrÎle l'administration du domaine**. (Ex: Let's Encrypt). | Réponse à un e-mail de validation à admin@domaine.com ou ajout d'un enregistrement DNS (TXT ou CNAME) spécifique. |
| **OV (Organization Validation)** | **Intermédiaire.** Garantie que le demandeur contrÎle le domaine **ET** que l'**organisation existe légalement**. | Vérification de l'enregistrement de commerce, vérification de l'adresse physique, appels téléphoniques. |
| **EV (Extended Validation)** | **Le plus haut.** Processus rigoureux garantissant l'identitĂ© **juridique** et l'existence physique de l'organisation. | EnquĂȘte approfondie, vĂ©rification des statuts d'entreprise. (Historiquement affichait le nom de l'entreprise en vert). |
| **Wildcard** | **Type d'Usage.** Permet d'utiliser le certificat sur le domaine **et tous ses sous-domaines** (*.example.com). | Simplifie la gestion mais augmente le risque de sécurité en cas de compromission. |
