Qu'est-ce que le TLS (Transport Layer Security) ?

Le protocole de sécurité TLS assure la confidentialité et l'intégrité des données sur les communications Internet. Sa mise en œuvre constitue une pratique courante en matière de création d'applications web sécurisées.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Définir le protocole TLS (Transport Layer Security)
  • Expliquer comment le TLS fonctionne
  • Différencier TLS et SSL
  • Comprendre comment le TLS affecte les performances
  • Comment déployer le TLS

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Inscrivez-vous pour recevoir des articles d'enrichissement sélectionnés par Cloudflare

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce que le TLS (Transport Layer Security) ?

Le terme TLS, pour Transport Layer Security, désigne un protocole de sécurité largement adopté et conçu pour faciliter la confidentialité et la sécurité des données sur les communications Internet. Il est principalement utilisé pour chiffrer la communication entre les applications web et les serveurs, comme les navigateurs web chargeant un site web, par exemple. Le TLS également être utilisé pour chiffrer d'autres communications, comme les e-mails, les services de messagerie et la voix sur IP (VoIP). Dans cet article, nous nous concentrerons sur le rôle du TLS dans la sécurité des applications web.

Le protocole TLS a été proposé par l'Internet Engineering Task Force (IETF, une organisation internationale de normalisation) et sa première version a été publiée en 1999. La version la plus récente (TLS 1.3) a, quant à elle, été publiée en 2018.

Quelle est la différence entre le TLS et le SSL ?

Le TLS a évolué à partir du protocole de chiffrement précédent, Secure Socket Layer (SSL), développé par Netscape. Le développement de la version 1.0 de TLS a en fait commencé sous le nom de SSL version 3.1, mais le nom du protocole a été modifié avant la publication, afin d'indiquer qu'il n'était plus associé à Netscape. Du fait de ce passé commun, les termes TLS et SSL sont parfois utilisés de manière interchangeable.

En quoi les protocoles TLS et HTTPS diffèrent-ils ?

Le HTTPS désigne une implémentation du chiffrement TLS en surcouche du protocole HTTP utilisé par l'ensemble des sites web, ainsi que par certains autres services web. Tout site web qui utilise le HTTPS s'appuie donc sur le chiffrement TLS.

Pourquoi les entreprises et les applications web devraient-elles utiliser le protocole TLS ?

Le cryptage TLS peut contribuer à protéger les applications web contre les violations de données et autres attaques. Aujourd'hui, le protocole HTTPS protégé par TLS est une pratique standard pour les sites web. Le navigateur Google Chrome s'est progressivement attaqué aux sites non HTPS (), et d'autres navigateurs lui ont emboîté le pas.Les internautes quotidiens se méfient davantage des sites web qui ne présentent pas l'icône du cadenas HTTPS.

Certificat SSL Navigation sécurisée

Comment fonctionne le TLS ?

Le protocole TLS s'articule autour de trois composants principaux : chiffrement, authentification et intégrité.

  • Chiffrement : il permet de masquer les données provenant de tiers.
  • Authentification : elle garantit que les parties qui échangent des informations sont bien celles qu'elles prétendent être.
  • Intégrité : elle vérifie que les données n'ont pas été falsifiées ou altérées.

Comment le TLS agit-il ?

Pour qu'un site web ou une application puisse utiliser TLS, un certificat TLS doit être installé sur son serveur d'origine (ce certificat est également connu sous le nom de « certificat SSL », en raison de la confusion autour de la dénomination des protocoles décrite ci-dessous). Les certificats TLS sont délivrés par une autorité de certification à la personne ou à l'entreprise propriétaire d'un domaine. Le certificat contient des données importantes sur l'entité propriétaire du domaine, de même que la clé publique du serveur, deux informations cruciales à la validation de l'identité du serveur.

Une connexion TLS démarre par l'utilisation d'une séquence connue sous le nom de négociation TLS (TLS handshake). Lorsqu'un utilisateur navigue vers un site web utilisant le protocole TLS, la négociation TLS commence entre l'appareil de l'utilisateur (également appelé l'appareil client) et le serveur web.

Lors de cette négociation, l'appareil de l'utilisateur et le serveur web effectuent les actions suivantes :

  • Préciser quelle version de TLS (TLS 1.0, 1.2, 1.3, etc.) ils utiliseront.
  • Décider quelles suites de chiffrement (voir ci-dessous) ils utiliseront.
  • Authentifier l'identité du serveur à l'aide du certificat TLS de ce dernier.
  • Générer des clés de session afin de déchiffrer les messages entre les deux parties une fois la négociation terminée.

La négociation TLS établit une suite de chiffrement pour chaque session de communication. La suite de chiffrement constitue un ensemble d'algorithmes spécifiant divers détails, comme les clés de chiffrement partagées (ou clés de session) qui seront utilisées pour cette session particulière. Le protocole TLS est capable de définir les clés de session correspondantes sur un canal non chiffré grâce à une technologie connue sous le nom de cryptographie à clé publique.

La négociation gère également l'authentification, qui consiste généralement à faire en sorte que le serveur prouve son identité au client. Cette opération s'effectue à l'aide de clés publiques. Les clés publiques sont des clés de chiffrement qui utilisent un chiffrement unidirectionnel. N'importe qui peut donc déchiffrer les données chiffrées à l'aide de la clé privée afin de garantir leur authenticité, mais seul l'expéditeur initial conserve la possibilité de chiffrer les données à l'aide de cette clé. La clé publique du serveur fait partie intégrante de son certificat TLS.

Une fois chiffrées et authentifiées, les données sont ensuite signées à l'aide d'un code d'authentification de message (Message Authentication Code, MAC). Le destinataire peut ensuite vérifier le MAC afin de garantir l'intégrité des données. Ce code peut-être comparé au film inviolable que l'on trouve sur un flacon d'aspirine : le consommateur sait que personne n'a touché à son médicament, car le film est intact au moment de l'achat.

La négociation TLS

Comment le TLS affecte-t-il les performances des applications web ?

Les dernières versions du protocole TLS n'ont pratiquement aucune incidence sur les performances d'une application web.

En raison de la complexité de la procédure impliquée dans l'établissement d'une connexion TLS, un certain temps de chargement et une certaine puissance de calcul s'avèrent nécessaires. Le client et le serveur doivent communiquer dans les deux sens à plusieurs reprises avant de pouvoir transmettre des données. Ce processus consomme de précieuses millisecondes de temps de chargement pour les applications web, ainsi qu'une certaine quantité de mémoire, à la fois du côté client et serveur.

Heureusement, certaines technologies existantes permettent d'atténuer la latence potentielle engendrée par la négociation TLS. L'une d'entre elles, le TLS False Start (ou faux démarrage TLS), permet au serveur et au client de commencer à transmettre des données avant la fin de la négociation. La TLS Session Resumption (ou reprise de session TLS) constitue une autre de ces technologies d'accélération de la connexion. Elle permet aux clients et serveurs qui ont déjà communiqué ensemble par le passé d'utiliser un processus de négociation abrégé.

Ces améliorations ont contribué à faire du TLS un protocole très rapide, qui ne devrait pas affecter les temps de chargement de manière significative. Quant aux coûts en puissance de calcul associés au TLS, ils se révèlent généralement négligeables en comparaison des normes actuelles.

Lancé en 2018, le TLS 1.3 a rendu le protocole encore plus rapide. Les négociations TLS sous TLS 1.3 se voient raccourcies de quelques millisecondes, car elles ne nécessitent qu'un seul aller-retour (ou communication aller-retour) au lieu de deux. Si l'utilisateur s'est déjà connecté à un site web auparavant, la négociation ne comprendra aucun aller-retour, pour un processus encore plus rapide.

Comment déployer le TLS sur un site web ?

Cloudflare propose des certificats TLS/SSL gratuits à tous les utilisateurs. Ceux qui n'utilisent pas Cloudflare devront acquérir un certificat SSL auprès d'une autorité de certification (souvent moyennant finances) et l'installer sur leurs serveurs d'origine.

Pour en savoir plus sur le fonctionnement des certificats TLS/SSL, consultez la page Qu'est-ce qu'un certificat SSL ? Pour vérifier si un site web utilise le chiffrement TLS, rendez-vous dans le Centre de diagnostic Cloudflare.