Learn

266 articlesCatégorie : Tous
Réseau

Différence entre HTTP et HTTPS

Lorsque vous ouvrez un site web, le navigateur et le serveur échangent des données.

Le mécanisme de base utilisé pour ces échanges web est HTTP. Et le mécanisme qui permet d'effectuer les communications HTTP de façon sûre est HTTPS.

HTTPS n'est pas simplement un « mécanisme qui chiffre le contenu de la communication ». Ce qui est important, c'est qu'il aide à empêcher l'écoute, la modification et l'usurpation par des tiers situés au milieu de la communication.

Dans HTTPS, les trois points suivants sont donc particulièrement importants.

  • Rendre le contenu de la communication difficile à lire en cours de route
  • Rendre le contenu de la communication difficile à modifier en cours de route
  • Aider à vérifier que l'interlocuteur est bien celui qui était prévu

Autrement dit, HTTPS est un mécanisme très important contre les attaques de l'homme du milieu.

Toutefois, HTTPS n'est pas une technologie d'anonymisation. Même avec HTTPS, l'accès arrive au site web de destination. L'adresse IP source, les cookies, l'état de connexion, les journaux d'accès et d'autres questions restent des problèmes distincts.

Cet article explique la différence entre HTTP et HTTPS, ce que HTTPS protège, et ce qui peut rester visible même avec HTTPS.

Qu'est-ce que HTTP ?

HTTP est une règle de communication permettant d'échanger des données sur le Web.

Lorsque vous ouvrez un site web dans un navigateur, le navigateur envoie une requête au serveur. Par exemple, il demande : « envoyez le HTML de cette page » ou « je veux obtenir cette image ».

Le serveur répond à cette requête en renvoyant du HTML, des images, du CSS, du JavaScript et d'autres données.

Le mécanisme utilisé pour cet échange de requêtes et de réponses entre navigateur et serveur est HTTP.

HTTP lui-même est la base des communications web. Mais HTTP seul ne fournit pas de mécanisme de protection du contenu de la communication.

Avec HTTP, le contenu de la communication n'est pas chiffré. Un tiers situé sur le trajet de communication peut donc lire le contenu, le modifier ou se faire passer pour le bon interlocuteur.

Faiblesse de HTTPExplication
Faible face à l'écouteComme le contenu n'est pas chiffré, il risque d'être lu en cours de route
Faible face à la modificationLe contenu de la page ou les données envoyées risquent d'être modifiés pendant la communication
Faible face à l'usurpationIl est difficile de vérifier que l'interlocuteur est vraiment le serveur prévu

Par exemple, si vous envoyez un mot de passe dans un formulaire de connexion HTTP, ce mot de passe peut être vu pendant la communication. Le contenu d'une page chargée en HTTP peut aussi être modifié en cours de route, avec le risque d'y insérer un faux formulaire ou un script malveillant.

HTTP est la base des communications web, mais utilisé tel quel, il pose de grands problèmes de sécurité.

Qu'est-ce que HTTPS ?

HTTPS est un mécanisme qui effectue la communication HTTP à l'intérieur d'un canal de communication sûr.

Plus précisément, HTTPS utilise HTTP au-dessus d'une couche de communication sûre appelée TLS. Nous n'entrons pas ici dans le détail de TLS, mais pour comprendre HTTPS, il est utile de le voir comme « le contenu de la communication HTTP protégé par TLS ».

Les trois points importants de HTTPS sont les suivants.

ÉlémentRôleExplication
ChiffrementRendre le contenu difficile à lireEmpêcher qu'un tiers situé sur le trajet lise directement les mots de passe ou les contenus de formulaire
Détection de modificationPermettre de remarquer les modifications du contenuRendre difficile l'acceptation d'une communication correcte si les données ont été modifiées en chemin
Vérification de l'interlocuteurVérifier que l'on communique avec l'interlocuteur prévuUtiliser des certificats pour vérifier que le serveur de destination est légitime

La force de HTTPS vient de la combinaison de ces trois éléments.

Le chiffrement seul ne suffit pas. Par exemple, même si le contenu est chiffré, si un attaquant peut se faire passer pour un faux serveur et y faire connecter l'utilisateur, on ne peut pas dire que la communication soit sûre.

C'est pourquoi HTTPS utilise aussi un mécanisme permettant de vérifier que l'interlocuteur est bien le site web prévu, en plus de protéger le contenu de la communication.

Différence entre HTTP et HTTPS

La différence entre HTTP et HTTPS ne se limite pas à l'apparence de l'URL, http[:]// ou https[:]//.

Avec HTTP, la communication entre navigateur et serveur n'est pas protégée. Avec HTTPS, un canal de communication sûr est créé entre le navigateur et le serveur, puis les échanges HTTP se font à l'intérieur.

ÉlémentHTTPHTTPS
Début de l'URLhttp[:]//https[:]//
Chiffrement du contenuNonOui
Protection contre l'écouteFaibleForte
Protection contre la modificationFaibleModification plus facile à détecter
Vérification de l'interlocuteurFondamentalement faibleVérification au moyen de certificats, etc.
Résistance aux attaques de l'homme du milieuFaibleÉlevée
AnonymisationNonNon

Comprendre HTTPS comme « HTTP auquel on a simplement ajouté du chiffrement » est un peu insuffisant. Plus précisément, c'est un mécanisme qui enveloppe la communication HTTP dans un canal sûr et aide à empêcher l'écoute, la modification et l'usurpation.

Qu'est-ce qu'une attaque de l'homme du milieu ?

Une attaque de l'homme du milieu consiste pour un tiers à se placer entre le navigateur et le serveur afin d'écouter la communication, de la modifier ou de se faire passer pour l'interlocuteur.

Même si l'utilisateur pense accéder au vrai site web, un attaquant situé au milieu peut être en train de voir le contenu. Il peut aussi modifier la communication et insérer un faux formulaire de connexion ou du code malveillant.

HTTP est faible face à ce type d'attaque.

Avec HTTPS, le contenu est chiffré, les modifications sont détectées, et l'interlocuteur est vérifié. Il devient donc plus difficile de faire réussir une attaque de l'homme du milieu.

Ce que veut faire l'attaquantAvec HTTPAvec HTTPS
Lire le contenu de la communicationRisque de lectureDifficile à lire en clair
Observer un mot de passeRisque élevéDifficile à observer pendant la communication
Modifier le contenu d'une pageRisque de modificationLa modification est plus facile à détecter
Faire connecter à un faux serveurL'utilisateur le remarque difficilementLa vérification du certificat aide à l'empêcher
Se faire passer pour l'interlocuteurRelativement facileDifficile sans certificat légitime

C'est là que se trouve l'essence de HTTPS.

Il ne s'agit pas seulement de « chiffrer le contenu de la communication ».

Il est important de pouvoir vérifier « si le contenu n'a pas été modifié en cours de route » et « si l'interlocuteur est bien celui qui était prévu ».

Ce que HTTPS protège

HTTPS protège principalement le contenu HTTP qui circule entre le navigateur et le serveur.

Par exemple, les informations suivantes deviennent difficiles à lire pendant la communication grâce à HTTPS.

Élément protégéExplication
Mot de passeLe mot de passe saisi dans un formulaire de connexion devient difficile à lire en cours de route
Contenu de formulaireNom, adresse e-mail, contenu de demande, etc. deviennent difficiles à lire en cours de route
Contenu de pageLe contenu affiché par la page devient difficile à lire ou à modifier en cours de route
Contenu de requêteCe que le navigateur envoie au serveur est plus facilement protégé
Contenu de réponseCe que le serveur renvoie au navigateur est plus facilement protégé
Les cookies envoyés et reçus pendant la communication deviennent difficiles à observer en cours de route

Les mots de passe et les cookies sont particulièrement importants.

Les cookies peuvent servir à maintenir l'état de connexion ou à identifier un utilisateur. Si un cookie est volé pendant la communication, il peut, selon le cas, permettre un accès en se faisant passer pour la personne.

Avec HTTPS, les cookies sont eux aussi envoyés dans le canal chiffré, ce qui les rend difficiles à observer pendant la communication.

Cependant, l'utilisation de HTTPS ne résout pas tous les problèmes liés aux cookies. La manière dont les cookies sont conservés, les réglages côté site, l'environnement du navigateur et la sécurité de l'appareil restent des problèmes distincts.

Même avec HTTPS, le contenu arrive au serveur de destination

HTTPS protège le contenu contre les tiers situés sur le trajet de communication. Ce n'est pas un mécanisme qui cache le contenu au site web de destination.

Par exemple, si vous saisissez un mot de passe dans un formulaire de connexion HTTPS, ce mot de passe devient difficile à lire pendant le trajet. Mais l'information arrive au serveur du site web qui effectue le traitement de connexion.

C'est normal. Pour effectuer le traitement de connexion, le serveur doit recevoir les informations envoyées.

La portée protégée par HTTPS est principalement le trajet de communication.

CibleRôle de HTTPSExplication
Tiers sur le trajetCible contre laquelle HTTPS protège fortementAide à empêcher l'écoute, la modification et l'usurpation
Serveur de destinationInterlocuteur de la communicationLe contenu de la requête arrive au serveur
Adresse IP de l'utilisateurNe la cache pas directementHTTPS seul ne cache pas l'adresse IP source
Compte connectéNe le cache pas directementLes actions effectuées en étant connecté sont liées au compte

Autrement dit, HTTPS est un mécanisme destiné à empêcher l'écoute et la modification en cours de route. Ce n'est pas un mécanisme qui cache vos informations au site de destination.

Ce qui peut rester visible même avec HTTPS

Même avec HTTPS, toutes les informations ne sont pas cachées.

Le contenu de la communication est protégé. Mais les informations liées à la source de l'accès, à la destination de connexion et aux informations reçues par le site web relèvent de problèmes distincts.

InformationActeur qui peut la voirExplication
Adresse IP sourceServeur de destination, etc.Le site web peut savoir depuis quelle adresse IP l'accès a eu lieu
Heure d'accèsServeur de destination, etc.Le moment de l'accès peut être enregistré dans des journaux
Contenu de requêteServeur de destinationMême avec HTTPS, le contenu arrive au serveur auquel il est envoyé
CookieSite web de destinationPeut servir à identifier le même utilisateur ou le même navigateur
État de connexionSite web de destinationSi l'utilisateur est connecté, ses actions sont liées au compte
Journaux d'accèsSite web de destinationLes pages vues ou les opérations effectuées peuvent être enregistrées
Informations du navigateurSite web de destinationDes informations comme le User-Agent peuvent être envoyées
Informations sur la destinationVarie selon l'environnement de communicationMême si le contenu est chiffré, le site contacté peut parfois être déduit

Le point important ici est de distinguer le « contenu de la communication » et le « fait de communiquer ».

HTTPS protège le contenu de la communication. Mais il ne cache pas automatiquement des informations comme l'adresse IP d'où vient l'accès, le moment de l'accès ou le compte avec lequel l'utilisateur est connecté.

De plus, avec HTTPS, l'URL entière n'est pas toujours entièrement visible par les tiers. Le chemin de la page et le contenu des formulaires sont protégés comme contenu de communication. En revanche, les informations liées au nom de domaine de destination peuvent être visibles selon l'environnement de communication.

Ainsi, le fait d'utiliser HTTPS ne fait pas disparaître les traces d'accès ni les informations d'identification.

HTTPS n'est pas une technologie d'anonymisation

HTTPS n'est pas une technologie d'anonymisation.

Les objectifs de HTTPS sont principalement les trois suivants.

  • Rendre le contenu de la communication difficile à lire en cours de route
  • Rendre le contenu de la communication difficile à modifier en cours de route
  • Aider à vérifier que l'interlocuteur est bien celui qui était prévu

C'est une question différente de l'anonymisation.

Lorsque l'on réfléchit à l'anonymat, il faut distinguer « le contenu de la communication est-il protégé ? » et « l'identité ou l'origine de la personne qui accède est-elle cachée ? ».

HTTPS est fortement lié au premier point. Mais il ne résout pas directement le second.

Point de vueHTTPS le résout-il ?Explication
Protection contre l'écoute du contenuForte sur le trajet de communicationRend le contenu difficile à lire en cours de route
Protection contre la modification du contenuForte sur le trajet de communicationRend le contenu difficile à modifier en cours de route
Vérification de l'interlocuteurOuiVérifie la destination au moyen de certificats, etc.
Dissimulation de l'adresse IPNonHTTPS seul ne cache pas l'adresse IP source
Identification par cookieNonL'identification côté site web reste un autre problème
Dissimulation de l'état de connexionNonLes actions en étant connecté sont liées au compte
Suppression des journaux d'accèsNonLa conservation des journaux côté site est un autre problème que HTTPS

Comprendre « HTTPS signifie anonyme » est une erreur.

HTTPS est une technologie qui rend la communication plus sûre. Ce n'est pas une technologie qui crée l'anonymat.

Point de vue pour comprendre correctement HTTPS

Pour comprendre correctement HTTPS, il faut distinguer « qui est protégé contre quoi ».

HTTPS protège principalement contre les tiers situés sur le trajet de communication.

Par exemple, il aide à empêcher les autres utilisateurs du même Wi-Fi, les équipements situés sur le trajet ou un relais malveillant d'écouter le contenu, de le modifier ou de se faire passer pour le bon interlocuteur.

En revanche, le site web de destination est l'interlocuteur final de la communication. Les données envoyées arrivent donc du côté du site web.

ActeurCe que HTTPS aide à empêcherCe que HTTPS n'empêche pas
Tiers sur le trajetÉcoute, modification, usurpationCompromission de l'appareil lui-même
Site web de destinationFuite pendant le trajetJournalisation côté site et identification par compte
Utilisateur du même Wi-FiÉcoute du contenu de communicationLa déduction de la destination d'accès ne disparaît pas complètement
Faux serveurPlus facile à détecter sans certificat légitimeDanger si l'utilisateur ignore les avertissements

HTTPS est un mécanisme très puissant, mais il n'est pas universel.

Par exemple, si le navigateur affiche un avertissement de certificat et que l'utilisateur l'ignore pour continuer, la sécurité fournie par HTTPS diminue fortement. De même, si l'appareil lui-même est infecté par un malware, les données saisies peuvent être volées côté appareil même si la communication utilise HTTPS.

HTTPS constitue une défense forte contre l'écoute, la modification et l'usurpation sur le réseau. Mais la sécurité de l'appareil, la gestion côté site web, le traitement des comptes, les cookies et les journaux doivent être considérés séparément.

Résumé

HTTP est le mécanisme de base pour échanger des données sur le Web. Mais HTTP seul ne chiffre pas le contenu de la communication, ce qui crée un risque d'écoute ou de modification en cours de route.

HTTPS est un mécanisme qui effectue la communication HTTP à l'intérieur d'un canal sûr.

Les rôles importants de HTTPS sont les trois suivants.

  • Rendre le contenu de la communication difficile à lire en cours de route
  • Rendre le contenu de la communication difficile à modifier en cours de route
  • Aider à vérifier que l'interlocuteur est bien celui qui était prévu

Pour cette raison, HTTPS est très important comme mesure contre les attaques de l'homme du milieu.

Toutefois, HTTPS n'est pas une technologie d'anonymisation. Même avec HTTPS, la requête arrive au site web de destination. L'adresse IP source, les cookies, l'état de connexion, les journaux d'accès et d'autres questions restent des problèmes distincts.

HTTPS est une technologie qui rend la communication plus sûre. Elle est particulièrement importante pour empêcher l'écoute, la modification et l'usurpation sur le trajet de communication.

Mais ce n'est pas une technologie qui cache qui a accédé.

Lorsque l'on réfléchit à l'anonymat, il faut distinguer ce que HTTPS protège et ce qu'il ne protège pas. HTTPS est une condition importante, mais HTTPS seul ne suffit pas à établir l'anonymat.

Articles liés