Vous êtes sur la page 1sur 4

TP : La cryptographie avec OpenSSL

Objectifs du TP : Exercer des opérations cryptographiques : chiffrement, déchiffrement, hashage, signature


digitale.

Etude de cas : Un utilisateur appelé Bechir veut communiquer d’une manière sécurisé avec un autre
utilisateur nommé Aliya

Afin de mieux organiser le travail et pour des raison de clarté :

Mettre tous les fichiers concernant la source dans le répertoire Bechir


et tous les fichiers concernant le destinataire dans le répertoire Aliya.
A chaque fois qu'un fichier doit être transmis de la source vers le destinataire, on doit copier ce
fichier dans le répertoire du destinataire.

Vérification de l’outil OpenSSL

Pour vérifier si OpenSSL est installé sur votre système:

Pour les distributions GNU / Linux qui utilisent des packages rpm:
rpm -qa | grep -i openssl

Pour les distributions GNU / Linux qui utilisent des packages deb:
dpkg -l | grep -i openssl

1. Créer un répertoire pour la source (Bechir) et un répertoire pour le destinataire (Aliya).

1
Côté de l’émetteur (Bechir)
2. Rédaction du Message confidentiel : Créer un fichier texte msg.txt contenant le message
suivant : Bonjour Aliya !

3. Générer les clés privées RSA de Bechir et Aliya :

Exécuter et interpréter les commandes suivantes :

4. Extraction des clés publiques

5. Afficher la paire de clés de Bechir.


6. A quoi sert l'option passin et passout ?

Echange de secret partagé

Pour générer une clé symétrique partagée, Bechir a fixé comme clé "polytechMonastir". Cette clé
sera sauvegardée dans le fichier clef_sec_cl.txt.

7. Avant d’envoyer la clé de session à Aliya, pourquoi Bechir doit la chiffrer ? Comment ?

Note : La commande rsautl est utilisée pour signer, vérifier, chiffrer et déchiffrer des données à
l'aide de l'algorithme RSA.

2
Il tout abord avoir une copie de la clef publique de Alia aliya_rsa_pub.pem dans le répertoire de
Bechir (commande cp)

8. Afficher la liste des méthodes de chiffrements pris en charge


9. Bechir a choisi le chiffrement du "message.txt" avec la méthode des-ede3-ofb en utilisant
le secret partagé "polytechMonastir" comme paramètre de génération de clé de session et
de vecteur d'initialisation.

Signature de message chiffré "message.crypt"

10. Calcul de l’empreinte du message avec MD5

11. Signature du message : Chiffrement l’empreinte avec la clé privée de Bechir

Côté Récepteur (Aliya)

A la réception, Aliya doit possédé :

Sa clé publique : aliya_rsa_pub.pem


Sa clé privée : aliya_rsa.pem
La clé de session crypté : clef_sec_cf.crypt
Le message reçu : msg.crypt
La signature du message reçu : msg.crypt.dgst.sign

12. Recopier les trois derniers fichiers du dossier Bechir vers le dossier Aliya.

3
Authentification de la source et de l'intégrité de donnée reçue.

13. Déchiffrer l'empreinte du message à partir de la signature dgst1

14. Calculer le digest à partir du message crypté reçu dgst2

15. Comparer pour Aliya les deux condensats:

16. En déduire, l’état l'intégrité du message reçu.


17. Que peut constater Aliya à propos de l'authentification de la source Bechir ?

Déchiffrement du message reçu

18. Déchiffrer la clé secrète partagée reçue et l’enregistrer dans le fichier clef_sec_cl_R.txt

19. Déchiffrer le message crypté reçu msg.crypt à l'aide de la clé secrète qui se trouve dans le fichier
clef_sec_cl_R.txt

20. Afficher le message reçu ! Quel service de sécurité a été assuré ?

Vous aimerez peut-être aussi