Академический Документы
Профессиональный Документы
Культура Документы
1
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
Replay ................................................................................................................................................ 12
Analyse de Traffic .............................................................................................................................. 12
Copier-Coller Cut-And-Paste .......................................................................................................... 12
LHomme du Milieu ........................................................................................................................... 13
8. Conclusion ..................................................................................................................................... 13
9. Bibliographie.................................................................................................................................. 14
2. Introduction
Le besoin de scurisation des changes sur Internet nest pas le mme quil y a dix
ans de cela. Aujourdhui, il est monnaie courante pour un consommateur de faire ses
courses sur internet, de faire toute sorte de transactions bancaires, ou dchanger des
donnes sensibles professionnelles sur le rseau. Le protocole SSL, apparu en 1995, a pour
but dassurer une certaine scurit dans les changes de donnes sensibles sur internet.
Dans le contexte actuel prcit, lutilisation du protocole SSL est indispensable, et il est bon,
en tant quutilisateur final, de comprendre les buts, le fonctionnement, les limites de ce
protocole. Cest ce que ce document essaye dexpliquer de faon simple.
3. Prsentation de SSL
SSL signifie Socket Secure Layer (littralement Couche de Scurit des Sockets, o les
sockets sont les structures de communications sur la couche transport du modle OSI). La
version 3.1 du protocole a t renomme en TLS pour Transport Layer Security (Scurit de
la Couche Transport).
4. Historique
SSL a t dvelopp par la socit Netscape en 1994. Il a t publi en 1995,
directement en version 2. Les vulnrabilits de la version 2 ont t corriges par la version 3
publie en 1996. Suite au rachat du brevet de Netscape par lIETF en 2001, la version 3.1 a
t renomme en TLS. Les versions 1.1 et 1.2 ont succd respectivement en 2006 et 2008
TLS version 1.
5. Applications de SSL
5.1. Contextes dutilisation
A lheure actuelle, SSL est principalement mis en place sur des serveurs web
proposant des services de transactions commerciales (achat/vente en ligne), ou simplement
2
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
des services didentification dutilisateurs de comptes en lignes (comptes de messageries,
forums).
Cette utilisation de SSL se nomme https, pour http secure , car le protocole http
est utilis au dessus de SSL, cest--dire que SSL est insr entre le bloc de protocoles TCP/IP
et la couche application en http.
Mais SSL peut tre utilis pour dautres protocoles applicatifs, tel que telnet ou ftp.
Les objectifs de scurit que veut atteindre le protocole SSL sont les suivants :
confidentialit, intgrit, authentification. Ci-aprs une explication de ces trois termes.
5.2.1. Confidentialit
Assurer la confidentialit des donnes consiste assurer que les donnes ne sont
accessibles que par les personnes ayant un droit moral daccs ces donnes. Dans le
contexte de la communication entre deux parties, la donne en question est linformation
envoye dune partie lautre, et la personne ayant le droit daccder aux donnes est le
destinataire du message envoye.
5.2.2. Intgrit
Assurer lintgrit dune donne signifie assurer que la donne ne sera pas altre
durant son transfert ou son stockage. Dans le contexte de la communication entre deux
parties, cela signifie que le destinataire de la donne doit pouvoir la visualiser comme
lexpditeur la cre, sans altration durant son transfert.
Un message pourrait tre altr durant son transfert soit par un problme li au
support, soit dlibrment par une personne mal intentionne.
Il est noter que SSL est sens reposer sur un protocole fiable comme TCP,
proposant un contrle dintgrit. Cependant, cest un contrle dintgrit qui ne peut rien
contre la modification volontaire des donnes, qui peut faire passer des donnes falsifies
pour des donnes sans erreur dun point de vue traitement du signal. L o TCP se limite aux
CRC, numros de segments, et acquittements, SSL se sert des signatures et des hashages de
signatures. Voir la partie Fonctionnement pour les dtails.
3
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
5.2.3. Authentification
Il est vident que ces trois concepts sont trs lis. Une communication dont
lauthentification est compromise est une communication o lon risque de communiquer
des informations une personne qui nest pas celle que lon croit. Donc la confidentialit est
compromise par dfinition, car cette personne malveillante na pas le droit de prendre
connaissance de ces informations. De plus, lintgrit est aussi compromise, car le vritable
destinataire dsir naura pas reu notre message, et plus forte raison il naura pas reu le
message sans altration dans le cas dune compromission de lauthentification aboutissant
une configuration de lhomme du milieu, le message pourra tre altr par ce dernier, et
on aura donc une compromission dintgrit au sens usuel.
6. Fonctionnement
SSL est un protocole de niveau Session. Plusieurs communications diffrentes
peuvent simultanment avoir lieu sous la mme session. Cela peut tre utile lorsque deux
parties communiquent dans plusieurs processus clients par exemple : les couts
dtablissement de connexion multiples sont conomiss.
4
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
SSL est compos de 2 couches logiques superposes dans la pile OSI : une
couche basse appele Record Layer ou Record Protocol et une couche haute appele
Handshake Protocol .
La couche basse est en fait la couche qui fournit les services de bases qui seront
ncessaires tout au long dune communication. La couche haute est constitue de
protocoles de gestions de la connexion, qui sont encapsuls dans la couche basse.
Les champs trouvs ici sont classiques. On trouve le type du protocole encapsul, (se
rfrant au protocole de la couche haute de SSL, voir Couche haute : Handshake Protocol),
les numros de version de SSL utilis, la taille des donnes et les donnes utiles aprs
traitement.
Fragmentation
Compression ( Optionelle )
Chiffrement
5
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
Ces traitements constituent les services que fournit le Record Layer la couche
suprieure de SSL.
6.2.1. Fragmentation
6.2.2. Compression
La compression est optionnelle. En fait, elle est toujours active, mais sans effet par
dfaut. Elle est inutile lorsque le taux de transfert est lev, o elle cre un surcout de
traitement.
6
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
6.2.3. MAC - Message Authentication Code
Le MAC est une signature de chaque segment de donne qui passe dans la
connexion. Le MAC sert prouver quun message na pas t corrompu durant le transfert (il
assure donc lintgrit du message). Il est calcul de la manire suivante :
hash(MAC_write_secret + pad_2
O :
pad_1 est le caractre 0x36 rpt 48 fois pour MD5 ou 40 fois pour SHA
6.2.4. Chiffrement
Le chiffrement peut tre de deux grands types : chiffrement par bloc, tel que AES, ou
chiffrement de flux, tel que RS4. Le chiffrement par bloc est une mthode de chiffrement qui
prend un bloc et qui le transforme en un bloc chiffr. Le chiffrement par flux est une autre
mthode qui chiffre un flux au fil de leau, gnrant un flux chiffr en temps rel.
6.2.5. Dcapsulation
Bien sur, lors de la remonte des donnes dans la pile des protocoles, les oprations
sont menes inversement : dcryptage, contrle dintgrit, dcompression, concatnation
des messages, puis envoi la couche haute SSL.
Le Handshake Protocol sert grer une connexion SSL, c'est--dire dcider des
paramtres de scurits dune communication, et notamment assurer le point sensible qui
est lauthentification initiale. A linstar dune connexion TCP comprenant de segments grant
7
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
la fiabilit, le Handshake Protocol propose des segments ddis ltablissement dune
connexion et la gestion du flux, mais tout ceci dun point de vue scurit.
Toutes les donnes qui sont apparemment implicites dans la couche infrieures,
c'est--dire les informations dont on a dit quelles ont t tablies au dbut de la connexion,
sont effectivement tablies par le Handshake, et mmorises en ce qui est appel ltat de la
session (session state) et les tats des connexions (connection states).
8
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
server and client random Suite doctets alatoire choisie par le client et le
serveur chaque connexion.
server write MAC secret Le secret utilise pour calculer le MAC sur des
donnes crites par le serveur.
server write key La cl de chiffrement utilise pour les donnes cryptes par
le serveur et dcryptes par le client.
9
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
Le secret matre est utilis comme grain pour la gnration dune cl symtrique
pour la communication.
A ce moment a lieu une synchronisation avant le dbut des changes de donnes utiles.
10
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
La couche haute est appele Handshake Protocol car elle est la plus importante en
terme de nombre de messages utiliss pour grer la connexion.
Les deux autres protocoles disponibles dans cette couche sont le protocole de
changement des spcifications de chiffrement et le protocole dalerte.
Ce protocole sert modifier la stratgie de chiffrement utilise dans une session. Son
fonctionnement est toujours le mme que lorsquil apparait dans le processus de poigne de
main :
Ainsi, aprs tout changement dans la stratgie de chiffrement, les deux parties se
resynchronisent avec un message Finished (Termin).
Le protocole dAlerte sert signaler une erreur dans la communication, comme une
erreur dans le calcul du MAC, ou une impossibilit de sauthentifier pour le client.
Les erreurs sont de deux types : fatales et non fatales. Les erreurs fatales mettent fin
la communication, tandis que les non fatales marquent seulement la session comme non
utilisable pour les prochaines connexions. Le protocole est donc trs simple : un octet pour
lerreur et un octet pour sa gravit.
7. Vulnrabilits Connues
SSL dans sa version 2 possdait des vulnrabilits qui ont fini par en faire un
protocole obsolte. Il a t avantageusement remplac par le protocole en version 3, qui
rgle la plupart de ces vulnrabilits.
11
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
SSL en version 3, daprs larticle de D.Wagner et B.Schneier, est relativement fiable,
et une analyse de nombreux points de scurits na pas rvl de faille importante dans SSL
3, bien que certains points puissent tre amliors.
Replay
SSL pare cette attaque grace au MAC qui contient le numro de squence du
message et dautres paramtres spcifiques la connexion et au poste. Donc un message
renvoy sera dtect comme ntant pas sa place. Soit mauvais numro de squence, soit
mauvais numro de connexion, etc. De plus, le MAC ne peut tre modifi car il est hash. Le
hashage est sens tre sens unique.
Analyse de Traffic
SSL ne propose pas de solution contre ces attaques car elles sont considres peu
dangereuses. Cependant dans de rares cas (cas des chiffrements de flux), il est possible de
rcuprer la longueur du champ GET de http (lURL). Daprs larticle de D.Wagner et
B.Schneier, ce cas, bien que peu dangereux, pourrait faire lobjet dune amlioration par un
bourrage alatoire.
Copier-Coller Cut-And-Paste
12
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
certains champs dune page web par exemple prsentent un niveau faible de confidentialit
et seront restitus en clair.
SSL pare ce danger en appliquant un MAC chaque bloc. Le MAC dpend du poste,
de la session et du numro de message. Et lattaquant ne peut pas gnrer un bon MAC, car
le MAC dpend aussi de ma phrase secrte.
LHomme du Milieu
Lattaque de lHomme du milieu (ou MITM pour Man In The Middle) exploite ce
phnomne en compromettant lauthenticit durant la phase dauthentification (Handshake
protocol) par substitution lune des deux parties. En gnral, lauthentification du client
nest pas exige par le serveur, donc cot serveur il ny a pas de problme. Cot client, le
pirate espre que le client sera assez ignorant pour accepter une connexion un site dont la
cl publique ne correspond pas celle dsigne par le jeton x509 associ son nom de
domaine chez lAutorit de Certification.
Pour se substituer, dun point de vue rseau, au serveur pour le client, lattaquant
corrompt le cache ARP et/ou DNS en diffusant en broadcast des rponses respectivement
ARP et/ou DNS.
SSL implante lauthentification utilisant les jetons x509 permettant aux parties de se
donner les moyens dviter cette attaque, mais ne peut probablement pas faire plus.
8. Conclusion
Lutilisation importante et croissante tmoigne de lefficacit de SSL. Ce protocole qui
continue dvoluer jusqu aujourdhui par de petits ajouts nest pas prt de voir son
utilisation diminuer.
13
Amyn Bennamane MIF30 - Cryptographie 16/05/2009
9. Bibliographie
(1) http://www2.rad.com/networks/2001/ssl/over.htm
Analysis of the SSL 3.0 protocol (David Wagner, Bruce Scheier), Avril 1997
14