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 ?

  1. 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
  2. BSans vérification du nom d'hôte, la communication ne serait pas chiffrée du tout
  3. 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.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases et applications de la cryptographie

  1. Quelle description du mécanisme de Certificate Transparency (CT) est correcte ?
  2. Quelle affirmation décrit correctement un changement de TLS 1.3 (RFC 8446) par rapport à TLS 1.2 ?
  3. Quelle combinaison indique correctement ce que spécifie la suite cryptographique TLS_AES_128_GCM_SHA256 de TLS 1.3 ?
  4. Quelle mise en garde concernant le 0-RTT de TLS 1.3 (envoi de « données précoces » (early data) avec le premier message, à l'aide d'une clé pré-partagée obtenue lors d'une connexion antérieure) est correcte ?
  5. Quelle affirmation sur le TLS mutuel (mTLS) est correcte ?