Chapitre 2
TLS : un protocole compliqué?
Afin de bien comprendre comment fonctionne l'interception TLS,
il est déjà important de bien comprendre ce qu'est le TLS.
2.1 Les objectifs du TLS
Le TLS a été développé pour
répondre à 3 fonctions bien identifiées :
Authentification : Le TLS a pour but de
fournir une garantie de l'identité d'un serveur à un client.
Optionnellement, le TLS peut également assurer l'identité du
client auprès du serveur. Cette fonction sera assurée par des
algorithmes cryptographiques basés sur des clefs asymétriques et
de certificats numériques. Actuellement, c'est l'emploi de certificat
X.509 1 qui est utilisé pour authentifier les serveurs.
Confidentialité : Le TLS va s'assurer
que les communications entre un client et un serveur ne puissent être
comprises par un tiers. Un algorithme de chiffrement à base de clefs
hybrides fournit cette confidentialité. Un système à base
de clefs asymétriques permettra l'échange des clefs de
symétriques, qui elles, permettront le chiffrement des
données.
Non répudiation et intégrité
: Le TLS doit gérer l'intégrité des
données2 échangées et vérifier de
façon certaine l'émetteur des données. La signature des
données sera utilisée pour remplir cette fonction.
2.2 Le positionnement du TLS dans le modèle
TCP/IP
Savoir positionner un protocole sur des modèles comme
OSI ou TCP/IP peut paraître négligeable, pourtant, savoir
positionner un protocole permet de mieux comprendre son utilité et sa
définition.
Le TLS fut conçu pour répondre à un
besoin de sécurisation des applications ayant une architecture
basée sur le modèle « client-serveur3 ». De
ce fait, le protocole TLS est donc lui-même basé sur un
modèle client-serveur. Mais attention, le TLS ne fait pas partie de la
couche application du modèle TCP/IP. le TLS aura pour but de
créer un canal d'échange sécurisé pour une
application donnée, mais ne va pas agir ou formater des données
comme le ferait une application. Il en ressort donc qu'il agit plus comme un
protocole de transport qu'un protocole applicatif. Néanmoins, il n'est
pas non plus un protocole de transport à proprement parler. Puisqu'il se
base sur le protocole TCP pour échanger entre deux hôtes. De plus,
le TLS permet également une gestion des sessions TLS entre deux
hôtes (que nous verrons par la suite). Or, cette gestion de la session
est complètement indépendante à la fois de la session de
l'application encapsulée, que de la session TCP. Par conséquent,
nous pouvons placer le TLS entre les couches 3 et 4 du modèle TCP/IP. Il
encapsule mais ne transporte pas, et ne gère pas à proprement
parler des données. La figure fig. 2.1 p.9 donne une
représentation du modèle TCP/IP avec la position du TLS.
1. Certificat qui base sa validité sur une
autorité centralisée hiérarchisée.
2. L'intégrité des données permet
de garantir que les données n'ont subi aucune modification
(intentionnelle ou non)
3. Modèle basé sur une entité
mettant à disposition des ressources, et une multitude de tiers venant
accéder ces ressources.
TLS: un protocole compliqué? - Un protocole fortement
évolutif
Edouard Petitjean M2 MIAGE SIID 9
FIGURE 2.1 - SSL sur le modèle
TCP/IP
|