web-dev-qa-db-fra.com

Pourquoi les navigateurs ne vérifient-ils pas les enregistrements CAA pour s'assurer qu'un certificat est valide?

Si je comprends bien, les enregistrements DNS d'autorisation de l'autorité de certification sont utilisés pour spécifier les autorités de certification autorisées à émettre des certificats pour un domaine donné. Si cet enregistrement existe et qu'aucune autorité de certification n'y figure, cette autorité de certification doit refuser d'émettre un certificat pour le domaine.

Cependant, cela ne semble pas protéger contre les vulnérabilités de l'AC. Si une autorité de confiance n'implémente pas correctement CAA ou si les clés privées d'une autorité sont violées, alors CAA n'aide pas.

Ma question est la suivante: pourquoi les navigateurs ne vérifient-ils pas les enregistrements CAA? Si le certificat donné n'était pas délivré par une autorité de certification autorisée dans le dossier, il considérerait le certificat non valide. Cela augmenterait considérablement la sécurité en réduisant la liste des autorités de certification qui doivent être approuvées uniquement à celles que le propriétaire du site Web choisit de faire confiance.

Je comprends que HPKP est également utilisé pour éviter les mauvais certificats. Cependant, il ne fonctionne qu'avec HTTP et il nécessite soit l'approbation du premier certificat reçu pour un site, soit l'approbation d'une liste de préchargement tierce.

Est-ce donc quelque chose que les navigateurs pourraient implémenter, ou ai-je oublié quelque chose ici?

19
FlyingPiMonster

Je viens de trouver la réponse dans RFC 6844 , enregistrement de ressource d'autorisation de l'autorité de certification DNS (CAA):

Un ensemble d'enregistrements CAA ne décrit que les octrois d'autorité actuels pour émettre des certificats pour le domaine DNS correspondant. Puisqu'un certificat est généralement valide pendant au moins un an, il est possible qu'un certificat qui n'est pas conforme aux enregistrements CAA actuellement publiés soit conforme aux enregistrements CAA publiés au moment de l'émission du certificat. Les applications de confiance NE DOIVENT PAS utiliser les enregistrements CAA dans le cadre de la validation du certificat. [c'est moi qui souligne]

Fondamentalement, le but de CAA n'est pas de décrire les certificats actuellement valides pour un domaine. Si un certificat est émis lorsque l'autorité de certification figure dans l'enregistrement et que l'enregistrement est supprimé ultérieurement, le certificat doit rester valide jusqu'à son expiration (ou sa révocation).

La validation des certificats dans le navigateur (ou l'application de confiance) via DNS semble être l'objectif de DANE, ou l'authentification basée sur DNS des entités nommées, spécifiée dans RFC 6698 . Malheureusement, DANE n'est pas largement implémenté.

24
FlyingPiMonster