crypto-TP-openssl - LIPN
Transcription
crypto-TP-openssl - LIPN
IUT de Villetaneuse, Université Paris 13, Sorbonne Paris Cité LP ASUR FI-FC 20162017 Cryptographie TP 1 : SSH et OpenSSL Étienne André Version du sujet : 23 novembre 2016 Ce TP s'eectuera individuellement, avec un PC sous Linux, image Mageia4. Vous rédigerez un compte-rendu qui sera envoyé à l'enseignant avant la n de la séance. Ce compte-rendu prendra de préférence la forme d'un document mis en forme avec LibreOce et exporté en PDF. Nom du chier : crypto-TP-openssl-nom-prenom.pdf Adresse électronique : Etienne.Andre(arobase)univ-paris13.fr Objet du courriel : TP crypto openssl : <votrenom> Le compte-rendu contiendra toutes les commandes nécessaires à ce TP et, le cas échéant, les réponses aux questions. Plusieurs exercices sont à faire en binôme. Néanmoins, chacun rédigera et enverra son propre compterendu. Exercice 0 : Préliminaire Question 1 : Restaurer l'image Mageia4, même si elle est déjà présente (pour éviter les conits de conguration). On privilégiera dans la mesure du possible une restauration multicast. Question 2 : Placer dans /tmp/grosfichier.zip une archive comprenant tous les chiers du répertoire /usr/bin. Ce chier sera utile dans plusieurs exercices par la suite. Exercice 1 : Connexion SSH avec mot de passe Question 1 : À l'aide de la commande adduser, ajouter sur votre machine un utilisateur ayant comme login le prénom de votre voisin (en minuscule sans espaces ni accents) et comme mot de passe toto. Laisser vide les autres champs demandés. Question 2 : Pour tester le nouvel utilisateur, ouvrir une session dans un terminal sous l'identité créée. Quel est maintenant votre répertoire de connexion ? Ensuite, fermer la session et conrmer à votre voisin que son compte a bien été créé. Question 3 : À l'aide de la commande hostname, acher le nom symbolique de votre machine. M1106 1/4 20162017 IUT de Villetaneuse Question 4 : Attribuer votre nom de famille en majuscules comme nom symbolique de votre machine. En utilisant un éditeur de texte (par exemple : gedit), modier le chier /etc/hosts an d'eectuer cette modication. Fermer et réouvrir le terminal pour rendre les modications eectives. Question 5 : À l'aide de la commande ifconfig, relever l'adresse IP de l'interface réseau eth0 de votre machine. Communiquer votre adresse IP à votre voisin. Question 6 : Utiliser la commande ssh pour vous connecter à la machine de votre voisin sous l'identité créée précédemment. Une fois connecté à la machine de votre voisin, exécuter la commande who. Expliquer le résultat obtenu. Exercice 2 : Connexion SSH sans mot de passe Question 1 : Avec la commande ssh-keygen, générer une clé SSH sur votre machine (pour l'identité etudiant et non root). On utilisera RSA et une clé de 4096 bits. Question 2 : Où se trouvent les clés générées ? Combien y en a-t-il ? À quoi ressemblent-elles ? Question 3 : Avec la commande ssh-copy-id, placer votre clé sur la machine de votre voisin. De quelle clé s'agit-il ? Quel identiant et mot de passe faut-il alors entrer ? Où se trouve désormais la clé ? Question 4 : Tester la connexion sans mot de passe. Question 5 : Créer un alias sshvoisin, qui vous connecte directement à votre voisin sans mot de passe. Placer la dénition de cet alias dans le chier approprié sur votre compte, an que cet alias soit permanent. Exercice 3 : Création de clés avec RSA Remarque : cet exercice vise à comprendre l'utilisation des clés publiques et privées en eectuant des opérations étape par étape. Il existe des techniques plus simples d'un point de vue utilisateur. Question 1 : Quels sont les algorithmes à clé publique supportés par l'implémentation openssl de votre machine ? Question 2 : Avec openssl, générer une clé privée RSA. Quelle est la taille de la clé ? À quoi ressemblet-elle ? Question 3 : À partir de votre clé privée, générer une clé publique RSA. M1106 2/4 20162017 IUT de Villetaneuse Question 4 : Créer un chier secret.txt contenant une ou deux phrases. Question 5 : An de garantir la condentialité, chirer ce chier. Quelle clé avez-vous utilisée ? Question 6 : Recréer un couple de clé privée / clé publique, cette fois en 4096 bits ; rechirer votre chier secret, cette fois vers secret.chiffre4096. Attention : ne pas eacer les anciens chiers (clés, chier chiré). Question 7 : Comparer la taille des clés privées. Comparer la taille des clés publiques. Comparer la taille des chiers chirés. Question 8 : À l'aide de la commande time, comparer le temps de chirement avec chacune des deux clés. Question 9 : Déchirer secret.chiffre. Quelle clé utilisez-vous ? Le résultat est-il bien ce que l'on attend ? Exercice 4 : Chirement et signature avec RSA Remarque : cet exercice vise à comprendre l'utilisation des clés publiques et privées en eectuant des opérations étape par étape. Il existe des techniques plus simples d'un point de vue utilisateur. On travaillera dans tout cet exercice avec les clés RSA 4096 générées à l'exercice précédent. Question 1 : Créer un chier votreprenom.txt contenant quelques mots. Question 2 : Envoyer votre clé publique à votre voisin par SSH. Question 3 : Chirer votre chier votreprenom.txt vers votreprenom.chiffre et l'envoyer à votre voisin tout en assurant la condentialité de l'échange. (On suppose que l'échange n'est pas sécurisé !) Avec quelle clé faut-il chirer ? Question 4 : Déchirer le chier leprenomdevotrevoisin.chiffre. Avec quelle clé faut-il déchirer ? Question 5 : Envoyer à votre voisin le chier grosfichier.zip Question 6 : Garantir à votre voisin l'intégrité et l'authenticité de votre chier. (On s'autorisera l'usage de md5sum.) Question 7 : Vérier que le chier reçu de votre voisin est correct, et provient bien de votre voisin. M1106 3/4 20162017 IUT de Villetaneuse Question 8 : Quelle est la faille de sécurité dans tout cet exercice ? Pourquoi est-elle partiellement compensée ? Exercice 5 : Chirement symétrique avec AES Question 1 : Quels sont les algorithmes à clé privée supportés par l'implémentation openssl de votre machine ? Question 2 : Quelle est la fonction de hachage utilisée par défaut dans votre implémentation de AES ? Est-elle satisfaisante ? Question 3 : En utilisant openssl, chirer secret-long.txt vers secret-long.aes256, de sorte qu'il soit protégé par un mot de passe. Question 4 : En utilisant openssl, déchirer secret-long.aes. Tout s'est-il bien passé ? Question 5 : En utilisant openssl, chirer secret-long.txt vers secret-long.sym, de sorte que le chier chiré soit protégé par une clé, et que celle-ci soit achée à l'écran. Question 6 : Envoyer secret-long.sym à votre voisin (sans sécurisation). Quelles informations fautil lui transmettre pour qu'il puisse déchirer secret-long.sym ? Envoyer ces informations de façon sécurisée ; décrire comment. Question 7 : Après avoir reçu les informations de votre voisin, faire le nécessaire pour déchirer secret-long.sym. Bien expliquer les diérentes étapes. Exercice 6 (complémentaire) : Comparaison de performances Question 1 : Calculer l'empreinte MD5 du chier /tmp/grosfichier.zip. À l'aide de la commande time, mesurer le temps nécessaire à cette commande. Question 2 : Faire de même avec l'implémentation AES 256 bits de openssl. M1106 4/4 20162017 IUT de Villetaneuse