Qu'est-ce que la sécurité de la couche de transport (TLS) ?

TLS est un protocole de sécurité qui assure la confidentialité et l'intégrité des données sur les communications Internet. TLS est rapidement devenu une pratique standard pour la création d'applications web sécurisées.

Share facebook icon linkedin icon twitter icon email icon

TLS (Transport Layer Security)

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Définir TLS
  • Expliquer comment TLS fonctionne
  • Différencier TLS et SSL
  • Comprendre comment TLS affecte les performances
  • Comment implémenter TLS

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

Transport Layer Security, ou TLS, est un protocole de sécurité largement adopté qui est conçu pour faciliter la confidentialité et la sécurité des données pour les communications sur Internet. TLS est principalement utilisé pour le chiffrement de la communication entre les applications web et les serveurs, par exemple les navigateurs web chargeant un site web. TLS peut également être utilisé pour chiffrer d'autres communications telles que le courrier électronique, la messagerie et la voix sur IP (VOIP). Dans cet article, nous nous concentrerons sur le rôle de TLS dans la sécurité des applications web.

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

Quelle est la différence entre TLS et SSL ?

TLS a évolué à partir d'un protocole de chiffrement précédent appelé Secure Socket Layer (SSL), développé par Netscape. TLS version 1.0 a en fait commencé le développement en tant que 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. En raison de cet historique, les termes TLS et SSL sont parfois utilisés de manière interchangeable.

Quelle est la différence entre TLS et HTTPS ?

HTTPS est une implémentation du chiffrement TLS en haut du protocole HTTP utilisé par tous les sites web ainsi que par certains autres services web. Tout site Web qui utilise HTTPS utilise donc le chiffrement TLS.

Pourquoi devriez-vous utiliser TLS ?

Le chiffrement TLS peut aider à protéger les applications web contre les attaques telles que les atteintes à la protection des données et les attaques DDoS. De plus, le HTTPS protégé par TLS devient rapidement une pratique standard pour les sites web. Par exemple, le navigateur Google Chrome pénalise les sites non HTTPS, et les utilisateurs Internet quotidiens commencent à se méfier des sites web qui ne comportent pas l'icône de cadenas HTTPS.

Comment fonctionne TLS ?

TLS peut être utilisé au-dessus d'un protocole de sécurité de couche transport comme TCP. TLS comprend trois composants principaux : le chiffrement, l'authentification et l'intégrité.

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

Une connexion TLS est établie à l'aide d'une séquence connue sous le nom de handshake TLS. Le handshake TLS établit une suite de chiffrement pour chaque session de communication. La suite de chiffrement est un ensemble d'algorithmes qui spécifie des détails tels que les clés de chiffrement partagées, ou clés de session, qui seront utilisées pour cette session particulière. 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.

Le handshake gère également l'authentification, qui consiste généralement à ce que le serveur prouve son identité au client. Cette opération se fait à l'aide de clés publiques. Les clés publiques sont des clés de chiffrement qui utilisent un chiffrement unidirectionnel, ce qui signifie que n'importe qui peut déchiffrer les données chiffrées avec la clé privée pour garantir leur authenticité, mais seul l'expéditeur d'origine peut chiffrer les données avec la clé privée.

Les données une fois chiffrées et authentifiées sont ensuite signées avec un code d'authentification de message (MAC). Le destinataire peut ensuite vérifier le MAC pour garantir l'intégrité des données. Celui-ci peut-être comparé au film inviolable que l'on trouve sur un flacon d'aspirine ; le consommateur sait que personne n'a altéré son médicament parce que le film est intact au moment de l'achat.

The TCP Handshake

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

La complexité du processus impliqué dans la configuration d'une connexion TLS nécessite un certain temps de chargement et une certaine puissance de calcul. Le client et le serveur doivent communiquer à plusieurs reprises avant de transmettre des données, ce qui consomme de précieuses millisecondes de temps de chargement pour les applications web, ainsi qu'une certaine mémoire pour le client et le serveur.

Heureusement, il existe des technologies qui permettent d'atténuer le retard créé par le handshake TLS. L'une d'entre elle est TLS False Start ou faux démarrage TLS, qui permet au serveur et au client de commencer à transmettre des données avant que le handshake TLS soit terminé. Une autre technologie pour accélérer TLS est TLS Session Resumption ou reprise de session TLS, qui permet aux clients et serveurs qui ont déjà communiqué d'utiliser un handshake abrégé.

Ces améliorations ont contribué à faire de TLS un protocole très rapide qui ne devrait pas affecter sensiblement les temps de chargement. Les coûts de calcul associés à TLS sont quant à eux plutôt négligeables par rapport aux normes actuelles. Par exemple, Google n'a pas eu besoin d'activer d'équipement supplémentaire pour déplacer l'intégralité de sa plate-forme Gmail vers HTTPS en 2010. La charge supplémentaire sur les serveurs due au chiffrement TLS était inférieure à 1 %.

Comment commencer à implémenter TLS sur un site web

Tous les utilisateurs Cloudflare bénéficient automatiquement de la protection HTTPS offerte par Cloudflare. Via Universal SSL , Cloudflare offre 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 en l'achetant, et installer le certificat sur leurs serveurs d'origine .

Pour en savoir plus sur le fonctionnement des certificats TLS/SSL, voir Qu'est-ce qu'un certificat SSL ? Vérifiez si un site web utilise le chiffrement TLS dans Cloudflare Diagnostic Center.