Chapitre 11 (suite) — PKI & Attaques Cryptographiques
⏱ ~25 min autonome · ~40 min encadré
La cryptographie asymétrique résout la distribution des clés, mais soulève une nouvelle question : comment savoir qu'une clé publique appartient réellement à qui elle prétend ? La PKI apporte la réponse structurelle à cette question de confiance.
- Expliquer le rôle d'une autorité de certification dans une chaîne de confiance.
- Décrire le fonctionnement simplifié de TLS/SSL pour sécuriser une connexion web.
- Distinguer attaque par force brute et attaque par dictionnaire appliquées à la cryptographie.
Autorités de certification (CA)
Une autorité de certification est un tiers de confiance qui vérifie l'identité d'une entité (une organisation, un site web) avant d'émettre un certificat liant cette identité à une clé publique. La confiance ne repose pas sur la vérification individuelle de chaque site par chaque utilisateur — elle repose sur la confiance préalable envers un petit nombre de CA, dont les certificats racines sont préinstallés dans les navigateurs et systèmes d'exploitation.
Certificats numériques et chaîne de confiance
Un certificat numérique contient la clé publique de l'entité, son identité vérifiée, et la signature numérique de la CA qui l'a émis. Cette signature crée une chaîne de confiance : le navigateur fait confiance au certificat parce qu'il fait confiance à la CA qui l'a signé, elle-même souvent validée par une CA racine encore plus haut dans la hiérarchie.
TLS/SSL — fonctionnement simplifié
Lors de l'établissement d'une connexion HTTPS, le serveur présente son certificat ; le client vérifie la chaîne de confiance jusqu'à une CA racine reconnue, puis les deux parties utilisent la cryptographie asymétrique pour négocier une clé de session symétrique (voir 11.1), qui chiffrera ensuite l'ensemble des échanges de la session pour un gain de performance.
Attaques par force brute et par dictionnaire
Les mêmes principes vus au Chapitre 6 pour les mots de passe s'appliquent plus largement aux clés cryptographiques : une attaque par force brute teste systématiquement toutes les clés possibles (praticable uniquement contre des clés trop courtes selon les standards actuels), une attaque par dictionnaire teste des clés ou phrases de passe probables plutôt que l'espace complet des possibilités.
Faiblesses d'implémentation courantes
La théorie mathématique d'un algorithme moderne (AES, RSA bien dimensionné) est rarement le point faible réel — ce sont presque toujours des erreurs d'implémentation qui ouvrent la porte : une génération de nombres aléatoires prévisible (les clés générées ne sont alors pas réellement aléatoires), une clé codée en dur dans le code source, ou l'utilisation persistante d'un algorithme obsolète (MD5, SHA-1, ou pire, l'absence totale de chiffrement) par simple compatibilité historique non révisée.