Lycée   >   Terminale   >   NSI   >   Décrire de manière détaillée le protocole HTTPS

Décrire de manière détaillée le protocole HTTPS

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Comprendre l'intérêt de l’authentification grâce à un certificat pour se protéger de l’attaque de l’homme du milieu.
  • Comprendre l’établissement d’une liaison TLS pour sécuriser une communication HTTPS.
Points clés
  • Une communication HTTP est facile à intercepter, ce qui en fait une cible facile pour les attaques de l’homme du milieu : il s’agit d’une attaque dont l’objectif est d’intercepter, de lire ou de manipuler les communications entre deux parties, sans que ces parties ne se doutent que leur canal de communication a été compromis.
  • Pour sécuriser une communication, il est préférable d’utiliser le protocole de transfert sécurisé HTTPS qui utilise le protocole de chiffrage TLS.
  • Le protocole TLS permet :
    • l'authentification du serveur avec les certificats signés par une autorité de certification ;
    • la confidentialité du message avec un chiffrement symétrique ;
    • l'intégrité du message avec un code d’authentification de message ;
    • l'échange d'une clé de session avec un chiffrement asymétrique de type RSA ou Diffie-Hellman.
Pour bien comprendre
  • Comprendre l’intérêt du protocole HTTPS. (NSI 1re)
  • Comprendre les requêtes HTTP et la réponse serveur. (NSI 1re)
  • Comprendre les protocoles de la couche transport. (NSI 1re)
  • Comprendre les chiffrements symétrique et asymétrique.

Le protocole HTTP permet une communication client/serveur en clair, c’est-à-dire que les données et les documents sont accessibles facilement par une tierce personne.

Il est cependant préférable d’utiliser un protocole sécurisé du type HTTPS afin de protéger les données et documents.

Le protocole HTTPS se base sur le protocole de chiffrement TLS pour notamment assurer l’authentification.

1. La nécessité d'authentification
a. Attaque de l’homme du milieu

Lors d’une communication, on peut récupérer des données et des clés en utilisant la technique dite de l’attaque de l'homme du milieu.

L’attaque de l’homme du milieu (man-in-the-middle attack en anglais), est une attaque dont l’objectif est d’intercepter, de lire ou de manipuler les communications entre deux parties, sans que ces parties ne se doutent que leur canal de communication a été compromis.
Remarque
Il peut notamment s’agir d’une attaque entre deux personnes, ou entre une personne et une ressource.

Cette attaque est notamment possible dans une communication qui utilise le protocole HTTP car l’échange est réalisé sans authentification.

Cette attaque est également facilement réalisable dans une communication qui utilise l’algorithme d’échange de clés Diffie-Hellman, lorsque l'échange est réalisé sans authentification.


Attaque de l’homme du milieu
lors d’un échange de clés Diffie-Hellman
Si l'échange a lieu sans une authentification, cette attaque est d’une efficacité redoutable.

Chiffrer une communication ne sert donc à rien s’il n’y a pas un moyen d’authentifier chaque participant.

b. Certificats

Sur le web, l’authentification est assurée par des certificats délivrés par des tiers de confiance.

Rappel
Un certificat d’authentification permet à la fois d’identifier de manière sure le serveur et le client, mais aussi de rendre la transmission illisible sans la possession de ces certificats.
Exemple de la vie courante
Pour prouver son identité, on utilise une carte d’identité qui a été délivrée par un tiers de confiance : une préfecture. La carte d’identité peut être comparée à un certificat.
Principe d’authentification via un certificat

Avant de procéder à un quelconque échange de clés, on procède d’abord à une authentification : Bob veut authentifier sa communication avec Alice pour être certain de communiquer avec Alice. Il va donc lui demander un certificat qui a été émis par un tiers de confiance nommé « Tiers ».

Voici le principe de l’authentification via un certificat.

  1. Alice doit créer un certificat, elle envoie sa clé publique  à Tiers.
    Celui-ci chiffre alors la clé publique d’Alice avec sa clé privée .
    Soit c = , qui est un certificat.
  2. Lorsque Bob souhaite communiquer avec Alice, celle-ci lui fournit alors sa clé publique  et son certificat c.
  3. Bob récupère la clé publique du Tiers .
  4. Bob calcule alors (c) qui doit être égal à  
    (car  doit donner ).
  5. Si c’est le cas, on peut alors commencer une communication sécurisée avec l’échange de clés Diffie-Hellman.
Format du certificat X.509

Les tiers de confiance émettent des certificats qui répondent à certains formats. L’Union internationale des télécommunications (UIT) a choisi la norme X.509 pour spécifier les formats des certificats à clé publique.

D’après cette norme, un certificat à clé publique doit contenir :

  • la version du certificat ;
  • le numéro de série du certificat ;
  • l’algorithme de signature du certificat ;
  • le nom de l’émetteur du certificat (autorité de certification) ;
  • une date de début et une date de fin de validité du certificat ;
  • l'objet d’utilisation du certificat ;
  • des informations sur la clé publique
    (algorithme de chiffrement et la clé publique) ;
  • la signature de l’émetteur du certificat ;
  • l’identifiant unique du signataire (optionnel).
Exemple de certificat du site www.education.gouv.fr
2. Le protocole HTTPS
a. Protocoles HTTP et HTTPS
Le protocole HTTP (HyperText Transfer Protocol) est un protocole utilisé pour envoyer des documents sur le web. Les données transférées sont des fichiers HTML, des fichiers d’images, des vidéos, etc.

Le protocole HTTP permet de décoder le contenu d’une trame et donc de retrouver des informations échangées entre deux entités (nom d’utilisateurs, mots de passe, etc.).

Il a fallu rajouter un protocole de chiffrage car le protocole HTTP a un défaut majeur : les paquets d’informations échangés peuvent être facilement interceptés et lus avec un logiciel libre.

Le protocole HTTPS (HyperText Transfer Protocol Secure) est un protocole de transfert sécurisé, c’est l’abréviation de HTTP avec TLS. Ce protocole permet d’authentifier et de chiffrer les données, grâce au protocole de chiffrage TLS (Transport Layer Security), qui se base sur l’installation de certificats.
b. Protocole TLS
Principe
Le protocole TLS (Transport Layer Security) est un protocole cryptographique couramment utilisé.

Le protocole TLS permet de garantir :

  • l'authentification du serveur avec les certificats signés par une autorité de certification ;
  • la confidentialité du message avec un chiffrement symétrique ;
  • l'intégrité du message avec un code d’authentification de message ;
  • l'échange d'une clé de session avec un chiffrement asymétrique de type RSA ou Diffie-Hellman.
Remarque
Ce protocole se passe entre les protocoles TCP et HTTP : si on veut schématiser, on aurait IP, puis TCP, puis TLS et enfin HTTP.
Établissement de la liaison TLS
Avant de commencer la communication, le serveur utilise un certificat délivré par un tiers de confiance. Le client fait confiance à ce tiers de confiance.
  1. Le client initie la connexion avec une requête « Hello » en clair avec ce qu’il peut utiliser comme algorithmes de cryptographie.
  2. Le serveur répond « Hello » avec son certificat X.509 qui contient sa clé publique signée par le tiers de confiance.
  3. Le client vérifie la signature du certificat avec la clé publique du tiers de confiance, il vérifie aussi la date de validité. Si l’une des informations n’est pas bonne, le navigateur affichera un message d’erreur.
  4. Si tout est bon, le certificat est validé, le client peut échanger une clé de chiffrement symétrique en utilisant par exemple un algorithme de chiffrement asymétrique de type Diffie-Hellman ou RSA.
    Cette clé se nomme la clé de session.
  5. Le client et le serveur peuvent échanger des données chiffrées via le protocole HTTPS.

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

NSI

Comprendre qu'un programme peut être une donnée

NSI

Introduire les notions de calculabilité et de décidabilité

NSI

Utiliser la récursivité en Python

NSI

Utiliser une API et des bibliothèques

NSI

Utiliser les paradigmes impératifs et fonctionnels

NSI

Utiliser le paradigme objet

NSI

Repérer les bugs : typages, effets de bords, débordements

NSI

Repérer les bugs : structures

NSI

Anticiper les erreurs classiques

NSI

Utiliser Python pour déterminer les mesures des arbres binaires