Transport Layer Security (TLS), anciennement nommé Secure Socket Layer (SSL) est un protocole de sécurisation des échanges sur Internet, développé à l’origine par Netscape (SSL version 2 et SSL version 3). Il a été renommé en Transport Layer Security (TLS) par l’IETF suite au rachat du brevet de Netscape par l’IETF en 2001. Le groupe de travail correspondant à l’IETF a permis la création de la RFC 2246.
Il y a très peu de différence entre SSL version 3 et TLS version 1 (qui correspond à la version 3.1 du protocole SSL) rendant les deux protocoles non inter-opérables, mais TLS a mis en place un mécanisme de compatibilité ascendante avec SSL. En outre, TLS diffère de SSL pour la génération des clés symétriques. Cette génération est plus sécurisée dans TLS que dans SSL v3 dans la mesure où aucune étape de l’algorithme ne repose uniquement sur MD5 pour lequel sont apparues quelques faiblesses en cryptanalyse.
Par abus de langage, on parle de SSL pour désigner indifféremment SSL ou TLS.
SSL fonctionne suivant un mode client-serveur. Il fournit quatre objectifs de sécurité :
l’authentification du serveur ;
la confidentialité des données échangées (ou session chiffrée) ;
l’intégrité des données échangées
de manière optionnelle, l’authentification du client.
Avec le développement d’Internet, de nombreuses sociétés commerciales proposent des achats en ligne pour les particuliers. L’offre croît tous les jours, mais le chiffre d’affaires dégagé par le commerce électronique (e-commerce) reste encore modeste car le client n’a pas encore une confiance totale dans le paiement par carte bancaire. Une des façons de sécuriser ce paiement est d’utiliser des protocoles d’authentification et de chiffrement tels que SSL, mais cela ne dispense pas le commerçant de veiller soigneusement aux numéros de carte bancaire parfois stockés sur ses serveurs.
La session chiffrée est utilisée généralement lors de l’envoi du numéro de carte bancaire, mais elle peut l’être dans d’autres cas. Le chiffrement est réalisé par à la fois un chiffrement asymétrique (qui va permettre une authentification) comme par exemple l’algorithme RSA et à la fois par un chiffrement symétrique (qui est plus léger qu’un chiffrement asymétrique) et qui va assurer la transmission des informations (comme par exemple le DES). On y adjoint une fonction de hachage comme le MD5 pour s’assurer que les données sont transmises sans être corrompues. SSL est utilisé par la plupart des navigateurs. On reconnaît qu’une transaction est sécurisée lorsque une clé ou un cadenas fermé s’affiche dans un coin inférieur de l’écran.