J'ai souvent entendu dire que si vous vous connectez à un site Web - une banque, GMail, peu importe - via HTTPS, les informations que vous transmettez ne peuvent pas être espionnées par des tiers. J'ai toujours été un peu confus quant à la façon dont cela pourrait être possible.
Bien sûr, je comprends assez bien (je pense) l'idée de chiffrement, et que sans connaître la clé de chiffrement, les gens auraient du mal à briser le chiffrement. Cependant, je crois comprendre que lorsqu'une connexion HTTPS est établie, la clé de cryptage est "discutée" entre les différents ordinateurs impliqués avant que la connexion cryptée ne soit établie. Il peut y avoir de nombreux facteurs impliqués dans le choix d'une clé de cryptage, et je sais que cela a à voir avec un certificat SSL qui peut provenir d'un autre serveur. Je ne connais pas le mécanisme exact.
Cependant, il me semble que si la clé de chiffrement doit être négociée entre le serveur et le client avant que le processus de chiffrement puisse commencer, alors tout attaquant ayant accès au réseau le trafic serait également en mesure de surveiller la négociation de la clé, et connaîtrait donc la clé utilisée pour établir le chiffrement. Cela rendrait le chiffrement inutile s'il était vrai.
Il est évident que ce n'est pas le cas, car HTTPS n'aurait aucune valeur s'il l'était, et il est largement admis que HTTPS est une mesure de sécurité assez efficace . Cependant, je ne comprends pas pourquoi ce n'est pas vrai. En bref: comment est-il possible pour un client et un serveur d'établir une connexion chiffrée via HTTPS sans révéler la clé de chiffrement à aucun observateur?