web-dev-qa-db-fra.com

À quelles autorités de certification racine de confiance dois-je faire confiance?

Après deux articles récents de Slashdot ( # 1 # 2 ) sur les certificats racine douteux installés sur les machines, j'ai décidé de regarder de plus près ce que j'ai installé sur mes machines.
(J'utilise les versions actuelles de Chrome sur Win7, que je comprends utilise la liste Windows des autorités de certification)

Ce que j'ai trouvé m'a vraiment surpris.

  • Deux machines relativement propres avaient des listes de CA très différentes.
  • Chacun avait un certain nombre de CA qui avaient expiré en 1999 et 2004!
  • L'identité de bon nombre des autorités de certification n'est pas facile à comprendre.

J'ai également vu que de nombreux certificats expirent en 2037, peu de temps avant le basculement UNIX, probablement pour éviter tout bogue de type Y2K38 actuellement inconnu. Mais d'autres certificats sont bons pour beaucoup plus longtemps.

J'ai cherché autour, mais, de façon assez surprenante, je n'ai pas pu trouver une liste canonique des AC généralement acceptées.

  • Si j'avais un certificat de voyous MITM sur ma machine, comment le saurais-je?
  • Existe-t-il une liste de certificats "acceptés"?
  • Suis-je en sécurité pour supprimer les autorités de certification expirées?
  • Puis-je savoir si/quand j'ai jamais utilisé une autorité de certification pour HTTPS?
26
abelenky

Tout ou aucun.

Le paradigme de confiance CA à racine unique dont nous avons hérité des années 90 est presque entièrement cassé.

Les navigateurs Vanilla n'effectuent pas de suivi ni d'alerte si l'autorité de certification qui sauvegarde un certificat SSL de site a changé, si l'ancienne et la nouvelle autorité de certification sont reconnues par le navigateur1. Comme l'ordinateur moyen fait confiance à plus d'une centaine de certificats racine de plusieurs dizaines d'organisations2 - qui sont tous traités sur un pied d'égalité - toute autorité de certification violée, paresseuse ou immorale peut saper n'importe quel navigateur n'importe où.

Le problème est aggravé par le fait que presque toutes les autorités de certification ne sont pas démocratiquement responsables envers vous (c'est-à-dire les entreprises privées ou les gouvernements étrangers) et ont peu ou pas de réglementation légalement appliquée sur leur conduite au jour le jour. Les responsables des listes d'autorités de certification (Microsoft, Apple, Google, Mozilla, Oracle, etc.) n'ont pas les ressources, l'autorité légale ou l'envie d'auditer la conduite interne des autorités de certification.

L'énigme épistémologique de qui et en quoi avons-nous réellement confiance, qui a été introduite par un kludge de confiance Netscape des années 19903, nécessitera une refonte coûteuse pour être résolue. Ce que je ne vois pas se produire de ce côté d'une cyberguerre menacée ou réelle.


Donc.

  • Si votre ordinateur (par exemple, un serveur) ne parle pas à des sources inconnues ou ad hoc - exécutez votre trafic HTTPS via un proxy avec une liste explicite de certificats de nœud feuille de confiance et aucun certificat racine.
  • Pour les ordinateurs normaux qui naviguent sur Internet et mettent à jour des dizaines d'applications en arrière-plan, faites-leur simplement confiance et suivez à la place d'autres principes de sécurité pour protéger votre ordinateur.

1. Les services et les frameworks back-end n'ont pas pu utilement inciter au changement de toute façon; car ils manquent souvent d'interaction avec l'utilisateur et doivent fournir un fonctionnement transparent.
2. Voir les listes Firefox ou iOS CA par exemple.
3. Quoi qu'il en soit, je n'ai pas pu retrouver un article Web fascinant sur la façon dont les développeurs de Netscape ont introduit le paradigme actuel de l'autorité de certification racine comme correctif rapide pour les attaques théoriques de l'homme au milieu pour le commerce électronique encore hypothétique. La sécurité numérique est difficile; et les gueules de bois de la guerre froide et l'analphabétisme législatif du début des années 90 n'ont pas aidé.

20
LateralFractal

En le considérant sous l'angle du risque et des probabilités, vous pouvez faire confiance à chacun d'eux individuellement, mais vous ne pouvez pas tous les faire confiance collectivement. Si vous deviez avoir 100 CA et que chacun a une probabilité de 98% de pouvoir leur faire confiance, vous vous retrouverez avec une probabilité de 13% que vous puissiez avoir confiance en eux (1 - (1-p) ^ N) .

Les fournisseurs de navigateurs pourraient facilement résoudre le problème en fournissant une API d'informations de certificat aux plug-ins b.t.w. Il existe un signe révélateur d'attaques MITM sur SSL: les modifications prématurées du certificat avec une autorité de certification indépendante. Si les fournisseurs de navigateurs permettaient aux plug-ins de les détecter, le niveau de confiance pour la sécurité basée sur l'AC augmenterait considérablement.

8
user1703394

Les autres réponses sont pleines de sagesse.

Je voulais juste souligner l'extension Firefox appelée Cert Patrol . Il ne résout pas le problème de confiance, mais il aide à détecter les écarts entre les certificats.

En fin de compte, votre navigateur peut faire confiance à de nombreuses autorités de certification, mais vous n'avez pas à le faire: si vous voyez une "mise à jour" de certificat qui semble louche, faites demi-tour avant d'entrer un mot de passe.

En outre, quelqu'un doit se lier à la demande certificat racine de Honest Achmed . C'est un commentaire hilarant, bien que triste, sur l'écosystème de l'AC tel qu'il est en ce moment.

4
executifs

Vous pouvez certainement supprimer les certificats expirés, et vraiment n'importe lequel, de toute autorité de certification que vous ne connaissez pas ou en laquelle vous n'avez pas personnellement confiance. Le principal effet serait que si vous surfez sur un site authentifié par l'un des certificats que vous avez supprimés, votre navigateur ne fera pas confiance au site.

Si vous supprimez un certificat qui signe les mises à jour logicielles, en particulier celles des extensions que vous avez installées dans Chrome, ces mises à jour échoueront.

AFAIK il n'y a pas de liste d'AC à 100% universellement acceptée. Les fournisseurs de navigateurs et les fournisseurs de systèmes d'exploitation prennent leurs propres décisions quant aux certificats racine auxquels faire confiance; certains peuvent être davantage basés sur le marketing que sur la confiance réelle.

2
John Deters