La PKI, c’est partout, il faut quand même le reconnaîte.
HTTPS, emails sécurisés, authentification forte… même ton navigateur en dépend en permanence.
Et pourtant ?
👉 La majorité des gens :
- utilisent des certificats tous les jours
- sans vraiment comprendre ce qu’il y a derrière
Pas grave. On va corriger ça 😄
🔐 Une PKI, c’est quoi au juste ?
Une PKI (Public Key Infrastructure), c’est un système qui permet de :
- créer des identités numériques fiables
- vérifier ces identités
- sécuriser les communications
👉 En résumé :
“Comment je sais que je parle bien à la bonne personne ?”
🔑 Clé publique / clé privée : la base de tout
Tout repose sur un principe simple :
- 🔐 une clé privée (secrète, jamais partagée)
- 🔓 une clé publique (diffusée)
Exemple concret :
- tu signes un message avec ta clé privée
- tout le monde peut vérifier avec ta clé publique
👉 Résultat :
- identité prouvée ✔️
- intégrité garantie ✔️
Pour le chiffrement :
- on chiffre avec la clé publique
- seul le détenteur de la clé privée peut déchiffrer
👉 Bienvenue dans la crypto asymétrique.
🪪 Le certificat : ta carte d’identité numérique
Un certificat, c’est simplement :
clé publique + identité + signature
Il contient :
- une clé publique
- une identité (email, utilisateur, domaine)
- une autorité émettrice
- une durée de validité
👉 C’est une carte d’identité numérique signée
🏛️ L’autorité de certification (CA)
La CA (Certificate Authority) est le cœur du système.
C’est elle qui garantit que ton certificat est légitime.
Le fonctionnement :
- Tu génères une clé + une demande (CSR)
- Tu l’envoies à la CA
- La CA vérifie et signe
👉 Résultat :
Si tu fais confiance à la CA, tu fais confiance au certificat
📦 Le fichier .p12 (PKCS#12)
Tu as déjà vu ce fichier :
user.p12
👉 Il contient :
- ta clé privée
- ton certificat
- parfois la chaîne de confiance
👉 C’est ton identité complète “emballée”
Compatible avec :
- Microsoft Outlook
- Mozilla Thunderbird
🔐 Signature vs chiffrement (non, ce n’est pas pareil)
✍️ Signature
- prouve ton identité
- garantit que le message n’a pas été modifié
🔒 Chiffrement
- protège le contenu
- seul le destinataire peut lire
👉 Et oui, tu peux faire les deux en même temps.
🔐 Authentification par certificat : plus de mot de passe, vraiment
Et si on supprimait complètement les mots de passe ?
Oui, vraiment.
Avec une PKI, c’est possible grâce à l’authentification par certificat client.
🧠 Le principe
Contrairement à un login classique :
- pas de mot de passe
- pas de token
- pas de MFA
👉 L’identité est directement portée par le certificat.
🔄 Comment ça fonctionne ?
Lors d’une connexion HTTPS :
- Le client se connecte au serveur
- Le serveur demande un certificat
- Le client envoie son certificat
- Le serveur vérifie :
- qu’il est signé par une CA de confiance
- qu’il est valide (non expiré, non révoqué)
- Accès autorisé ou refusé
👉 Résultat :
authentification basée sur la cryptographie, pas sur un secret mémorisé
🧪 Exemple concret
make user USER=jean-marc
Puis :
curl https://localhost \ --cert pki/users/jean-marc/jean-marc.crt \ --key pki/users/jean-marc/jean-marc.key \ --cacert pki/root/certs/root-ca.crt
👉 Si le certificat est valide :
- accès autorisé ✔️
👉 Sinon :
- accès refusé ❌
🔥 Pourquoi c’est puissant
- ❌ pas de mot de passe à voler
- ❌ pas de phishing
- ❌ pas de brute force
👉 Tout repose sur :
une identité cryptographique forte
⚙️ OpenSSL : la boîte à outils
Quand on parle PKI, un nom revient toujours :
👉 OpenSSL
C’est l’outil derrière :
- certificats HTTPS
- TLS
- S/MIME
👉 Pas toujours simple… mais indispensable.
🧪 Démo concrète
Plutôt que de rester dans la théorie :
👉 j’ai construit un outil simple pour :
- créer une CA
- générer des certificats
- les signer
- les exporter
- les révoquer
👉 Disponible ici :
https://github.com/Bugjohn/mini-pki-openssl
make init-camake user USER=jean-marc
👉 En quelques secondes :
- une PKI complète
- un certificat prêt à l’emploi
📧 Cas réel : sécuriser ses emails
Avec ce certificat :
- tu signes tes emails
- tu les chiffres
- tu prouves ton identité
👉 Et tu passes d’un email classique à une communication sécurisée.
⚠️ Les pièges (et ils sont nombreux)
🔥 Clé privée exposée
👉 compromission totale
🧨 CA compromise
👉 pire scénario possible
😬 CRL ignorée
👉 certificat révoqué toujours accepté
🧓 Crypto obsolète
👉 encore présent en production 😅
🧠 Pourquoi tu devrais t’y intéresser
Parce que la PKI est partout :
- HTTPS
- authentification
- Zero Trust
👉 Comprendre la PKI = comprendre la sécurité moderne
🚀 Conclusion
La PKI semble complexe…
Mais en réalité :
c’est un système de confiance basé sur la cryptographie
Et une fois que tu mets les mains dedans :
👉 tout devient logique
💬 Bonus
👉 Clone le repo
👉 teste
👉 casse volontairement un certificat
C’est comme ça que tu passes du :
“je vois”
à :
“je comprends vraiment”
🔥 Et franchement ?
La PKI, ce n’est pas juste du HTTPS.
👉 C’est une des briques les plus puissantes de la cybersécurité moderne.
