Historiquement, SSL est un protocole mis au point par Netscape pour la sécurisation des communications sur le Web. Tous les acteurs du marché ont accepté ce protocole et le supportent, en attendant l'arrivée d'un standard international. Ce standard appelé TLS (Transport Layer Security), basé sur SSL, est mis au point par le l'IETF (Internet Engineering Task Force) et a été publié il y a peu de temps (TLS 1.0). Tous les éditeurs significatifs supportent ou ont annoncé leur intention de supporter TLS 1.0.Afin de comprendre ce qu'est SSL, il est indispensable de maîtriser les concepts de cryptographie qui en constituent les fondations.
SSL et la cryptographie
Les algorithmes de chiffrement utilisés en cryptographie par les
navigateurs et serveurs sur Internet sont tous basés sur les notions de clé
publique et clé privée. Une clé (privée ou publique) est un nombre premier très
grand que l’on combine au message à crypter (selon les algorithmes commerciaux:
entre 40 et 168 bits, soit un nombre compris entre 1012 et 3,7 1050. Certains
algorithmes, tel PGP, utilisent des clés de 2048 bits voir plus). Le nombre
étant premier il n’existe pas de méthode connue pour le retrouver rapidement
(le seul point faible déjà exploité par des hackers, est le générateur de nombres
aléatoires qui crée la clé : s’il ne génère pas de nombres suffisamment aléatoires,
c’est à dire si on peut prévoir les nombres générés, alors on peut » casser
» la clé tout simplement en… la prédisant à l’avance !). Comme nous le verrons
par la suite, les deux principales sources de ces algorithmes sont une société
privée nommée RSA et le gouvernement américain.
Algorithmes à clé privée. Dans les algorithmes à clé privée, la clé de
chiffrement, est identique à la clé de déchiffrement. Cette clé, unique, doit
donc être gardée secrète par son propriétaire. L’inconvénient évident de ce
système, est que l’envoyeur et le destinataire du message doivent avoir convenu
de la clé avant l’envoi du message. Ils doivent donc disposer d’un canal sécurisé
pour s’échanger des clés. Un exemple d’un tel algorithme est le fameux DES (Data
Encryption Standard).
Algorithmes à clé publique. Dans ce cas, les clés de chiffrement et de
déchiffrement sont distinctes, et généralement symétriques : la première clé
permet de déchiffrer ce qui a été crypté avec la seconde, et vice versa. Le
possesseur d’une telle paire de clés, en rend une publique et la donne à tout
le monde, dans les messages qu’il envoie, ou dans son » certificat » (cf. plus
loin). Tout correspondant qui veut envoyer un message, chiffre son message à
l’aide de la clé publique du destinataire. Seul le possesseur de la clé secrète
correspondant à cette clé publique pourra déchiffrer le message. Les algorithmes
de chiffrement à clé publique permettent aussi à l’envoyeur de signer son message.
En effet, il lui suffit de chiffrer le message avec sa clé secrète, et le destinataire
déchiffrera cette fonction avec la clé publique de l’envoyeur et sera ainsi
certain de son identité, puisqu’il est le seul à posséder la clé secrète qui
permette de faire un tel chiffrement.
Algorithmes mixtes. Les algorithmes à clé publique sont assez lents.
La méthode généralement utilisée pour crypter des messages, est de générer au
hasard une clé secrète (d’où le fameux problème de fiabilité du générateur de
nombres aléatoires), puis de chiffrer cette clé aléatoire elle-même avec la
clé publique du destinataire. Les messages seront ensuite chiffrés avec un algorithme
à clé privée en utilisant la clé secrète. Ceci permet d’avoir la sécurité des
systèmes à clé publique, avec la performance des systèmes à clé privée (principe
de base de SSL).
Téléchargez cette ressource
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.