Institut Supérieur des Etudes Technologiques Jendouba
Niveau DSI21 A.U: 2024/2025
Matière Sécurité Intelligente 1er semestre
TP
1) Objectifs
Se familiariser avec les services de base de la sécurité telle que le
chiffrement symétrique, le chiffrement asymétrique, le hachage, la
signature numérique et sa vérification, et la certification.
2) Chiffrement symétrique
a) Soit un fichier donné « fich_cryp» (choisissez un
[Link] qui contient des données textuelles).
Ecrire la commande qui permet de le chiffrer et produit
ainsi un fichier fich_cryp.enc
On peut alors vérifier que le message fich_cryp.enc est
bien inintelligible. Il est chiffré. Ce même message est
transmis à votre camarade qui pourra également le
déchiffrer. On peut alors vérifier que le message ainsi
déchiffré est bien identique à fich_cryp... Il vous est bien
sûr de comprendre l’ensemble des manipulations associées.
Il vous est demandé de diversifier les algorithmes.
D’utiliser également l’option –a pour produire un
fichier chiffré lisible donc codé en base64 (lisible ne veut
pas dire en clair).
1
Openssl> enc -in F:\fich_cryp.txt -out F:\fich_cryp.enc
-e -des3 (c’est pour chiffrer)
=>On se trouve F:\fich_cryp.enc
Openssl> enc -in F:\fich_cryp.enc -out F:\fich_cryp.dec
-d -des3 (c’est pour déchiffrer)
Leur demander de diversifier leurs algorithmes. D’utiliser
par exemple DES, RC2, RC4, AES,BF (BlueFich)
b) Pourquoi quand on applique deux fois la commande enc une
fois au fichier en clair et une fois au fichier chiffré on
n’obtient pas un résultat en clair.
=> Au fichier chiffré on rajoute des entêtes qui ne font pas
partie des données. Ainsi qu’on applique deux fois de suite la
commande avec l’option –e il chiffre et les données et les
entêtes. Quand on utilise l’option –d il applique la même
fonction sauf qu’il extrait du chiffrement les données
structurelles.
3) Chiffrement asymétrique :
Génération de clé privée/publique RSA :
2
Le format de sortie par défaut est du PEM (Privacy
Enhanced Mail).
-Créer la clé privée/publique :
Ce fichier « fich_cryp.txt» va aider l’algorithme RSA à
créer votre clé privée/publique.
La clé privée sera stockée sur votre disque dur dans un
fichier. Cette clé privée sera chiffrée par un algorithme
symétrique (par exemple 3DES). Cet algorithme va chiffrer
et protéger la clé privée grâce à une clé de chiffrement
symétrique générée par le mot de passe (pass-phrase) que
vous allez choisir et confirmer.
On tape la commande suivante :
OpenSSL>genrsa -des3 -out key -rand fich_cryp.txt
1024
-Pour la vérification des clés privée/publique RSA
OpenSSL> rsa -in key
OpenSSL> rsa -in key –check
OpenSSL> rsa -in key -check –modulus
OpenSSL> rsa -in key -check -modulus -text
3
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.
-Vérification de la clé publique RSA :
OpenSSL> rsa -pubin -in pubkey –text
Md5 :L'algorithme MD5, pour Message Digest 5, est une
4
fonction de hachage cryptographique qui permet d'obtenir
l'empreinte numérique d'un fichier (on par le souvent de
message).
Sha1 : SHA-1 (Secure Hash Algorithm) est une fonction de
hachage cryptographique.
4) Certification
-créer newcerts, serial et [Link]
CA :
Génération de la clé privé/public du CA dans le fichier [Link]
Tous les fichiers ainsi générés sont au format PEM.
OpenSSL> genrsa -out [Link] -des3 1024
5
OpenSSL> rsa -pubout -check -text -in [Link]
-Générer d’un certificat auto signé. Le fichier de
configuration [Link] doit être dans le même répertoire.
Le fichier [Link] contient le certificat du CA.
6
OpenSSL> req -x509 -new -key [Link] -out [Link] -days
365
- Visualiser dans un format lisible le contenu du certificat.
OpenSSL> x509 -in [Link] -purpose –text
7
Openssl> req -x509 -nodes -days 365 -newkey rsa:2048
-keyout [Link] -out [Link]
- Générer un certificat pour le premier client cl:
OpenSSL> genrsa -out [Link] -des3 1024
8
- Générer une requête de certificat au format PKCS#10
qui sera par la suite Soumise au CA pour signature et
produire ainsi un certificat d’usager :
OpenSSL> req -new -key [Link] -out [Link]
Openssl> req -x509 -nodes -days 365 -newkey rsa:2048
-keyout [Link] -out [Link]