!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> VPN

Virtual Private Network

SSL / TLS

Présentation

SSL est un protocole de niveau 5, c’est-à-dire la couche session de la couche OSI, juste au-dessus de la couche transport. Il a été développé par Netscape qui l'a breveté. Ce brevet a été racheté en 2001 par l'IETF qui l'a renommé en TLS. La version 1 de TLS correspond a quelques différences près à la version 3 de SSL.

SSL est un protocole utilisé pour la création de VPN applicatif, c'est a dire que le VPN ne s'effectue qu'entre deux applications, ce qui est normal étant donnée la couche OSI qu'il occupe. Il est implémenté par l'ensemble des browser web et est massivement utilisé par les sites marchands lors des paiements en ligne.

Pour assurer la confidentialité des échanges, on utilise des certificats. Les certificats contiennent la clé publique du serveur, le nom de l'autorité de certification, la liste des cryptosystèmes supportés et une date de validitée.

Certificats

La sécurité de ce protocole réside en grande partie dans l'échange de la clé symétrique utilisée durant la communication. Ce mécanisme est illustré par le schéma ci-dessous :

Ainsi, pour commencer, le client se connecte au serveur, il peut eventuellement s'authentifier et envoi la liste des cryptosystèmes qu'il supporte. Cette liste est triée, ainsi on trouve au début les cryptosystèmes les plus difficile à casser.

Le serveur envoi ensuite au client sa liste de cryptosystemes supportés. Celui-ci commence par vérifier la validité du certificat. Si le certificat est valide, les deux entités vont ensuite parcourir ces listes afin de trouver le cryptosysteme le plus complexe qu'ils ont en commun, et qu'ils utiliseront.

Le client génère une clé secrete respectant le cryptosysteme précedemment évoqué, la chiffre au moyen de la clé publique du serveur puis lui envoi. Ce mécanisme assure que seul le possesseur de la clé privé sera capable de déchiffrer la clé envoyé par le client et de communiquer avec lui.