Comment les navigateurs gèrent-ils le SSL révoqué /TLS Des certificats?

Détails des programmes de navigation actuels pour vérifier l'état de révocation de SSL /TLS certificats, y compris un test multi-navigateurs.

Introduction

Vérification de l'état de révocation de SSL /TLS certificats présentés par HTTPS les sites Web constituent un problème permanent de sécurité Web. Sauf si un serveur est configuré pour utiliser Agrafage OCSP, le contrôle de révocation en ligne par les navigateurs Web est à la fois lent et compromettant la confidentialité. Étant donné que les requêtes OCSP en ligne échouent si souvent et sont impossibles dans certaines situations (comme avec les portails captifs), les navigateurs implémentent généralement la vérification OCSP en mode «soft-fail», ce qui la rend inefficace pour dissuader un attaquant déterminé. (Pour un historique plus complet de ce problème, veuillez lire l'article de SSL.com, Optimisation du chargement des pages: agrafage OCSP).

Pour ces raisons, les navigateurs Web ont mis en œuvre une gamme de solutions pour réduire ou éliminer le besoin de vérification de révocation en ligne. Les détails exacts varient selon les fournisseurs, mais ces solutions impliquent généralement la collecte des listes de certificats révoqués auprès des autorités de certification (CA) et leur transfert vers les navigateurs.

Cet article fournit des résumés de haut niveau des stratégies de vérification de validation utilisées par les principaux navigateurs de bureau (Chrome, Firefox, Safariet Edge) et compare les réponses de ces navigateurs à un échantillon certificats révoqués hébergé par SSL.com.

Pour des exemples de messages d'erreur de navigateur résultant de certificats révoqués, veuillez vous référer à . Vous pouvez vérifier l'état de révocation d'un certificat à l'adresse certificat.revocationcheck.com

Google Chrome

Chrome s'appuie sur Ensembles CRL pour vérification de révocation. Un CRLSet est simplement une liste de certificats révoqués qui est envoyée au navigateur en tant que mise à jour logicielle. Selon le Site Web de Chromium Projects, les processus par lesquels Google génère les CRLSets sont propriétaires, mais aussi que

Les CRLSets… sont avant tout un moyen par lequel Chrome peut bloquer rapidement les certificats dans les situations d'urgence. En tant que fonction secondaire, ils peuvent également contenir un certain nombre de révocations non urgentes. Ces dernières révocations sont obtenues en explorant les CRL publiées par les autorités de certification.

La déclaration ci-dessus indique qu'au moins quelques Les certificats d'entité finale révoqués de faible priorité pourraient se retrouver dans les CRLSets, mais qu'ils ne constituent qu'une considération secondaire.

Vous pouvez vérifier la version de CRLSet actuellement installée dans une instance de Chrome en accédant à chrome://components/:

Version CRLSet

Remarque: Le navigateur Opera basé sur Chromium utilise également des CRLsets pour la vérification de la révocation. Vous pouvez vérifier la version installée en accédant à opera://components. Comme indiqué ci-dessous, la version actuelle du navigateur Edge de Microsoft est également basée sur Chromium et utilise CRLSets.

Il n'est actuellement pas possible de configurer directement Chrome pour effectuer des requêtes de validité de certificat en ligne. Cependant, selon le système d'exploitation, ces vérifications peuvent être effectuées par la bibliothèque de certificats sous-jacente utilisée par le système d'exploitation. (Comme on peut le voir ci-dessous dans les résultats de tests de navigateur limités, nous avons constaté que les installations de Chrome avec le même numéro de version et CRLSet répondaient en fait à deux certificats révoqués différemment sous Windows par rapport à macOS.)


Mozilla Firefox

Comme Google, Mozilla gère une liste centralisée de certificats révoqués, appelée UneCRL. OneCRL est une liste de certificats intermédiaires qui ont été révoqués par les autorités de certification dans le programme racine de Mozilla et qui sont transmis aux utilisateurs de Firefox dans les mises à jour d'applications. Concernant les certificats d'entité finale, Mozilla plan de révocation note que «À l'avenir, une fois que l'implémentation initiale fonctionnera, nous pourrions envisager de couvrir les certificats EE avec OneCRL, éventuellement en nous concentrant initialement sur des classes spécifiques (par exemple, les certificats EV).

OneCRL peut être téléchargé en tant qu'objet JSON iciou vue comme une page Web sur crt.sh.

Contrairement à Chrome, les paramètres par défaut de Firefox demandent également aux répondeurs OCSP de confirmer la validité de SSL /TLS certificats. (Vous pouvez modifier ce paramètre dans les préférences de sécurité de Firefox.)

Interroger les serveurs répondeurs OCSP

Cependant, étant donné que les échecs de requête OCSP sont si courants, Firefox (comme les autres navigateurs) implémente une politique de «soft-fail». Si vous le souhaitez, vous pouvez exiger une vérification OCSP stricte en accédant à about:config et basculer security.OCSP.require à true.


Apple Safari

L'approche actuelle d'Apple en matière de révocation est couverte par Bailey Basile dans son discours sur la WWDC 2017, Vos applications et l'évolution des normes de sécurité réseau. Apple recueille des informations de révocation de certificat auprès des autorités de certification qui sont fiables sur ses appareils et les regroupe dans un seul ensemble qui est périodiquement récupéré par le logiciel client d'Apple (cela ressemble à un plan familier encore?).

Lorsqu'une application cliente rencontre un certificat affiché dans la liste d'Apple, elle effectue une vérification OCSP pour confirmer que le certificat est en fait révoqué (à moins que le serveur ne fournisse une réponse OCSP agrafée). Notez que les contrôles OCSP en ligne ne sont effectués que dans le cas de certificats que Apple pense déjà révoqués; les certificats qui ne sont pas répertoriés dans l'offre groupée récupérée auprès d'Apple ne sont pas vérifiés.

Un lien vers la liste de révocation d'Apple et le code pour son analyse est disponible ici.


Microsoft Edge

Windows conserve une liste des certificats révoqués ou mis sur liste noire dans un fichier appelé disallowedcert.stl. Ce entrée de blog fournit des informations sur le vidage du contenu du fichier avec PowerShell. crt.sh fournit également des informations pour savoir si un certificat particulier est répertorié dans disallowedcert.stl.

Comme Firefox, Windows est configuré pour vérifier la révocation des certificats par défaut. Ce paramètre peut être affiché et modifié dans le Propriétés Internet Panneau de configuration:

Cependant, la version actuelle (basée sur Chromium) d'Edge, comme Chrome, repose sur les CRLSets pour la vérification de la révocation et apparaît à partir de nos tests. ci-dessous pour être indépendant des paramètres de vérification de révocation dans les propriétés Internet. (Remarque: Dans une version précédente de ces tests, réalisée en septembre 2019, Internet Explorer et une version pré-Chromium d'Edge fait suivez ces paramètres dans Propriétés Internet.)


Variation entre les navigateurs

Puisque SSL.com maintient un groupe de serveurs Web hébergeant des exemples de certificats révoqués, nous avons décidé de les tester sur une gamme de navigateurs de bureau.Ce petit test pas très scientifique a été réalisé le 23 février 2020. Les navigateurs utilisés étaient:

  • Chrome 88.0.4324.182, version CRLSet 6444 (macOS 10.15.7)
  • Chrome 88.0.4324.182, CRLSet version 6444 (Windows 10 Professionnel)
  • Edge 88.0.705.74, CRLSet version 6444 (Windows 10 Entreprise)
  • Firefox 86.0 - Requêtes OCSP sur (macOS 10.15.7)
  • Firefox 86.0 - Requêtes OCSP désactivées (macOS 10.15.7)
  • Safari 14.0.3 (macOS 10.15.1)

En outre, nous avons testé Chrome et Edge dans Windows avec la vérification de révocation en ligne désactivée dans le panneau de configuration des propriétés Internet, et (pour Chrome, Firefox et Edge) vérifié si le certificat pertinent était répertorié comme révoqué avec un programme de navigateur particulier dans crt.sh.

  Chrome (mac OS) Chrome (Windows) Bord (Windows) Firefox (Mac) (OCSP activé) Firefox (Mac) (OCSP désactivé) Safari (Mac)
révoqué-rsa-dv.ssl.com Révoqué Non révoqué Non révoqué Révoqué Non révoqué Révoqué
révoqué-rsa-ev.ssl.com Révoqué Révoqué Révoqué Révoqué Non révoqué Révoqué
révoqué-ecc-dv.ssl.com Révoqué Non révoqué Non révoqué Révoqué Non révoqué Révoqué
révoqué-ecc-ev.ssl.com Révoqué Révoqué Révoqué Révoqué Non révoqué Révoqué

Discussion des résultats

Chrome: Sous Windows, Chrome n'affichait pas correctement deux des certificats révoqués (révoqué-rsa-dv.ssl.com et révoqué-ecc-dv.ssl.com) comme valides et les autres comme révoquées. La désactivation de la vérification de validation dans le système d'exploitation n'a pas modifié cette réponse. Fait intéressant, aucun des quatre certificats n'a été montré comme révoqué dans CRLSet dans crt.sh au moment du test, en suggérant d'autres questions sur les processus de vérification de la révocation de Chrome. Sur macOS, Chrome a correctement montré les quatre certificats comme révoqués, illustrant les différences de comportement de Chrome basées sur la plate-forme.

Bord: La version actuelle (basée sur Chromium) d'Edge reflète Chrome dans l'affichage révoqué-rsa-dv.ssl.com et révoqué-ecc-dv.ssl.com comme valide. Comme Chrome, Edge a montré les mêmes résultats, que la vérification de validation soit activée ou non dans le système d'exploitation. Aucun des quatre certificats ne figurait dans la liste disallowedcert.stl on crt.sh.

Firefox: Comme on pouvait s'y attendre de la focalisation déclarée de OneCRL sur les certificats intermédiaires, Firefox a uniquement reconnu les quatre certificats comme révoqués avec les requêtes OCSP activées dans les préférences du navigateur, mais a accepté les quatre comme valides si les requêtes OCSP étaient désactivées. (Remarque: Ces quatre certificats d'entité finale révoqués ont tous été émis par des intermédiaires valides non révoqués.) Comme pour Chrome, crt.sh ne montre aucun des certificats révoqués dans OneCRL.

Safari: Safari sur macOS a correctement reconnu les quatre certificats comme révoqués. crt.sh n'affiche pas les informations de révocation d'Apple et nous n'avons pas vérifié si ces certificats particuliers sont répertoriés comme révoqués par Apple.

Conclusion

Les résultats semblent indiquer que la révocation est toujours un problème problématique pour les navigateurs Web de bureau (les appareils mobiles représentent un tout autre monde, mais c'est un sujet pour un autre article). L'activation de la vérification OCSP en ligne (lente, non sécurisée) était nécessaire pour reconnaître les certificats comme révoqués dans Firefox, tandis que Chrome et Edge ne reconnaissaient pas deux certificats révoqués sous Windows, que la vérification de révocation soit activée ou non dans le système d'exploitation.

Pour les propriétaires de sites Web, il semble sage de supposer que les divers programmes de navigation se concentrent sur les incidents de haute priorité / d'urgence tels que les certificats CA racine et intermédiaires révoqués, et que les révocations de certificats d'entité finale de type jardin risquent de passer inaperçues pour un période indéfinie. Pour cette raison, la mise en œuvre Agrafage OCSP et incontournable semble être le moyen le plus privé, le plus sûr et le plus efficace de garantir que les utilisateurs finaux reçoivent des informations précises sur la révocation des certificats d'entité finale.

 

SSL.com fournit une grande variété de SSL /TLS certificats de serveur pour les sites Web HTTPS.

COMPARER SSL /TLS CERTIFICATS

Abonnez-vous à la newsletter SSL.com

Ne manquez pas les nouveaux articles et mises à jour de SSL.com

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.