ArticleCybersécurité & Conformité
Transport Layer Security (TLS) se renforce avec la version 1.3
Plus efficace et plus performant que le protocole Secure Socket Layer (SSL), le protocole Transport Layer Security (TLS) a subi quelques violations majeures. Heureusement, la version 1.3 du TLS, officiellement disponible depuis le mois d'août dernier, améliore considérablement la confidentialité et la performance des communications Web sécurisées.

L'objectif du TLS a toujours été de préserver la confidentialité des communications Web. Cependant, des brèches dues à des défauts de conception et de mise en œuvre ont entamé la réputation de ce protocole de chiffrement. La dernière version TLS 1.3 renforce et rationalise le standard.
Qu'est-ce que le TLS ?
Le TLS est un protocole cryptographique qui assure la sécurité des communications de bout en bout sur les réseaux. Il est largement utilisé pour les communications Internet et les transactions en ligne. La norme a été développée par l’Internet Engineering Task Force (IETF) pour prévenir l'écoute clandestine, l'altération et la falsification des messages. Plusieurs applications courantes utilisent le TLS, notamment les navigateurs Web, la messagerie instantanée, le courrier électronique et la voix sur IP. De nombreuses entreprises utilisent le protocole TLS pour sécuriser toutes les communications effectuées entre leurs serveurs et les navigateurs Web, qu’il s’agisse ou pas de transmettre des données sensibles.
Le TLS a remplacé le protocole SSL (Secure Socket Layer) développé par Netscape en 1995. Les versions 1.0 et 2.0 du SSL contenaient de nombreuses failles de sécurité qui imposaient une refonte totale du protocole. En 1996, Netscape a lancé la version 3.0 du SSL. C’est cette dernière qui a servi de base au TLS 1.0. En 1999, le conseil des normes de sécurité de l’industrie des cartes de paiement (PCI SSC) a suggéré l’abandon du SSL au profit du TLS 1.0, considérant que ce dernier offrait une mise à niveau significative du SSL 3.0.
TLS ou SSL ?
Le Transport Layer Security (TLS) est plus efficace et plus sûr que le Secure Socket Layer (SSL), car son système d’authentification de message est plus fort, son protocole d’échange de clés plus abouti et il intègre d'autres algorithmes de cryptage. Par exemple, le TLS prend en charge les clés pré-partagées, les mots de passe distants sécurisés, les clés à courbe elliptique et les Kerberos, un protocole d'authentification réseau qui repose sur un mécanisme de clés secrètes et l'utilisation de tickets, ce qui n’est pas le cas du SSL. TLS et SSL ne sont pas interopérables, mais le TLS offre une rétrocompatibilité pour les anciens périphériques utilisant encore le SSL.
La spécification du TLS comporte deux couches : un protocole d'enregistrement qui assure la sécurité de la connexion et un protocole de handshake qui permet au client et au serveur de s'authentifier mutuellement et de négocier des clés de sécurité avant toute transmission de données. Le processus de handshake TLS comporte lui-même plusieurs étapes. Le handshake TLS de base implique l’envoi de messages « hello » entre le client et le serveur ainsi que l'échange de clés, de messages chiffrés et un message d'arrivée. Ce processus en plusieurs étapes fait que le TLS est suffisamment souple pour être utilisé dans différentes applications, car le format et l'ordre d'échange peuvent être modifiés.
Failles et faiblesses du TLS
La présence de failles dans les protocoles et les implémentations est une source permanente de problèmes avec les outils de sécurité et la technologie, et le TLS a certainement sa part de responsabilité dans certaines intrusions Le TLS 1.3 représente la première révision majeure entreprise par l'Internet Engineering Task Force (IETF) pour moderniser le protocole, au contraire des versions précédentes qui servaient surtout à colmater les défauts d’un code défectueux. Ces réparations partielles ont certes permis de tenir un certain temps, mais les pirates ont fini par trouver un moyen de contourner les différentes parades.
Les premiers travaux lancés par l’IETF pour réviser de fond en comble le TLS ont démarré en avril 2014, et il a fallu quatre ans et 28 versions avant l’approbation du TLS 1.3 en mars 2018. En plus de cette refonte majeure, l'IETF a apporté « des améliorations capitales dans les domaines de la sécurité, de la performance et de la vie privée ». Le plus grand changement, c’est que le TLS 1.3 complique nettement le décryptage du trafic crypté en HTTPS pour les attaquants et il protège donc mieux la confidentialité.
Une version plus rapide
La version 1.3 accélère également le processus de handshake en accélérant le processus de cryptage. Cette rapidité a un avantage sur le plan de la sécurité, mais elle devrait également améliorer les performances des applications Web sécurisées. Avec le TLS 1.2, le processus de handshake impliquait plusieurs allers retours. Avec la version 1.3, un seul tour est nécessaire, et toute l'information est transmise à ce moment-là. La mise en œuvre du TLS 1.3 ne devrait pas poser de problème, car il a été conçu pour remplacer le TLS 1.2 de manière transparente et il utilise les mêmes certificats et les mêmes clés. De plus, les clients et les serveurs peuvent négocier automatiquement une connexion si elle est prise en charge des deux côtés.
Le début du cycle de développement du TLS 1.3 a été marqué par quelques problèmes. L’un des plus notables est apparu dans un établissement scolaire du Maryland où 20 000 Chromebook ont subi un brick sévère après leur mise à niveau vers TLS 1.3. Par ailleurs, les entreprises de services financiers étaient farouchement opposées au TLS 1.3 par que le chiffrement ne leur permettait pas de voir ce qui se passait sur leurs propres réseaux. L'IETF a apporté quelques modifications pour que le protocole puisse fonctionner avec des outils de surveillance s'il est correctement mis en œuvre. En plus des améliorations de sécurité, le TLS 1.3 a supprimé un certain nombre d'algorithmes plus anciens qui ne faisaient rien d'autre que créer des vulnérabilités. C’est le cas notamment de l’algorithme de chiffrement en continu RC4, des algorithmes Data Encryption Standard DES et Triple DES, du protocole de transport de clef chiffrée RSA, de la fonction de hachage cryptographique Secure Hash Algorithm SHA-1, du mode d’opération Cipher Block Chaining (CBC), de l'algorithme de hachage cryptographique Message Digest 5 (MD5), de l'échange de clés Diffie-Hellman, et des algorithmes EXPORT réputés pour leur vulnérabilité.
Des clefs réutilisables
De plus, le nouveau protocole a été doté d’une fonction appelée « 0-RTT resumption » qui permet au client et au serveur de se souvenir d’une communication antérieure. S’ils ont déjà communiqué entre eux, ils peuvent réutiliser les clés précédentes, passer les contrôles de sécurité et commencer à communiquer immédiatement. Il n’est pas exclu que les plus grandes entreprises technologiques aient poussé en faveur du 0-RTT pour profiter de connexions plus rapides, mais la fonction inquiète un peu les professionnels de la sécurité.
La mise à niveau vers le TLS 1.3 se justifie déjà par les seuls bénéfices de sécurité. Mais elle présente d’autres avantages en matière de réseau. En effet, le TLS 1.3 est plus léger que son prédécesseur et utilise moins de ressources. Cela signifie qu'il est plus efficace, consomme moins de cycles CPU et réduit la latence. Il améliore donc les performances.

