Remarque :

Cet article est destiné aux novices et simples utilisateurs des outils informatiques.

Pourquoi le symbole du cadenas et HTTPS ne font pas tout

Sur Internet, on dit souvent qu’un site est sécurisé lorsque qu’il y a un petit cadenas et la mention HTTPS dans la barre d’adresse de votre navigateur (Internet Explorer, Chrome ou Firefox par exemple). Ce n’est pas tout à fait vrai de dire ça comme ça et l’abus de langage a souvent mené à des erreurs.

Pour comprendre ce qu’est HTTPS et pourquoi on ne peut pas dire qu’un site est sécurisé lorsqu’il est en HTTPS, nous allons d’abord rapidement voir comment fonctionne le chargement d’une page web.

Pour cela nous allons prendre l’exemple des deux banques suivantes :

Notez bien la différence HTTP/HTTPS entre les 2 adresses web.

Comment fonctionne le chargement d’une page web

Imaginons que vous soyez au Crédit du Charlatan. Vous souhaitez consulter le solde de votre compte en ligne. Vous allez donc taper l’adresse web dans la barre d’adresse de votre navigateur favori.

La page d’accueil du Crédit du Charlatan s’affiche avec les dernières offres de prêt proposés par la banque. Vous cliquez alors sur « Mon espace client » pour afficher l’écran de connexion qui vous permettra enfin de voir le contenu de vos comptes, faire vos virements, gérer vos cartes, etc…

Mais vous avez fait ça depuis la connexion WiFi publique de votre hôtel. Deux jours plus tard, vous recevez un appel de votre conseiller qui vous annonce que vos comptes sont vides (alors que nous supposions que de l’argent y était présent lorsque vous étiez encore à l’hôtel 😉 ).

Techniquement que s’est-il passé ?

Lorsque vous vous connectez à un site sur Internet vous ouvrez une connexion avec un serveur à chaque fois que vous chargez une page. Un serveur n’est ni plus ni moins qu’un ordinateur qu’on a spécialisé à cette tâche : vous permettre de voir vos vidéos préférées ou le solde de votre compte bancaire.

Or pour joindre ce serveur vous passez par une série de réseaux dont vous n’avez pas la maîtrise puisqu’il s’agit de réseaux de différents fournisseurs d’accès (Free, Orange, etc…). Encore pire, vous êtes passé par le réseau d’un hôtel qui se trouve être un WiFi non sécurisé.

Résumons, pour vous connecter avec le serveur de votre banque il faut tout ça (au moins) :

Les différents composants nécessaires pour se connecter au serveur (FAI = Fournisseur d’Accès à Internet)

Autant d’endroits où il est possible d’écouter le trafic, bien qu’en-dehors de la connexion WiFi il devient difficile de placer une sonde pour vous écouter.

La différence entre http et https

Dans le schéma ci-dessus, on peut donc s’apercevoir qu’on est passé par plein de réseaux avant d’atteindre le serveur du Crédit du Charlatan.

Or comme on le voit aussi sur le schéma ci-dessus, le WiFi est un moyen de connexion radio. C’est-à-dire que si celui-ci n’est pas sécurisé (par WPA, WPA2, etc…), n’importe qui qui ne se trouve pas trop loin peut écouter ce qu’il se passe entre vous et le serveur (rappelons que le Crédit du Charlatan a un site non sécurisé en http) :

Les informations de connexion sont transportées en clair et peuvent être donc lues par quelqu’un bien placé sur le réseau

Ainsi Eve, la méchante pirate vous a écouté avec son propre ordinateur depuis sa chambre d’hôtel. Elle a pu ainsi obtenir votre numéro de client et votre mot de passe et s’en servir pour se connecter à votre place et effectuer un virement chez elle.

Pourtant votre ami Bob était avec vous à cet hôtel et n’a pas eu de problème alors qu’il vous a confié s’être connecté au site de sa propre banque : la Banque du Pognon.

Et c’est là qu’intervient HTTPS. HTTPS rend le flux de vos informations qui circulent sur Internet illisible à part pour vous et le serveur. On appelle ça chiffrer la connexion (crypter chez les journalistes).

Ainsi sur le schéma ci-dessous, même sur un réseau WiFi non sécurisé Eve ne pourra pas récupérer vos identifiants.

Les informations de connexion (et toutes les autres) sont chiffrées et ne peuvent donc pas être lues par une tierce personne

Mais admettons que Eve a la possibilité de vous forcer à vous connecter en HTTPS sur son ordinateur en affichant l’adresse de votre banque (et c’est possible dans la vraie vie !). Que se passe-t-il ?

Vous avez peut-être déjà vu ce message d’erreur de votre navigateur :

Lorsque votre navigateur affiche ce message, fuyez. Sauf si vous savez vraiment ce que vous faites

Et oui, Eve n’a pas la capacité de fournir un certificat valide ! Ne cliquez surtout pas lorsqu’un tel message s’affiche si vous ne savez pas exactement ce que vous faites.

Mais qu’est-ce qu’un certificat ?

Il vous est peut-être déjà arrivé de signer un document chez le notaire. Un certificat est similaire. On demande à une autorité tierce, qu’on appelle une autorité de certification, de « signer » le certificat pour garantir que celui-ci est bien valide. Ainsi à chaque connexion, votre navigateur va vérifier si le certificat est bien signé par la bonne autorité. C’est un peu compliqué d’expliquer comment dans le détail donc il faudra me croire quand je vous dis que cela vous garantit que vous parlez au bon serveur de la Banque du Pognon et non pas à Eve.

Donc une connexion HTTPS vous garantit deux choses :

  • Vous parlez au bon serveur (c’est bien votre banque)
  • Personne n’est en mesure de lire vos informations qui circulent sur Internet

Dans le jargon on dit :

  • Authenticité : c’est le bon serveur
  • Confidentialité : on ne peut pas lire les informations si on n’est pas l’utilisateur ou le serveur
  • Non-répudiation : on ne peut pas nier que ces informations viennent de l’un ou de l’autre (ce n’est pas grave si vous ne comprenez pas ce point, les 2 autres sont les plus importants)

Mais ça n’interdit pas un attaquant qui prend le contrôle du serveur d’obtenir des informations et c’est pourquoi chez les professionnels on ne parle pas de site sécurisé mais de connexion sécurisée. En effet, des bugs sont inévitables et induisent des vulnérabilités qu’un attaquant peut exploiter pour obtenir le contrôle d’un serveur.

D’ailleurs la mise en place du protocole HTTPS amène parfois des vulnérabilités supplémentaires dont on se serait bien passés comme la célèbre « Heartbleed ».

Voilà maintenant vous savez ce que veut dire HTTPS 🙂

Conclusion

La distinction qu’il est absolument indispensable de faire est que HTTPS sécurise votre connexion au serveur et non pas le serveur lui-même. Celui-ci risque toujours (sans exception bien qu’on puisse quand même distinguer des serveurs plus ou moins sécurisés) d’être compromis par un attaquant. Certes dans le cas d’une banque, les standards du secteur font que vous n’avez a priori rien à craindre de ce côté-là. Mais, par exemple, bon nombre de sites marchands présentent des lacunes au niveau de la sécurité de leurs serveurs.

De plus, il faut savoir que certaines autorités de certification ne sont pas très regardantes par rapport aux sites qu’elles certifient (c’est tout un marché car une signature de certificat se paye, comme on paye un notaire). Il est donc possible qu’un attaquant fasse une copie du site de la Banque du Pognon à l’adresse https://www.banque-p0gnon.com (notez le zéro à la place du o), cela s’appelle le typosquatting. C’est pourquoi lorsque vous recevez un e-mail de votre banque tapez toujours l’adresse dans le navigateur plutôt que de suivre les liens qui y sont écris.

Dans tous les cas, lorsque vous êtes sur Internet faites toujours attention à être à la bonne adresse et si vous échangez des informations sensibles (comme votre numéro de carte bleue) vérifiez toujours l’adresse et la présence du cadenas et de la mention HTTPS mais n’oubliez pas que ce n’est pas tout.

Source des images des schémas (créées par Everaldo Coelho sous licence LGPL) : https://sourceforge.net/projects/openiconlibrary/