Différence http https ?
C’est quoi la différence entre http et https ?
Pourquoi utiliser https plutôt que http ?
Les risques avec http ou https ?
Vous l’avez forcément vu lorsque vous surfez, les adresses des sites commencent par http ou https. Connaissez-vous exactement la différence entre http et https ?
Le défaut d’http
Le protocole https a été créé pour pallier aux défauts de l’http. Je vous rappelle que le protocole http est un protocole :
• qui permet de recevoir des informations des serveurs web (serveurs http)
• qui permet d’envoyer des informations vers les serveurs web,
• et surtout que tous ces échanges se sont font sans aucun cryptage.
La plupart du temps, l’utilisateur se contente de recevoir des données qui sont visibles par tout le monde et qui ne sont pas confidentielles.
Par contre, cela devient plus gênant si l’utilisateur se connecte par exemple à sa banque. Ses informations de connexion sont des données confidentielles et il ne faut donc pas qu’elles tombent dans de mauvaises mains. Sans cryptage, il est facile pour quelqu’un de mal intentionné de récupérer des informations confidentielles.
Voici comment on pourrait résumer tout cela, si la connexion en http, c’est à dire en clair :
Explication de ce schéma:
• L’internaute se connecte à sa banque. Sur la page de connexion, il saisit son n° de compte et son mot de passe.
• Si la connexion se fait en http, alors tous les échanges entre son ordinateur et sa banque se font en texte, non crypté et donc lisible par n’importe quelle personne qui espionne le réseau. (comme un pirate par exemple).
Pour information : Sur ce schéma, on voit que le hacker est connecté à la box de l’utilisateur. Cela est tout à fait possible si par exemple, le code wifi de la box n’est pas assez sécurisé.
Le protocole https
Pour pallier à ce problème de sécurité, il a fallu trouver une parade : c’est le https !
Le protocole https est composé de 2 protocoles :
• le protocole http
• le protocole ssl : c’est lui qui donne le S au protocole httpS (S pour Secure)
Intéressons-nous plutôt au protocole SSL.
Le cryptage en SSL
SSL (Secure Socket Layer) comme son nom l’indique est une couche (layer) supplémentaire sécurisée. Ce protocole va créer une sorte de canal sécurisé entre le client et le serveur. (on pourrait comparer cela au VPN, sauf que le VPN créé un canal mais pour l’ensemble de l’ordinateur, d’ailleurs les VPN s’appuient sur SSL/TLS).
Alors comment cela se passe-t-il ?
Grace un échange de clés entre eux, le serveur et le client vont établir une connexion chiffrée dont eux seuls pourront lire le contenu. Car seul le client et le serveur en possession de la clé de décryptage pourront déchiffrer les données reçues.
Voici le schéma simplifié :
Réponse à une question qui doit vous torturer l’esprit :
La question : Si un pirate est en train d’observer le réseau pendant les échanges de clés qui permettent le cryptage, il doit donc avoir accès aux clés et donc aux données cryptées ?
La réponse : Et bien non, car cela se passe en plusieurs temps pour établir le canal. Dans un premier temps, le serveur envoie une clé publique qui permet au client de crypter les échanges. Le client va donc crypter sa clé avec la clé publique du serveur et envoyer le résultat au serveur. Seul le serveur pourra décrypter la clé du client avec sa clé privée (que lui seul a en sa possession). Les échanges de données cryptées peuvent alors commencer.
Pour que cela soit bien clair, je ferai article expliquant en détail le principe du fonctionnement du SSL / TLS (TLS étant la nouvelle appelation du SSL). Et enfin pour votre information, mais je développerai plus tard, le SSL/TLS est utilisé aussi pour crypter et sécuriser d’autres protocoles tels que POP/IMAP, SMTP, FTP qui deviendra alors FTPS, …
Informations complémentaires
Enfin quelques infos « techniques » :
• https : veut Hyper Text Transfer Procole Secure (Vous l’avez maintenant compris, c’est la version sécurisée du http)
• Le port https par défaut est le 443 alors que c’est le 80 pour le http. Si vous ne vous souvenez plus de ce qu’est un port, regardez : C’est quoi service, port, protocole ?
• Quand on parle de sécurité, il faut comprendre que cela évolue. Lors de la phase d’échange de clés (au début de la connexion), le serveur et le navigateur vont se mettre d’accord sur quel niveau de cryptage ils vont utiliser. Ils vont essayer de prendre le plus élevé des niveaux de cryptages. Mais nous en reparlerons lorsque nous verrons le SSL/TLS.
Et la sécurité dans tout ça ?
Vous avez maintenant compris que pour pouvoir surfer en toute sécurité, il faut au moins utiliser des sites en https. Les informations que vous envoyez ne peuvent (en théorie) pas être déchiffrées par quelqu’un d’autre que le serveur sur lequel vous êtes connecté, car lui seul possède la clé pour décrypter les données.
Il faut toutefois se méfier car le https ne suffit pas, il faut aussi avoir confiance dans le site sur lequel on se connecte. Regardez plutôt :
Vue des navigateurs en https
Les navigateurs affichent des informations lorsque vous vous connectez en https. Il s’agit en général d’un cadenas pour vous informer que la connexion est sécurisée.
Ce cadenas est fermé lorsque tout est ok. Il est ouvert ou rayé lorsqu’il y a un problème avec le site.
Voici un exemple avec Firefox : (tout est OK)
On voit bien au-dessus, le cadenas fermé sur le site https://www.google.fr
Il est important que le cadenas soit fermé.
Si ce cadenas n’est pas fermé ou avec une croix, la sécurité n’est pas assurée, et pourtant la connexion est bien en https, alors pourquoi ? Regardez ci-dessous la copie d’écran avec Google Chrome : nous sommes en https, mais la connexion n’est pas sécurisée (le cadenas est avec une croix) : Pourquoi ?
Si le cadenas n’est pas fermé ou couvert d’une croix, le site n’est peut-être pas celui sur lequel vous vouliez vous connecter, alors … méfiance ! Ne mettez pas votre confiance n’importe où !
2 Responses
Merci vraiment dit gourage je appris plus sur ces techno..
pas de quoi Mr Amadou, c’est toujours un plaisir pour nous