Le handshake

Quand tu as commencé à lire cette BD, ton navigateur web a affiché un cadenas vert sur la barre d’adresse.

Qu’est ce qui s’est passé ?

Ton navigateur a communiqué avec notre serveur où cette BD est hébergée et ils ont tous les deux établi une connexion sécurisée pour transmettre des messages.

En pratique ils doivent se mettre d’accord sur la méthode à utiliser pour communiquer de manière sécurisée.

Si la négociation n’aboutit pas, ton navigateur te le fera savoir en affichant une erreur ou un avertissement.
Lorsqu'un accord est trouvé, votre navigateur affiche un cadenas vert dans la barre d’adresse.

Cette phase de négociation entre un navigateur et un serveur est appelée le “handshake” (poignée de main).

C'est très rapide. On va te montrer comment ça marche.

Browserbird va être ton navigateur.
Compugter sera notre serveur.

C’est parti les gars !

Prêt ? Ici nous allons voir à quoi ressemble un handshake au ralenti.

check gauche
check droit
Shaka vertical
Rotation shaka horizontal
Chatouilles

C’est bon !

Recommençons, mais plus rapidement.

Check gauche - check droit - shaka - rotation du shaka - chatouilles.

E-N-C-O-R-E !

Stop !

Décomposons pas à pas.

Première étape : check gauche. C'est–à-dire dire bonjour au client.

J’envoie une liste des versions de SSL/TLS et des algorithmes de chiffrement, que je sais utiliser pour discuter avec Compugter.

Un terme plus savant pour désigner cette liste d’algorithmes de chiffrement est “suite cryptographique” (cipher suite en anglais).

Ainsi, tu peux avoir l'air d'un pro à table.

Les protocoles SSL et TLS ont évolué au fil du temps, nous en reparlerons bientôt.

Et ensuite, j'attends une réponse de Compugter.

Seconde étape : check droit, qui veut dire bonjour au serveur.

Je choisis la meilleure version de SSL/TLS et de l'algorithme de chiffrement parmi ceux que Browserbird m'a envoyé en fonction de mes préférences.

Je réponds avec mon certificat, qui contient ma clé publique, il peut donc vérifier mon identité.

3ème étape : Shaka vertical, échange des clés du client.

Je vérifie les certificats de Compugter pour être sûr qu’il est légitime.

Je génère une “première clé principale” afin que nous puissions tous les deux l'utiliser plus tard lorsque nous allons générer une clé unique.

Je chiffre cette clé de session avec la clé publique de Compugter pour ensuite la lui envoyer.

Quatrième étape : rotation, shaka horizontal qui veut dire modification de la méthode de chiffrement.

J’utilise ma clé privée pour déchiffrer la clé de session.

Jusqu'à présent, toutes les communications entre eux étaient ouvertes. Ils n'ont sécurisé aucun message.

Ils ont utilisé des clés asymétriques (clés publiques et privées) pour chiffrer la clé de session, personne ne peut donc l’espionner.

Maintenant, qu’il partage le même secret, cette clé de session, ils vont l’utiliser comme clé symétrique.
Et Browserbird envoie un test.
Réponse de Compugter.
Cinquième étape : chatouilles, qui veut dire que maintenant tout est sécurisé.
Maintenant toutes les informations qui vont et viennent entre Browserbird et Compugter sont sécurisées pour le reste de la session.

Mots de passe, informations de carte de crédit, tout.

Simple, non ?

La prochaine fois que tu te connecteras à un site web en toute sécurité via HTTPS, faites un shaka avec ton navigateur parce que tu connais le handshake secret.

À suivre dans HowHTTS.works…

HTTPS, SSL, TLS, oh mon dieu il y a trop d’acronymes. Qu’est ce qu’ils veulent dire ? La même chose ?

Continuer à lire