SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
Module : Sécurité
Sujet : Open SSL
Réalisé par :
Chef de groupe : Bekkouche Selma (G07)
Abderrahmane Zineb (G07)
Lanasri Dihia (G07)
Mallem Saliha (G07)
Proposé par : Mr.Anane
2012/2013
2
Sommaire
Introduction ................................................................................................................................ 3
I. Protocole SSL ..................................................................................................................... 4
1. Principe de fonctionnement............................................................................................................. 4
1.1. Une poignée de mains .................................................................................................................. 4
1.2. La phase de communication......................................................................................................... 4
2. Les sous protocoles composants SSL.............................................................................................. 4
3. Protocole TLS.................................................................................................................................. 5
II. L’open SSL ..................................................................................................................... 5
III. Open SSL & Chiffrement................................................................................................ 6
1. Chiffrement Symétrique.................................................................................................................. 6
1.1. AES : Chiffrer un fichier texte avec le système AES 128 bits en mode CBC : ....................... 6
2. Chiffrement Asymétrique................................................................................................................ 6
2.1. RSA.............................................................................................................................................. 6
3. Principe de Signature....................................................................................................................... 7
Signer le document.......................................................................................................................... 8
IV. Démonstration ................................................................................................................. 8
1. Emetteur ......................................................................................................................................... 8
2. Récepteur........................................................................................................................................ 9
Conclusion................................................................................................................................ 10
Références ................................................................................................................................ 10
3
Introduction
De nos jours, la communication sur un milieu précaire est une applicabilité
omniprésente. Nous sommes nombreux à croire qu’il est possible d'intercepter et de modifier
des données transmises sur des fils, mais peu d’entre nous se rendent compte combien cette
tâche est devenu maintenant facile. C’est pour cela l'internet était toujours un endroit
dangereux, plus dangereux que l’on pense. Si une application ne protège pas correctement les
données avant de les envoyer dans le réseau. Cette application est un désastre en matière de
sécurité.
La cryptographie avec ses divers buts (la confidentialité, l'intégrité, l'authentification et
la non-répudiation…) est l'un des principaux outils utilisés pour contrecarrer les nombreux
types d’attaques sur le réseau, et c’est l’objectif fondamental du protocole SSL (Secure
Socket Layer) et son successeur TLS (Transport Layer Security) qui sont implémente par
OpenSSL.
Nous allons présenter dans ce rapport le principe de fonctionnement de l’OpenSSL
ainsi que les différents méthodes de chiffrements, pour finir avec une démonstration qui
rendre la compréhension de ce concept plus simple.
4
I. Protocole SSL
SSL « Couche socket sécurisée » est un acronyme pour Secure Socket Layer.
C’est un protocole ou un ensemble de protocoles développé par la société Netscape
communication corporation pour offrir un certain niveau de sécurité et de confidentialité lors
de la communication en mode Client / Serveur via l’internet ,pour les applications réseau
utilisant le protocole TCP /IP.
Le protocole SSL est intercalé entre la couche TCP /IP et les applications utilisant le protocole
TCP.
 Il a été intégré dans les navigateurs web depuis 1994.
 La version 3.1 a été standardisée à l'IETF dans la RFC 2246.
1. Principe de fonctionnement
Le protocole SSL prend en charge l'authentification du client et du serveur et assure la
sécurité et l'intégrité du canal de transmission.
Une session SSL se déroule en deux phases :
1.1. Une poignée de mains
C’est une étape durant laquelle le client et le serveur s’identifient, se mettent d’accord sur le
type du système de chiffrement et les clefs qui seront utilisés lors du reste de la
communication. L’identification durant cette phase est assurée à l’aide de certificat X509.
On peut résumer cette étape comme suit :
Etape 1: authentification du serveur
- Requête client
- Le serveur envoie son certificat et une liste d'algorithmes de cryptographie à négocier
- Le client vérifie le certificat du serveur à l'aide de la clé publique contenu dans le navigateur
- Le client génère un pré-master secret (PMS) (48 octets) qui sera utilisé pour générer le
master-key (48 octets).
- PMS est chiffré avec la clé publique du serveur.
- Les données échangées entre le client et le serveur seront chiffrées et authentifiées avec des
clés dérivées du master-secret
Etape 2: authentification du client
- Le serveur peut demander au client de s'authentifier en lui demandant son certificat
- Le client répond en envoyant son certificat puis en signant un message avec sa clé privée
(contient des informations sur la session et le contenu des messages précédents)
1.2. La phase de communication
Les données sont alors échangées en format compressées, chiffrées et signées.
2. Les sous protocoles composants SSL
 Handshake
5
- Authentification mutuelle
- Négociation des algorithmes de chiffrement et de hachage
- Échange des clés symétriques
 Change Cipher Spec
- Indique la mise en place des algorithmes de chiffrement négociés
 Record
 Garantir la confidentialité à l'aide du chiffrement, et L'authentification à l’aide de
condensât
 Alert
- Émission de messages d’alertes suites aux erreurs que peuvent s'envoyer le client et
le serveur
3. Protocole TLS
TLS (Transport Layer Security) est une évolution de SSL réalisé par l’IETF. Ce protocole sert
de base à HTTPS. Il est fondé sur le protocole SSL version3.1 et fournit la confidentialité des
communications sur Internet.
Figure 1 : Le protocole SSL/TLS
II. L’open SSL
OpenSSL est une boîte à outils cryptographiques implémentant librement les protocoles SSL
et TLS qui Offre :
1. une bibliothèque de programmation et de fonctionnalités écrites en C permettant de
réaliser des applications client/serveur sécurisées s’appuyant sur SSL/TLS.
Elle est vue comme :
 Bibliothèque SSL/TLS (libssl.a)
 Mise en œuvre des protocoles SSLv2, SSLv3, TLSv1
6
 Bibliothèque cryptographique
 Cryptographie clé publique et certificats X509: RSA, DSA, DH
 Chiffrement: DES, 3DES, Blowfish, RC2, IDEA, RC4, + modes ECB,
CBC,CFB, OFb pour les algorithmes par blocs
 Hachage: MD2, MD4, MD5, SHA1, MDC2, RIPEMD160
2. Un ensemble exécutable de commandes en ligne (OpenSSL) permettant :
 la création de clés RSA, DSA (signature)
 la création de certificats X509 (identification)
 le calcul d’empreintes (MD5, SHA, RIPEMD160, ...)
 le chiffrement et déchiffrement (RSA, DES, IDEA, RC2, RC4, Blowfish, ...)
 la réalisation de tests de clients et serveurs SSL/TLS
 la signature et le chiffrement de courriers (S/MIME)
L’openSSL comporte 60000 lignes de codes en langage C. Elle est fondée sur la
bibliothèque cryptographique SSLeay d'Eric Toung et Tim Hudson.
L’utilisation des commandes d’OpenSSL
La syntaxe générale pour l’utilisation des fonctionnalités de la bibliothèque Open SSL en
mode Shell Linux est la suivante :
$ openssl <commande> <options>
Le $ représente le prompt du Shell
III. Open SSL & Chiffrement
Cette bibliothèque nous permet tout simplement d’implémenter et d’utiliser les algorithmes
de chiffrements qu’on a vu en cours qu’ils soient Symétriques comme CBC, ECB, CFB ou
bien asymétrique comme le RSA.
1. Chiffrement Symétrique
1.1. AES : Chiffrer un fichier texte avec le système AES 128 bits en mode CBC :
$openssl enc –aes-128-cbc –in nomficherAchiffrer –out nomChiffré –iv
vecteurInitialisation(en hexa 64 bits) –K cle(hexa 128 bit)
$openssl enc –aes-128-cbc –d –in nomChiffré –out nomficherDechiffré
Afin d’éviter la manipulation des chiffres hexadécimaux il suffit d’introduire un mot de passe
« c’est plus pratique » à partir duquel la paire des clés est générée
2. Chiffrement Asymétrique
2.1. RSA
On suit les mêmes étapes vues en cours, mais sans faire aucun calcul, ce sont les commandes Open
SSL qui vont le faire.
1. Générer paire RSA
$openssl gensra –out fichierResultat tailleDeChaqueCle
2. Visualiser le contenu du fichier
Openssl rsa –in nomFichier –text –noout
7
3. Chiffrement symétrique de la paire des clés
Afin de renforcer la sécurité et ne pas stocker dans son pc une clé privée non protégée
POLICE 11 12
$openssl rsa –in fichiercle –des -out fichierDes
4. Exporter la partie publique
Publication de la clé publique, cependant le fichier précédant (chiffré) contient la paire des
clés, ce qui nécessite une séparation entre les deux ; pour exporter la clé publique :
$openssl rsa –in fichierDes –pubout –out Clepub
Il va toujours demander le mot de passe du chiffrement DES
5. Visualiser le contenu
$openssl rsa –in Clepub –pubin(pour indiquer qu’une seule cle est dans le fichier et c la
publique) –text -noout
6. Chiffrer donnes
Openssl rsautl encrypt –pubin Clepub –in fichierAchiffrer –out chiffré
7. Déchiffrer
Openssl rsautl decrypt –inkey fichierDes –in chiffré –out fichierlisible
3. Principe de Signature
Figure 2 : Principe de signature
Openssl permet de signer des petits documents, si on veut signer un grand document il faut d’abord lui
calculer une empreinte.
$openssl dgst –foctiondeHachage –out Résultat grandFicher
Fonctions de hachage : MD5 pour une empreinte de 128 bits, SHA ou RIPEMD160 pour une
empreinte de 160 bits.
8
Signer le document
openssl rsautl -sign -in fE -inkey Clepriv.pem -out signature
Fe: petit fichier ou une empreint
IV. Démonstration
Pour se familiariser avec les opérations cryptographiques: chiffrement, déchiffrement,
hachage, signature digitale. On va effectuer l’expérimentation ci-dessous :
Consignes avant de commencer
 Créer un répertoire pour la source « Source » et un répertoire pour le destinataire
« Destinataire ».
 Mettre tous les fichiers qui concernent la source dans le répertoire Source et tous les
fichiers qui concernent le destinataire dans le répertoire Destinataire. Il y a trop d’espace
entre les mots
 A chaque fois qu'un fichier doit être transmis de la source vers le Destinataire, copier ce
fichier dans le répertoire du destinataire. Il y a trop d’espace entre les mots
 Pour pouvoir appeler l'exécutable openssl.exe, rajouter le chemin de ce dernier dans la
variable d'environnement PATH. Il y a trop d’espace entre les mots
1. Emetteur
1. Message confidentiel
Créer un fichier "message.txt" et y mettre un texte confidentiel
2. Générer les clés privées RSA de la source et la destination
...Source> openssl genrsa -out src_rsa.pem -passout pass:srcpasswd -des 512
...Destinataire> openssl genrsa -out dest_rsa.pem -passout pass:destpasswd -des
512
src_rsa.pem et dest_rsa.pem vont contenir les clés privées de la source et du destinataire
protégés par les mots de passe srcpasswd et destpasswd respectivement.
3. Extraction des clés publiques à partir des fichier "src_rsa.pem" et "dest_rsa.pem"
vers "src_rsa_pub.pem" et "dest_rsa_pub.pem"
...Source> openssl rsa -in src_rsa.pem -passin pass:srcpasswd -out src_rsa_pub.pem
-pubout
...Destinataire> openssl rsa -in dest_rsa.pem -passin pass:destpasswd -out
dest_rsa_pub.pem -pubout
L’option –pubout : permet d'extraire la clé publique (par défaut c'est la clé privée qui est
extraite)
9
L'option passin et passout : C'est pour protéger les fichiers, pass:xxxx permet de faire une
protection par mots de passe.
4. échange de secret partagé
La source choisi un secret partagé « qui sera utilisé pour générer la clé symétrique partagée »
par exemple "secret" « stocké dans secret.txt »et elle chiffre ce secret partagé avec la clé
publique de la destination "dest_rsa_pub.pem" Ici "secret" sera utilisé par DES pour
fabriquer la clé symétrique ET le vecteur d'initialisation nécessaire pour DES en
mode CBC.
...Source> openssl rsautl -in secret.txt -out secret.crypt -inkey dest_rsa_pub.pem -pubin -
encrypt
5. Chiffrement de "message.txt" avec DES-CBC en utilisant le secret partagé "secret"
comme paramètre de génération de clé de session et de vecteur d'initialisation.
...Source> openssl enc -des-cbc -in message.txt -out message.crypt -pass
file:secret.txt
6. Signature de message crypté "message.crypt"
Calcul de condensat (code de hashage) avec MD5
...Source> openssl dgst -md5 -binary -out message.crypt.dgst message.crypt
Chiffrement du condensat « code de hashage » avec la clé privée de la source
"src_rsa.pem"
...Source> openssl rsautl -in message.crypt.dgst -out message.crypt.dgst.sign -sign -
inkey src_rsa.pem
2. Récepteur
La destination connait: dest_rsa.pem dest_rsa_pub.pem et reçoit: "secret.crypt"
"message.crypt" "message.crypt.dgst.sign"
Donc il faudra recopier ces trois fichiers du répertoire Source vers le répertoire Destinataire.
1. Authentification de la source et de l'intégrité de donnée reçue
Déchiffrement de l'empreinte « code de hashage » du message ==> dgst1
...Destinataire> openssl rsautl -in message.crypt.dgst.sign -out dgst1 -pubin -inkey
src_rsa_pub.pem
La destination calcule elle même le digest à partir de "message.crypt" ==>dgst2
...Destinataire> openssl dgst -md5 -binary -out dgst2 message.crypt
La destination compare les deux condensats: (la commande FC fait un File
Compare, /B fait une comparaison Binaire)
...Destinataire> fc /B dgst1 dgst2
Comparaison des fichiers dgst1 et dgst2: aucune différence trouvée ce qui confirme
l'intégrité du "message.crypt" est confirmée. Aussi l'authentification de la source est
vérifiée.
10
2. Déchiffrement du message "message.crypt"
Déchiffrement de la "clé partagée" (secret)
...Destinataire> openssl rsautl -decrypt -in secret.crypt -out secret.txt -inkey
dest_rsa.pem
Déchiffrement du "message.crypt" à l'aide de secret qui se trouve dans "secret.txt"
...Destinataire> openssl enc -in message.crypt -out message.txt -pass file:secret.txt -
d -des-cbc
Lire le message! ! !
...Destinataire> type message.txt
Service confidentialité
Conclusion
L’OpenSSL est une version sûre et efficace de SSL / TLS, largement utilisé garce à
son détails des défis dans la sécurisation réseau communications.
Ce rapport était un bénéfice pour nous, puisque il nous a permet d’avoir une vision
globale sur le monde de sécurité et une autre vision plus détaillée sur l’outil OpenSSL qui
répond au mieux à au défis de cette dernière.
Références
 « Introduction à la cryptographie » Copyright © 1990- 1998 Network Associates, Inc. et
ses filiales»
 « Introduction à la sécurité informatique (YACINE CHALLAL & HATEM BETTAHAR) ;
15/10/2008 »
 « TP 1 : OpenSSL usages de base »
 Télécharger OpenSSL pour Windows à partir du site web
 OpenSSL COHEN Achraf, YACOUBOU S.Bouraima, 2011
 TKTcert: A web-based authenticated a certified service

Weitere ähnliche Inhalte

Was ist angesagt?

Présentation GLPI
Présentation GLPIPrésentation GLPI
Présentation GLPIINTEGER SPRL
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...Tidiane Sylla
 
Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomSiwar GUEMRI
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPNCharif Khrichfa
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFEDonia Hammami
 
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...BelgeKilem
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 
gestion production
gestion productiongestion production
gestion productionReda Eci
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 

Was ist angesagt? (20)

Présentation GLPI
Présentation GLPIPrésentation GLPI
Présentation GLPI
 
Les web services
Les web servicesLes web services
Les web services
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
 
Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécom
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Les Vpn
Les VpnLes Vpn
Les Vpn
 
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...(VPN)Virtual Private Network :  ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
(VPN)Virtual Private Network : ETUDE COMPARATIVE ET REALISATION D’UN VPN MPL...
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
projet sur le vpn presentation
projet sur le vpn presentationprojet sur le vpn presentation
projet sur le vpn presentation
 
Présentation Cryptographie
Présentation CryptographiePrésentation Cryptographie
Présentation Cryptographie
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
gestion production
gestion productiongestion production
gestion production
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 

Andere mochten auch

VGI as BIG DATA
VGI as BIG DATAVGI as BIG DATA
VGI as BIG DATAdihiaselma
 
Tp système écoulement
Tp système écoulementTp système écoulement
Tp système écoulementdihiaselma
 
Le commerce électronique
Le commerce électroniqueLe commerce électronique
Le commerce électroniquedihiaselma
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssldihiaselma
 
Technique de Cryptographie AES, DES et RSA
Technique de Cryptographie AES, DES et RSATechnique de Cryptographie AES, DES et RSA
Technique de Cryptographie AES, DES et RSAHouda Elmoutaoukil
 
Team lab présentation
Team lab présentationTeam lab présentation
Team lab présentationdihiaselma
 
Présentation des TIC dans la communication
Présentation des TIC dans la communication Présentation des TIC dans la communication
Présentation des TIC dans la communication dihiaselma
 
Le commerce électronique
Le commerce électroniqueLe commerce électronique
Le commerce électroniquedihiaselma
 
Data Mining Spatial
Data Mining Spatial Data Mining Spatial
Data Mining Spatial dihiaselma
 
Réalité augmentée
Réalité augmentéeRéalité augmentée
Réalité augmentéedihiaselma
 
Organisation administrative
Organisation administrativeOrganisation administrative
Organisation administrativedihiaselma
 
La business Intelligence Agile
La business Intelligence AgileLa business Intelligence Agile
La business Intelligence Agiledihiaselma
 
Exposé imprimante 3 d
Exposé imprimante 3 dExposé imprimante 3 d
Exposé imprimante 3 ddihiaselma
 
Les systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurancesLes systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurancesdihiaselma
 

Andere mochten auch (20)

VGI as BIG DATA
VGI as BIG DATAVGI as BIG DATA
VGI as BIG DATA
 
Tp système écoulement
Tp système écoulementTp système écoulement
Tp système écoulement
 
Le commerce électronique
Le commerce électroniqueLe commerce électronique
Le commerce électronique
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssl
 
Technique de Cryptographie AES, DES et RSA
Technique de Cryptographie AES, DES et RSATechnique de Cryptographie AES, DES et RSA
Technique de Cryptographie AES, DES et RSA
 
Cell process
Cell processCell process
Cell process
 
Ar mv7
Ar mv7Ar mv7
Ar mv7
 
Cell process
Cell processCell process
Cell process
 
Team lab présentation
Team lab présentationTeam lab présentation
Team lab présentation
 
My SQL
My SQLMy SQL
My SQL
 
Veille- ERP
Veille- ERPVeille- ERP
Veille- ERP
 
Présentation des TIC dans la communication
Présentation des TIC dans la communication Présentation des TIC dans la communication
Présentation des TIC dans la communication
 
Le commerce électronique
Le commerce électroniqueLe commerce électronique
Le commerce électronique
 
Data Mining Spatial
Data Mining Spatial Data Mining Spatial
Data Mining Spatial
 
Réalité augmentée
Réalité augmentéeRéalité augmentée
Réalité augmentée
 
Organisation administrative
Organisation administrativeOrganisation administrative
Organisation administrative
 
Secure hashing algorithm
Secure hashing algorithmSecure hashing algorithm
Secure hashing algorithm
 
La business Intelligence Agile
La business Intelligence AgileLa business Intelligence Agile
La business Intelligence Agile
 
Exposé imprimante 3 d
Exposé imprimante 3 dExposé imprimante 3 d
Exposé imprimante 3 d
 
Les systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurancesLes systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurances
 

Ähnlich wie Rapport sécurité

Webinar SSL Français
Webinar SSL FrançaisWebinar SSL Français
Webinar SSL FrançaisSSL247®
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKISylvain Maret
 
Alphorm.com Formation OpenSSL : Cryptage des données
Alphorm.com Formation OpenSSL : Cryptage des donnéesAlphorm.com Formation OpenSSL : Cryptage des données
Alphorm.com Formation OpenSSL : Cryptage des donnéesAlphorm
 
Authentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNAuthentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNIsmail Rachdaoui
 
Utilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open SourceUtilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open Sourceguest3be047
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCHILDZ Laurent
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptxkohay75604
 
Etat des Lieux DANE (DNS Based Authentication of Named Entities)
Etat des Lieux DANE (DNS Based Authentication of Named Entities)Etat des Lieux DANE (DNS Based Authentication of Named Entities)
Etat des Lieux DANE (DNS Based Authentication of Named Entities)Afnic
 
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécuritéAlphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécuritéAlphorm
 
cours-gratuit.com--CoursInformatique-id3180.pdf
cours-gratuit.com--CoursInformatique-id3180.pdfcours-gratuit.com--CoursInformatique-id3180.pdf
cours-gratuit.com--CoursInformatique-id3180.pdfGodefroyCheumaniTche1
 

Ähnlich wie Rapport sécurité (20)

Webinar SSL Français
Webinar SSL FrançaisWebinar SSL Français
Webinar SSL Français
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKI
 
Https,ssl,ssh
Https,ssl,sshHttps,ssl,ssh
Https,ssl,ssh
 
Alphorm.com Formation OpenSSL : Cryptage des données
Alphorm.com Formation OpenSSL : Cryptage des donnéesAlphorm.com Formation OpenSSL : Cryptage des données
Alphorm.com Formation OpenSSL : Cryptage des données
 
SSL.TLS.pptx
SSL.TLS.pptxSSL.TLS.pptx
SSL.TLS.pptx
 
SSL/TSL Protocols
SSL/TSL ProtocolsSSL/TSL Protocols
SSL/TSL Protocols
 
Authentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNAuthentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPN
 
OpenSSL
OpenSSLOpenSSL
OpenSSL
 
OpenSSL
OpenSSLOpenSSL
OpenSSL
 
Utilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open SourceUtilisation de services Web sécurisés en Java en environnement Open Source
Utilisation de services Web sécurisés en Java en environnement Open Source
 
Le protocole tls
Le protocole tlsLe protocole tls
Le protocole tls
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZero
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptx
 
Cours si1
Cours si1Cours si1
Cours si1
 
Etat des Lieux DANE (DNS Based Authentication of Named Entities)
Etat des Lieux DANE (DNS Based Authentication of Named Entities)Etat des Lieux DANE (DNS Based Authentication of Named Entities)
Etat des Lieux DANE (DNS Based Authentication of Named Entities)
 
SSL.pdf
SSL.pdfSSL.pdf
SSL.pdf
 
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécuritéAlphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
Alphorm.com Formation Réseaux Cisco 2/2 : Maîtriser la sécurité
 
Les sockets.pptx
Les sockets.pptxLes sockets.pptx
Les sockets.pptx
 
cours-gratuit.com--CoursInformatique-id3180.pdf
cours-gratuit.com--CoursInformatique-id3180.pdfcours-gratuit.com--CoursInformatique-id3180.pdf
cours-gratuit.com--CoursInformatique-id3180.pdf
 
Vpn
VpnVpn
Vpn
 

Rapport sécurité

  • 1. Module : Sécurité Sujet : Open SSL Réalisé par : Chef de groupe : Bekkouche Selma (G07) Abderrahmane Zineb (G07) Lanasri Dihia (G07) Mallem Saliha (G07) Proposé par : Mr.Anane 2012/2013
  • 2. 2 Sommaire Introduction ................................................................................................................................ 3 I. Protocole SSL ..................................................................................................................... 4 1. Principe de fonctionnement............................................................................................................. 4 1.1. Une poignée de mains .................................................................................................................. 4 1.2. La phase de communication......................................................................................................... 4 2. Les sous protocoles composants SSL.............................................................................................. 4 3. Protocole TLS.................................................................................................................................. 5 II. L’open SSL ..................................................................................................................... 5 III. Open SSL & Chiffrement................................................................................................ 6 1. Chiffrement Symétrique.................................................................................................................. 6 1.1. AES : Chiffrer un fichier texte avec le système AES 128 bits en mode CBC : ....................... 6 2. Chiffrement Asymétrique................................................................................................................ 6 2.1. RSA.............................................................................................................................................. 6 3. Principe de Signature....................................................................................................................... 7 Signer le document.......................................................................................................................... 8 IV. Démonstration ................................................................................................................. 8 1. Emetteur ......................................................................................................................................... 8 2. Récepteur........................................................................................................................................ 9 Conclusion................................................................................................................................ 10 Références ................................................................................................................................ 10
  • 3. 3 Introduction De nos jours, la communication sur un milieu précaire est une applicabilité omniprésente. Nous sommes nombreux à croire qu’il est possible d'intercepter et de modifier des données transmises sur des fils, mais peu d’entre nous se rendent compte combien cette tâche est devenu maintenant facile. C’est pour cela l'internet était toujours un endroit dangereux, plus dangereux que l’on pense. Si une application ne protège pas correctement les données avant de les envoyer dans le réseau. Cette application est un désastre en matière de sécurité. La cryptographie avec ses divers buts (la confidentialité, l'intégrité, l'authentification et la non-répudiation…) est l'un des principaux outils utilisés pour contrecarrer les nombreux types d’attaques sur le réseau, et c’est l’objectif fondamental du protocole SSL (Secure Socket Layer) et son successeur TLS (Transport Layer Security) qui sont implémente par OpenSSL. Nous allons présenter dans ce rapport le principe de fonctionnement de l’OpenSSL ainsi que les différents méthodes de chiffrements, pour finir avec une démonstration qui rendre la compréhension de ce concept plus simple.
  • 4. 4 I. Protocole SSL SSL « Couche socket sécurisée » est un acronyme pour Secure Socket Layer. C’est un protocole ou un ensemble de protocoles développé par la société Netscape communication corporation pour offrir un certain niveau de sécurité et de confidentialité lors de la communication en mode Client / Serveur via l’internet ,pour les applications réseau utilisant le protocole TCP /IP. Le protocole SSL est intercalé entre la couche TCP /IP et les applications utilisant le protocole TCP.  Il a été intégré dans les navigateurs web depuis 1994.  La version 3.1 a été standardisée à l'IETF dans la RFC 2246. 1. Principe de fonctionnement Le protocole SSL prend en charge l'authentification du client et du serveur et assure la sécurité et l'intégrité du canal de transmission. Une session SSL se déroule en deux phases : 1.1. Une poignée de mains C’est une étape durant laquelle le client et le serveur s’identifient, se mettent d’accord sur le type du système de chiffrement et les clefs qui seront utilisés lors du reste de la communication. L’identification durant cette phase est assurée à l’aide de certificat X509. On peut résumer cette étape comme suit : Etape 1: authentification du serveur - Requête client - Le serveur envoie son certificat et une liste d'algorithmes de cryptographie à négocier - Le client vérifie le certificat du serveur à l'aide de la clé publique contenu dans le navigateur - Le client génère un pré-master secret (PMS) (48 octets) qui sera utilisé pour générer le master-key (48 octets). - PMS est chiffré avec la clé publique du serveur. - Les données échangées entre le client et le serveur seront chiffrées et authentifiées avec des clés dérivées du master-secret Etape 2: authentification du client - Le serveur peut demander au client de s'authentifier en lui demandant son certificat - Le client répond en envoyant son certificat puis en signant un message avec sa clé privée (contient des informations sur la session et le contenu des messages précédents) 1.2. La phase de communication Les données sont alors échangées en format compressées, chiffrées et signées. 2. Les sous protocoles composants SSL  Handshake
  • 5. 5 - Authentification mutuelle - Négociation des algorithmes de chiffrement et de hachage - Échange des clés symétriques  Change Cipher Spec - Indique la mise en place des algorithmes de chiffrement négociés  Record  Garantir la confidentialité à l'aide du chiffrement, et L'authentification à l’aide de condensât  Alert - Émission de messages d’alertes suites aux erreurs que peuvent s'envoyer le client et le serveur 3. Protocole TLS TLS (Transport Layer Security) est une évolution de SSL réalisé par l’IETF. Ce protocole sert de base à HTTPS. Il est fondé sur le protocole SSL version3.1 et fournit la confidentialité des communications sur Internet. Figure 1 : Le protocole SSL/TLS II. L’open SSL OpenSSL est une boîte à outils cryptographiques implémentant librement les protocoles SSL et TLS qui Offre : 1. une bibliothèque de programmation et de fonctionnalités écrites en C permettant de réaliser des applications client/serveur sécurisées s’appuyant sur SSL/TLS. Elle est vue comme :  Bibliothèque SSL/TLS (libssl.a)  Mise en œuvre des protocoles SSLv2, SSLv3, TLSv1
  • 6. 6  Bibliothèque cryptographique  Cryptographie clé publique et certificats X509: RSA, DSA, DH  Chiffrement: DES, 3DES, Blowfish, RC2, IDEA, RC4, + modes ECB, CBC,CFB, OFb pour les algorithmes par blocs  Hachage: MD2, MD4, MD5, SHA1, MDC2, RIPEMD160 2. Un ensemble exécutable de commandes en ligne (OpenSSL) permettant :  la création de clés RSA, DSA (signature)  la création de certificats X509 (identification)  le calcul d’empreintes (MD5, SHA, RIPEMD160, ...)  le chiffrement et déchiffrement (RSA, DES, IDEA, RC2, RC4, Blowfish, ...)  la réalisation de tests de clients et serveurs SSL/TLS  la signature et le chiffrement de courriers (S/MIME) L’openSSL comporte 60000 lignes de codes en langage C. Elle est fondée sur la bibliothèque cryptographique SSLeay d'Eric Toung et Tim Hudson. L’utilisation des commandes d’OpenSSL La syntaxe générale pour l’utilisation des fonctionnalités de la bibliothèque Open SSL en mode Shell Linux est la suivante : $ openssl <commande> <options> Le $ représente le prompt du Shell III. Open SSL & Chiffrement Cette bibliothèque nous permet tout simplement d’implémenter et d’utiliser les algorithmes de chiffrements qu’on a vu en cours qu’ils soient Symétriques comme CBC, ECB, CFB ou bien asymétrique comme le RSA. 1. Chiffrement Symétrique 1.1. AES : Chiffrer un fichier texte avec le système AES 128 bits en mode CBC : $openssl enc –aes-128-cbc –in nomficherAchiffrer –out nomChiffré –iv vecteurInitialisation(en hexa 64 bits) –K cle(hexa 128 bit) $openssl enc –aes-128-cbc –d –in nomChiffré –out nomficherDechiffré Afin d’éviter la manipulation des chiffres hexadécimaux il suffit d’introduire un mot de passe « c’est plus pratique » à partir duquel la paire des clés est générée 2. Chiffrement Asymétrique 2.1. RSA On suit les mêmes étapes vues en cours, mais sans faire aucun calcul, ce sont les commandes Open SSL qui vont le faire. 1. Générer paire RSA $openssl gensra –out fichierResultat tailleDeChaqueCle 2. Visualiser le contenu du fichier Openssl rsa –in nomFichier –text –noout
  • 7. 7 3. Chiffrement symétrique de la paire des clés Afin de renforcer la sécurité et ne pas stocker dans son pc une clé privée non protégée POLICE 11 12 $openssl rsa –in fichiercle –des -out fichierDes 4. Exporter la partie publique Publication de la clé publique, cependant le fichier précédant (chiffré) contient la paire des clés, ce qui nécessite une séparation entre les deux ; pour exporter la clé publique : $openssl rsa –in fichierDes –pubout –out Clepub Il va toujours demander le mot de passe du chiffrement DES 5. Visualiser le contenu $openssl rsa –in Clepub –pubin(pour indiquer qu’une seule cle est dans le fichier et c la publique) –text -noout 6. Chiffrer donnes Openssl rsautl encrypt –pubin Clepub –in fichierAchiffrer –out chiffré 7. Déchiffrer Openssl rsautl decrypt –inkey fichierDes –in chiffré –out fichierlisible 3. Principe de Signature Figure 2 : Principe de signature Openssl permet de signer des petits documents, si on veut signer un grand document il faut d’abord lui calculer une empreinte. $openssl dgst –foctiondeHachage –out Résultat grandFicher Fonctions de hachage : MD5 pour une empreinte de 128 bits, SHA ou RIPEMD160 pour une empreinte de 160 bits.
  • 8. 8 Signer le document openssl rsautl -sign -in fE -inkey Clepriv.pem -out signature Fe: petit fichier ou une empreint IV. Démonstration Pour se familiariser avec les opérations cryptographiques: chiffrement, déchiffrement, hachage, signature digitale. On va effectuer l’expérimentation ci-dessous : Consignes avant de commencer  Créer un répertoire pour la source « Source » et un répertoire pour le destinataire « Destinataire ».  Mettre tous les fichiers qui concernent la source dans le répertoire Source et tous les fichiers qui concernent le destinataire dans le répertoire Destinataire. Il y a trop d’espace entre les mots  A chaque fois qu'un fichier doit être transmis de la source vers le Destinataire, copier ce fichier dans le répertoire du destinataire. Il y a trop d’espace entre les mots  Pour pouvoir appeler l'exécutable openssl.exe, rajouter le chemin de ce dernier dans la variable d'environnement PATH. Il y a trop d’espace entre les mots 1. Emetteur 1. Message confidentiel Créer un fichier "message.txt" et y mettre un texte confidentiel 2. Générer les clés privées RSA de la source et la destination ...Source> openssl genrsa -out src_rsa.pem -passout pass:srcpasswd -des 512 ...Destinataire> openssl genrsa -out dest_rsa.pem -passout pass:destpasswd -des 512 src_rsa.pem et dest_rsa.pem vont contenir les clés privées de la source et du destinataire protégés par les mots de passe srcpasswd et destpasswd respectivement. 3. Extraction des clés publiques à partir des fichier "src_rsa.pem" et "dest_rsa.pem" vers "src_rsa_pub.pem" et "dest_rsa_pub.pem" ...Source> openssl rsa -in src_rsa.pem -passin pass:srcpasswd -out src_rsa_pub.pem -pubout ...Destinataire> openssl rsa -in dest_rsa.pem -passin pass:destpasswd -out dest_rsa_pub.pem -pubout L’option –pubout : permet d'extraire la clé publique (par défaut c'est la clé privée qui est extraite)
  • 9. 9 L'option passin et passout : C'est pour protéger les fichiers, pass:xxxx permet de faire une protection par mots de passe. 4. échange de secret partagé La source choisi un secret partagé « qui sera utilisé pour générer la clé symétrique partagée » par exemple "secret" « stocké dans secret.txt »et elle chiffre ce secret partagé avec la clé publique de la destination "dest_rsa_pub.pem" Ici "secret" sera utilisé par DES pour fabriquer la clé symétrique ET le vecteur d'initialisation nécessaire pour DES en mode CBC. ...Source> openssl rsautl -in secret.txt -out secret.crypt -inkey dest_rsa_pub.pem -pubin - encrypt 5. Chiffrement de "message.txt" avec DES-CBC en utilisant le secret partagé "secret" comme paramètre de génération de clé de session et de vecteur d'initialisation. ...Source> openssl enc -des-cbc -in message.txt -out message.crypt -pass file:secret.txt 6. Signature de message crypté "message.crypt" Calcul de condensat (code de hashage) avec MD5 ...Source> openssl dgst -md5 -binary -out message.crypt.dgst message.crypt Chiffrement du condensat « code de hashage » avec la clé privée de la source "src_rsa.pem" ...Source> openssl rsautl -in message.crypt.dgst -out message.crypt.dgst.sign -sign - inkey src_rsa.pem 2. Récepteur La destination connait: dest_rsa.pem dest_rsa_pub.pem et reçoit: "secret.crypt" "message.crypt" "message.crypt.dgst.sign" Donc il faudra recopier ces trois fichiers du répertoire Source vers le répertoire Destinataire. 1. Authentification de la source et de l'intégrité de donnée reçue Déchiffrement de l'empreinte « code de hashage » du message ==> dgst1 ...Destinataire> openssl rsautl -in message.crypt.dgst.sign -out dgst1 -pubin -inkey src_rsa_pub.pem La destination calcule elle même le digest à partir de "message.crypt" ==>dgst2 ...Destinataire> openssl dgst -md5 -binary -out dgst2 message.crypt La destination compare les deux condensats: (la commande FC fait un File Compare, /B fait une comparaison Binaire) ...Destinataire> fc /B dgst1 dgst2 Comparaison des fichiers dgst1 et dgst2: aucune différence trouvée ce qui confirme l'intégrité du "message.crypt" est confirmée. Aussi l'authentification de la source est vérifiée.
  • 10. 10 2. Déchiffrement du message "message.crypt" Déchiffrement de la "clé partagée" (secret) ...Destinataire> openssl rsautl -decrypt -in secret.crypt -out secret.txt -inkey dest_rsa.pem Déchiffrement du "message.crypt" à l'aide de secret qui se trouve dans "secret.txt" ...Destinataire> openssl enc -in message.crypt -out message.txt -pass file:secret.txt - d -des-cbc Lire le message! ! ! ...Destinataire> type message.txt Service confidentialité Conclusion L’OpenSSL est une version sûre et efficace de SSL / TLS, largement utilisé garce à son détails des défis dans la sécurisation réseau communications. Ce rapport était un bénéfice pour nous, puisque il nous a permet d’avoir une vision globale sur le monde de sécurité et une autre vision plus détaillée sur l’outil OpenSSL qui répond au mieux à au défis de cette dernière. Références  « Introduction à la cryptographie » Copyright © 1990- 1998 Network Associates, Inc. et ses filiales»  « Introduction à la sécurité informatique (YACINE CHALLAL & HATEM BETTAHAR) ; 15/10/2008 »  « TP 1 : OpenSSL usages de base »  Télécharger OpenSSL pour Windows à partir du site web  OpenSSL COHEN Achraf, YACOUBOU S.Bouraima, 2011  TKTcert: A web-based authenticated a certified service