Transport Layer Security (TLS)
⌚: 4 minutes
La Transport Layer Security (TLS) est un protocole qui assure l’authentification, la confidentialité et l’intégrité des données entre deux applications informatiques communicantes. Il s’agit du protocole de sécurité le plus largement déployé à l’heure actuelle. Il est utilisé pour les navigateurs web et d’autres applications qui nécessitent l’échange sécurisé de données sur un réseau, comme les sessions de navigation sur le web, les transferts de fichiers, les connexions VPN, les sessions de bureau à distance et la voix sur IP (VoIP).
Le TLS a évolué à partir du protocole SSL (Secure Sockets Layer) de Netscape et l’a largement remplacé, bien que les termes SSL ou SSL/TLS soient encore parfois utilisés. Les principales différences entre SSL et TLS qui font de TLS un protocole plus sûr et plus efficace sont l’authentification des messages, la génération de clé et les suites de chiffrement prises en charge, TLS prenant en charge des algorithmes plus récents et plus sûrs. TLS et SSL ne sont pas interopérables, bien que TLS offre actuellement une certaine rétrocompatibilité afin de fonctionner avec les systèmes existants.
Historique et développement
L’Internet Engineering Task Force (IETF) a officiellement repris le protocole SSL pour le normaliser selon un processus ouvert et a publié la version 3.1 de SSL en 1999 sous le nom de TLS 1.0. Le protocole a été rebaptisé TLS pour éviter des problèmes juridiques avec Netscape, qui a développé le protocole SSL comme élément clé de son navigateur web d’origine. Selon la spécification du protocole, TLS est composé de deux couches : le protocole d’enregistrement TLS et le protocole de poignée de main TLS. Le protocole d’enregistrement assure la sécurité de la connexion, tandis que le protocole de poignée de main permet au serveur et au client de s’authentifier mutuellement et de négocier des algorithmes de cryptage et des clés cryptographiques avant l’échange de données.
Les attaques TLS
Les défauts de mise en œuvre ont toujours été un gros problème avec les technologies de cryptage, et le TLS ne fait pas exception. Le tristement célèbre « Heartbleed bug » est le résultat d’un bogue étonnamment petit dans un morceau de logique qui concerne l’implémentation par OpenSSL du mécanisme de battement de coeur TLS, qui est conçu pour maintenir les connexions en vie même lorsqu’aucune donnée n’est transmise. Bien que TLS ne soit lui, pas vulnérable à l’attaque POODLE, car il spécifie que tous les octets de remplissage doivent avoir la même valeur et être vérifiés, une variante de l’attaque a exploité certaines implémentations du protocole TLS qui ne valident pas correctement les exigences en matière d’octets de remplissage de chiffrement.
Améliorations de la sécurité TLS 1.3
Finalisé en 2018, TLS 1.3 est la version actuelle du protocole. TLS 1.3 a été développé pour remédier aux diverses vulnérabilités qui ont été exposées au cours des dernières années, réduire les risques d’erreurs de mise en œuvre et supprimer les fonctionnalités qui ne sont plus nécessaires. Par exemple, les hachages cryptographiques MD5 ne sont plus pris en charge, le secret de transmission parfait est requis et la négociation RC4 est interdite. Toutes les vulnérabilités connues contre les versions antérieures de TLS, telles que BEAST, CRIME et les attaques de dégradation de protocole, ont également été éliminées. Les navigateurs web populaires tels que Google Chrome et Mozilla Firefox utilisent TLS 1.3 par défaut, dans la mesure du possible. En 2018, la norme de sécurité des données de l’industrie des cartes de paiement – la réglementation de l’industrie régissant la protection des transactions électroniques par carte de crédit – a rendu obligatoire l’utilisation de TLS 1.1 ou plus dans la plupart des situations. En plus de sa résilience accrue, le TLS 1.3 est plus rapide grâce à une poignée de main plus efficace entre les deux systèmes qui communiquent.