Vous êtes sur la page 1sur 3

NSI Thursday 28 October y

————————————————————————————————————————

TP Sécurisation des communications : Introduction au


hachage et au cryptage
L’objectif de ce TP est d’aborder les notions de hachage et de cryptage symétrique et asymétrique.
Vous devrez rédiger un compte-rendu de TP dans le document Word de l’énoncé.
I) Installation et lancement de la machine virtuelle Ubuntu :
Voir le site : https://www.papergeek.fr/comment-installer-une-machine-virtuelle-linux-dans-
windows-10-81428
Partie 1 : Le hachage
Source : Tutorial Ubuntu « How to verify your Ubuntu download
https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu#0
1) Vérifiez que les logiciels sha256sum, md5sum et gpg sont installés sur votre système
2) Vérification d’intégrité de l’image iso Ubuntu18.04 avec l’algorithme de hachage SHA
2.1) L’image iso peut être trouvée sur ce lien : http://releases.ubuntu.com/18.04/
2.2) Constatez que le fichier SHA256SUMS contient des empreintes pour toutes les images
disponibles.
2.3) Comment faire confiance à ces empreintes? Le fichier SHA256SUMS.gpg est la
signature GnuPG pour ce fichier. L'empreinte gpg est vérifiée par rapport au serveur de clés
publiques Ubuntu. Par conséquent, si la signature correspond, vous savez qu'elle est
authentique, peu importe où et comment elle a été téléchargée!
2.4) Ces deux fichiers SHA256SUMS et SHA256SUMS.gpg seront utilisés pour vérifier
l’intégrité de l’image ISO : il faut donc les télécharger dans un dossier nommé TPsecu par
exemple ainsi que l’image ISO.
2.5) Pour prouver que les deux fichiers SHA256SUMS et SHA256SUMS.gpg ont bien été
générés par Ubuntu, il faut vérifier leur signature électronique. La commande gpg qui
permet de vérifier une signature électronique est :
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
2.6) Que nous indique le message en retour? expliquez
2.7) Téléchargement de clés publiques depuis le serveur de clés Ubuntu :
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys
0x46181433FBB75451 0xD94AA3F0EFE21092
2.8) Que nous indique le message en retour? expliquez
2.9) Que faut-il faire à présent? Quel est le résultat ? Conclusion ?
2.10) Que reste-t-il à faire ?
2.11) Vérifiez que l’image ISO et les deux fichiers SHA256SUMS et SHA256SUMS.gpg
sont dans le même répertoire. Puis exécutez la commande :
sha256sum -c SHA256SUMS

D.Déser Page 1 sur 3 TG


NSI Thursday 28 October y
2.12) Que pouvez-vous en conclure?
3) Vérification d’intégrité de l’image iso Ubuntu18.04 avec l’algorithme de hachage MD5
3.1) Comment calculer l’empreinte MD5 de l’image iso ?
md5sum <nom_du_fichier.iso>
3.2) Que faut-il faire ensuite pour vérifier l’intégrité de l’image iso ? Que concluez-vous ?
Partie 2 : Le cryptage
Source : TP OpenSSL de Olivier Ruatta
http://www.unilim.fr/pages_perso/olivier.ruatta/CRYPTO/TP1openssl.pdf

4) Qu’est-ce-que SSL ?
Le terme SSL est un acronyme pour Secure Socket Layer qui est un protocole (en fait un ensemble
de protocoles) qui a été développé par la société Netscape Communication Corporation pour
permettre la communication sécurisée en mode client/serveur pour des application réseaux utilisant
TCP/IP. Le protocole TLS (Transport Layer Security) est une évolution de SSL réalisé par l’IETF
et qui sert de base à HTTPS par exemple. Le protocole SSL est entre la couche TCP/IP et une
application utilisant TCP. Le principe général d’un protocole de type SSL est qu’il se passe en deux
temps :1. Une poignée de mains : c’est une étape durant laquelle le client et le serveur s’identifient,
s’authentifient, se mettent d’accord sur le type du système de chiffrement et les clefs qui seront
utilisées lors du reste de la communication. 2. La phase de communication : les données sont alors
échangées en format chiffré et signé.

5) Qu’est-ce que OpenSSL ?


La bibliothèque OpenSSL est une implantation libre des protocoles SSL et TSL qui donne accès à :
Une bibliothèque de fonctionnalité écrite en C permettant de réaliser des applications
client/serveur sécurisées s’appuyant sur SSL/TSL,
Un ensemble d’exécutables en ligne de commande en ligne permettant en particulier:
− la forge (création) de clefs RSA
− la création de certificat X509 (identification)
− le calcul d’empreintes (MD5, SHA, , ...)
− le chiffrement et le déchiffrement (RSA, DES, AES, , ...)
− la réalisation de tests de clients et serveurs SSL/TSL
− la signature et le chiffrement de courriers

La syntaxe générale pour l’utilisation en mode shell des fonctionnalités OpenSSL est la suivante
:
$ openssl <commande> <options>

6) Opérations de base avec OpenSSL


Vous pouvez utiliser les fonctionnalités suivantes :
D.Déser Page 2 sur 3 TG
NSI Thursday 28 October y
$ openssl genrsa -out fichier_rsa.priv size : génère la clé privée RSA de taille size. les valeurs
possible pour size sont : 512, 1024, etc.
$ openssl rsa -in fichier_rsa.priv -pubout -out fichier_rsa.pub> : stocke la clé publique dans un
fichier fichier_rsa.pub (création de de la clé publique associée à la clef privée).
$ openssl rsa -in fichier_rsa.priv -des3 -out fichier.pem : chiffre la clef privée RSA avec
l’algorithme DES3. Vous pouvez utiliser DES, 3DES, IDEA, etc.
$ openssl rand -out clé.key nombre_bits : pour générer un nombre aléatoire de taille nombre_bits
(utiliser l’option -base 64 pour la lisibilité).(Permet de générer une clé pour les chiffrements
symétriques).
$ openssl aes-256-cbc -in clair.txt -out chiffre.enc -e -k cle.key: pour chiffrer un fichier avec l’AES.
$ openssl rsautl –encrypt –pubin -inkey rsa.pub -in clair.txt -out chiffre.enc : pour chiffrer le fichier
clair.txt avec la clé publique RSA rsa.pub
$ openssl rsautl -decrypt -inkey rsa.priv -in chiffre.enc -out fichier.txt : pour déchiffrer le fichier
chiffre.enc avec une clé privée rsa.
$openssl rsautl -sign -inkey ras.priv -in fichier.txt -out fic.sig : pour générer une signature.
$ openssl rsautl -verify -pubin -inkey rsa.pub -in fic fic.sig : pour vérifier une signature.
7) Quelques exercices de base avec OpenSSL/ Pour chaque exercice, vous indiquerez dans le
compte rendu les commandes que vous avez effectués ainsi que les résultats obtenus
7.1) Vérifiez que OpenSSL est installé
7.2) Forgez vos clefs RSA 512 et affichez-les. (Remarque: Affichez vos clés en base64
pour plus de lisibilité)
7.3) Créez un petit fichier nommé clair.txt (par exemple avec la commande ls>clair.txt ) et
cryptez le en RSA avec votre clé publique. Vérifiez que le fichier est bien chiffré.
7.4) Décryptez le fichier avec votre clé privée
7.5) Déposez sur MBN un fichier crypté à l’attention du prof en utilisant sa clé publique.
7.6) Générez une clef AES 256. Chiffrez le fichier énoncé du TP avec puis déchiffrez-le.
8) Rendu en fin de séance
Lorsque vous aurez fini le TP, enregistrez votre compte-rendu sous le nom
TPsecu_nom_prenom.docx.
Déposer le fichier sur MBN

D.Déser Page 3 sur 3 TG

Vous aimerez peut-être aussi