Sécu­rité sur le web avec HTTPS ? des clous !


Le problème commence à être connu et il est malheu­reu­se­ment non résolu : Tout le modèle de sécu­ri­sa­tion des sites web par HTTPS (chif­frage SSL/TLS) est à revoir.

Il était déjà bancal dès le départ en instau­rant des auto­ri­tés de confiance qui n’ont qu’un rôle de rentier et qui taxent tous les utili­sa­teurs, mais leur multi­pli­ca­tion et leur manque de sécu­ri­sa­tion rend tota­le­ment vide de sens la sécu­rité du système.

En fait c’est assez simple :

  • Nous avons au grand mini­mum une compro­mis­sion d’au­to­rité de certi­fi­ca­tion par mois, et chacune permet d’usur­per n’im­porte quel site auprès de n’im­porte quel navi­ga­teur.
  • Certaines auto­ri­tés sont contrô­lées par ou en colla­bo­ra­tion avec des états, y compris auto­ri­taires ou non démo­cra­tiques, ces états ayant alors la capa­cité d’es­pion­ner ou d’in­ter­cep­ter les commu­ni­ca­tions chif­frées vers n’im­porte quel site sans que cela ne se voit.
  • L’opa­cité totale des auto­ri­tés de certi­fi­ca­tion rend impos­sible de connaître la plupart des dégâts ou des risques en jeu.

Il est d’ailleurs impor­tant de noter qu’on ne parle pas de ques­tions théo­riques mais de procé­dés concrets qui ont été mis en jeu. On parle de certi­fi­cats illé­gi­times au nom de Google, de Yahoo ou de banques qui ont été émis pour trom­per les navi­ga­teurs, et de maté­riels qui sont réali­sés pour inter­cep­ter et espion­ner les commu­ni­ca­tions TLS pour qui (états) a des certi­fi­cats maitres à sa dispo­si­tion.

Le fait même d’avoir mis en place un système centra­lisé me semble avoir été une erreur énorme, mais il est temps d’ar­rê­ter les frais. Il est plus que temps de passer à un modèle décen­tra­lisé qui n’aura pas toutes les quali­tés théo­riques du modèle actuel, mais qui ne sera pas autant troué. Cela demande toute­fois que les états acceptent de ne plus être en capa­cité de contrô­ler ce qu’il se passe, même indi­rec­te­ment. Mon côté para­noïaque m’en fait douter.

Entre temps, sur Mozilla Fire­fox vous permet d’ini­tier le mouve­ment à l’aide de quelques exten­sions.


8 réponses à “Sécu­rité sur le web avec HTTPS ? des clous !”

  1. En même temps, à la réflexion, je me demande si on a raison, comme je le lis ici et là, de penser que la logique du web c’est la décentralisation.
    En termes de réseau, oui, sans doute. Mais par exemple pour les DNS, il faut bien accepter des « autorités », avec ce que ça comporte de centralisation et de normalisation des autorités.
    (réflexion embryonnaire que je livre en passant)

  2. Le problème de la centralisation c’est le risque de dérive ou de casse. Maintenant tant que ça ne dérive pas et ne casse pas ça semble forcément plus joli :) Les autorités TLS sont fortement cassées, les DNS pas encore à ce point.

    La problématique du DNS elle-même est encore irrésolue sur le moment, il y a des enjeux assez contradictoires. Pour l’instant on voit cette centralisation comme un avantage parce que le noeud central est neutre, en ayant subit peu de problèmes, et qu’on a de fait une première décentralisation avec une extension par pays.
    Maintenant si demain les États Unis commencent à user de décisions de justice pour imposer des conditions sur le noeud central on va vite déchanter. Même chose si la France se met à imposer des délires administratifs pour interdire les sites qui ne plaisent pas, ou si un pays plus prude interdit les noms de domaines pour les sites érotiques, etc.

    Maintenant il y a aussi des enjeux différents parce que les DNS sont un annuaire technique alors que les autorités TLS sont là pour marquer de la confiance. De la technique ça peut se centraliser (avec tout de même des risques), la confiance n’a jamais été centralisée par contre, c’est une vue de l’esprit.

  3. J’ai un petit reproche à faire à ton « c’est assez simple » : dans les deux cas, en plus du certificat bidon, il faut au minimum corrompre les informations DNS pour l’utilisateur, et au maximum intercepter tout le trafic réseau.

    Je l’aurais plutôt tourné dans le sens inverse, repartir d’Alice et Bob : l’encryption asymétrique ça marche parce que Bob a donné à un moment à Alice sa clef publique, et Alice est sûr de Bob et de celle-ci. Le problème sur le web (grosso-modo) est le suivant : que faire quand Alice ne connaît pas bien Bob ? Avec HTTPS, ce qui est proposé c’est qu’Alice parle à une adresse qui normalement mène à Bob, et dans la réponse, on trouve le sous-entendu « je suis Bob » et sa clef publique. HTTPS ne lève pas ce sous-entendu « je suis Bob », qui est difficilement vérifiable à l’heure actuelle (déjà car DNS et pas DNSSEC, mais même comme ça, ça ne résoud pas l’interception complète du trafic), et par contre est capable de dire avec une quasi-certitude : cette clef publique est in fine issue des données gérées par cette entreprise commerciale dite « autorité de confiance ».

    Voilà, dit comme ça, je trouve que c’est plus simple et on voit tout de suite les failles :-) Mais bon, c’est personnel :-)

    • Non, je confirme, c’est assez simple.

      Tu te connectes comment à Internet ?

      – à l’école / université ? il y a une passerelle Internet, souvent gérée par les étudiants eux même d’ailleurs.

      – En entreprise ? même chose, sauf que là c’est l’administrateur et l’employeur qui peuvent intercepter (et ils ne s’en privent souvent pas, il existe des solutions toutes faites pour intercepter le SSL justement à destination des réseaux entreprise). Même sans ça, combien de boîtes ont des routeurs avec une politique de mots de passe ou de mise à jour défaillante (j’ai été chez plusieurs très très grosses boites et opérateurs, j’ai vu des vrais problèmes à ce niveau, ce n’est pas de l’hypothétique)

      – Dehors via WIFI public et autres réseau Free/SFR/FON ? Aie, ton réseau peut être écouté, probablement. Écouté et probablement même faussé (un faux réseau Freebox)

      – Chez toi via WIFI ? Combien d’entre nous ont une box Internet qui n’a pas un réseau WIFI assez sûr ? Combien ont un équipement réseau/routeur avec les mots de passe par défaut ?

      – Par 3G ? tu as vu les faux réseaux de téléphonie montés par l’État avec de simples mallettes pendant les manifestations ? Tu as vu la sécurité des femtocell qui te permettent d’étendre/créer un réseau ?

      – Chez toi, par cable, via un modem/routeur que tu contrôles, qui est à jour de son firmware, sans faille connue, avec un mot de passe changé et sûr … déjà on ne parle plus que d’une poignée de personnes ….

      Dans ce dernier cas, il reste encore :

      – Des failles existantes pour empoisonner le DNS de ton FAI ou de ton navigateur (difficiles à exploiter mais possibles)

      – Des FAI qui peuvent être la source de filtrages et ou écoutes (c’est encore pas mal paranoiaque mais ça le devient de moins en moins, recherches par exemple « carnivore » sur wikipedia dans la catégorie logicielle)

      – Des États qui peuvent intercepter en entrée/sortie tout le réseau (facebook qui s’était pas intercepté par je ne sais plus quel pays au moment des révolutions arabes)

      – Des interceptions techniquement possible par n’importe quel gros acteur réseau : transit, peering, cloud, etc.

      Alors oui, ta grand mère a peu de moyens d’intercepter tes communications et d’exploiter le problème de la chaîne de confiance, mais on est très loin d’avoir une chaîne efficace pour nous protéger des dangers réels et existants actuellement.

    • Dans tous les cas que tu cites, il n’y a pas d’interception possible si tu connais la clef publique de là où tu vas au préalable. C’est le point de base. C’est ça que je te reproche de ne pas dire explicitement :-)

    • Oui, ce qui gêne ce n’est pas le système TLS ou même le système de certificat, ce qui gêne c’est la chaîne de confiance à l’aide des autorités tierces.

      Si tu connais l’empreinte au préalable, ou si tu arrives à la faire certifier par un moyen plus efficace que le système actuel, tout fonctionne bien.

      Si ce n’était pas explicite, maintenant ça l’est.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.