Le protocole HTTPS

Rôle

L'HyperText Transfer Protocol Secure (HTTPS : « protocole de transfert hypertextuel sécurisé ») est la combinaison du HTTP avec une couche de chiffrement.

HTTPS permet au visiteur de vérifier l'identité du site web auquel il accède, grâce à un certificat d'authentification émis par une autorité tierce, réputée fiable (et faisant généralement partie de la liste blanche des navigateurs internet). Il garantit théoriquement la confidentialité et l'intégrité des données envoyées par l'utilisateur (notamment des informations entrées dans les formulaires) et reçues du serveur. Il peut permettre de valider l'identité du visiteur si celui-ci utilise également un certificat d'authentification client.

HTTPS est à présent massivement utilisé sur le web, surtout depuis que les certificats TLS sont devenus gratuits avec Let's Encrypt.

Par défaut, les serveurs HTTPS sont connectés au port TCP 443.

Principe

  1. Le client (ton navigateur) contacte un site (ex : Wikipédia) et demande une connexion sécurisée, en proposant plusieurs méthodes de chiffrement.

  2. Le serveur répond : « OK, je choisis cette méthode de chiffrement. » Il envoie aussi un certificat (comme une carte d’identité numérique) prouvant qu’il est bien le vrai site et pas un imposteur. Ce certificat est vérifié par une autorité de confiance (un peu comme un notaire).

  3. Le certificat contient une clé publique : le client l’utilise pour envoyer une clé secrète (chiffrée) au serveur. Seul le serveur peut la déchiffrer.

  4. Résultat : client et serveur peuvent maintenant discuter de façon sécurisée, sans que personne ne puisse espionner leurs échanges.

Schéma d'une requête HTTPS