Bases et applications de la cryptographie
Lors de la validation d'un certificat TLS, le client vérifie non seulement la chaîne de signatures et la période de validité, mais aussi que le nom d'hôte auquel il se connecte figure dans le SAN (subject alternative name) du certificat. Pourquoi cette vérification est-elle indispensable ?
- AUn attaquant peut lui aussi obtenir d'une autorité de certification de confiance un certificat légitime pour un autre nom de domaine qu'il possède
- BSans vérification du nom d'hôte, la communication ne serait pas chiffrée du tout
- CUn certificat dont le nom d'hôte ne correspond pas a toujours une chaîne de signatures rompue quelque part, si bien qu'il ne passerait de toute façon pas la validation
Afficher la réponse et l'explication
Réponse : A. Un attaquant peut lui aussi obtenir d'une autorité de certification de confiance un certificat légitime pour un autre nom de domaine qu'il possède
Même si les signatures d'un certificat sont valides et qu'il n'a pas expiré, cela n'a aucun sens si l'on ne vérifie pas pour quel nom de domaine il a été émis. Un attaquant peut obtenir un certificat légitime pour un nom de domaine qu'il possède en montrant simplement qu'il contrôle ce domaine. Un client qui ne vérifie pas le nom d'hôte prendra donc pour authentique un faux serveur présentant ce certificat. Dans les programmes qui utilisent TLS par eux-mêmes, l'erreur consistant à fonctionner avec la vérification du nom d'hôte désactivée est une cause bien connue de vulnérabilités.
Continuer : 9 autres questions sur Bases et applications de la cryptographie