• 15 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Découvrez le principe du HTTPS

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Le HTTPS, dans un premier temps surtout utilisé pour les sites réclamant des données sensibles (tels que les banques), puis également pour les achats en ligne (affichant le fameux petit cadenas dans votre navigateur), a vu son utilisation décupler ses dernières années, et ce pour plusieurs raisons :

  • désir de se protéger des attaques man-in-the-middle et de protéger les utilisateurs de potentiels vols de comptes/informations dans les lieux publics ;

  • découverte des écoutes massives de la NSA ;

  • gratuité d'obtention de certains certificats signés autorisant le HTTPS.

Principe du HTTPS

Le principe du HTTPS est que le site avec lequel vous communiquez va effectuer un handshake et un chiffrement asymétrique de vos données.

Ouh là ! C'est quoi ce handshake et que signifie "chiffrement asymétrique" ?

Pour faire simple, le handshake (signifiant "poignée de main" en français) est une première communication entre votre navigateur et le serveur du site web, permettant à ces derniers de définir quel chiffrement va être utilisé par la suite pour échanger les données (il faut que le chiffrement utilisé soit pris en charge autant par le serveur distant que par votre navigateur).

Une fois en accord, les deux entités vont chiffrer leurs échanges à l'aide du chiffrement asymétrique.

Chiffrements symétrique et asymétrique

Je vais commencer par vous parler du chiffrement symétrique dont le fonctionnement est plus simple à comprendre.

Le chiffrement symétrique consiste à chiffrer à l'aide d'une clé unique. Si vous chiffrez un texte avec une clé, le destinataire aura besoin de cette même clé pour pouvoir le lire.

De son côté, le chiffrement asymétrique fonctionne à l'aide d'un couple de clés : on dispose d'une clé dite "privée", et d'une clé "publique" lui étant associée. L'émetteur du message se sert de votre clé publique (que vous n'avez pas besoin de cacher, au contraire vous la diffusez publiquement !) pour chiffrer son message et vous l'envoyer. Cette clé publique ne peut pas déchiffrer le message qu'elle a chiffré : seule votre clé privée peut déchiffrer le message !

C'est là toute la puissance d'un chiffrement asymétrique : vous n'avez qu'à vous assurer que la clé privée est bien à l'abri ! Grâce à elle, vous serez le seul capable de déchiffrer avec votre clé privée les messages vous étant adressés à l'aide de votre clé publique.

Le HTTPS utilise ces deux chiffrements !

Les connexions HTTPS de votre navigateur se basent sur un mélange de chiffrement asymétrique (RSA ci-dessous) et de chiffrement symétrique (AES ci-dessous) :

Chiffrements utilisés par un site internet sécurisé en HTTPS
Chiffrements utilisés par un site internet sécurisé en HTTPS

Pourquoi combiner les deux chiffrements ?

Le problème du RSA et des autres chiffrements asymétriques, est que leur travail est lourd et pourrait ralentir votre connexion. On va donc se servir du chiffrement asymétrique pour obtenir de façon sûre une clé pour un chiffrement symétrique, et non pour chiffrer l'ensemble de l'échange ! Si on avait directement laissé le serveur vous envoyer la clé AES, il aurait suffi que quelqu'un intercepte la communication pour pouvoir lire toute la suite... Grâce au RSA, quelqu'un interceptant la communication ne pourra qu'obtenir au plus la clé publique du serveur, qui ne lui permettra pas de déchiffrer la suite. :ninja:

Représentation très simplifié de l'établissement de la connexion HTTPS entre le client et le serveur
Représentation très simplifiée de l'établissement de la connexion HTTPS entre le client et le serveur
Exemple de certificat de réussite
Exemple de certificat de réussite