Vous êtes sur la page 1sur 7

LE PROTOCOLE TLS/SSL

Protocoles de sécurité et Modèle OSI

2
Place de TLS dans le modèle

Le protocole SSL/TLS

► SSL : Secure Socket Layer


■ Protocole de sécurité d’Internet pour les connexions Point‐à‐Point
■ Développé par Netscape pour garantir la sécurité de la transmission
de données sur Internet
■ Version actuelle : TLS 1.2
■ Fournit une connexion sécurisée entre le client et le serveur
■ Protocole entre TCP et les protocoles applicatifs

► 2001 : l’IETF rachète le brevet de SSL à Netscape et le rebaptise


TLS (Transport Level Security, RFC 5246 pour la version 1.2 sortie
en 2008)

4
Le protocole SSL/TLS

► Hypothèse TLS :
■ Le canal de transport assure la délivrance des messages et est
capable de maintenir des sessions
■ TLS ne peut être utilisé que sur TCP
■ DTLS est un autre protocole sécurisé pour le mode datagram
► il revient à l’application de mettre en œuvre le service TLS en
cours de communication.
■ Cela implique qu’une connexion TLS est dédiée à une seule
application et est détruite aussitôt que la session applicative est
terminée
■ Gestion dans le flux
— La gestion de chaque session TLS est autonome et indépendante des
sessions concurrentes.
► La segmentation est assurée par TLS et pas par TCP
► TLS assure en plus une fonction d’agrégation de message
courts. 5

Construction de segments TLS

6
Services de sécurité

► Authentification :
■ Utilisation de certificat X509 v3
■ Utilisation d’algorithme de chiffrement à clé publique pour vérifier le
certificat
■ Se fait à l’établissement de la session
► Confidentialité :
■ Algorithme de chiffrement symétrique
■ Clé générée à l’établissement de la session
► Intégrité de donnée (Intégrité spatiale):
■ Fonction de hachage avec une clé secrète qui génère une
empreinte appelée MAC (Message Authentication Code)
► Intégrité de séquence ou temporelle
■ Non rejeu : numéro de séquence

Architecture SSL/TLS

8
TLS Record Protocol

► Ce protocole fournit 2 services à une connexion SSL :


■ Confidentialité : définit une clé secrète pour le chiffrement
■ Intégrité du message : définit une clé secrète pour le calcul de
l’empreinte
► Record Protocol : opérations

Initiation générique d’une session TLS

1. le client initie une requête en envoyant un


message de type ClientHello, contenant
notamment les suites cryptographiques
qu’il prend en charge ;

2. le serveur répond par un ServerHello qui


contient la suite retenue ;

3. le serveur envoie un message Certificate,


qui contient en particulier sa clé publique
au sein d’un certificat numérique ;

4. le serveur transmet dans un


ServerKeyExchange une valeur éphémère
qu’il signe à l’aide de la clé privée
associée à la clé publique précédente ;

5. le serveur manifeste sa mise en attente


avec un ServerHelloDone ;

10
Initiation générique d’une session TLS

6. après vérification du certificat et


authentification de la valeur précédente,
le client choisit à son tour une valeur
éphémère qu’il chiffre à l’aide de la clé
publique du certificat puis transmet dans
un ClientKeyExchange ;

7. le client signale l’adoption de la suite


négociée avec un ChangeCipherSpec ;

8. le client envoie un Finished, premier


message protégé selon la suite
cryptographique avec les secrets issus de
l’échange de clés éphémères précédent ;

9. le serveur signale l’adoption de la même


suite avec un ChangeCipherSpec ;

10. le serveur envoie à son tour un Finished,


son premier message sécurisé.

11

TLS : Attaques par renégociation

► Le scénario Clear Text Injection

12
TLS : Attaques par renégociation

13