Intervention sur une infrastructure de clés publiques¶
1. Objectif du cours¶
Comprendre le rôle et le fonctionnement d'une PKI (infrastructure à clés publiques) et savoir mettre en œuvre, à titre d'exemple, un chiffrement asymétrique avec GnuPG pour échanger et vérifier des messages chiffrés.
2. Notions et définitions essentielles¶
- PKI (Public Key Infrastructure) : technologie liant et authentifiant une entité à une machine via des certificats signés numériquement.
- Entité : utilisateur, logiciel, périphérique ou processus disposant d'une clé.
- Chiffrement asymétrique : système basé sur une paire de clés (clé publique / clé privée) ; la publique sert à chiffrer, la privée à déchiffrer.
- Certificat : document qui associe une clé à une entité et est signé par une Autorité de Certification (CA).
- CA (Certificate Authority) : organisme qui signe et délivre des certificats (payant, gratuit ou interne).
- Types de certificats : DV (Domain Validation), OV (Organization Validation), EV (Extended Validation) — niveaux croissants de vérification et de coût.
3. Fonctionnement et principes¶
- La PKI assure identification, validation et chiffrement des communications en s'appuyant sur la cryptographie à clé publique et sur des certificats signés par une CA.
- Processus typique de connexion par certificat : requête du client → envoi du certificat (ou correspondance si déjà présent) → vérification → établissement d'un canal sécurisé si correspondance ok.
- Qualité et gestion des certificats (validité, renouvellement) sont critiques pour la sécurité ; un certificat expiré ou non reconnu doit susciter prudence.
- On peut utiliser des CA publiques (ex. Let's Encrypt) ou générer des certificats auto-signés pour tests/environnements privés (ces derniers ne sont pas reconnus par les navigateurs/CA).
4. Commandes et manipulations¶
Regroupées par procédure (extraites du cours, explication courte) :
- Installation de l'outil :
- sudo apt-get install gpg : installe GnuPG sur Debian.
- Génération de la paire de clés :
- sudo gpg --full-gen-key : lance la création d'une clé privée/publique, invite à renseigner identité et phrase secrète.
- Inspection du stockage local :
- ls -al (pour afficher fichiers cachés) puis lister le contenu du dossier .gnupg : permet de retrouver les clés générées.
- Exportation de la clé publique :
- sudo gpg --armor --output pubkey.txt --export [uid] : exporte la clé publique lisible (ASCII) vers pubkey.txt.
- cat pubkey.txt : permet de visualiser le contenu exporté.
- Importation dans un trousseau tiers :
- sudo gpg --import pubkey.txt : insère une clé publique reçue dans le trousseau GnuPG.
- Chiffrement et déchiffrement de fichiers :
- sudo gpg --encrypt --recipient
5. Sécurité et bonnes pratiques¶
- Utiliser une phrase secrète robuste (le cours signale un seuil minimal : 8 lettres + 1 chiffre recommandé).
- Surveiller la validité des certificats : un certificat expiré depuis 24–48 h peut être un oubli ; expiré depuis longtemps, préférer interrompre la connexion.
- Choisir la CA selon le besoin : Let's Encrypt pour gratuité et tests, CA payantes pour garanties plus strictes.
- Les certificats auto-signés chiffrent les données mais ne sont pas reconnus par les navigateurs/CA ; réservés aux environnements de test ou internes.
- La qualité du chiffrement (algorithmes, tailles de clés, gestion des clés privées) est essentielle pour la sécurité globale.
6. Points essentiels à retenir pour le TSSR¶
- PKI = système liant identité numérique et clé publique via des certificats signés par une CA.
- Chiffrement asymétrique = paire clé publique (partagée) / clé privée (secrète) : public chiffre, privé déchiffre.
- CA signe les certificats ; distinction DV/OV/EV = niveau de vérification et délai (OV ≈ 2–5 jours).
- GnuPG est l'outil utilisé dans la démonstration pour générer, exporter/importer, chiffrer et déchiffrer.
- Les certificats ont une validité limitée ; il faut les renouveler et être vigilant face aux certificats invalides.
- Les certificats auto-signés conviennent pour tests mais ne remplacent pas une CA reconnue en production.
- Inspecter le dossier de l'utilisateur pour retrouver les clés (.gnupg).
- Une correspondance invalide entre clé publique et clé privée empêche la connexion/chiffrement.
- Let's Encrypt est mentionnée comme option gratuite pour obtenir des certificats.
- La migration historique : SSL a été remplacé par TLS ; TLS est le protocole moderne.
7. Tableau récapitulatif¶
| Élément | Niveau de vérification | Délai typique | Usage recommandé |
|---|---|---|---|
| DV (Domain Validation) | Faible | Quelques heures | Sites publics non sensibles (blogs) |
| OV (Organization Validation) | Moyen | 2–5 jours | Entreprises nécessitant vérif. d'organisation |
| EV (Extended Validation) | Élevé | Plus long / processus complet | Transactions sensibles, forte assurance |
| Certificat auto-signé | Aucune vérification externe | Immédiat | Tests internes / environnements privés |
8. Vérifications pratiques¶
(contrôles concrets vus dans le cours, sans répéter la procédure)
- Vérifier la présence du dossier caché utilisateur (.gnupg) et que les fichiers de clés y figurent.
- Visualiser le contenu exporté de la clé publique pour confirmer l'ASCII armored.
- Après importation dans un trousseau, constater le message de confirmation d'ajout de la clé.
- Vérifier qu'un fichier chiffré (.gpg) et son équivalent en clair existent après chiffrement/déchiffrement.
- Ouvrir le fichier déchiffré pour s'assurer que le message est lisible en clair (preuve de succès du déchiffrement).
- Dans un accès web, consulter les informations du certificat fournies lors de l'accès pour vérifier validité et date d'expiration.
9. Flashcards Anki¶
Que signifie PKI? :: Public Key Infrastructure Quelle paire compose le chiffrement asymétrique? :: Clé publique et clé privée Quel est l'outil utilisé dans la démonstration? :: GnuGPG Que signifie CA? :: Certificate Authority (Autorité de Certification) Quel type de certificat offre la validation la plus forte? :: EV (Extended Validation) Quel est le délai typique d'obtention d'un certificat OV? :: De 2 à 5 jours Où se trouvent les clés générées par GnuPG pour un utilisateur? :: Dans le dossier caché .gnupg de l'utilisateur Quel site est cité pour obtenir des certificats gratuits? :: Let's Encrypt Que vérifie-on pour confirmer qu'un message a été correctement déchiffré? :: On ouvre le fichier déchiffré et on lit le message en clair Pourquoi un certificat auto-signé n'est-il pas équivalent à un certificat CA? :: Il n'est pas reconnu par les autorités de certification et donc pas considéré comme tel par les navigateurs/clients