Non, le cadenas près de votre barre d'adresse ne veut pas dire qu'un site est "fiable"

Non, le cadenas près de votre barre d'adresse ne veut pas dire qu'un site est "fiable"

Je vois régulièrement ce message sur des sites marchand, et je constate que des amalgames sont souvent fait sur ce qu'est une connexion sécurisée.

Sécuriser l'échange avec le serveur web

La présence d'un verrou près de la barre d'adresse signifie que ce site utilise un certificat TLS pour échanger les données avec vous. Cela permet que les données échangées avec vous sont chiffrées. Le but premier d'un certificat TLS est d'empêcher les attaques de type "man in the middle"

Dans ce type de schéma, un pirate intercepte le trafic avant de le renvoyer vers la vrai cible, si l'échange est fait de manière chiffré, le contenu n'est pas exploitable, car le pirate ne possède pas la clé privée du serveur, lui servant à déchiffrer le contenu.

source: thesslstore.com

Car oui, le principe des connexions "https" est basée sur un échange de clé asymétrique, similaire à celui du SSL.

Source : wikipedia.org

Dans ce schéma, Bob (en vert), connait la clé publique d'Alice, qu'il utilise pour chiffrer son message. A la réception de celui-ci, Alice utilise sa clé privée pour déchiffrer le message. Néanmoins, durant le transport, le message n'est pas en clair.

L'autre utilité d'un certificat TLS est aussi qu'il est contrôlé par votre navigateur auprès d'autorités de certifications, qui sont là pour valider que le certificat est authentique, et donc que le site sur lequel vous êtes est bien le vrai site. Néanmoins, nous le verrons plus bas, il est possible de contourner cette sécurité aussi.

Obtenir un certificat TLS, une affaire de secondes

Il y a encore quelques années, la plupart des sites exploitant des certificats TLS était les site d'entreprise, en effet, un certificat TLS coûte plusieurs centaines, voire plusieurs milliers d'euros par an. Ce point était rédhibitoire pour un particulier, comme moi, qui aurait voulu utiliser un certificat pour sécuriser les échanges avec son site.

Aujourd'hui, il est possible d'obtenir très rapidement un certificat valide via certaines autorités de certification comme Let's Encrypt, et tout ça gratuitement! C'est d'ailleurs la solution utilisée sur ce site.

C'est pourquoi alors qu'il y a quelques années, la présence d'un certificat TLS était réservés au sites professionnels, et peu utilisés dans le domaine du scam/phising, ils sont aujourd'hui présents sur 90% de ces derniers. Le souci est qu'à force qu'on répète, à tord, que la présence du sacro-saint cadenas veut dire que le site est fiable, l'utilisateur non sensibilisé à la sécurité est moins vigilant.

Autorités de certifications tierce et rupture protocolaire

Très à la mode il y a quelques années, certains malware déployait des autorités de certification tierce sur votre poste de travail, afin de valider de faux certificats. Aujourd'hui, ce n'est plus vraiment nécessaire, notamment grâce (à cause ?) d'autorités gratuites comme let's encrypt.

Cette solution est souvent utilisée en entreprise dans le cas de certains proxy https, qui se pose en tant qu'autorité de certifications pour pouvoir intercepter le trafic.

Comme je le disais plus haut, la présence d'un certificat TLS signifie que votre échange jusqu'au serveur web est chiffré, ce qui est une très bonne chose. Attention toutefois, cela ne signifie pas que toute la chaîne derrière le serveur est elle aussi chiffrée. La rupture protocolaire est quelque chose de courant en entreprise, car la gestion des certificats peut parfois être complexe. De plus on estime très souvent que certaines zone réseau sont considérées comme des "zones de confiance", dans lequel l'interception d'une données serait complexe, de plus il s'agit souvent des échanges d'informations non sensibles, ne nécessitant pas forcément l'utilisation de chiffrement.

DNS Spoofing/DNS cache poisoning

Attaque à la mode ces dernières années, le DNS Spoofing (ou DNS cache poisoning) consiste à compromettre un cache DNS pour envoyer l'utilisateur vers un autre backend sans qu'il ne s'en rende compte, car l'URI dans sa barre d'adresse n'a pas changé. Le fonctionnement complet est décrit de manière simple sur le blog de CLoudFlare. Dans ce genre de cas, la présence d'un certificat TLS en surplus nécessite  la mise en place d'une autorité tierce, tel que décrit plus haut. Et la seconde partie de l'utilisation du certificat prend alors tout son sens.

A noter que certains antivirus permettent de détecter un comportement anormal, et arrive à déterminer certains spoofing potentiels.

En conclusion

Les sites indiquant que la connexion TLS signifie que le site est fiable font le jeu des scammers, car il permettent qu'il soient considérés comme authentiques et fiables par des utilisateurs non sensibilisés à la sécurité.

Un certificat TLS permet de sécuriser l'échange avec le site, ce qui permet par exemple d'échanger des codes bancaires en limitant énormément les risques d'interceptions. Pour ma part, je bannit automatiquement tous les sites ne faisant pas de TLS, ce qui existe encore en 2019!

Un certificat TLS permet aussi de garantir que le site que vous avez affiché est bien le site correspondant au certificat.

Néanmoins, un certificat TLS n'est pas la panacée, sa présence ne signifie en aucun cas que le site est fiable! Pour cela, il est possible de vérifier la fiabilité d'un site via des moteurs dédiés et se méfier de détails qui vous sembleraient étranges. De plus, utiliser un antivirus ayant un moteur heuristique (BitDefender ou Kaspersky pour ne citer qu'eux) est un plus non négligeable.