Activité 4.2 : TP OpenSSL ; usages de base

Ce TP permet de se familiariser avec les usages de base de la bibliothèque OpenSSL, un outil essentiel pour la sécurité des communications informatiques. Vous apprendrez à générer des clés, chiffrer et déchiffrer des fichiers, signer et vérifier des signatures, ainsi qu’à calculer des empreintes (hachages).

D'après le document Activité 4.2 : TP OpenSSL ; usages de base

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Activité 4.2 : TP OpenSSL ; usages de base

Document source

Activité 4.2 : TP OpenSSL ; usages de base

Cryptography and Secure Communication · PDF · 3 pages

Afficher l'aperçu du document

Consulter le document original →

Ce TP permet de se familiariser avec les usages de base de la bibliothèque OpenSSL, un outil essentiel pour la sécurité des communications informatiques. Vous apprendrez à générer des clés, chiffrer et déchiffrer des fichiers, signer et vérifier des signatures, ainsi qu’à calculer des empreintes (hachages). Pour réaliser ce TP, il vous faudra télécharger OpenSSL et disposer d’un environnement Windows ou Linux avec un terminal ou shell.

Objectifs

  • Générer des clés RSA et manipuler les clés publiques et privées.
  • Chiffrer et déchiffrer des fichiers avec des algorithmes symétriques et asymétriques.
  • Signer des fichiers et vérifier les signatures.
  • Calculer et comparer des empreintes (hachages) de fichiers.
  • Utiliser les commandes OpenSSL en ligne de commande.

Prérequis et installation

  • Connaissances de base en cryptographie (chiffrement symétrique et asymétrique, signatures, hachage).
  • Un système d’exploitation Windows ou Linux avec accès à un terminal.
  • Télécharger OpenSSL depuis https://indy.fulgan.com/SSL/.
  • Extraire l’archive téléchargée et lancer l’exécutable openssl.exe (Windows) ou utiliser la commande openssl (Linux).
  • Un éditeur de texte pour créer et modifier des fichiers texte.

Présentation d’OpenSSL et protocole SSL/TLS

OpenSSL est une bibliothèque libre implémentant les protocoles SSL (Secure Socket Layer) et TLS (Transport Layer Security), qui assurent la communication sécurisée entre clients et serveurs sur TCP/IP. Le protocole SSL fonctionne en deux phases :

  1. La poignée de mains : identification mutuelle, négociation des algorithmes de chiffrement et échange des clés.
  2. La phase de communication : échange des données chiffrées, compressées et signées.

OpenSSL fournit une bibliothèque C pour développer des applications sécurisées, ainsi qu’un ensemble d’outils en ligne de commande pour manipuler clés, certificats, chiffrement, signatures, hachages, etc.

Étape 1 : Chiffrement symétrique avec DES

Dans cette première étape, vous créez un fichier texte simple, puis vous le chiffrez avec l’algorithme symétrique DES. Ensuite, vous déchiffrez ce fichier pour vérifier que le contenu est bien identique à l’original.

Procédure :

  1. Créer un fichier texte c:\f1.txt contenant un paragraphe quelconque.
  2. Chiffrer ce fichier avec DES en utilisant la commande :
openssl enc -des -in c:\f1.txt -out c:\SSYMETRIQUE\f1chiffré

Cette commande chiffre le fichier f1.txt et produit un fichier chiffré nommé f1chiffré dans le dossier SSYMETRIQUE.

  1. Déchiffrer le fichier chiffré pour obtenir f1déchiffré :
openssl enc -des -d -in c:\SSYMETRIQUE\f1chiffré -out c:\SSYMETRIQUE\f1déchiffré

Le fichier f1déchiffré doit être strictement identique à f1.txt.

Étape 2 : Génération et utilisation de clés RSA

Vous allez générer une paire de clés RSA 512 bits, puis utiliser ces clés pour chiffrer, signer et vérifier des fichiers.

Procédure :

  1. Générer une clé privée RSA 512 bits :
openssl genrsa -out rsa.priv 512

Cette commande crée la clé privée dans le fichier rsa.priv.

  1. Extraire la clé publique correspondante :
openssl rsa -in rsa.priv -pubout -out rsa.pub

La clé publique est stockée dans rsa.pub.

  1. Déposer la clé publique dans le dossier NOSCLESPUBLIQUES sous la forme CPNomPrenom sur la plateforme.
  2. Chiffrer un petit fichier texte avec la clé publique :
openssl rsautl -encrypt -inkey rsa.pub -pubin -in fichier.txt -out fNomPrénomchiffré

Le fichier chiffré fNomPrénomchiffré doit être déposé sur l’espace de dépôt.

  1. Signer ce même fichier avec la clé privée :
openssl rsautl -sign -inkey rsa.priv -in fichier.txt -out fNomPrénomsigné

Le fichier signé fNomPrénomsigné est à déposer pour vérification.

  1. Calculer le hachage MD5 du fichier initial :
openssl dgst -md5 -out h1md5 fichier.txt

Modifier ensuite le fichier initial (par exemple en changeant un caractère) et recalculer le hachage :

openssl dgst -md5 -out h2md5 fichier.txt

Les fichiers h1md5 et h2md5 doivent être différents, montrant que le hachage change si le fichier est modifié.

  1. Signer un fichier volumineux (par exemple ce TP) :
openssl rsautl -sign -inkey rsa.priv -in TP.txt -out fTPsigné

Déposer le fichier signé fTPsigné pour vérification.

Résultats attendus

  • Le fichier déchiffré f1déchiffré est identique au fichier original f1.txt.
  • La clé publique est correctement extraite et déposée dans NOSCLESPUBLIQUES.
  • Le fichier chiffré RSA fNomPrénomchiffré est généré et déposé.
  • La signature fNomPrénomsigné est créée et déposée.
  • Les fichiers de hachage h1md5 et h2md5 sont différents après modification du fichier initial.
  • Le fichier volumineux signé fTPsigné est produit et déposé.
  • Un compte rendu contenant les commandes utilisées et vos commentaires est remis.

Pièges courants

  • Ne pas respecter les noms exacts des fichiers et dossiers demandés (ex. f1chiffré, fNomPrénomchiffré).
  • Oublier d’utiliser l’option -pubin lors du chiffrement avec la clé publique.
  • Confondre chiffrement symétrique (DES) et asymétrique (RSA) dans les commandes.
  • Ne pas vérifier que le fichier déchiffré est identique à l’original (vérification essentielle).
  • Modifier le fichier après calcul du premier hachage sans recalculer le second.
  • Ne pas déposer les fichiers dans les bons dossiers ou sous les bons noms sur la plateforme.
  • Oublier de signer le fichier volumineux ou de déposer le compte rendu.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions