Secure Socket Layer
Quand le World Wide Web s'ouvre au grand public au début 1990, personne ne mesure vraiment les enjeux de sécurité qui vont en découler. Pourtant, dès 1994, Netscape Communications comprend qu'il faut protéger les échanges sur Internet. L'entreprise lance alors SSL (Secure Socket Layer) dans sa version 1.0, un protocole destiné à sécuriser les communications entre navigateurs et serveurs web.
L'idée de départ ne date pas d'hier : en 1978 déjà, Loren Kohnfelder proposait d'utiliser des certificats numériques pour garantir l'authenticité des clés publiques. Cette intuition théorique servira de fondation à SSL, qui combine cryptographie asymétrique et symétrique pour assurer confidentialité et intégrité des données transmises.
La première version publique, SSL 2.0, sort en 1995. Mais elle traîne avec elle un cortège de failles : l'authentification des messages repose uniquement sur MD5, les clés servant à l'authentification et au chiffrement sont identiques, et la fermeture des connexions TCP expose le protocole à des attaques par troncature. Pire encore, rien ne protège vraiment la négociation initiale contre les attaques de l'homme du milieu.
Netscape réagit vite et publie SSL 3.0 dès 1996. Cette nouvelle mouture améliore sensiblement la génération des clés à partir du secret maître. Le protocole adopte une version préliminaire de HMAC pour authentifier les messages et impose désormais la prise en charge des algorithmes DH/DSS et Triple-DES.
Trois ans plus tard, l'IETF prend les rênes et standardise le protocole sous le nom de TLS (Transport Layer Security) 1.0. La technologie propriétaire de Netscape devient un standard ouvert. TLS 1.0 est compatible avec SSL 3.0 mais renforce la sécurité grâce à l'utilisation complète de HMAC.
Les versions se succèdent ensuite à un rythme régulier : TLS 1.1 en 2006, TLS 1.2 en 2008, puis TLS 1.3 en 2018. Chaque itération abandonne des mécanismes obsolètes et corrige les vulnérabilités découvertes entre-temps. SSL 2.0 est officiellement abandonné, SSL 3.0 suit le même chemin. À partir de 2015, TLS 1.0 ne suffit plus pour les systèmes traitant des données bancaires.
Derrière SSL et TLS se cache une infrastructure complexe de clés publiques (PKI). Les autorités de certification (CA) émettent des certificats X.509 aux entités qui opèrent des serveurs web avec des noms DNS spécifiques. Ces certificats sont généralement signés par des CA intermédiaires, créant une chaîne de confiance qui remonte jusqu'à une racine présente dans les magasins de certificats des systèmes d'exploitation ou des navigateurs.
La validation des certificats par les CA a évolué au fil du temps. La validation de domaine (DV) vérifie simplement l'autorité sur un nom de domaine. La validation d'organisation (OV) authentifie l'entité qui demande le certificat. La validation étendue (EV), introduite plus tard, impose aux CA de suivre un protocole strict pour vérifier l'identité du demandeur.
L'adoption de SSL et TLS a longtemps été timide, jusqu'à l'arrivée de Let's Encrypt en 2015. Cette autorité de certification automatisée et gratuite fait tomber les barrières financières qui freinaient l'obtention de certificats. Google et d'autres géants du web commencent à favoriser les sites sécurisés dans leurs résultats de recherche, ce qui accélère considérablement l'adoption du protocole.
Le fonctionnement de SSL et TLS suit quatre étapes principales. La session démarre par une négociation où client et serveur échangent leurs capacités cryptographiques. Vient ensuite l'authentification, généralement du serveur vers le client uniquement. La troisième phase établit une clé partagée via la cryptographie asymétrique. Enfin, la session utilise cette clé pour chiffrer les données échangées avec un algorithme symétrique.
Les navigateurs web ont progressivement intégré des indicateurs visuels pour signaler une connexion sécurisée. Le cadenas, devenu symbole universel de la sécurité SSL et TLS, apparaît dès les premières versions de Netscape Navigator. Les navigateurs modernes affichent ces indicateurs dans la barre d'adresse, avec des codes couleur et des messages explicites qui renseignent l'utilisateur sur le niveau de sécurité.
Les premières applications de SSL concernent surtout le commerce électronique et les services bancaires en ligne. Le protocole s'étend ensuite à la messagerie électronique sécurisée, aux réseaux privés virtuels et à bien d'autres services nécessitant des communications confidentielles.
L'évolution des menaces informatiques a conduit à enrichir TLS de nouvelles fonctionnalités. Le mécanisme de politique de sécurité HSTS (HTTP Strict Transport Security) force désormais l'utilisation du protocole sécurisé. La transparence des certificats (Certificate Transparency) favorise la détection d'émission frauduleuse de certificats.
L'histoire de SSL et TLS montre bien qu'en matière de sécurité, rien n'est jamais acquis. Les versions successives du protocole ont dû sans cesse renforcer la protection des communications tout en préservant la compatibilité avec les systèmes existants. Cette technologie s'est imposée comme le standard de facto pour sécuriser les échanges sur Internet, contribuant à l'essor du commerce électronique et des services en ligne qui exigent de la confidentialité.