Compte Rendu N°2
TP : Fondements de la Sécurité
2éme LTIC-TEL
G1
Ahmed Ben Makhlouf
Mariam Bradai
Amir Dhouib
TP 2 : Openssl usage de base
I- But du TP :
Apprendre à utiliser la boite à outil cryptographique « openssl »
Se familiariser avec les services de base de la sécurité (le chiffrement
symétrique, le chiffrement asymétrique, le hachage, la signature numérique
et sa vérification)
II- Introduction :
Par soucis de sécurité et de confidentialité, la plupart des applications actuelles ne
peuvent se priver du cryptage des données. Dans le monde du logiciel libre, une
équipe a pensé à créer une lib et de petits utilitaires associés dans un projet
dénommé OpenSSL. Son utilisation est des plus fréquentes.
III- Présentation d’OpenSSL :
OpenSSL est une boîte à outils cryptographiques implémentant les protocoles SSL
et TLS qui offre une bibliothèque de programmation en C permettant de réaliser
des applications client/serveur sécurisées s’appuyant sur SSL/TLS.
Une commande en ligne (OpenSSL) permettant :
– la création de clés RSA, DSA (signature)
– la création de certificats X509
– le calcul d’empreintes (MD5, SHA, RIPEMD160, ...)
– le chiffrement et déchiffrement (RSA, DES, IDEA, RC2, RC4, Blowfish, ...)
– la signature et le chiffrement de courriers (S/MIME)
IV- Travail demandé :
1) Chiffrement symétrique :
1) Créez un fichier <fichier_votre_nom.txt> contenant des données textuelles.
2) Cryptez le fichier <fichier_votre_nom.txt> en utilisant le cryptage DES. Le
résultat sera mis dans le fichier <fichier_crypt_DES.enc>.
3) Vérifiez que le fichier <fichier_crypt_DES.enc> est bien inintelligible.
4) Cryptez le fichier <fichier_votre_nom.txt> en utilisant le cryptage AES256. Le
résultat sera mis dans le fichier <fichier_crypt_AES256.enc>.
5) Affichez les contenus des fichiers<fichier_crypt_DES.enc> et
<fichier_crypt_AES256.enc> pour les comparer.
6) Déchiffrez le fichier<fichier_crypt_DES.enc>. Le résultat sera mis dans le
fichier <fichier_decrypt_DES.dec>.
7) Vérifiez que le fichier ainsi déchiffré est bien identique au fichier original.
2) Chiffrement asymétrique :
1) Générez une paire de clés RSA dans le fichier <RSA_key.pem> de taille 1024
bits.
2) Visualiser le contenu du fichier <RSA_key.pem>.
3) Donnez les valeurs des paramètres e, d, p et q.
4) Chiffrez la paire de clé RSA avec l’algorithme de chiffrement symétrique AES.
5) Exportez la partie publique de la paire de clé établit dans le fichier
<maclepublic.pem>
6) Affichez le contenu du fichier <maclepublic.pem>. Remarquez les marqueurs
de début et de fin.
7) Cryptez <fichier_votre_nom.txt> avec la clé publique contenue dans
<RSA_key.pem>. Le résultat sera mis dans le fichier <fichier_crypt_RSA.enc>.
8) Décryptez le fichier <fichier_crypt_RSA.enc> avec la clé privée. Le résultat
sera mis dans le fichier <fichier_decrypt_RSA.dec>
3) Chiffrement hybride :
1) Chiffrez un fichier de votre choix <choix.txt> avec le système symétrique de
votre choix. Le résultat sera mis dans le fichier <choix_crypt.enc>.
2) Chiffrez la clé ou le mot de passe utilisé(e) avec la clé publique de votre
collègue. Le résultat sera mis dans le fichier <motdepasse_crypt.enc>.
3) Envoyez-lui le mot de passe chiffré ainsi que le fichier chiffré.
4) Déchiffrez le fichier <motdepasse_crypt.enc> avec la clé privée pour obtenir
le mot de passe en claire (votre collègue). Le résultat sera mis dans le fichier
<motdepasse_claire.txt>.
5) Déchiffrez le fichier <choix_crypt.enc> avec le mot de passe en claire obtenu
(votre collègue). Le résultat sera mis dans le fichier <choix_claire.txt>.
6) Comparez les deux fichiers <choix.txt> et <choix_claire.txt>. Conclure.
Les deux fichiers possèdent le même texte