UNIVERSITÉ DE CARTHAGE
DÉPARTEMENT
FACULTÉ DES SCIENCES DE BIZERTE
INFORMATIQUE
Classe : SI3
Matière : Sécurité Semestre :
1
Enseignants : Mme Selma Batti, Mme Merien Nombre de
Maddah pages : 3
TRAVAUX DIRIGÉS N°1
INITIATION À OPENSSL
Objectifs :
- Se familiariser avec les concepts de la sécurité informatique en général et
les mécanismes cryptographiques en particulier
- Maitriser les principales fonctionnalités de la librairie OpenSSL
Prérequis :
- Cryptographie de base
- Services de sécurité
Installation sous Linux :
Les étapes à suivre pour l'installation d'openssl sous linux :
a) Décompression du fichier source d’openssl à l’aide des commandes
suivantes :
si le fichier a une extension .tar.gz : #tar -xvzf openssl-
x.x.x.tar.gz
si le fichier a une extension .tar.gz2 : #gunzip2 openssl-
x.x.x.tar.gz2
#tar -xvf openssl-x.x.x.tar
b) Configuration, compilation et installation d’OpenSSL. Il est possible de
spécifier un chemin où sera installé OpenSSL avec l'option prefix.
Nous avons choisi de conserver le chemin par défaut pour
l'installation, soit /usr/local/ssl.
#./config
#make
#make test
#make install
Les fichiers et répertoires suivants vont être créés :
1
UNIVERSITÉ DE CARTHAGE
DÉPARTEMENT
FACULTÉ DES SCIENCES DE BIZERTE
INFORMATIQUE
- bin : contient les fichiers exécutables.
- certs : contiendra les certificats signés
- include :
- lib :
- man : fichier d'aide
- misc :
- openssl.cnf : fichier de configuration de OpenSSL
- private : contiendra les paires de clés privées / publiques de l’autorité de
certification.
Maintenant, il est possible de tester et utiliser OpenSSL afin de
vérifier la bonne installation :
#openssl
OpenSSL>
Configuration initiale d’OpenSSL
Le but de cette partie est de visualiser et modifier quelques champs du
fichier de configuration ‘openssl.cnf’. Ce fichier existe dans le
répertoire /usr/share/ssl.
Le fichier est basé sur des [Secteurs] de variables. Plusieurs variables se
présentent avec les suffixes _default, _min et _max pour désigner
respectivement leurs valeurs par défaut, minimale, ou maximale.
a) Créer un répertoire sous /root pour la réalisation de ce TP. Changer la
valeur du champ « dir » par le chemin correspondant au répertoire
crée.
b) Changer les valeurs par défaut de ces champs :
countryName -> TN
stateOrProvinceName -> Tunisie
organizationName -> ISTIC
organizationalUnitName -> LART3
c) Changer le nombre minimum de caractère pour le champ
‘ChallengePassword’ à 6 caractères.
d) Relever les champs obligatoires et optionnels pour la création d'un
certificat.
Installation sous Windows
Les étapes à suivre pour l'installation d'OpenSSL sous Windows :
a) Accéder au site suivant :
https://slproweb.com/products/Win32OpenSSL.html
b) Choisir la version (en .EXE) qui convient au système d’exploitation
c) Pour certaines versions de systèmes Windows, il vous faudra peut-être
installer "Visual C++ 2008 Redistribuable".
Par défaut, OpenSSL pour Windows s'installe dans le répertoire suivant :
2
UNIVERSITÉ DE CARTHAGE
DÉPARTEMENT
FACULTÉ DES SCIENCES DE BIZERTE
INFORMATIQUE
- pour Win64 OpenSSL v1.X.X Light : c:\OpenSSL-Win64\
- pour Win32 OpenSSL v1.X.X Light : c:\OpenSSL-Win32\
Pour lancer OpenSSL, ouvrir un invité de commandes avec les droits
administrateurs.
Chiffrement symétrique
La commande qui permet l’utilisation du chiffrement symétrique est la commande enc (en tapant enc
–help vous aurez toutes les options associées)
Question 1 :
Soit un fichier donné entree.txt (qui contient le texte suivant :
« Bonjour nous sommes les étudiants de la GLSI3 nous étudions de la sécurité réseau ».
1- Taper la commande man openssl afin de visualiser les options d’utilisation de l’outil OpenSSL
2- Taper la commande man enc afin de visualiser les options d’utilisation de la commande enc.
3- En vous basant sur les informations que vous venez de lire, expliquer la syntaxe de la commande
suivante: openssl enc –des -in entree.txt -out sortie.txt -e
4- Modifier la commande précédente afin de crypter un fichier texte exemple.txt tout en visualisant la
clé symétrique utilisée
5- Donner la syntaxe de la commande permettant de décrypter le fichier que vous venez de crypter
tout en visualisant la clé utilisée. Commenter le résultat obtenu.
6- Exécuter la commande de cryptage en spécifiant un « encryption password » différent puis
commenter le résultat.
Chiffrement asymétrique
Génération de clé privée/publique RSA :
Le format de sortie par défaut est du PEM (PrivacyEnhanced Mail).
A l’aide de l’option –outform ou -inform on peut changer le format. Deux formats sont supportés par
cette option PEM et DER.
Pour créer la clé privée/publique, vous pouvez taper la commande suivante :
OpenSSL>genrsa -out key 1024
Pour la vérification des clés privée/publique RSA et les visualiser vous pouvez taper :
OpenSSL>rsa -in key
Génération de la clé publique RSA :
OpenSSL>rsa -in key -pubout -out pubkey
Pubkey est un fichier qui va contenir la clé publique. Il a été créé à partir du fichier key qui
contient les clés privée/publique.
3
UNIVERSITÉ DE CARTHAGE
DÉPARTEMENT
FACULTÉ DES SCIENCES DE BIZERTE
INFORMATIQUE
NB : Lorsque vous manipuler la clé publique, utiliser toujours l’option -pubin
Vérification de la clé publique RSA :
OpenSSL>rsa -pubin -in pubkey –text
Chiffrement/déchiffrement de données avec RSA
On peut chiffrer des données avec une clé publique RSA. Pour cela on
utilise la commande rsautl
Openssl> rsautl -encrypt -in fichier_entrée –pubin -
inkey clépublique
-out fichier_sortie
Pour déchiffrer, on remplace l'option -encrypt par -decrypt. Le fichier contenant la clé doit
obligatoirement contenir la partie privée.