La plupart des navigateurs web gèrent parfaitement SSLv2, SSLv3 & TLS v1.0 (ce dernier n'étant pas activé par défaut sous Internet Explorer 6). Cependant, il semblerait que SSLv2 soit désactivé par défaut dans Internet Explorer 7, ce qui obligerait à la plupart des vendeurs en ligne de modifier la configuration de leurs serveurs (modification somme toute minime), comme le fait remarquer cet (fr) article de ZDNet.fr.
7 - couche application | HTTP, SMTP, FTP, SSH, IRC, SNMP, SIP ... |
6 - couche de présentation | |
5 - couche de session | TLS, SSL, NetBIOS |
4 - couche de transport | TCP, UDP, SCTP, RTP, DCCP ... |
3 - couche réseau | IPv4, IPv6, ARP, IPX ... |
2 - couche de liaison | Ethernet, 802.11 WiFi, Token ring, FDDI, ... |
1 - couche physique | Câble, fibre optique, ... |
Dans la pile de protocole TCP/IP, SSL se situe entre la couche application (comme HTTP, FTP, SMTP, etc.) et la couche transport TCP.
Son utilisation la plus commune reste cependant en dessous de HTTP. Le protocole SSL est implémenté par la couche session de la pile, ce qui a deux conséquences :
En 2001, Serge Vaudenay découvre une attaque par canal auxiliaire contre SSL. Cette attaque profite d'une mauvaise implémentation du remplissage qui est utilisé lorsque les entrées ont une taille variable. Le mode de chiffrement CBC (cipher block chaining) consiste à diviser les données en plusieurs blocs de même taille et à les chiffrer de manière chaînée (le résultat précédent est utilisé lors du chiffrement suivant). L'attaque de Vaudenay utilise les temps de réponse des serveurs en cas d'erreurs lors du remplissage. Avec un peu de chance, il est possible de découvrir les dernières données qui ont été envoyées et de les récupérer. L'attaque est toutefois inopérante avec un chiffrement de type RC4 et n'est valable que sous certaines conditions. Elle a malgré tout été utilisée avec succès contre certains « webmails » qui envoient plusieurs fois les mêmes données. Suite à cette attaque, le standard a été mis à jour.
Cette attaque est maintenant totalement dépassée et ne peut plus du tout être utilisée.
Le 30 Juillet 2009, lors de la conférence Black Hat de Las Vegas, de nombreuses failles de sécurités du protocole SSL ont été dévoilées. Plus d'information ici, là et là.
Dans la majorité des cas, l'utilisateur authentifie le serveur TLS sur lequel il se connecte. Cette authentification est réalisée par l'utilisation d'un certificat numérique X.509 délivré par une autorité de certification (AC). Mais de plus en plus d'applications web utilisent maintenant l'authentification du poste client en exploitant TLS. Il est alors possible d'offrir une authentification mutuelle entre le client et le serveur. Le certificat client peut être stocké au format logiciel sur le poste client ou au format matériel (carte à puce, token USB) pour augmenter la sécurité du lien TLS. Cette solution permet d'offrir des mécanismes d'authentification forte.