TLS

Principe d'une communication sécurisée entre deux ordinateurs.

Key derivation function

Les protocoles vont avoir besoin de tout un tas de clés différentes. Une pour chaque message à transmettre et pour chaque application nécessitant une transmission. TLS utilise intensivement le principe de dérivation et de renforcement de clés.

TBD donner fonction avec extract et expand.

Pare les attaques :

  1. être sûr de à qui on parle (évite attaque man un the middle)
  2. échange de la clé maître et du mode de chiffrement
  3. échange des messages par chiffrement symétrique

Le protocole TLS se place entre la couche TCP et l'application.

Key stretching

Les clés issus du protocole de Diffie-Hellman sont robuste à la prévision mais sont peut aléatoire. On commence donc par une étape de stretching de cette clé pour la rendre plus uniforme.

TBD iv = '' pour uniformiser le mot de passe et avoir une taille donnée.

Key derivation

Ensuite pour chaque message à envoyer, on crée une sous-clé. Pour créer la sous clé on la sale avec $\text{iv} \oplus i$ si on cherche une clé pour envoyer le $i$ème message.

TLS Handshake

La mise en route du protocole, le handshake est très rapide. Initiation d'un communication entre Alice et Bob :

TBD Protocole utilisés

  1. Alice envoie un message d'authentification
  2. Bob envoie un message d'authentification
  3. Alice annonce les protocoles qu'elle peut utiliser pour l'AEAD
  4. Bob lui répond le protocole qui'il choisit
  5. Alice envoie sa partie du secret
  6. bob envoie sa partie du secret

La communication peut ensuite commencer en utilisant une clé dérivée

Avec TLS 1.3, les 6 étapes ci-dessus se font en 1 seul aller/retour. Alice envoie tout ce qui est nécessaire à Bob en une fois et Bob lui répond toutes ses informations en un message.

gestion des clés symétrique

TBD : clés :

Attaques

TBD https://en.wikipedia.org/wiki/Terrapin_attack

TLS