Beruflich Dokumente
Kultur Dokumente
Le protocole SSL (Secure Socket Layer) permet la transmission de donnes chiffres sur le rseau Internet. C'est une cration de Netscape, l'une des premires socits avoir dvelopp un navigateur grand public. La cl de cryptage utilise est une cl publique RSA, se basant sur un ensemble d'oprations sur des nombres premiers.
S. LAZAAR 2
La cl de cryptage:
se compose dans les faits de deux cls : une pour le codage, et une pour le dcodage. Cette technologie est accepte par les navigateurs, mais aussi par les serveurs. Un organisme est charg de mettre en place des certificats de confiance pour tous les sites qui utilisent le protocole SSL But: bien identifier un site et l'organisme qui le gre.
S. LAZAAR 3
S. LAZAAR
S. LAZAAR
Le navigateur se connecte un serveur scuris: une cl de cryptage unique est mise en place tout au long de la transaction entre le serveur et le navigateur. Le navigateur envoie des donnes cryptes destination du serveur, le seul dchiffrer les informations reues, grce la mise en place d'une cl d'change unique. Le serveur envoie un avis de bonne rception de l'information.
S. LAZAAR 6
Le client vrifie la validit du certificat (donc l'authenticit du marchand), Il cre une cl secrte alatoire , chiffre cette cl l'aide de la cl publique du serveur, puis lui envoie le rsultat (la cl de session). Le serveur est en mesure de dchiffrer la cl de session avec sa cl prive. Les deux entits sont en possession d'une cl commune dont ils sont seuls connaisseurs. Le reste des transactions peut se faire l'aide de cl de session, garantissant l'intgrit et la confidentialit des donnes changes.
S. LAZAAR 7
Utilit: e-commerce
SSL une solution logicielle qui chiffre le numro de carte bancaire lorsqu'il transite sur le rseau depuis le poste du client. Il est dcrypt sur le serveur du marchand.
Chaque transaction implique un cot fixe de 0,15 0,30 , auquel il faut ajouter les pourcentages prlevs par la banque du commerant, l'metteur de la carte de crdit, le serveur de paiement Internet, etc... Ce cot fixe pose un vrai problme pour les paiements de faible montant
S. LAZAAR 8
SSL est actuellement le systme le plus fiable puisque la totalit du numro de la carte de crdit est crypte. Le cryptage SSL est aujourd'hui utilis par le plus grand nombre de commerants en ligne travers le monde et, de part sa notorit, est amen se dvelopper un niveau encore plus lev. Le protocole SSL permet d'authentifier le commerant, qui doit obligatoirement dtenir une cl secrte correspondant la cl publique de chiffrement de la connexion.
Le protocole SSLne permet pas d'authentifier le client qui conserve la facult de rpudier la transaction. Moralit : le commerant supporte tous les risques lis la fraude.
S. LAZAAR 9
Le systme SSL est indpendant du protocole utilis, ce qui signifie qu'il peut aussi bien scuriser des transactions faites sur le Web par le protocole HTTP que des connexions via le protocole FTP, POP SSL agit telle une couche supplmentaire, permettant d'assurer la scurit des donnes, situe entre la couche application et la couche transport
S. LAZAAR 10
11
Au milieu de l'anne 2001, le brevet de SSL appartenant jusqu'alors Netscape a t rachet par l'IETF (Internet Engineering Task Force ) Il a t rebaptis pour l'occasion TLS (Transport Layer Security).
S. LAZAAR
12
Fonctionnement de SSL 2.0 La scurisation des transactions par SSL 2.0 est base sur un change de cls entre client et serveur. La transaction scurise par SSL se fait selon le modle suivant : Le client se connecte au site marchand scuris par SSL et lui demande de s'authentifier. Le client envoie galement la liste des cryptosystmes qu'il supporte, trie par ordre dcroissant selon la longueur des cls. Le serveur a rception de la requte envoie un certificat au client, contenant la cl publique du serveur, signe par une autorit de certification (CA), et le nom du cryptosystme le plus haut dans la liste avec lequel il est compatible La longueur de la cl de chiffrement - 40 bits ou 128 bits - sera celle du cryptosystme commun ayant la plus grande taille de cl.
S. LAZAAR 13
SSL 3.0 SSL 3.0 vise authentifier le serveur vis-vis du client Note : Dans Firefox 2, le support de SSL 2.0 est dsactiv par dfaut, en faveur de SSL 3.0.
S. LAZAAR
14
SSL permet d'assurer les services de scurit suivants: confidentialit : obtenue par l'utilisation dalgorithmes de chiffrement symtriques de blocs comme DES, FORTEZZA, IDEA, 3DES ou RC2, ou par des algorithmes chiffrement symtrique de flots comme RC4
intgrit : assure par l'utilisation de MACs (Message Authentication Code) bass sur les fonctions de hachage MD5 (16 octets) ou SHA-1 (20 octets) authentification : SSL permet l'authentification des 2 entits (authentification client facultative) bas sur des certificats X.509, et l'authentification des donnes grce aux MACs.
S. LAZAAR 15
S. LAZAAR
17
Le protocole Handshake: Ce protocole permet l'authentification obligatoire du serveur, du client est optionnelle, Il permet de ngocier pour choisir les suites de chiffrement qui seront utilises lors de la session.
S. LAZAAR
18
Le protocole ChangeCipherSpec (CCS): Ce protocole comprend un seul et unique message (1 octet) qui porte le mme nom que le protocole Il permet d'indiquer au protocole Record la mise en place des algorithmes de chiffrement qui viennent d'tre ngocis.
S. LAZAAR
19
Le Protocole SSLRecord: Ce protocole intervient aprs l'mission du message ChangeCipherSpec. Il permet de garantir :
- la confidentialit l'aide de chiffrement des donnes
Liste des Messages du protocol Alert: Les erreurs fatales sont: bad_record_mac: rception d'un MAC erron decompression_failure: les donnes appliques la fonction de compression sont invalides handshake_failure: impossibilit de ngocier les bons paramtres illegal_parameter: un paramtre chang au cours du protocole Handshake ne correspond pas avec les autres paramtres unexpected_message : message non reconnu.
S. LAZAAR 22
Les warnings sont : bad_certificate: le certificat n'est pas bon certificate_expired : certificat prim certificat_revoked : certificat rvoqu certificat_unknown : certificat invalide pour des raisons prciss au dessus close_notify: la fin d'une connexion no_certificate: rponse ngative une demande de certificat unsupported_certificate: le certificat reu n'est pas reconnu
S. LAZAAR 23
ssldump is an SSLv3/TLS network protocol analyzer. It identifies TCP connections on the chosen network interface and attempts to interpret them as SSLv3/TLS traffic. When it identifies SSLv3/TLS traffic, it decodes the records and displays them in a textual form to stdout.
S. LAZAAR
24
Sample Output Here's an example trace generated by ssldump. New TCP connection #3: localhost(3638) <-> localhost(4433) 3 1 0.0738 (0.0738) C>S Handshake ClientHello 3 2 0.0743 (0.0004) S>C Handshake ServerHello 3 3 0.0743 (0.0000) S>C Handshake Certificate 3 4 0.0743 (0.0000) S>C Handshake ServerHelloDone 3 5 0.0866 (0.0123) C>S Handshake ClientKeyExchange 3 6 0.0866 (0.0000) C>S ChangeCipherSpec 3 7 0.0866 (0.0000) C>S Handshake Finished 3 8 0.0909 (0.0043) S>C ChangeCipherSpec 3 9 0.0909 (0.0000) S>C Handshake Finished 3 10 1.8652 (1.7742) C>S application_data 3 11 2.7539 (0.8887) C>S application_data 3 12 5.1861 (2.4321) C>S Alert warning close_notify 3 5.1868 (0.0007) C>S TCP FIN 3 5.1893 (0.0024) S>C TCP FIN 25
SSL est faible dans le sens o il n'impose pas l'authentification client SSL est faible car il prsente des souplesses dans son implmentation, notamment en ce qui concerne la vrification des certificats des serveurs.
En effet, le client devrait vrifier la signature, la validit ainsi que le statut de rvocation du certificat, s'assurer que le CA concern appartient bien aux CAs auxquels il fait confiance. Il peut permettre un attaquant de substituer sa propre cl publique celle du serveur original puis de rediriger le traffic vers son faux site tout en faisant croire au client qu'il communique bien avec son serveur lgitime.
S. LAZAAR 29
SSL est ventuellement vulnrable des attaques plus pousses, bases sur des proprits cryptographiques. Il existe des attaques par brute-force sur l'change de la cl symtrique ou des attaques dites de rollback: l'attaquant cherche modifier le choix des algorithmes d'changes de cls de faon ce que les 2 entits n'utilisent pas les mmes.
lattaquant pourra dchiffrer le message car les paramtres fournit par le serveur dans le cas d'un algorithme n'offrent aucune scurit si on les applique un autre
S. LAZAAR 30
Attaque Brute force: Gnralement les mots de passe de la plupart des logiciels sont stocks crypts dans un fichier. Pour obtenir un mot de passe, il suffit de rcuprer ce fichier et de lancer un logiciel de brute force cracking. Ce procd consiste tester de faon exhaustive toutes les combinaisons possibles de caractres (alphanumriques + symboles), de manire trouver au moins un mot de passe valide.
Cette attaque se base sur le fait que n'importe quel mot de passe est crackable. Ce n'est qu'une question de temps.
S. LAZAAR 31
Implmentations:
Plusieurs offres commerciales du serveur SSL sont disponibles, par exemple: SSLeay (open source) Netscape Entreprise Server Apache Oracle Web Application Server Internet Information Server (IIS) Lotus Domino d'IBM Java Server de Sun Microsystems
S. LAZAAR 32
Qu'est-ce qu'une fonction de hachage ? Une fonction de hachage (fonction de condensation) est une fonction permettant d'obtenir un condens ( condensat ou hach ou message digest) d'un texte:
Une suite de caractres assez courte reprsente le texte qu'il condense. La fonction de hachage doit tre telle qu'elle associe un et un seul hach un texte en clair (la moindre modification du document entrane la modification de son hach). Cest une fonction sens unique (one-way function) , impossible de retrouver le message original partir du condens. Sil existe un moyen de retrouver le message en clair partir du hach, la fonction de hachage est dite brche secrte .
S. LAZAAR 33
S. LAZAAR
34
MD5 (MD signifiant Message Digest). Dvelopp par Rivest en 1991, MD5 cre une empreinte digitale de 128 bits partir d'un texte de taille arbitraire en le traitant par blocs de 512 bits. Il est courant de voir des documents en tlchargement sur Internet accompagns d'un fichier MD5, il s'agit du condens du document permettant de vrifier l'intgrit de ce dernier SHA (Secure Hash Algorithm), pouvant tre traduit par Algorithme de hachage scuris cre des empreintes d'une longueur de 160 bits SHA-1 est une version amliore de SHA (1994), produit une empreinte de 160 bits partir d'un message d'une longueur maximale de 264 bits en le traitant par blocs de 512 bits. S. LAZAAR 35
Vrification d'intgrit En expdiant un message accompagn de son hach, il est possible de garantir l'intgrit d'un message i.e le destinataire peut vrifier que le message n'a pas t altr durant la communication:
Lors de la rception du message, il suffit au destinataire de calculer le hach du message reu et de le comparer avec le hach accompagnant le document. Si le message (ou le hach) a t falsifi durant la communication, les deux empreintes ne correspondront pas.
S. LAZAAR
36
A rception du message, il suffit au destinataire de dchiffrer le sceau avec la cl publique de l'expditeur, puis de comparer le hach obtenu avec la fonction de hachage au hach reu en pice jointe. Ce mcanisme de cration de sceau est appel S. LAZAAR 37 scellement.
Conclusion Le protocole SSL est actuellement le seul protocole de scurisation dploy et utilis grande chelle. Son grand avantage tant sa transparence Il garantit l'authentification, la confidentialit et l'intgrit des donnes. Avec son architecture modulaire, il ne se limite pas des applications traditionnelles:
Il intgre les rseaux sans fil comme le WAP (Wirless Transport Layer) sous le nom WTLS ( Wireless Transport Layer Security).
S. LAZAAR 38
ANNEXE
S. LAZAAR
39
openSSL
openSSL est une bote outils cryptographiques implmentant les protocoles SSL et TLS qui offre 1. une bibliothque de programmation en C permettant de raliser des applications client/serveur scurises s'appuyant sur SSL/TLS. 2. une commande en ligne (openssl) permettant la cration de cls RSA, DSA (signature) la cration de certificats X509 le calcul d'empreintes (MD5, SHA, RIPEMD160, ...) le chiffrement et dchiffrement (DES, IDEA, RC2, RC4, Blowfish, ...) la ralisation de tests de clients et serveurs SSL/TLS la signature et le chiffrement de courriers (S/MIME)
40
Blowfish est un algorithme de chiffrement cl symtrique par blocs conu par Bruce Schneier en 1993. Il tire son nom du poisson-lune japonais (ou fugu), qui en est galement l'emblme. Blowfish utilise une taille de bloc de 64 bits et la cl de longueur variable peut aller de 32 448 bits. Elle est base sur l'ide qu'une bonne scurit contre les attaques de cryptanalyse peut tre obtenue en utilisant de trs grandes cls pseudoalatoires.
Blowfish prsente une bonne rapidit d'excution except lors d'un changement de cl, il est environ 5 fois plus rapide que TripleDES et deux fois plus rapide que IDEA. Malgr son ge, il demeure encore solide du point de vue cryptographique avec relativement peu dattaques efficaces sur les versions avec moins de tours. La version complte avec 16 tours est ce jour entirement fiable et la recherche exhaustive reste le seul moyen pour l'attaquer. Il est utilis dans de nombreux logiciels propritaires et libres (dont GnuPG etOpenSSH).
41
S. LAZAAR
Rfrences
http://www.0faute.com/ssl.htm http://locoche.net/protocole.php http://fr.wikipedia.org/wiki/Fonction_de_hachage http://www.commentcamarche.net/crypto/signatur e.php3
www.securite.org/db/crypto/ssl
Support de cours. Universit dt.INPT, Rabat 2006
S. LAZAAR 42