Découvrez comment HTTPS fonctionne avec cette infographie
Aujourd’hui, la sécurité lors de la navigation sur les sites Web est devenue une priorité pour tout le monde, et grâce à l’utilisation du protocole HTTPS, qui est le protocole sécurisé de HTTP, nous pouvons naviguer sur Internet avec un cryptage de bout en bout. , tout le trafic de notre navigateur Web au serveur Web seront cryptés et authentifiés, grâce à l’utilisation du protocole TLS (Transport Layer Security). Aujourd’hui, dans RedesZone, nous faisons écho à une infographie complète où vous pouvez voir en détail, et de manière très facile à comprendre, comment fonctionne ce protocole HTTPS, qui est aujourd’hui essentiel pour naviguer en toute sécurité.
Pourquoi avons-nous besoin de HTTPS ?
Le protocole HTTPS est nécessaire principalement pour trois raisons, la confidentialité, l’intégrité et l’identification. Nous allons utiliser comme exemple l’envoi d’un message pour que vous puissiez le comprendre facilement.
confidentialité
Lorsque notre équipement envoie un message du navigateur Web au serveur Web sur lequel nous nous connectons, si le message n’est pas protégé, il peut être capturé par une personne qui écoute le canal de communication, comme, par exemple, dans un réseau Wi-Fi. Réseau Fi. Fi. Ce message peut être capturé pour espionner absolument tout le trafic. Par exemple, si nous parcourons une page Web et saisissons un mot de passe, il peut être capturé.
Lorsqu’un cadenas fermé apparaît dans la barre d’adresse Web, où nous entrons l’adresse du site Web auquel nous voulons accéder, cela signifie que la communication avec le serveur Web se fait en toute sécurité, avec un cryptage point à point. Le fait que le « verrou » apparaisse ne signifie pas que le site Web est sécurisé, simplement que le canal de communication avec ledit site Web l’est.
Intégrité
Lorsque notre équipe envoie un message du navigateur Web au serveur Web sur lequel nous nous connectons, ce message peut être capturé et modifié à la volée via le canal de communication, afin de modifier les informations qu’il contient. Une fois modifié, il est envoyé au destinataire légitime déjà modifié, et il ne sera pas possible de savoir si ce message a été modifié ou non. Ces types d’attaques sont le populaire « homme du milieu ».
Pour cette raison, l’intégrité dans les communications est fondamentalement, l’intégrité signifie que, si le message est modifié, le destinataire le saura et refusera la connexion. Ainsi, avec intégrité, vous pouvez garantir qu’un message ne peut pas être modifié (à l’insu du destinataire) et parvient à son destinataire exactement comme il a été envoyé.
identifiant
L’identification signifie que je peux vérifier qui a envoyé le message en utilisant une signature numérique, et lorsque nous parcourons une page Web, cela signifie que la page Web sur laquelle nous nous trouvons est authentique. Tout cela est réalisé grâce au protocole HTTPS, qui grâce aux certificats SSL, garantit que vous êtes connecté au bon endroit. Le certificat SSL qui nous est présenté par le navigateur Web est valide et a été émis par une autorité de certification légitime.
En conclusion, la confidentialité, l’intégrité et l’identification sont les principales raisons pour lesquelles le protocole HTTPS est très important.
Les clés
Pour que le protocole HTTPS fonctionne, vous avez besoin d’un moyen de garantir la confidentialité, l’intégrité et l’identification sur les sites Web. La façon de fournir cela s’appelle le cryptage ou le cryptage.
Chiffrement
Il existe principalement deux types d’algorithmes de chiffrement, l’algorithme à clé symétrique et l’algorithme à clé asymétrique.
L’algorithme à clé symétrique n’utilise qu’une seule clé pour chiffrer et déchiffrer les messages, son fonctionnement est le suivant :
- Avant d’envoyer le message, le navigateur crypte le message à envoyer, une fois envoyé, même s’il est intercepté, s’il n’a pas la clé de déchiffrement, il ne pourra pas lire ou modifier le message, donc, le seul qui peut lire le message est le destinataire qui a la clé de déchiffrement, qui est la même que la clé de chiffrement. Si quelqu’un essayait d’ouvrir le message, il ne verrait qu’une chaîne de texte sans signification car elle était cryptée.
Cependant, le principal problème avec l’algorithme de clé symétrique est qu’il est très difficile de partager la clé partagée.
L’algorithme de clé asymétrique utilise deux clés, une privée et une publique. Son fonctionnement est le suivant :
- L’algorithme asymétrique utilise une clé publique et l’autre privée. Ils sont jumelés et travaillent ensemble. La clé publique peut être partagée avec n’importe qui, c’est pourquoi elle est publique. Lorsque quelqu’un envoie un message, il crypte le message à l’aide de la clé publique du destinataire, et lorsque le message est reçu, il utilise sa clé privée qu’il est le seul à avoir pour décrypter le message. Seule la clé privée peut ouvrir le message crypté de la clé publique.
Ce type d’algorithme à clé publique n’est pas seulement valable pour la confidentialité, mais nous aide également à identifier qui envoie le message.
Prise de contact SSL/TLS
Lorsque vous êtes sur une page Web sécurisée comme RedesZone, vous aurez remarqué que, dans la barre d’adresse, où vous avez entré www.redeszone.net, un cadenas fermé apparaît sur le côté gauche. Cela signifie que lorsque vous êtes entré sur notre site Web, votre navigateur a communiqué avec notre serveur Web et a tous deux établi une connexion sécurisée pour transmettre les données.
Avant que cela ne se produise, le navigateur et le serveur Web doivent se mettre d’accord sur la façon dont ils vont communiquer en toute sécurité. Si un échec se produit lors de la négociation, le navigateur affichera une erreur ou un avertissement, en revanche, si la négociation est correcte, il nous affichera un cadenas fermé dans la barre d’adresse. Ce processus de négociation s’appelle Handshake, et selon le protocole TLS que vous utilisez, il est plus rapide ou plus lent, puisque la dernière version TLS 1.3 intègre un grand nombre d’améliorations pour accélérer au maximum l’établissement de la connexion.
Comment ça marche
Le serveur Web envoie une liste des versions SSL / TLS prises en charge qu’il a configurées et un ensemble d’algorithmes de cryptage avec lesquels le navigateur Web peut fonctionner. De plus, le navigateur Web envoie également sa liste respective. Ensuite, la meilleure version des protocoles SSL / TLS et de l’algorithme de cryptage est choisie en fonction des préférences du serveur.
Le serveur répondra au navigateur Web en envoyant son certificat, qui comprend sa clé publique afin qu’il puisse vérifier l’identité du serveur Web. Le navigateur vérifie que le certificat envoyé par le serveur est authentique, puis le navigateur génère une clé principale afin que le navigateur et le serveur puissent l’utiliser ultérieurement lorsqu’ils génèrent une clé unique. Cette clé principale précédente est envoyée au serveur à l’aide de la clé publique du serveur pour la chiffrer, puis elle est déchiffrée par le serveur à l’aide de sa clé privée.
Tout ce qui s’est passé jusqu’à présent s’est fait par communication ouverte et non cryptée, à l’exception de l’envoi de la clé principale précédente qui était cryptée à l’aide de clés asymétriques. Une fois la clé principale précédente reçue par le serveur, les deux génèrent un «secret partagé» qui est la clé symétrique qu’ils utiliseront, et c’est alors que toutes les données qui vont et viennent entre le navigateur et le serveur sont sécurisées pour le reste de la séance. .
Différences entre HTTPS, SSL et TLS
Nous allons passer en revue quelles sont les différences entre ces protocoles car il est très facile de les confondre.
- HTTPS est la version sécurisée de HTTP : «Hypertext Transfer Protocol». Le protocole HTTP est celui utilisé par le navigateur et les serveurs web pour communiquer et échanger des informations. Mais lorsque l’échange de données est crypté avec SSL/TLS, alors cela s’appelle HTTPS. Le ‘S’ signifie ‘Safe’.
- SSL signifie «Secure Sockets Layer» . C’est un protocole créé par Netscape. Sa version 2 est sortie en 1995 avec le navigateur Netscape 1.1. En 1996, la version SSL 3.0 est sortie, qui résolvait des failles de sécurité majeures dans sa version précédente. Mais en 1999, il y a eu une guerre de nombreux navigateurs et, à la fin, Netscape comme nous le savons tous a disparu, mais avant il a donné le contrôle du protocole SSL à l’IETF, «Internet Engineering Task Force». Cet organisme, avant la fin de 1999, a publié la version de TLS 1.0 qui était en fait SSL 3.1. En d’autres termes, SSL a changé son nom en TLS «Transport Layer Security», créant une confusion qui continue encore aujourd’hui à différencier les protocoles. Actuellement, la dernière version de TLS est la 1.3, et elle intègre de nombreuses améliorations en matière de sécurité, mais surtout de performances.
Passons en revue les versions du protocole TLS
La version 1.0 de TLS a été publiée en 1999, mais jusqu’en 2006, la version 1.1 de TLS n’a pas été publiée. Deux ans plus tard, en 2008, TLS 1.2 a été publié, ce qui a corrigé certains bogues et vulnérabilités. Cependant, jusqu’en 2013, soit 5 ans plus tard, les navigateurs n’ont pas commencé à prendre en charge TLS 1.2. Pour aggraver les choses, en 2015, le protocole SSL 3.0 a été officiellement déprécié. En 2018, TLS 1.3 a été approuvé. TLS 1.3 apporte de grandes améliorations de sécurité et supprime les anciennes fonctionnalités qui sont faibles.
Autorités de Certification (AC)
Une Autorité de Certification (CA) est une organisation tierce, qui a 3 objectifs principaux :
- Émettre des certificats.
- Confirmez l’identité du titulaire du certificat.
- Fournir la preuve que le certificat est valide.
Pour devenir CA, il faut des exigences de sécurité et des audits qui doivent être passés. Vous devez prouver que vous êtes digne de confiance pour être accepté dans un «root store». Un « magasin racine » est une base de données CA de confiance. Par exemple, les systèmes d’exploitation et les entreprises comme Apple, Windows et Mozilla ont leurs propres « magasins racine » qu’ils préinstallent sur leurs ordinateurs.
Quels sont les certificats ?
Il existe essentiellement trois types de certificats délivrés par les autorités de certification :
- Domaine validé : Ce certificat ne vérifie que le nom de domaine.
- Organisation validée : Ce certificat nécessite une validation et une vérification manuelles par l’organisation à l’origine du certificat.
- Validation étendue : Ce certificat nécessite une vérification approfondie de l’entreprise pour laquelle il sera délivré.
Lorsqu’un certificat est valide, un badge sécurisé s’affiche dans la barre du navigateur. Les certificats peuvent également indiquer le nom de l’entreprise pour laquelle ils sont valables.
Comment les certificats sont-ils validés ?
Lorsqu’une autorité de certification émet un certificat, il est signé avec son certificat racine qui est pré-installé dans le magasin racine que nous avons sur notre ordinateur ou navigateur. Il faut garder à l’esprit que normalement, la plupart du temps, il s’agit d’un certificat intermédiaire signé avec un certificat racine. En effet, en cas de compromission du certificat racine, il est plus facile de révoquer les certificats intermédiaires, car les certificats racine sont installés sur chaque appareil.
Pour valider un certificat, le processus est le suivant :
- Le navigateur se connecte à une page Web à l’aide du protocole HTTPS et télécharge le certificat.
- Le certificat téléchargé n’est pas un certificat racine.
- Le navigateur télécharge le certificat qui a été utilisé pour signer le certificat sur la page Web.
- Mais ce certificat n’est pas encore le certificat racine.
- Ensuite, le navigateur recherche à nouveau le certificat qui a signé le certificat intermédiaire qui vient d’être téléchargé.
- Et une fois qu’il l’a trouvé et validé, l’ensemble de la chaîne de certificats est approuvé et, par conséquent, le certificat du site Web est également approuvé.
Si le dernier certificat n’est pas un certificat racine et qu’il n’y a plus de certificats à télécharger, la page Web n’est pas approuvée.
Pourquoi utiliser une autorité de certification CA quand je peux auto-signer mes certificats ?
Aunque un certificado auto firmado proporciona el mismo nivel de cifrado que uno generado por una autoridad, los navegadores verifican que el certificado haya sido emitido por una autoridad confiable, y, si no lo es, muestra un aviso al respecto diciendo que el certificado no es assurance. Les certificats SSL / TLS sont achetés auprès de différentes autorités de certification, bien qu’il existe des autorités de certification comme Let’s Encrypt qui fournissent des certificats totalement gratuits.
Les certificats auto-signés ne sont utiles que pour les tests ou l’utilisation sur des intranets, mais ne doivent pas être utilisés sur des pages Web publiques, car les visiteurs verront un avertissement dans le navigateur indiquant que le certificat n’est pas approuvé et que la page Web pourrait ne pas être sécurisée. .
Comme vous pouvez le voir, derrière le protocole HTTPS que nous utilisons en permanence sur des milliers de pages Web, il existe un grand nombre de protocoles fonctionnant en dessous. Nous espérons que vous comprendrez clairement comment fonctionne cet important protocole aujourd’hui.