SlideShare une entreprise Scribd logo
1  sur  11
603250144145Encadré par :Pr. S. LAAZARRéalisé par :COHEN AchrafYACOUBOU S. Bouraima<br />RAPPORT  TP  OPENSSL<br />Présentation d’openSSl<br />openSSL est une boîte à outils cryptographiques implémentant les protocoles SSL et TLS qui offre<br />1. une bibliothèque de programmation en C permettant de réaliser des applications client/serveur sécurisées s'appuyant sur SSL/TLS.<br />2. une commande en ligne (openssl) permettant<br />la création de clés RSA, DSA (signature) ;<br />la création de certificats X509 ;<br />le calcul d'empreintes (MD5, SHA, RIPEMD160, ...) ;<br />le chiffrement et déchiffrement (DES, IDEA, RC2, RC4, Blowfish, ...) ;<br />la réalisation de tests de clients et serveurs SSL/TLS ;<br />la signature et le chiffrement de courriers (S/MIME).<br />2.1.  Chiffrement symétrique avec openSSL<br />C'est la commande enc qui permet de chiffrer et de déchiffrer avec openssl :<br />$Openssl enc <options><br />Exemples d’options(système de chiffrement) :<br />        aes-128-cbc        AES 128 bis in CBC mode<br />        aes-128-ecb        AES 128 bis in ECB mode<br />        aes-192-cbc        AES 192 bis in CBC mode<br />        aes-192-ecb        AES 192 bis in ECB mode<br />        aes-256-cbc        AES 256 bis in CBC mode<br />        aes-256-ecb        AES 256 bis in ECB mode<br />        base64             Base 64<br />        bf-cbc             Blowfish in CBC mode<br />        bf                 Alias for bf-cbc<br />        bf-cfb             Blowfish in CFB mode<br />        bf-ecb             Blowfish in ECB mode<br />        bf-ofb             Blowfish in OFB mode<br />        des-cbc            DES in CBC mode<br />        des                Alias for des-cbc<br />        des-ede-cbc        Two key triple DES EDE in CBC mode<br />        des-ede            Alias for des-ede<br />        des-ede-cfb        Two key triple DES EDE in CFB mode<br />        des-ede-ofb        Two key triple DES EDE in OFB mode<br />        des-ede3-cbc       Three key triple DES EDE in CBC mode<br />        des-ede3           Alias for des-ede3-cbc<br />        des3               Alias for des-ede3-cbc<br />        des-ede3-cfb       Three key triple DES EDE CFB mode<br />        des-ede3-ofb       Three key triple DES EDE in OFB mode<br />        desx               DESX algorithm.<br />        idea-cbc           IDEA algorithm in CBC mode<br />        idea               same as idea-cbc<br />        idea-cfb           IDEA in CFB mode<br />        idea-ecb           IDEA in ECB mode<br />        idea-ofb           IDEA in OFB mode<br />        rc2-cbc            128 bit RC2 in CBC mode<br />        rc2                Alias for rc2-cbc<br />        rc2-ofb            128 bit RC2 in CBC mode<br />        rc2-64-cbc         64 bit RC2 in CBC mode<br />        rc2-40-cbc         40 bit RC2 in CBC mode<br />        rc4                128 bit RC4<br />        rc4-64             64 bit RC4<br />        rc5-cbc            RC5 cipher in CBC mode<br />        rc5                Alias for rc5-cbc<br />2.1  Chiffrement avec mot de passe<br />Pour chiffrer le fichier fic contenant la phrase <<bonjour monsieur>> avec le système AES 128 bits en mode CBC, avec une clé générée par le mot de passe<<aes>>, le résultat étant stocké dans le fichier ficc, on utilise la commande :<br />$openssl enc –aes-128-cbc –in fic –out ficc<br />Message Chiffre :<br />Salted__lt;br />^?'6�^L��yPVl���BR~�4^V��� z�u�6]�����?^C&<br />Pour déchiffrer le même message, on utilise la commande :<br />openssl enc –aes-128-cbc -d –in ficc –out ficd<br /> Chiffrement avec clé explicite<br />Pour chiffrer le fichier fic avec une clé explicite, on utilise  les options -K et –iv<br />-K (K majuscule) suivi de la clé exprimée en hexadécimal ;<br />-iv (iv en minuscules) suivi du vecteur d'initialisation exprimé en hexadécimal1.<br />L'exemple qui suit montre la commande pour chiffrer fic  contenant le message <<bonjour monsieur>> avec le système AES 128 bits en mode CBC avec un vecteur d'initialisation de 64 bits exprimé par 16 chiffres hexadécimaux, et une clé de 128 bits exprimée par 32 chiffres hexadécimaux.<br />$openssl enc –aes-128-cbc –in fic –out ficc –iv 0123456789ABCDEF –K 0123456789ABCDEF0123456789ABCDEF<br />3. RSA avec openSSl:<br />3.1  Génération d'une paire de clés<br />pour générer une paire de clés RSA on utilise la commande genrsa en précisant le fichier ou enregistrer la paire de clés et la taille du modulus.<br />$openssl genrsa –out fichier_sortie  taille_modulus<br />Par exemple, pour générer une paire de clés de 1024 bits, stockée dans le fichier cle, on tape la commande :<br />Affichage du fichier :<br />3.2  Visualisation des clés RSA<br />La commande rsa permet de visualiser le contenu d'un fichier contenant une paire de clés RSA.<br />L'option -text demande l'affichage décodé de la paire de clés. L'option -noout supprime la sortie normalement produite par la commande rsa. <br />3.3  Chiffrement d'un fichier de clés RSA<br />Il n'est pas prudent de laisser une paire de clé en clair (surtout la partie privée). Avec la commande rsa, il est possible de chiffrer une paire de clés HYPERLINK quot;
http://www2.lifl.fr/~wegrzyno/portail/PAC/Doc/TP5/tp-certif005.htmlquot;
  quot;
note2quot;
 2 . Pour cela trois options sont possibles qui précisent l'algorithme de chiffrement symétrique à utiliser : -des, -des3 et -idea.<br />Une phrase de passe est demandée deux fois pour générer une clé symétrique protégeant l'accès à la clé. On a entré  «ensat»<br />Exercice 2 :<br />Contenu du fichier cle1 avec la commande cat :<br /> Visualisation du contenu de cle1 a l’aide de la commande rsa:<br />NB : un mot de passe a été demande. (On avait entre «ensat» )<br />3.4  Exportation de la partie publique<br />La partie publique d'une paire de clés RSA est publique, et à ce titre peut être communiquée à n'importe qui. Le fichier maCle.pem contient la partie privée de la clé, et ne peut donc pas être communiqué tel quel (même s'il est chiffré). Avec l'option -pubout on peut exporter la partie publique d'une clé.<br />Exercice 3 :<br />Q 1 . Notez le contenu du fichier ClePublique. Remarquez les marqueurs de début et de fin.<br />Q 2 . Avec la commande rsa visualisez la clé publique. Attention vous devez préciser l'option -pubin, puisque seule la partie publique figure dans le fichiermaClePublique.pem.<br />3.5  Chiffrement/déchiffrement de données avec RSA<br />On peut chiffrer des données avec une clé RSA. Pour cela on utilise la commande rsautl<br />Où <br />fichier_entree est le fichier des données à chiffrer. Attention, le fichier des données à chiffrer ne doit pas avoir une taille excessive (ne doit pas dépasser 116 octets pour une clé de 1024 bits). <br />cle est le fichier contenant la clé RSA. Si ce fichier ne contient que la parte publique de la clé, il faut rajouter l'option -pubin.<br />fichier_sortie est le fichier de données chiffré.<br />Pour déchiffrer on remplace l'option -encrypt par -decrypt. Le fichier contenant la clé doit obligatoirement contenir la partie privée.<br />Exercice 4 :<br />Chiffrons  le fichier « fichier »  avec le système symétrique aes 128 bits en mode cbc (fichier de sortie «fichier1» ;mot de passe «fichier»):<br /> Chiffrons la clé ou le mot de passe utilisé(e) avec la clé publique du destinataire (cledestpub). <br />On a stocké le mot de passe dans le fichier « password». <br />Envoyons le mot de passe chiffré «password1»  ainsi que le fichier chiffré «fichier1». <br />3.6  Signature<br />Exercice 6 :<br />Il n’est possible de signer que de petits documents. Pour signer un gros document on calcule d’abord une empreinte de ce document. La commande dgst permet de le faire.<br /># openssl dgst <hachage> −out <empreinte> <fichier entré><br />où hachage est une fonction de hachage. Avec openssl, plusieurs fonctions de hachage sont proposées dont :<br />– MD5 (option -md5), qui calcule des empreintes de 128 bits,<br />– SHA1 (option -sha1), qui calcule des empreintes de 160 bits,<br />– RIPEMD160 (option -ripemd160), qui calcule des empreintes de 160 bits.<br /># openssl rsautl –sign −in <empreinte> −inkey <cle> −out <signature><br />On a créé un fichier « tp » afin de le signer avec openssl, signer un document revient à  signer son empreinte. Pour cela, on utilise l’option -sign de la commande rsautl.<br />Faire l’empreinte :<br /># openssl dgst –md5 −out emp tp<br />Signer l’empreinte:<br /># openssl rsautl –sign −in  emp −inkey maCle.pem −out signature<br /> 4. Certificats:<br />Nous allons maintenant élaborer un certificat Puis, vous verrez comment utiliser les clés certifiées pour signer et/ou chiffrer des courriers électroniques.<br />On peut cependant créer un certificat SSL auto signé en installant le paquet openssl.  Il est aussi possible d'installer ca-certificates, mais ça ne semble pas utile dans le cas d'un certificat auto-signé.<br />Pour créer un certificat :<br />openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key<br />Avec<br />-x509 -nodes donne le type de certificat voulu<br />-days 365 indique la durée de validité (en jours) de votre certificat<br />-newkey rsa:1024 demande une clé RSA de 1024 bits - d'après la doc apache, il est déconseillé de créer une clé plus grosse pour des histoires de compatibilité<br />-out /etc/apache2/server.crt est le chemin de votre certificat<br />-keyout /etc/apache2/server.key est le chemin de la clé privée<br />Démonstration :<br />Ce message d’erreur nous est affiché en essayant d’accéder au serveur à l’aide du protocole HTTPS car le navigateur ne reconnait pas l’autorité de certification qui a émis le certificat.<br />-598170340995Une fois l’exception ajoutée le navigateur affiche la page d’accueil du site sécurisé : <br />
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl
Rapport  tp  openssl

Contenu connexe

Tendances

Tendances (20)

Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)
 
Ch_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfCh_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdf
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
Les attaques
Les attaquesLes attaques
Les attaques
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
 
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
 
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdf
 
Support formation vidéo : Vos premiers pas avec le pare feu CISCO ASA
Support formation vidéo : Vos premiers pas avec le pare feu CISCO ASASupport formation vidéo : Vos premiers pas avec le pare feu CISCO ASA
Support formation vidéo : Vos premiers pas avec le pare feu CISCO ASA
 
radius
radiusradius
radius
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Rapport atelier Web App Security 2015
Rapport atelier Web App Security 2015Rapport atelier Web App Security 2015
Rapport atelier Web App Security 2015
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
les style d'architecture
les style d'architecture les style d'architecture
les style d'architecture
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
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...
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 

En vedette

Le tremblement de terre d’haïti
Le tremblement de terre d’haïtiLe tremblement de terre d’haïti
Le tremblement de terre d’haïti
manplo0152
 
Iluson Optica
Iluson OpticaIluson Optica
Iluson Optica
oibesue
 
Power Point IntéGration Dune Forme Dart Dans Le ThéâTre
Power Point IntéGration Dune Forme Dart Dans Le ThéâTrePower Point IntéGration Dune Forme Dart Dans Le ThéâTre
Power Point IntéGration Dune Forme Dart Dans Le ThéâTre
mcraymond
 
【岐阜大学】平成20年環境報告書
【岐阜大学】平成20年環境報告書【岐阜大学】平成20年環境報告書
【岐阜大学】平成20年環境報告書
env40
 
Spacium- Nouvel Automotrice Transilien
Spacium- Nouvel Automotrice TransilienSpacium- Nouvel Automotrice Transilien
Spacium- Nouvel Automotrice Transilien
estafares
 

En vedette (16)

Presentac..[1]
Presentac..[1]Presentac..[1]
Presentac..[1]
 
Tour du monde_en_4_minutes_
Tour du monde_en_4_minutes_Tour du monde_en_4_minutes_
Tour du monde_en_4_minutes_
 
Visites guidées de Florence et Toscane 2012 - tous les jours
Visites guidées de Florence et Toscane 2012 - tous les joursVisites guidées de Florence et Toscane 2012 - tous les jours
Visites guidées de Florence et Toscane 2012 - tous les jours
 
Sobczak A. (2011), Promouvoir l'emploi de qualité : un enjeu de responsabilit...
Sobczak A. (2011), Promouvoir l'emploi de qualité : un enjeu de responsabilit...Sobczak A. (2011), Promouvoir l'emploi de qualité : un enjeu de responsabilit...
Sobczak A. (2011), Promouvoir l'emploi de qualité : un enjeu de responsabilit...
 
Cntents Page Production
Cntents Page ProductionCntents Page Production
Cntents Page Production
 
Jean-Christophe Capelli "Pourquoi les milliardaires Francais sont ils radins...
Jean-Christophe Capelli "Pourquoi les milliardaires  Francais sont ils radins...Jean-Christophe Capelli "Pourquoi les milliardaires  Francais sont ils radins...
Jean-Christophe Capelli "Pourquoi les milliardaires Francais sont ils radins...
 
Gamme Ditel
Gamme DitelGamme Ditel
Gamme Ditel
 
7193 Gott will Sich offenbaren ....
7193   Gott will Sich offenbaren ....7193   Gott will Sich offenbaren ....
7193 Gott will Sich offenbaren ....
 
Le tremblement de terre d’haïti
Le tremblement de terre d’haïtiLe tremblement de terre d’haïti
Le tremblement de terre d’haïti
 
Iluson Optica
Iluson OpticaIluson Optica
Iluson Optica
 
Power Point IntéGration Dune Forme Dart Dans Le ThéâTre
Power Point IntéGration Dune Forme Dart Dans Le ThéâTrePower Point IntéGration Dune Forme Dart Dans Le ThéâTre
Power Point IntéGration Dune Forme Dart Dans Le ThéâTre
 
【岐阜大学】平成20年環境報告書
【岐阜大学】平成20年環境報告書【岐阜大学】平成20年環境報告書
【岐阜大学】平成20年環境報告書
 
Spacium- Nouvel Automotrice Transilien
Spacium- Nouvel Automotrice TransilienSpacium- Nouvel Automotrice Transilien
Spacium- Nouvel Automotrice Transilien
 
Boostez vos ventes avec eBay Adcommerce
Boostez vos ventes avec eBay AdcommerceBoostez vos ventes avec eBay Adcommerce
Boostez vos ventes avec eBay Adcommerce
 
4K Buck horse
4K Buck horse4K Buck horse
4K Buck horse
 
6405 Verändertes Sternenbild ....
6405   Verändertes Sternenbild ....6405   Verändertes Sternenbild ....
6405 Verändertes Sternenbild ....
 

Similaire à Rapport tp openssl

07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns
Noël
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns
Noël
 
AKT un outil pour sécuriser vos données et documents sensibles
AKT un outil pour sécuriser vos données et documents sensiblesAKT un outil pour sécuriser vos données et documents sensibles
AKT un outil pour sécuriser vos données et documents sensibles
Stephane Carrez
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip
Noël
 
Comment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemComment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modem
CONNECT Tunisia
 
Apache ssl
Apache sslApache ssl
Apache ssl
GSI
 

Similaire à Rapport tp openssl (20)

Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns
 
Coat::Persistent at FPW2009
Coat::Persistent at FPW2009Coat::Persistent at FPW2009
Coat::Persistent at FPW2009
 
Cryptographie 101 Pour les programmeurs (PHP)
Cryptographie 101 Pour les programmeurs (PHP)Cryptographie 101 Pour les programmeurs (PHP)
Cryptographie 101 Pour les programmeurs (PHP)
 
Implementing a key/value store
Implementing a key/value storeImplementing a key/value store
Implementing a key/value store
 
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cashSthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
 
Ssl et certification electronique - (construction de certification)
Ssl et certification electronique  - (construction de certification)Ssl et certification electronique  - (construction de certification)
Ssl et certification electronique - (construction de certification)
 
Tp certif
Tp certifTp certif
Tp certif
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
 
AKT un outil pour sécuriser vos données et documents sensibles
AKT un outil pour sécuriser vos données et documents sensiblesAKT un outil pour sécuriser vos données et documents sensibles
AKT un outil pour sécuriser vos données et documents sensibles
 
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy MimikatzStHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip
 
Comment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemComment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modem
 
802.1X filaire, un monde idéal illusoire? (Olivier Bilodeau)
802.1X filaire, un monde idéal illusoire? (Olivier Bilodeau)802.1X filaire, un monde idéal illusoire? (Olivier Bilodeau)
802.1X filaire, un monde idéal illusoire? (Olivier Bilodeau)
 
Apache ssl
Apache sslApache ssl
Apache ssl
 
Tuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-siteTuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-site
 
Le chiffrement
Le chiffrementLe chiffrement
Le chiffrement
 

Dernier

Dernier (13)

complement de agri cours irrigation.pptx
complement de agri cours irrigation.pptxcomplement de agri cours irrigation.pptx
complement de agri cours irrigation.pptx
 
Àma Gloria.pptx Un film tourné au Cap Vert et en France
Àma Gloria.pptx   Un film tourné au Cap Vert et en FranceÀma Gloria.pptx   Un film tourné au Cap Vert et en France
Àma Gloria.pptx Un film tourné au Cap Vert et en France
 
Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"Les débuts de la collection "Le livre de poche"
Les débuts de la collection "Le livre de poche"
 
Nathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre françaiseNathanaëlle Herbelin.pptx Peintre française
Nathanaëlle Herbelin.pptx Peintre française
 
Texte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigéesTexte avec différentes critiques positives, négatives ou mitigées
Texte avec différentes critiques positives, négatives ou mitigées
 
Chapitre3-Classififcation des structures de chaussu00E9e.pptx
Chapitre3-Classififcation des structures de  chaussu00E9e.pptxChapitre3-Classififcation des structures de  chaussu00E9e.pptx
Chapitre3-Classififcation des structures de chaussu00E9e.pptx
 
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTIONCALENDRIER ET COMPTE RENDU REUNION DIRECTION
CALENDRIER ET COMPTE RENDU REUNION DIRECTION
 
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptxGHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
GHASSOUB _Seance 4_ measurement and evaluation in education_-.pptx
 
Un petit coin etwinning- Au fil des cultures urbaines
Un petit coin  etwinning- Au fil des cultures urbainesUn petit coin  etwinning- Au fil des cultures urbaines
Un petit coin etwinning- Au fil des cultures urbaines
 
Fiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciationFiche de vocabulaire pour faire une appréciation
Fiche de vocabulaire pour faire une appréciation
 
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptxSaint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
Saint Damien, missionnaire auprès des lépreux de Molokai, Hawaï.pptx
 
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptxGHASSOUB _Seance 3_ measurement and evaluation in education.pptx
GHASSOUB _Seance 3_ measurement and evaluation in education.pptx
 
Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024Réunion des directeurs de Jonzac - 15 mai 2024
Réunion des directeurs de Jonzac - 15 mai 2024
 

Rapport tp openssl

  • 1. 603250144145Encadré par :Pr. S. LAAZARRéalisé par :COHEN AchrafYACOUBOU S. Bouraima<br />RAPPORT TP OPENSSL<br />Présentation d’openSSl<br />openSSL est une boîte à outils cryptographiques implémentant les protocoles SSL et TLS qui offre<br />1. une bibliothèque de programmation en C permettant de réaliser des applications client/serveur sécurisées s'appuyant sur SSL/TLS.<br />2. une commande en ligne (openssl) permettant<br />la création de clés RSA, DSA (signature) ;<br />la création de certificats X509 ;<br />le calcul d'empreintes (MD5, SHA, RIPEMD160, ...) ;<br />le chiffrement et déchiffrement (DES, IDEA, RC2, RC4, Blowfish, ...) ;<br />la réalisation de tests de clients et serveurs SSL/TLS ;<br />la signature et le chiffrement de courriers (S/MIME).<br />2.1. Chiffrement symétrique avec openSSL<br />C'est la commande enc qui permet de chiffrer et de déchiffrer avec openssl :<br />$Openssl enc <options><br />Exemples d’options(système de chiffrement) :<br /> aes-128-cbc AES 128 bis in CBC mode<br /> aes-128-ecb AES 128 bis in ECB mode<br /> aes-192-cbc AES 192 bis in CBC mode<br /> aes-192-ecb AES 192 bis in ECB mode<br /> aes-256-cbc AES 256 bis in CBC mode<br /> aes-256-ecb AES 256 bis in ECB mode<br /> base64 Base 64<br /> bf-cbc Blowfish in CBC mode<br /> bf Alias for bf-cbc<br /> bf-cfb Blowfish in CFB mode<br /> bf-ecb Blowfish in ECB mode<br /> bf-ofb Blowfish in OFB mode<br /> des-cbc DES in CBC mode<br /> des Alias for des-cbc<br /> des-ede-cbc Two key triple DES EDE in CBC mode<br /> des-ede Alias for des-ede<br /> des-ede-cfb Two key triple DES EDE in CFB mode<br /> des-ede-ofb Two key triple DES EDE in OFB mode<br /> des-ede3-cbc Three key triple DES EDE in CBC mode<br /> des-ede3 Alias for des-ede3-cbc<br /> des3 Alias for des-ede3-cbc<br /> des-ede3-cfb Three key triple DES EDE CFB mode<br /> des-ede3-ofb Three key triple DES EDE in OFB mode<br /> desx DESX algorithm.<br /> idea-cbc IDEA algorithm in CBC mode<br /> idea same as idea-cbc<br /> idea-cfb IDEA in CFB mode<br /> idea-ecb IDEA in ECB mode<br /> idea-ofb IDEA in OFB mode<br /> rc2-cbc 128 bit RC2 in CBC mode<br /> rc2 Alias for rc2-cbc<br /> rc2-ofb 128 bit RC2 in CBC mode<br /> rc2-64-cbc 64 bit RC2 in CBC mode<br /> rc2-40-cbc 40 bit RC2 in CBC mode<br /> rc4 128 bit RC4<br /> rc4-64 64 bit RC4<br /> rc5-cbc RC5 cipher in CBC mode<br /> rc5 Alias for rc5-cbc<br />2.1 Chiffrement avec mot de passe<br />Pour chiffrer le fichier fic contenant la phrase <<bonjour monsieur>> avec le système AES 128 bits en mode CBC, avec une clé générée par le mot de passe<<aes>>, le résultat étant stocké dans le fichier ficc, on utilise la commande :<br />$openssl enc –aes-128-cbc –in fic –out ficc<br />Message Chiffre :<br />Salted__lt;br />^?'6�^L��yPVl���BR~�4^V��� z�u�6]�����?^C&<br />Pour déchiffrer le même message, on utilise la commande :<br />openssl enc –aes-128-cbc -d –in ficc –out ficd<br /> Chiffrement avec clé explicite<br />Pour chiffrer le fichier fic avec une clé explicite, on utilise les options -K et –iv<br />-K (K majuscule) suivi de la clé exprimée en hexadécimal ;<br />-iv (iv en minuscules) suivi du vecteur d'initialisation exprimé en hexadécimal1.<br />L'exemple qui suit montre la commande pour chiffrer fic contenant le message <<bonjour monsieur>> avec le système AES 128 bits en mode CBC avec un vecteur d'initialisation de 64 bits exprimé par 16 chiffres hexadécimaux, et une clé de 128 bits exprimée par 32 chiffres hexadécimaux.<br />$openssl enc –aes-128-cbc –in fic –out ficc –iv 0123456789ABCDEF –K 0123456789ABCDEF0123456789ABCDEF<br />3. RSA avec openSSl:<br />3.1  Génération d'une paire de clés<br />pour générer une paire de clés RSA on utilise la commande genrsa en précisant le fichier ou enregistrer la paire de clés et la taille du modulus.<br />$openssl genrsa –out fichier_sortie taille_modulus<br />Par exemple, pour générer une paire de clés de 1024 bits, stockée dans le fichier cle, on tape la commande :<br />Affichage du fichier :<br />3.2  Visualisation des clés RSA<br />La commande rsa permet de visualiser le contenu d'un fichier contenant une paire de clés RSA.<br />L'option -text demande l'affichage décodé de la paire de clés. L'option -noout supprime la sortie normalement produite par la commande rsa. <br />3.3  Chiffrement d'un fichier de clés RSA<br />Il n'est pas prudent de laisser une paire de clé en clair (surtout la partie privée). Avec la commande rsa, il est possible de chiffrer une paire de clés HYPERLINK quot; http://www2.lifl.fr/~wegrzyno/portail/PAC/Doc/TP5/tp-certif005.htmlquot; quot; note2quot; 2 . Pour cela trois options sont possibles qui précisent l'algorithme de chiffrement symétrique à utiliser : -des, -des3 et -idea.<br />Une phrase de passe est demandée deux fois pour générer une clé symétrique protégeant l'accès à la clé. On a entré «ensat»<br />Exercice 2 :<br />Contenu du fichier cle1 avec la commande cat :<br /> Visualisation du contenu de cle1 a l’aide de la commande rsa:<br />NB : un mot de passe a été demande. (On avait entre «ensat» )<br />3.4  Exportation de la partie publique<br />La partie publique d'une paire de clés RSA est publique, et à ce titre peut être communiquée à n'importe qui. Le fichier maCle.pem contient la partie privée de la clé, et ne peut donc pas être communiqué tel quel (même s'il est chiffré). Avec l'option -pubout on peut exporter la partie publique d'une clé.<br />Exercice 3 :<br />Q 1 . Notez le contenu du fichier ClePublique. Remarquez les marqueurs de début et de fin.<br />Q 2 . Avec la commande rsa visualisez la clé publique. Attention vous devez préciser l'option -pubin, puisque seule la partie publique figure dans le fichiermaClePublique.pem.<br />3.5  Chiffrement/déchiffrement de données avec RSA<br />On peut chiffrer des données avec une clé RSA. Pour cela on utilise la commande rsautl<br />Où <br />fichier_entree est le fichier des données à chiffrer. Attention, le fichier des données à chiffrer ne doit pas avoir une taille excessive (ne doit pas dépasser 116 octets pour une clé de 1024 bits). <br />cle est le fichier contenant la clé RSA. Si ce fichier ne contient que la parte publique de la clé, il faut rajouter l'option -pubin.<br />fichier_sortie est le fichier de données chiffré.<br />Pour déchiffrer on remplace l'option -encrypt par -decrypt. Le fichier contenant la clé doit obligatoirement contenir la partie privée.<br />Exercice 4 :<br />Chiffrons le fichier « fichier » avec le système symétrique aes 128 bits en mode cbc (fichier de sortie «fichier1» ;mot de passe «fichier»):<br /> Chiffrons la clé ou le mot de passe utilisé(e) avec la clé publique du destinataire (cledestpub). <br />On a stocké le mot de passe dans le fichier « password». <br />Envoyons le mot de passe chiffré «password1» ainsi que le fichier chiffré «fichier1». <br />3.6  Signature<br />Exercice 6 :<br />Il n’est possible de signer que de petits documents. Pour signer un gros document on calcule d’abord une empreinte de ce document. La commande dgst permet de le faire.<br /># openssl dgst <hachage> −out <empreinte> <fichier entré><br />où hachage est une fonction de hachage. Avec openssl, plusieurs fonctions de hachage sont proposées dont :<br />– MD5 (option -md5), qui calcule des empreintes de 128 bits,<br />– SHA1 (option -sha1), qui calcule des empreintes de 160 bits,<br />– RIPEMD160 (option -ripemd160), qui calcule des empreintes de 160 bits.<br /># openssl rsautl –sign −in <empreinte> −inkey <cle> −out <signature><br />On a créé un fichier « tp » afin de le signer avec openssl, signer un document revient à signer son empreinte. Pour cela, on utilise l’option -sign de la commande rsautl.<br />Faire l’empreinte :<br /># openssl dgst –md5 −out emp tp<br />Signer l’empreinte:<br /># openssl rsautl –sign −in emp −inkey maCle.pem −out signature<br /> 4. Certificats:<br />Nous allons maintenant élaborer un certificat Puis, vous verrez comment utiliser les clés certifiées pour signer et/ou chiffrer des courriers électroniques.<br />On peut cependant créer un certificat SSL auto signé en installant le paquet openssl. Il est aussi possible d'installer ca-certificates, mais ça ne semble pas utile dans le cas d'un certificat auto-signé.<br />Pour créer un certificat :<br />openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key<br />Avec<br />-x509 -nodes donne le type de certificat voulu<br />-days 365 indique la durée de validité (en jours) de votre certificat<br />-newkey rsa:1024 demande une clé RSA de 1024 bits - d'après la doc apache, il est déconseillé de créer une clé plus grosse pour des histoires de compatibilité<br />-out /etc/apache2/server.crt est le chemin de votre certificat<br />-keyout /etc/apache2/server.key est le chemin de la clé privée<br />Démonstration :<br />Ce message d’erreur nous est affiché en essayant d’accéder au serveur à l’aide du protocole HTTPS car le navigateur ne reconnait pas l’autorité de certification qui a émis le certificat.<br />-598170340995Une fois l’exception ajoutée le navigateur affiche la page d’accueil du site sécurisé : <br />