OpenSSL - IUT de Nice

Transcription

OpenSSL - IUT de Nice
Applications de cryptographie 1
Introduction
I. OpenSSL
1. Chiffres forts et faibles
Openssl fournit une liste des chiffres (combinaison en terme
de système pour l'authentification, l'intégrité et la
confidentialité) qu'il considère comme fort ou faible
à l'aide des commandes :
openssl ciphers -v 'HIGH'
openssl ciphers -v 'LOW'
Analyzer les 2 ensembles et dites ce qui caractérise un
chiffre faible pour openssl.
2. Codage et décodage : base64
On code une chaîne de caractères « Abacdef » que l'on veut coder en base64
que l'on stocke dans un fichier.
echo " Abacdef " | openssl base64 > test.b64
puis redécoder
openssl base64 -d < test.b64
Vous devez être capable d'expliquer ce qu'est le base64.
3. Résumé - hachage
On veut calculer le md5 d'une chaîne de caractères
echo " Abacdef " | openssl md5
Il est aussi possible d'utiliser la commande md5sum
echo "Abacdef" | md5sum
Combien de caractères diffèrent en sortie si vous changez un caractère en
entrée?
Vous devez être capable d'expliquer la différence entre le base64 et le md5?
Peut-on remonter au message initial depuis le base64 et depuis le md5?
On peut aussi, comme c'est fait pour vérifier les téléchargements, chercher le md5 d'un
fichier.
L'appliquer à /etc/passwd
openssl md5 /etc/passwd
On peut aussi utiliser sha
openssl sha /etc/passwd
Combien de bits utilise md5 et combien de bits utilise sha dans les cas
précédents? (utilisez la commande wc pour compter le nombre de
caractères puis trouvez le nombre de bits suivant le formatage des
données – faire un man md5 ou man sha)
4. Chiffrement
Nous allons crypter un fichier avec cast5 en CBC (Cypher Block Chaining)
openssl cast5-cbc -in /etc/passwd -out passwd.cast5
Pourquoi utilise-t-on le mode CBC?
On le décrypte dans le fichier passwd.restore
openssl cast5-cbc -d -in passwd.cast5 -out passwd.restore
Vérifions que le fichier est identique
diff /etc/passwd passwd.restore
Suivant ce principe il est possible de crypter tous les fichiers souhaités avec
l'algorithme que l'on choisit.
Est-ce que cast5 est un algo symétrique ou assymétrique?
Regarder le contenu du fichier passwd.cast5 ( à l'aide de la commande more
par exemple). Quel est le type du fichier? Quel est le problème lors de
l'envoie par mail. Comment y remedier avec ce que l'on a vu
précédemment?
Crypter à nouveau le fichier /etc/passwd avec du des, toujours en mode cdc.
Transformer la sortie avec un encodage base64 et faites de même pour me
cast5. Comparer la taille des fichiers cryptés en cast5 et DES.
On reviendra plus tard à SSL lors de la manipulation des certificats.
II. SSH
Plusieurs aspects sont à mettre en évidence : l’encryption proprement dite,
l’initialisation du logiciel, la configuration du serveur. Il faut aussi tester l'authentification
par clé et le tunnel crypté. Il est plus intéressant d'utiliser le client sur une machine et le
serveur sur une autre : chaque étudiant d'un binôme peut faire l'exercice de manière
Page 2 / 6
Applications de cryptographie
croisée. Dans le cas d'un monôme, utiliser 2 machines virtuelles (modifier l'adresse MAC
de la seconde machine – le premier caractère seulement).
Par quelle commande vérifiez-vous si un serveur ssh tourne sur votre machine?
On commence par démarrer le serveur sshd. (Il l’est probablement déjà)
/etc/init.d/ssh start
se connecter au serveur sur l'autre machine
ssh rt@autre-machine
« sniffer » la communication avec wireshark Vérifier ce qui passe sur le
réseau et essayer de mettre en évidence les différentes étapes.
Filtrer le trafic ssh seulement et essayer de comprendre ce que fait ssh en
regardant le contenu de niveau ssh des trames sélectionnées par votre filtre
Ensuite il va falloir changer le fonctionnement de sshd.
Générer les clés personnelles pour l'utilisateur rt
# ssh-keygen -t rsa -b 1024
Lire et comprendre les options de configuration de sshd du fichier
/etc/ssh/sshd_config
Autoriser les accès par clés, pour root aussi, autoriser la redirection X11 et le
fonctionnement de sftp.
Après avoir redémarrer le serveur sshd, (même commande que
précédemment mais avec restart) tester une communication avec échange de
clés publiques. Pour cela, copier la clé publique que vous avez générée plus
haut dans le répertoire ~/.ssh/authorized_keys2 de la machine
distante.
Se reconnecter par ssh à la machine distante : qu'est-ce qui a changé ?
On va maintenant tester la redirection de port.
Faire un tunnel sécurisé vers le port http de kheops en ouvrant un port 3434
en local. Vérifier que la communication est cryptée et que l'on accède
correctement au site.
# ssh -L 3434:kheops.unice.fr:80 [email protected]
III. GPG
Créer une biclé GPG (couple clé publique/privée) en choisissant l'option par
défaut de taille 1024 bits et en prenant un type par défaut (RSA/RSA) :
gpg –-gen-key
Lister votre trousseau de clef (il ne doit y avoir que la votre!):
Travaux pratiques - TRC914 - DUT R&T - Info-Réseaux
Page 3 / 6
gpg –-list-keys
Quel est le type des fichiers contenant des clefs dans le répertoire ~/.gnupg?
Pour pouvoir exporter votre clef (par exemple dans un dépôt public) utiliser
la commande :
gpg --armor --output pubkey.txt --export 'Your Name'
Signer un fichier toto.fic que vous fabriquez vous-mêmes en mettant du
contenu dedans.
gpg –-sign toto.fic
Quel fichier a été généré?
Vérifier la signature du fichier.
gpg –-verify toto.fic.gpg
Quelle clef a été utilisée ??
Créer une signature détachée et vérifier la signature de la même façon. Quel
est l'avantage ?
Vous pouvez aussi crypter avec votre clef :
gpg –-encrypt -r 'Votre Nom' toto.fic
Decrypter.
Vous pouvez aussi crypter le fichier pour votre un autre utilisateur dont vous
avez la clef.
Commencez par aller se faire des amis sur http://keyserver.pgp.com/ . Par
exemple, cherchez John.
Télécharger la clef de votre nouvel ami John (le premier de la liste par
exemple) et importez la:
gpg --import key.asc
Lister votre trousseau.
Crypter pour John
Décrypter.
Page 4 / 6
Applications de cryptographie
Notation du TP
Applications de cryptographie
Noms du binôme :
date :
Introduction
I. OpenSSL
1. Codes forts et faibles
caractérisation code faible
❏ Réalisé
❏ Mal fait mais corrigé
❏ Faux/pas vu
2. Codage et décodage : base64
Test base64 :
❏ Réalisé
❏ Mal fait mais corrigé
❏ Faux/pas vu
❏ Mal fait mais corrigé
❏ Faux/pas vu
❏ Mal fait mais corrigé
❏ Faux/pas vu
❏ Mal fait mais corrigé
❏ Faux/pas vu
❏ Mal fait mais corrigé
❏ Faux/pas vu
3. Résumé - hachage
Test md5 echo :
❏ Réalisé
Test md5 echo :
❏ Réalisé
4. Chiffrement
Chiffrement :
❏ Réalisé
Déchiffrement :
❏ Réalisé
II. SSH
Démarrage et connexion en ssh :
❏ Réalisé
❏ Mal fait mais corrigé
Génération des clés ssh :
❏ Réalisé
❏ Mal fait mais corrigé
Analyse du fichier de configuration sshd_config :
❏ Réalisé
❏ Mal fait mais corrigé
Mise en place des clés et connexion par clé :
❏ Réalisé
❏ Mal fait mais corrigé
Réalisation de la redirection de port :
❏ Réalisé
❏ Mal fait mais corrigé
Travaux pratiques - TRC914 - DUT R&T - Info-Réseaux
❏ Faux/pas vu
❏ Faux/pas vu
❏ Faux/pas vu
❏ Faux/pas vu
❏ Faux/pas vu
Page 5 / 6
III. GPG
Création du biclé GPG :
❏ Réalisé
❏ Mal fait mais corrigé
Signature d'un fichier (direct) :
❏ Réalisé
❏ Mal fait mais corrigé
signature d'un fichier (détaché) :
❏ Réalisé
❏ Mal fait mais corrigé
Chiffrement GPG :
❏ Réalisé
❏ Mal fait mais corrigé
❏ Faux/pas vu
❏ Faux/pas vu
❏ Faux/pas vu
❏ Faux/pas vu
Fichier TP_TRC8_Bases_crypto_v2.odt imprimé le 11 mars 2013
Page 6 / 6
Applications de cryptographie

Documents pareils

Certificats - IUT de Nice

Certificats - IUT de Nice défaut de taille 1024 bits et en prenant un type par défaut (RSA/RSA) : gpg –-gen-key Lister votre trousseau de clef (il ne doit y avoir que la votre!): gpg –-list-keys Pour pouvoir exporter votre ...

Plus en détail