|
Brève introduction à SSL
SSL (Secure Sockets Layers, que l'on pourrait traduire par
couche de sockets sécurisée) est un procédé de sécurisation des transactions
effectuées via Internet. Le standard SSL a été mis au point par Netscape, en
collaboration avec Mastercard, Bank of America, MCI et Silicon Graphics. Il
repose sur un procédé de
cryptographie par clef publique afin de garantir la
sécurité de la transmission de données sur internet. Son principe consiste à
établir un canal de communication sécurisé (chiffré) entre deux machines (un
client et un serveur) après une étape d'authentification.
Le système SSL est indépendant du protocole utilisé, ce qui signifie qu'il peut
aussi bien sécuriser des transactions faites sur le Web par le protocole HTTP
que des connexions via le protocole FTP, POP ou IMAP. En effet, SSL agit telle
une couche supplémentaire, permettant d'assurer la sécurité des données, située
entre la couche application et la couche transport (protocole TCP par exemple).
De cette manière, SSL est transparent pour l'utilisateur (entendez par là qu'il
peut ignorer qu'il utilise SSL). Par exemple un utilisateur utilisant un
navigateur internet pour se connecter à un site de commerce électronique
sécurisé par SSL enverra des données chiffrées sans aucune manipulation
nécessaire de sa part. La quasi intégralité des navigateurs supporte désormais
le protocole SSL. Netscape Navigator affiche par exemple un cadenas verrouillé
pour indiquer la connexion à un site sécurisé par SSL et un cadenas ouvert dans
le cas contraire, tandis que Microsoft Internet Explorer affiche un cadenas
uniquement lors de la connexion à un site sécurisé par SSL.

Un serveur web sécurisé par SSL possède une URL commençant
par https://, où le "s" signifie bien évidemment secured (sécurisé).
Au milieu de l'année 2001, le brevet de SSL appartenant jusqu'alors à Netscape a
été racheté par l'IETF (Internet Engineering Task Force) et a été rebaptisé pour
l'occasion TLS (Transport Layer Security).
La sécurisation des transactions par SSL 2.0 est basée sur un échange de clés
entre client et serveur. La transaction sécurisée par SSL se fait selon le
modèle suivant:
Dans un premier temps, le client se connecte au site marchand sécurisé par SSL
et lui demande de s'authentifier. Le client envoie également la liste des
cryptosystèmes qu'il supporte, triée par ordre décroissant selon la longueur des
clés.
Le serveur a réception de la requête envoie un certificat au client, contenant
la clé publique du serveur, signée par une autorité de certification (CA), ainsi
que le nom du cryptosystème le plus haut dans la liste avec lequel il est
compatible (la longueur de la clé de chiffrement - 40 bits ou 128 bits - sera
celle du cryptosystème commun ayant la plus grande taille de clé). Le client
vérifie la validité du certificat (donc l'authenticité du marchand), puis crée
une clé secrète aléatoire (plus exactement un bloc prétenduement aléatoire),
chiffre cette clé à l'aide de la clé publique du serveur, puis lui envoie le
résultat (la clé de session). Le serveur est en mesure de déchiffrer la clé de
session avec sa clé privée. Ainsi, les deux entités sont en possession d'une clé
commune dont ils sont seuls connaisseurs. Le reste des transactions peut se
faire à l'aide de clé de session, garantissant l'intégrité et la confidentialité
des données échangées.
Ce document intitulé «Cryptographie - Secure Sockets Layers (SSL)» issu de
Comment Ça Marche
est mis à disposition sous les termes de la licence
Creative Commons. Vous pouvez copier, modifier des copies de cette page,
dans les conditions fixées par la licence, tant que cette note apparaît
clairement.
|