C15.3 : Protocole HTTPS

Contexte

On s'intéresse ici la la communication entre un client et un serveur de pages web dans un réseau.

Le protocole HTTP

Au niveau de la couche application, c'est le protocole HTTP qui est utilisé (Protocoles réseaux : modèle TCP/IP). Il assure l'échange des données entre le client et le serveur.

Limites du protocole HTTP

Le protocole HTTP n'assure, de lui-même, aucune sécurisation de la communication :

Principe

Généralités

Le protocole HTTPS est un protocole de communication sécurisé entre un client et un serveur. Il ajoute au protocole HTTP de la couche application, le protocole TLS (Transport Layer Security) qui assure la sécurisation cryptographique via la couche transport.

Le protocole TLS

Le protocole TLS permet l'authentification du serveur et le partage sécurisée d'une clé symétrique appelée clé de session.

Une fois la clé symétrique échangée, le protocole HTTP prend le relai en transmettant des données chiffrés.

La "poignée de main" (HandShake)

Les premiers échanges entre le client et le serveur sont les suivants (on parle de "poignée de main", handshake en anglais") :

Des échanges chiffrés à l'aide de la clé de sessions

A partir de là, les données sont transmises chiffrées avec la clé symétrique (que l'on appelle clé de session).

Visualisation sur un navigateur

Sur Firefox

Sur Chrome