Learn

266 articlesCatégorie : Tous
Réseau

Qu'est-ce que TLS ?

Dans les communications HTTPS, les données HTTP ne sont pas envoyées telles quelles ; elles sont protégées par un mécanisme appelé TLS.

La différence entre HTTP et HTTPS est parfois expliquée comme « chiffré ou non ». Mais le rôle de TLS ne se limite pas au chiffrement. Rendre le contenu de la communication difficile à lire pour des tiers, rendre les modifications pendant la communication difficiles à accepter, et vérifier le serveur de destination sont aussi des rôles importants.

Cet article organise ce que TLS protège et ce qu'il ne protège pas.

Qu'est-ce que TLS ?

TLS est l'abréviation de Transport Layer Security. C'est un protocole destiné à protéger les communications sur un réseau.

Sur le Web, il est utilisé pour protéger la communication entre le navigateur et le serveur web. Lorsque vous ouvrez un site web HTTPS dans un navigateur, le contenu de la communication HTTP est envoyé et reçu dans un état protégé par TLS.

Les protections principalement fournies par TLS sont les trois suivantes.

RôleSignificationExplication
ConfidentialitéRendre le contenu de la communication difficile à lireRendre difficile pour un tiers situé sur le trajet de comprendre le contenu des données
IntégritéRendre les modifications du contenu de la communication faciles à détecterPermettre de détecter si les données ont été modifiées en cours de route
AuthentificationVérifier la destination de connexionVérifier, au moyen du certificat serveur, que la destination possède un certificat légitime pour ce domaine

Autrement dit, il est plus exact de comprendre TLS non seulement comme un « mécanisme qui chiffre la communication », mais comme un mécanisme qui protège le contenu de la communication et vérifie la destination.

HTTPS est HTTP protégé par TLS

HTTPS est une communication où HTTP est protégé par TLS.

HTTP est le mécanisme qui permet au navigateur et au serveur web d'échanger du contenu de page, des données de formulaire, etc. Mais HTTP seul ne chiffre pas le contenu de la communication. Il existe donc un risque que des tiers situés sur le trajet lisent ou modifient le contenu.

Avec HTTPS, les échanges HTTP se font à l'intérieur de TLS. Ainsi, le contenu des requêtes et réponses envoyées et reçues par HTTP devient difficile à lire pendant le trajet.

ÉlémentHTTPHTTPS
Contenu de communicationEnvoyé en clairProtégé par TLS
Résistance à l'écouteFaibleÉlevée
Détection de modificationFaiblePlus facile à détecter grâce à TLS
Vérification de la destinationFondamentalement faibleVérification par certificat serveur
Structure principaleHTTPHTTP over TLS

HTTPS n'est pas un mécanisme qui traite un contenu différent de HTTP. C'est une méthode qui envoie la communication HTTP en la protégeant par TLS.

Ce que TLS protège

Le centre de ce que TLS protège est le contenu de la communication qui circule entre le navigateur et le serveur.

Sur le trajet de communication peuvent se trouver un routeur Wi-Fi, un fournisseur d'accès, des équipements réseau d'organisation, des équipements de relais sur Internet, etc. Si TLS n'est pas utilisé, le contenu peut être lu ou modifié sur ce trajet.

Lorsque TLS est actif, le contenu de la communication est chiffré. Ainsi, même si un tiers situé sur le trajet obtient les données, il lui est difficile de lire directement le contenu HTTP.

InformationProtection par TLSExplication
Corps de pageProtégéLe HTML et le contenu textuel renvoyés par le serveur sont difficiles à lire pendant la communication
Contenu de formulaireProtégéLes informations de connexion, contenus de demande, etc. sont chiffrés
En-têtes HTTPProtégésLes en-têtes HTTP comme ou User-Agent sont envoyés à l'intérieur de TLS
Valeurs de cookieProtégéesLe contenu des cookies devient difficile à lire pendant la communication
Chemin et requête de l'URLProtégésLa partie correspondant à /search?q=... dans example.com/search?q=... est protégée comme requête HTTP

Toutefois, cette protection concerne les tiers situés sur le trajet de communication. Le serveur de destination doit traiter la requête ; il déchiffre donc le contenu de la communication et le lit.

Les certificats serveur vérifient la destination

TLS ne chiffre pas seulement le contenu ; il vérifie aussi le serveur de destination.

Lorsque vous accédez à un site web HTTPS, le serveur présente un certificat serveur. Le navigateur vérifie notamment si ce certificat a été émis par une autorité de certification de confiance, s'il n'a pas expiré et s'il correspond au nom de domaine consulté.

Cela permet de vérifier que l'interlocuteur possède un certificat légitime pour le domaine prévu.

Toutefois, le fait qu'un certificat serveur existe ne garantit pas que l'exploitant du site est sûr ni que les informations du site sont correctes. Ce que le certificat vérifie principalement est « possède-t-il un certificat valide pour ce domaine ? ».

Autrement dit, le cadenas HTTPS indique que « le trajet de communication est protégé par TLS », mais il ne garantit pas jusqu'à « ce site fournit un contenu digne de confiance ».

Portée du chiffrement TLS

Ce que TLS chiffre est principalement le contenu de HTTP.

Par exemple, le corps d'une page web, le contenu envoyé par formulaire, les valeurs de cookies, les en-têtes HTTP, le chemin et la chaîne de requête de l'URL sont envoyés à l'intérieur de TLS.

En revanche, même avec TLS, certaines informations nécessaires à la communication et certaines informations situées à l'extérieur de la communication restent présentes.

InformationTLS la cache-t-il ?Explication
Corps de pageFacilement cachéProtégé par TLS comme contenu de la réponse HTTP
Contenu de formulaireFacilement cachéProtégé par TLS comme corps de la requête HTTP
Valeur de cookieFacilement cachéeProtégée par TLS comme en-tête HTTP
Chemin et requête de l'URLFacilement cachésProtégés par TLS comme contenu de la requête HTTP
Adresse IP de destinationNon cachéeNécessaire pour livrer les paquets à la destination
Adresse IP sourceNon cachéeVisible depuis le serveur ou les relais
Certaines informations lors de la connexion TLS, comme SNIPeuvent être visibles selon l'environnementDans les environnements sans ECH, elles peuvent servir d'indice sur le domaine de destination
Requêtes DNSRestent un autre problèmeAvec DNS ordinaire, le domaine demandé peut être visible
Volume de communicationNon cachéLa quantité de données envoyées et reçues peut être observée
Moment de communicationNon cachéLe moment où la communication a lieu peut être observé

Cette différence est importante. TLS protège le contenu de HTTP, mais il ne fait pas disparaître l'existence même de la communication, son volume, son timing ni les adresses IP.

Attention à la terminaison TLS

Il faut garder à l'esprit de quel point à quel point TLS protège la communication.

Dans les explications générales, on dit que « la communication entre le navigateur et le serveur web est chiffrée ». Toutefois, dans les services web réels, un CDN, un répartiteur de charge, un reverse proxy, etc. peuvent être le point de terminaison TLS.

La terminaison TLS est le point où la communication chiffrée est déchiffrée.

Par exemple, il existe des configurations où la communication entre le navigateur et le CDN est protégée par TLS, puis le CDN transmet vers le serveur d'origine par une autre connexion. Dans ce cas, la destination TLS vue par le navigateur est côté CDN, et la protection au-delà dépend de la configuration du service.

Cela ne signifie pas que TLS est faible. TLS est un mécanisme qui protège la communication entre des endpoints ; l'endroit qui devient endpoint change selon la configuration du système.

TLS n'est pas une technologie d'anonymisation

TLS n'est pas une technologie d'anonymisation.

TLS est une technologie destinée à protéger le contenu de la communication contre les tiers situés sur le trajet. En revanche, le contenu arrive au serveur de destination. Le serveur doit traiter la requête, et peut donc connaître les données envoyées, les cookies, les informations de connexion, l'heure d'accès, l'adresse IP source, etc.

Lorsque vous accédez à un site web HTTPS, les tiers situés sur le trajet ont plus de mal à lire le contenu de la page. Mais le site web de destination lui-même peut traiter la page consultée, le contenu de formulaire envoyé, l'état de connexion, les cookies, etc.

ÉlémentTLS peut-il le résoudre ?Raison
Écoute pendant la communicationFacilement résoluLe contenu de la communication est chiffré
Modification pendant la communicationFacilement résolueIl existe un mécanisme de détection de modification
Lecture par le serveur de destinationNon résoluLe serveur doit traiter le contenu de la communication
Dissimulation de l'adresse IP sourceNon résoluL'adresse IP source peut être visible côté serveur
Identification par cookieNon résolueLes cookies servent à identifier l'utilisateur côté serveur
Lien avec la personne par connexionNon résoluLes actions sont liées au compte

Le chiffrement et l'anonymisation ont des objectifs différents.

Le chiffrement est une technologie destinée à rendre le contenu de la communication difficile à lire par des tiers. L'anonymisation est une manière de rendre difficile de savoir qui communique, où il se connecte et quelles actions appartiennent au même utilisateur.

TLS est une technologie forte pour le premier objectif, mais il ne réalise pas le second à lui seul.

Pourquoi comprendre TLS

Comprendre TLS permet d'évaluer correctement la sécurité de HTTPS sans la surestimer.

HTTPS est très important comme mesure contre l'écoute et la modification sur le trajet de communication. Pour les connexions, les paiements, l'envoi de données personnelles, l'accès aux écrans d'administration, etc., l'utilisation de HTTPS est un prérequis.

En revanche, même avec HTTPS, les informations arrivent au serveur de destination. Les journaux serveur, l'adresse IP source, les cookies, les informations de compte, les informations de navigateur, etc. restent des problèmes distincts de TLS.

Pour comprendre TLS, il faut donc distinguer les points suivants.

Point de vueObjectif principalLien avec TLS
ChiffrementRendre le contenu de la communication difficile à lire par des tiersRôle central de TLS
IntégritéDétecter les modifications pendant la communicationRôle important de TLS
Authentification de la destinationVérifier que le serveur possède un certificat légitimeRôle important de TLS
AnonymisationRendre moins évidents l'utilisateur et la relation de connexionTLS seul ne peut pas la réaliser
Prévention du suiviRéduire l'identification par cookies ou comptesNécessite des mesures distinctes de TLS

TLS est une technologie fondamentale qui soutient la sécurité des communications. Mais ce n'est pas un mécanisme universel qui résout tous les problèmes de vie privée et d'anonymat.

Résumé

TLS est le mécanisme central de protection de communication utilisé par HTTPS.

TLS chiffre le contenu de la communication entre le navigateur et le serveur, ce qui rend ce contenu difficile à lire par des tiers situés sur le trajet. Il facilite aussi la détection de modifications pendant la communication et vérifie la destination au moyen du certificat serveur.

En revanche, TLS n'est pas une technologie d'anonymisation. Le contenu de la communication arrive au serveur de destination, et les problèmes d'adresse IP source, de journaux serveur, de cookies, d'informations de compte, etc. restent distincts.

Pour comprendre correctement TLS, il faut distinguer « le contenu de la communication est chiffré » et « qui accède où est caché ».

HTTPS est important pour rendre la communication sûre, mais il ne réalise pas automatiquement l'anonymat ni la prévention du suivi.

Articles liés