Comments on Le HTTPS, c'est de la merde en boîte

Ruxor (2010-05-26T14:10:10Z)

Diffie-Hellman ne protège pas contre le man-in-the-middle, en effet. Mais les attaques man-in-the-middle sont beaucoup plus improbables dans la réalité que les attaques par écoute passive. Ma théorie, puisque je ne l'ai apparemment pas exprimée assez clairement, est qu'on aurait une bonne sécurité en utilisant une combinaison de :
* DNS pour hiérarchiser des clés servant uniquement à authentifier le domaine,
* réseau de confiance et moteurs de recherche pour certifier l'honnêteté et la bonne renommée des acteurs derrière les sites,
* Diffie-Hellman pour protéger contre les attaques par écoute passive,
* retenir les clés de la visite précédente (et arrêter de les changer à tout propos !) + les points précédents, pour se prémunir _relativement_ contre les attaques man-in-the-middle.
Plus, évidemment, éduquer les utilisateurs et notamment les Madames Michu, parce que ce sont eux le maillon faible dans la plupart des cas.

xavier (2010-05-26T11:08:58Z)

Diffie-Hellman ne résiste par contre par à une attaque du type man-in-the-middle…ou je me trompe?

ivo (2010-05-22T09:41:05Z)

Merci pour tes explications Ruxor. Cet algorithme est tellement simple à mettre en œuvre. Magique et merveilleux pour moi aussi. Un peu comme un bon tour de magie.

Ruxor (2010-05-21T17:58:10Z)

ivo → Le choix du nombre premier (et de l'élément primitif g) peut très bien être prédéfini (il n'y a pas d'objection particulière à réutiliser toujours le même), donc il peut être spécifié par le protocole utilisé ; ou bien ça pourrait être le premier interlocuteur qui choisit ces paramètres, et les communique à l'autre (ils n'ont rien de secret, donc ils peuvent passer en clair). Le nombre premier doit seulement être assez grand pour que le secret partagé que les interlocuteurs obtiendront soit de taille suffisante pour faire ce qu'on a envie d'en faire ensuite.

(Je dois dire que Diffie-Hellman, ça a toujours été à mes yeux le truc basique le plus magique et merveilleux de la crypto : Alice et Bob ne se connaissent pas a priori, ils communiquent par un canal sur lequel Ève entend tout, et ils arrivent à fabriquer une information que Ève ne peut pas connaître, même en ayant espionné tout ce qu'Alice et Bob se sont dit.)

ivo (2010-05-21T12:23:31Z)

Le m. michu que je suis a regardé ce que dit wikipedia sur ce systeme diffie-hellman, avant de sombrer dans le flou.
Je vois que ce système repose sur une sorte d'astuce toute mathématique, bon très bien, mais dans un exemple plutôt facile à voir qui est donné, il faut choisir un nombre premier au hasard je pense, mais partagé entre les 2 interlocuteurs (23 dans l'exemple). Comment font les deux interlocuteurs pour choisir le même?
Si j'ai bien compris, je ne dois faire confiance au https que si je suis sûr que le site auquel je suis connecté est bien celui que je veux, et non une sorte de copie? C'est ça?

Conscrit neuneu (2010-05-20T22:33:11Z)

Notamment voire ce que dit Peter Gutmann dans son godzilla crypto tutorial sur les PKI et X509 ça vaut le détour

<URL: http://www.cs.auckland.ac.nz/~pgut001/tutorial/index.html >

Conscrit neuneu (2010-05-20T21:28:36Z)

Avec SSL généralement la clef fournie dans le certificat sert uniquement à signer un échange de clef par diffie-hellman, mais ça dépend des réglages. Pour la couche SSL le certificat est juste une chaine de caractères et laisse à l'implémentation plus haute le soin de vérifier éventuellement des choses. Mais je ne fais que paraphraser en moins bien ce que tu as dit au début de l'entrée.

Ruxor (2010-05-20T11:10:44Z)

Koko90 → Ça ne marcherait pas parce que ça obligerait tout site Web à choisir entre se faire certifier par cette nouvelle autorité OU (exclusif) se faire certifier par une autre. Aucune possibilité de faire les deux (pour plaire aux utilisateurs ne reconnaissant que cette nouvelle autorité ou ceux ne reconnaissant que les anciennes), c'est bien ça qui est irrémédiablement crétin avec SSL.

Koko90 (2010-05-20T07:49:25Z)

Si si, ça fonctionnerait. Pas pour madame Michu (qui est satisfaite dés qu'il y a le petit verrou dans la barre d'URL) mais pour l'utilisateur qui déciderait que la seule autorité valable est cette nouvelle autorité. Évidemment ça passerait pas un petit ajustement dans la configuration du navigateur (mais si ça se développe bien, ça sera juste une case à cocher dans Firefox, voir le choix par défaut après quelques années de bons et loyaux services).

L'idée n'étant pas tant d'accepter une nouvelle autorité que de refuser toutes les anciennes…

Ruxor (2010-05-19T21:56:07Z)

Al → Les certificats EV sont sans doute une idée dans la bonne direction, mais ils continuent le modèle (imposé par SSL, donc par HTTPS) où on est certifié par *une seule* autorité, jamais par la concurrence de plusieurs (et encore moins par un consensus distribué), donc au mieux ils montreront qu'on a affaire à une entité dont le nom est affiché et qui a une existence légale dans au moins un pays du monde, ce qui est clairement un progrès par rapport aux certificats automatiquement attribués, mais je pense que ce ne sera pas forcément évident pour autant d'attaquer des gens qui auraient légalement fondé la « Société Généralle » dans une république bananière afin de se faire passer pour la banque de Mme Michu. (Et au pire, ce que je crains vaguement, les certificats EV indiqueront juste qu'on aura payé plus cher.) Pour l'instant, il est trop tôt pour dire, parce que ces certificats sont encore peu employés : ni amazon.com, ni societegenerale.fr, ni lcl.fr, pour prendre les trois premiers exemples qui me sont venus à l'esprit et susceptibles de concerner Mme Michu, n'en ont.

TARTAGLIA (2010-05-19T21:48:17Z)

A propos de MICHU, je vous recommande de lire ou relire Une Ténébreuse Affaire de Balzac.

Al (2010-05-19T18:10:16Z)

Un peu pessimiste, non ? Car Madame Michu pourrait avoir été correctement dressée et attendre, en plus du cadenas, l'apparition d'une couleur verte caractéristique de l'emploi de EVSSL.

Fork (2010-05-19T17:09:52Z)

@Ni: Merci pour le lien de hashclash. J'étais déjà tombé sur <URL: http://www.win.tue.nl/hashclash/Nostradamus/ >, fait par plus ou moins les même gens, mais j'avais pas exploré tout le site et remarqué cet autre papier (honte à moi).

Ruxor (2010-05-19T16:56:13Z)

f3et → amazoon.com est un exemple pipo : dans ce cas précis, amazon.com a prévu le problème et a acheté le domaine. Mais les domaines de ce genre qui essaient de faire du phishing sur les fautes de frappe, ça existe et ça ne manque pas.

Koko90 → Non, ce n'est pas comme ça que la sécurité fonctionne. L'analogue coopératif des chaînes de certificats, c'est le Web of Trust. Ajouter une nouvelle autorité racine ne résoudrait aucun problème, quand les problèmes sont que les autorités racines peuvent *trop facilement* estampiller une pseudo-sécurité.

Terry Laire → Il y a plein d'autorités racines qui offrent des certificats gratuits : évidemment, quand on va regarder dans le détail du certificat on se rend compte qu'il y a des petits caractères virtuels qui affirment que ce certificat ne certifie rien, mais ces certificats apparaissent comme valides dans au moins certains navigateurs et sont évidemment délivrés sans aucune intervention humaine donc aucun contrôle. Par exemple, il y a StartSSL qui fait ça (certificats reconnus par Firefox, au moins par certaines versions). Je ne sais pas ce que certifient exactement les certificats gratuits de VeriSign, mais même la version payante n'est pas assez chère pour que je pense une seule seconde qu'ils vont vérifier qu'il n'y a pas de risque de confusion (chose d'ailleurs assez difficile à vérifier).

f3et (2010-05-19T15:08:09Z)

Cela dit, avec Chrome, je n'arrive pas à me connecter à amazoon.com : il corrige automatiquement l'adresse…

Terry Laire (2010-05-19T10:02:25Z)

Tu affirmes mais sans donner ni preuve ni exemple que les autorités de certifications signent les certificats d'arnaques évidentes style amazoon.com…

Koko90 (2010-05-19T09:57:32Z)

Moi je verrais bien une autorité racine alternative maintenue par des bénévoles. Une sorte d'annuaire DMOZ des sites web de confiance où il n'y aurait rien à payer…

Parce que foncièrement (d'un point de vue crypto) HTTPS c'est vraiment pas de la merde. Le seul problème c'est qu'il n'y a pas d'autorité fiable pour décerner les certificats.

Peut-être un gros projet open source à lancer (après tout, il y a de sacrés bases de données maintenues par des bénévoles pour un truc comme adblock).

Sam (2010-05-19T06:00:13Z)

Sur Firefox, j'utilise l'extension Certificate Patrol qui m'avertit notamment de chaque changement d'autorité certificatrice des sites que je visite, ainsi que de chaque changement du nom du site visité tel que présent dans le certificat (passage de mail.google.com à *.google.com par exemple).

Ni (2010-05-19T04:24:01Z)

En fait, il y a déjà un certain nombre d'extension firefox pour faire des choses avec le certificats… Notamment, Certificate Patrol et Perspectives ont l'air de faire des choses utiles et intelligentes.

a3_nm (2010-05-19T02:05:25Z)

Ce que je trouve vraiment dommage, en tout cas, c'est qu'il n'existe pas (à ma connaissance) de moyen d'utiliser HTTPS uniquement pour se protéger contre des attaques passives (avec le chiffrement) sans pour autant vouloir s'authentifier, à moins d'avoir des visiteurs tous suffisamment intelligents pour ne pas être découragés par les nombreux messages d'avertissement de leur navigateur. J'en veux beaucoup à Firefox, par exemple, qui se montre largement plus méfiant vis-à-vis des certificats auto-signés que vis-à-vis des sites sans certificats…

Ni (2010-05-18T23:58:35Z)

> J'estime que les attaques man-in-the-middle sont assez peu probables sur Internet

Sur ta connexion ADSL ou la connection de ton labo, effectivement, c'est peu probable. Mais si tu connecte en Wifi depuis un hot-spot, il est assez facile pour un attaquant de faire passer ta connexion par sa machine.

Sur le reste du post, j'approuve totalement.

Et j'ajoute que le message d'erreur affiche par Firefox en cas de certificat invalide est absolument crétin: il affiche le même message alarmant pour un certificat auto-signé et pour un certificat réellement non-valide. C'est crétin parce que des certificats auto-signés on en rencontre plein dans la nature (ben oui, ça coûte des sous de faire signer un certificat pour de vrai…) et du coup tout le monde sait qu'il faut cliquer trois fois sur «Oui, oui, je sais ce que je fais» quand on voit ce message d'avertissement, et bien sur, plus personne ne lit le message ni ne s'inquiète quand il y a un vrai problème.

Les cas vraiment dangereux, c'est quand on va sur un site qui est censé avoir un certificat signé, mais qu'on reçoit autre chose parce qu'il y a un man-in-the-middle. Malheureusement, je ne pense pas que Firefox stocke les certificats qu'il voit passer, donc si un escroc a réussit à faire signer un certificat pour amazon.com par une autorité particulièrement nulle, il n'y a aucun warning, même si madame Michu tape directement l'adresse dans la barre d'URL sans se tromper (je ne sais pas si il y a des autorités assez nulles pour ça, mais il y a au moins <URL: http://www.win.tue.nl/hashclash/rogue-ca/ > qui reviens au même).

En fait, il faudrait un système de certificat dans l'autre sens, qui permette au navigateur de demander à quelqu'un de confiance quel le certificat de amazon.com, plutôt que de demander à amazon.com lui-même de fournir un truc certifié par un autorité de confiance. Ce genre de chose doit même pouvoir se bricoler sans trop de difficulté à base d'extension Firefox, en fait… Anyone interested?


You can post a comment using the following fields:
Name or nick (mandatory):
Web site URL (optional):
Email address (optional, will not appear):
Identifier phrase (optional, see below):
Attempt to remember the values above?
The comment itself (mandatory):

Optional message for moderator (hidden to others):

Spam protection: please enter below the following signs in reverse order: 4c6c03


Recent comments