Le HTTPS, c'est bon, mangez-en.

Le Monde se vante d'avoir ajouté le HTTPS sur sa plateforme, Boursorama le désactive puis le réactive, il est toujours temps d'en parler !

Après un début de campagne de désaveux, des sociétés et des personnalités ont entrepris de critiquer le HTTPS. De notre point de vue, ce genre de discours est dangereux.

Le choix de Boursorama de désactiver le HTTPS sur la partie non authentifiée (réactivé depuis) de leur plateforme, ou les propos de certains acteurs francophones (La sécurité du HTTPS est proche de 0, le propos n'étant pas public, je m'abstiens de nommer l'auteur) laissent penser que le HTTPS ne sert à rien, qu'il n'est pas utile... Il est nécessaire de comprendre l'enjeu et ce que c'est afin de comprendre pourquoi c'est utile.

Qu'est-ce que le HTTPS ?

HTTPS pour HTTP sécurisé, est un protocole d'échange de données sécurisé. Ce qui nous intéresse ici c'est le "sécurisé". Comprenez que HTTP est le protocole (la manière dont vous échangez de l'information) le plus utilisé sur le web. Vous l'utilisez actuellement pour voir ce billet de blog.

Comment ça fonctionne ?

HTTPS utilise une couche de chiffrement, bien souvent TLS. Vous pouvez considérer que quand une connexion s'établit avec TLS, les données sont visibles seulement d'un côté par vous-même, et de l'autre par le fournisseur de service, ce qui rend aveugle toute personne faisant transiter la donnée (fournisseur d'accès internet, fournisseur de transits...). De plus, on place au sein de l'échange un tiers de confiance, qui va mettre son honneur en jeu pour attester que l'échange s'est bien fait avec la bonne personne.

Je ne vais pas expliquer la technicité de la chose, mais me contenter d'une analogie... (Je suis obligé d'y prendre des raccourcis, pardonnez mon approximation)

Pierre (on aurait pu l'appeler le client), élève de CE2 rouge, souhaite envoyer une déclaration d'amour à Patricia pendant un cours (on aurait pu l'appeler le service). Il est timide et ne souhaite pas que ses camarades (appelons-les des noeuds) puissent lire sa lettre. Et surtout, que la maîtresse (appelons-la l'Etat) ne puisse pas la lire devant toute la classe, quelle honte ! Et sait-on jamais, peut-être qu'on lui piquerait sa technique d'approche !

  • Pierre a une collection de petites boîtes étranges qu'on appelle suites cryptographiques, il fait un signe à Patricia en lui montrant ses boîtes.
  • Patricia sait que Pierre veut communiquer de manière sécurisée (oui, sinon il n'aurait pas fait signe, mais aurait juste envoyé un mot). Elle a également des suites cryptographiques. Elle regarde celles qu'ils ont en commun et choisit celle qui lui semble la plus robuste. Elle lui fait signe qu'ils vont utiliser ce type de boîte pour la suite !
  • Patricia fabrique un cadenas, dit public, avec une clef, dite privée. Elle montre le cadenas à Sylvie, qui sort un feutre et signe dessus. Sylvie c'est la redoublante, elle est dans cette classe depuis longtemps, tout le monde lui fait confiance. Ce cadenas a une particularité, Patricia a la seule clef permettant de l'ouvrir. Elle le fait passer à Pierre.
  • Pierre reçoit le cadenas, il vérifie que la signature ressemble bien à celle de Sylvie, regarde Sylvie qui lui adresse un petit 👍 complice. Pierre fait de même, il fabrique un cadenas et sa clef, il ouvre la boîte, place sa lettre, son cadenas, ferme la boîte avec le cadenas de Patricia, il lui fait passer.
  • Patricia reçoit la boîte, ouvre avec sa clef, et rougit, elle a bien reçu le message. Personne n'a pu le lire. Quand Pierre envoie un message, dans notre exemple on appelle cela une requête_.
  • Patricia place sa réponse dans une boîte du même type, utilise le cadenas de Pierre, et la fait passer.
  • Pierre peut utiliser sa propre clef pour ouvrir la boîte et lire ce qu'on appelle une réponse.
  • Ils vécurent heureux, d'un amour platonique digne d'enfants de primaire.

Donc, ma donnée est sécurisée ?

Dans la réalité, c'est une question de coûts qui s'applique, il sera toujours possible de lire cette donnée, via des techniques permettant de deviner la clef de chiffrement, ou en ayant tout simplement subtilisé cette clef de chiffrement plus tôt dans l'échange. Le problème, c'est que ça devient très vite long et demander de la puissance de calcul pour faire cela. En plus, tous les messages ne passent pas par les mêmes noeuds, souvent ils passent par celui qui est le plus disponible.

Dans notre exemple précédent, c'est facile, il n'y a qu'un message qui circule. N'importe quel noeud peut essayer de le forcer pour lire le message. Mais imaginez le matériel qu'il faudrait, cela veut quand même dire créer une clef (ou crocheter), sans que personne ne le voit ! Ou alors, quand c'est la maîtresse, on le voit, mais personne n'osera rien dire, car c'est la maîtresse. Elle peut bien ouvrir la boîte à coup de masse, ce n’est pas un problème, c'est la maîtresse.

Chaque noeud passe son temps à faire passer des messages (au point qu'ils n'écoutent plus le cours), ça énerve la maîtresse, elle a donc une envie : lire ces messages. Puis certains noeuds, curieux, se disent que certains messages contiennent peut-être des bonbons. Cependant, s’ils mettent trop de temps à essayer d'ouvrir une boîte, ça va se voir, ils vont être moins disponibles, on va leur envoyer moins de messages à faire passer.

Parfois, certains ne vont pas passer par Sylvie, car il faut la payer en caramels et qu'ils ont déjà tout mangé. D'autres vont essayer d'imiter sa signature... Le système n'est pas parfait, mais c'est mieux que rien, non ?

Pourquoi activer le HTTPS ?

La goutte d'eau dans l'océan

Si tous les enfants envoient leurs messages sans les sécuriser et qu'un enfant sécurise son message, il devient le vilain petit canard. Tous ses camarades vont se demander : "Que peut-il bien cacher ?". Ils vont regarder cette boîte circuler dans la salle internet, regarder d'où elle vient, où elle va, quand, bref ce que l'on appelle des meta-données. Et même sans savoir ce que contient cette boîte, ils vont se dire que c'est nécessairement une déclaration d'amour dedans ! Des rumeurs vont commencer à circuler... Oui, les enfants sont méchants à cet âge-là.

A l'inverse, si tout le monde envoie ses messages dans des boîtes, il n'y a pas de discrimination. Ce procédé devient normal et convenu. La seule qui n'est pas contente, c'est bien la maîtresse. Mais en réalité, on sait tous que la maîtresse elle fut dans une classe à une époque, et qu'il lui arrive aussi d'envoyer des boîtes.

Sans monter à une échelle totale, si un enfant envoie toujours des messages non sécurisés, le jour où il en sécurise un, par exemple pour faire une transaction qu'on va qualifier de bancaire (caramels contre chocolats). Et bien tout le monde va vouloir ce qui se trouve dans la boîte, car par définition si l'enfant accorde plus de valeur à cet échange qu'à un autre en le sécurisant, c'est qu'il a plus de valeur.

Sécuriser les échanges quand on ignore la menace

En soi, si je fais très très très très confiance à mes camarades, je pourrais faire passer directement mes caramels. Cependant, dans la classe internet je suis copain avec certains, il y en a d'autres que je déteste, et beaucoup que je ne connais pas. Et surtout, il y a la maîtresse, parfois elle change, ce n’est pas tout le temps la même, elle a aussi des consignes du directeur, on ne sait pas trop comment on peut lui faire confiance.

Bref, le problème c'est que je ne sais pas en qui je peux avoir confiance ni savoir qui va systématiquement me piquer mes caramels ! Souvent les plus proches de moi je les connais, mes voisins qu'on va nommer Free, Orange, Bouygues... Je les aime bien, en plus ils m'offrent des trucs. Mais quand je fais passer un message à l'autre bout de la classe, c'est compliqué de faire des grands signes pour choisir par où mon message doit passer...

Il vaut mieux donc tout chiffrer, ça me permet de garder l'esprit tranquille et de suivre le cours, serein.

Tout ce que vous direz pourra être retenu contre vous... même plus tard... même ailleurs...

L'argument dit du voyant est commun à beaucoup d'autres choses dans les débats relatant de la vie privée. Aujourd'hui on sait ce qu'on fait, mais nos actes d'aujourd'hui seront-ils bien ou mal vus dans le futur ?

Par exemple, si je parle avec un camarade d'une personne dans la classe, en disant que je ne l'aime pas, que je trouve ses idées nulles, cette conversation est en soit privée, mais si le message est intercepté par un tiers, et que ce dernier le sauvegarde quelque part...

Demain, cette personne se trouve déléguée de classe, le tiers décide d'aller lui raconter mes échanges... Il me vient alors plusieurs craintes, et certaines responsabilités :

En tant qu'auteur, je ne veux pas nécessairement que mes propos soient publiés ou communiqués à des personnes auxquelles ces derniers n'étaient pas destinés.

En tant que plateforme, j'expose les personnes qui utilisent ma solution à du fichage souvent politique (ils parlent d'un sujet pro-truc, ils sont donc dans le camp des pro-truc).

Quand l'État limite les droits du législateur, ce n'est pas qu'il ne s'aime pas, c'est qu'il souhaite préserver les institutions du successeur.

Pensez également à vos voyages futurs, demain des propos peuvent vous être reprochés en passant une frontière. Vous seriez bien content que les messages envoyés à votre cousin en privé n'aient pas été interceptés. En effet, il est commun qu'en parlant à mon voisin sur une messagerie X ou Y, le message passe par l'autre bout du monde.

Pourquoi désactiver le HTTPS ?

Mais, si certains désactivent le HTTPS, c'est bien pour quelque chose ! Voici trois raisons, et deux cas permettant de comprendre pourquoi certains trouvent que le HTTPS c'est de l'illusion.

C'est plus complexe ! (Pourquoi le blog d'un anonyme est souvent non sécurisé)

  • Pour envoyer un message, je dois : écrire le message puis le transmettre.
  • Pour envoyer un message sécurisé, je dois : ne pas me contenter de lire une vulgarisation basée sur une classe de CE2, devenir ingénieur de l'ESA (notez mon effort d'avoir choisi de mentionner l'agence spatiale européenne), avoir conçu mon premier processeur à l'âge de 3 ans, etc...

Bref, bien que pas mal de choses soient encapsulées (on n'a pas besoin de tout connaître, on peut utiliser des services tout faits), ça demande d'aller un peu plus loin pour le faire. En soi ce n’est pas une excuse, mais c'est une raison de l'adoption du HTTPS aujourd'hui.

C'est plus lent !

C'est plus long d'écrire un message, il faut fabriquer une clef, un cadenas... Entre le moment où je décide d'écrire le message, et le moment où je l'envoie, c'est quand même plus long. Le temps que le service reçoive mon message, l'ouvre, envoie sa réponse... Bref il s'est passé une éternité !

Parfois, le choix d'une plateforme par rapport à un autre se fait à sa rapidité, surtout en matière de e-commerce. Du coup, avoir une plateforme plus rapide peut devenir un avantage concurrentiel.

C'est plus cher !

Pour certaines plateformes, l'optimisation des coûts permet d'être meilleurs que ses voisins. On notera certains métiers, par exemple dans le transport, où une fois retirées toutes les charges de personnes et de matériel, une manière d'optimiser c'est d'avoir le meilleur trajet d'un point A à un point B.

Pour l'informatique, moins un traitement est efficace (plus il faut de traitements pour obtenir un résultat), plus il coûte cher. Donc, utiliser le chiffrement coûte plus cher.

C'est moins écolo !

Allez, je le place aussi ici, mais en réalité c'est le même argument que "plus cher", en informatique coûts et écologie sont souvent liés. Si je veux vendre un produit plus performant à une entreprise, je vais lui dire qu'il est moins cher. Si je veux le vendre au grand public, je vais lui dire qu'il est plus vert. Je caricature, mais c'est l'idée.

Bref, plus de puissance de calcul, ça veut dire plus de matériel, plus de consommation électrique, etc...

Ici, bien que l'article cible les fournisseurs de service, il faut également se rendre compte que tous les clients qui contactent un service qui est chiffré consomment un peu plus d'énergie que si le service ne l'était pas.

C'est en réalité un faux problème, fermer un programme lancé, utiliser mieux conçu, permettrait de faire la balance très facilement, et probablement d'économiser en énergie. Sans chiffres à l'appui, je devine que baisser un tout petit peu la luminosité de votre écran suffirait. Personnellement, quand je veux économiser ma batterie je baisse la luminosité, je ne désactive pas le HTTPS.

Cas Cloudflare

Certains services comme Cloudflare permettent d'avoir des certificats HTTPS gratuitement. Cependant, c'est Cloudflare qui fournit les clefs et cadenas, c'est un peu comme demander à son pote à côté "Hey, tu peux prendre ce message et le chiffrer pour moi, pour l'envoyer stp ?". C'est bien, mais à condition d'avoir confiance en ce service. Cloudflare va plus loin, il modifie parfois les messages, pour les rendre un peu plus légers, ou un peu mieux. (Là c'est le pote qui prend le message, sort son stylo rouge et corrige l'orthographe avant de l'envoyer, et surtout sans le faire relire)

La sécurité, souvent, c'est un peu une chaîne de confiance entre les différents acteurs. Si un service fait confiance en Cloudflare pour gérer ses certificats, il doit en assumer le risque.

Cas de l'antivirus (et autres pare-feux)

Même chose, mais coté client cette fois, à une période, et je devine que c'est toujours le cas chez certains, des antivirus cassaient le HTTPS en prétendant chercher à analyser les messages pour sécuriser la machine, on va considérer que c'est la volonté de l'éditeur. Pour le coup, point question de confiance ici, c'est dangereux pour le client, car quand on est sur un site légitime, on doit pouvoir vérifier le certificat et qu'on est bien sur le site du bon certificat. Cette méthode altère ce certificat et rend cette vérification impossible. C'est donc un danger, permettant parfois de faciliter l'hameçonnage.

Conclusion ?

Bref, utilisez le HTTPS, ça vous protège, ça protège les autres. En soi c'est un peu comme la couverture vaccinale. Ah, et le HTTPS sécurise vos échanges, peu importe le contenu : légal comme illégal, hameçonnage comme transactions bancaires, légitimes comme illégitimes, gifs de chatons comme logiciels malveillants.

Si ce n'était pas clair, on est clairement en faveur du HTTPS.

Liens