Consignes: 1. Pour Le Formateur
Consignes: 1. Pour Le Formateur
Consignes: 1. Pour Le Formateur
1. Pour le formateur
• L’apprenant doit être capable de chiffrer/déchiffrer des fichiers avec des algorithmes
de chiffrement symétriques en utilisant OpenSSL
• Il doit être également capable de générer des clés de chiffrement symétrique
2. Pour l’apprenant
• Il est recommandée de maitriser le principe de chiffrement symétrique
• Il faut utiliser les commandes fournies au début de l’activité
• Il est également recommandée de suivre les étapes décrites dans l’énoncé
3. Conditions de réalisation :
• VirtualBox installé
• Une machine Virtuelle Ubuntu. Lien de téléchargement de la VM Ubuntu :
https://www.osboxes.org/ubuntu/#ubuntu-21-10-info
4. Critères de réussite :
• Générer un fichier chiffré à partir d’un fichier en claire
• Générer un fichier claire à partir d’un fichier chiffré
• Générer une clé symétrique
• Utiliser avec succès les différents types d’algorithmes de chiffrement symétriques
Activité 2
Chiffrement/déchiffrement symétrique grâce à OpenSSL
Présentation de OpenSSL
• OpenSSL est une bibliothèque cryptographique open source qui implémente Secure Sockets Layer (SSL) et Transport Layer Security (TLS).
• OpenSSL fournie un ensemble de commandes exécutables en ligne de commande et permettant d’offrir plusieurs fonctionnalités telles que :
• Le chiffrement et le déchiffrement : plusieurs algorithmes de chiffrement sont implémentés dans OoenSSL tel que RSA, DES, IDEA,AES, RC4,etc..
• Le calcul d’empreinte numérique : plusieurs fonctions de hachage sont implémentés tel que MD5, SHA, etc..
• La forge de clef RSA
• La création de certificat X509
Présentation de OpenSSL
• L’objectif principal de cette activité est de se familiariser à l’utilisation d’OpenSSL en essayant de réaliser le chiffrement et le déchiffrement symétrique
• Le tableau ci-dessous fournit les commandes nécessaires pour la réalisation du chiffrement et du déchiffrement :
openssl rand -out <clé.key> <nombre_bits> Génère un nombre aléatoire de taille nombre_bits
Chiffrer un fichier avec l’AES et une clé. Pour déchiffrer, il suffit de changer l’option –e à -
openssl aes-256-cbc -in <claire.txt> -out <chiffre.enc> -e -k <clé.key>
d
PARTIE 3
L’ajout de cette option aux commandes précédentes permet de produire un fichier lisible
L’option -a
qui est codé en base64
Travail demandé
• Comme cité précédemment, l’objectif principal est d’utiliser OpenSSL pour chiffrer et déchiffrer des fichiers. Pour ce faire, vous êtes chargés dans cette activité
d’effectuer les tâches suivantes :
1. Vérifiez que OpenSSL est installé dans votre machine Ubuntu et déterminez sa version en tapant la commande : openssl version [-a] ;
2. Créez un fichier, nommé message, qui inclut le texte suivant :
3. Chiffrez le fichier message avec l’algorithme de chiffrement DES3. Le fichier chiffré est nommé message.enc ;
4. Déchiffrez le fichier message.enc. Le fichier déchiffré est nommé message.dec ;
5. Vérifiez que les deux fichiers message et message.dec contiennent le même contenu ;
6. Affichez le contenu du fichier message.enc ;
7. Répétez les étapes 3→6 en utilisant l’option –a ;
PARTIE 3
Correction
• Pour vérifier que OpenSSL est bien installé dans votre machine Ubuntu et déterminer sa version, il est possible de taper l’une des deux commandes suivantes:
• Openssl version
• Openssl version -a
• Les résultats des deux commandes précédentes sont illustrés dans les deux figures ci-dessous. Selon les résultats obtenus, la version OpenSSL est 1.1.1L :
PARTIE 3
• Pour chiffrer le fichier message avec l’algorithme de chiffrement DES3, il suffit d’exécuter la commande suivante : openssl enc -e -des3 -in message -out message.enc
PARTIE 3
• Pour déchiffrer le fichier message.enc, il suffit d’exécuter la commande suivante : openssl enc -d -des3 -in message.enc -out message.dec
• Il est possible d’exécuter la commande tail –f message.enc pour afficher le contenu du fichier message.enc
PARTIE 3
Remarque
• Le contenu du fichier message.enc n’est pas lisible à cause de l’absence de l’option -a.
• Pour déchiffrer le fichier message2.enc, il suffit d’exécuter la commande suivante : openssl enc -d -des3 -in message2.enc -out message2.dec -a
• Pour vérifier que les deux fichiers message et message2.dec contiennent le même contenu, il est possible d’exécuter la commande : diff message message2.dec
PARTIE 3
• Il est possible d’exécuter la commande tail –f message.enc pour afficher le contenu du fichier message2.enc
• Pour déchiffrer le fichier messageRC.enc, il suffit d’exécuter la commande suivante : openssl enc -d -rc4 -in messageRC.enc -out messageRC.dec
• Pour vérifier que les deux fichiers message et messageRC.dec contiennent le même contenu, il est possible d’exécuter la commande : diff message messageRC.dec
PARTIE 3