La cryptographie SSL se sert de la cryptographie à clé publique qui utilise des clés asymétriques pour chiffrer et déchiffrer des données envoyées entre un serveur et un client – généralement, un site web et un navigateur ou un serveur de messagerie et un client de messagerie tel que Microsoft Outlook.
L’histoire du SSL est étroitement liée à celle d’Internet. En effet, c’est l’équipe à l’origine du navigateur Netscape qui a publié en 1995 la première version viable du SSL sous le nom de SSL 2.0. Suite à la mise à niveau vers SSL 3.0 en 1999, plusieurs vulnérabilités ont eu raison du SSL – qui a alors été remplacé par une version plus sécurisée appelée TLS. Cependant, le sigle SSL est toujours largement utilisé pour désigner le TLS (le protocole actuel) et les deux termes sont employés de manière interchangeable.
Pour en savoir plus sur l’évolution de la cryptographie TLS/SSL, rendez-vous ici.
La cryptographie TLS/SSL sert principalement à sécuriser les sites web – c’est à elle que l’on doit le HTTPS dans la barre d’adresse de nos navigateurs. Le chiffrement TLS/SSL permet aussi de transmettre en toute sécurité des informations sensibles comme des numéros de carte bancaire, des numéros de sécurité sociale et des identifiants. Pour établir une connexion, le navigateur et le serveur ont besoin d’un certificat ²Ô³Ü³¾Ã©°ù¾±±ç³Ü±ð appelé certificat TLS/SSL.
Dans le cadre du TLS/SSL, la technologie qui opère en coulisses inclut des clés asymétriques et symétriques. Ces clés publiques et privées reposent sur différents algorithmes – du type RSA et cryptographie par courbes elliptiques (ECC) – et sont donc quasiment impossibles à déchiffrer.
Le chiffrement asymétrique, également connu sous le nom de cryptographie à clé publique ou cryptographie SSL, utilise deux clés distinctes pour le chiffrement et le déchiffrement. Si n’importe qui peut se servir de la clé publique pour chiffrer un message, la clé de déchiffrement est tenue secrète. Ainsi, seul le destinataire visé est en mesure de déchiffrer le message.
Le RSA est l’algorithme de chiffrement asymétrique le plus courant. Il a été utilisé publiquement pour la première fois en 1977 par Ron Rivest, Adi Shamir et Leonard Adleman, à qui il doit son nom. Les clés asymétriques sont généralement des clés de 1 024 ou 2 048 bits – même s’il est aujourd’hui recommandé d’utiliser au minimum des clés de 2 048 bits qui permettent d’obtenir d’innombrables codes de chiffrement uniques avec leurs 617 chiffres.
Et s’il existe des clés plus longues, elles sont rarement employées compte tenu des importantes ressources de calcul qu’elles exigent. De fait, il faudrait en moyenne plus de 14 milliards d’années à un ordinateur pour parvenir à déchiffrer une clé de 2 048 bits.
Le chiffrement symétrique (ou chiffrement à clé prépartagée) utilise une seule clé pour chiffrer et déchiffrer les données – c’est-à -dire que l’expéditeur et le destinataire ont besoin de la même clé pour communiquer. Les clés symétriques comportent généralement 128 ou 256 bits et plus une clé est longue, plus elle est difficile à déchiffrer. Par exemple, une clé de 128 bits offre 340 282 366 920 938 463 463 374 607 431 768 211 456 possibilités de code de chiffrement. Comme vous pouvez l’imaginer, un hacker devrait prendre son mal en patience pour en venir à bout via une attaque par force brute (c’est-à -dire en testant toutes les clés possibles jusqu’à trouver la bonne). Sur le terrain, ce sont les capacités de chiffrement du serveur et du logiciel client et non les certificats TLS/SSL qui déterminent la taille de clé utilisée.
Ìý
Comme les clés asymétriques sont plus longues que les clés symétriques, les données chiffrées de manière asymétrique sont plus difficiles à déchiffrer que les données chiffrées de manière symétrique. Cela ne reflète pas pour autant une quelconque supériorité des clés asymétriques. En effet, ce n’est pas la taille des clés qui compte, mais la charge de calcul qu’elles représentent et leur facilité de distribution.
Étant plus courtes que les clés asymétriques, les clés symétriques consomment moins de ressources de calcul. Mais elles présentent également un inconvénient majeur, surtout si vous les utilisez pour sécuriser des transferts de données : comme la même clé est utilisée pour le chiffrement et le déchiffrement, le destinataire et vous-même avez besoin de la clé. Si vous pouvez remettre la clé en main propre au destinataire, ce n’est pas un problème. Par contre, si vous devez l’envoyer à un utilisateur à l’autre bout du monde (scénario plus probable), vous vous exposez à des problèmes de sécurité des données.
Ce n’est pas le cas avec le chiffrement asymétrique. Tant que votre clé privée reste secrète, personne ne peut déchiffrer vos messages. Vous pouvez distribuer la clé publique correspondante sans craindre qu’elle tombe entre de mauvaises mains. Toute personne qui possède la clé publique peut chiffrer des données, mais seule la personne qui possède la clé privée peut les déchiffrer.
Via une infrastructure à clés publiques (Public Key Infrastructure, PKI). Celle-ci rassemble tous les matériels, logiciels, politiques, procédures et ressources humaines nécessaires à la gestion des certificats ²Ô³Ü³¾Ã©°ù¾±±ç³Ü±ðs (création, distribution, usage, stockage, révocation, etc.). Une infrastructure PKI permet également d’assujettir des clés à des identités utilisateurs par le biais d’une autorité de certification (AC). La PKI utilise un cryptosystème hybride et combine les avantages des deux types de chiffrement. Exemple : dans les communications TLS/SSL, le certificat TLS du serveur contient une paire asymétrique de clés publique et privée. La clé de session créée par le serveur et le navigateur durant la négociation SSL est quant à elle symétrique.