Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
TP 6
Applications pratique
OpenSSL :
OpenSSL est une bibliothque de cryptographie opensource permettant de
raliser l'ensemble des fonctions courantes. Il existe galement un outil
utilisable en ligne de commande permettant d'accder ces fonctions.
Le champ important ici est Common Name . Dans le cas d'un site internet, il
s'agit du nom d'hte utilis par les clients.
Avec cette commande, la cl prive est chiffre par une passphrase. Dans le
cas d'une cl utilise par un systme automatis, on peut viter ce chiffrement
en ajoutant le paramtre -nodes.
Cela gnre un certificat auto-sign ( certificate.pem) et la cl prive associe
(private.key).
- Vrification du certificat
Pour afficher les informations du certificat :
openssl x509 -text -in certificate.pem
Cela gnre un message sign (format S/MIME) normalement utilis pour les e-
mails dans le fichier message.signed.
Il est normalement possible d'envoyer ce fichier tel quel comme un e-mail avec
la commande sendmail... Ce qu'on ne fera pas ici.
- Vrification d'une signature
Vous pouvez normalement vrifier la signature via la commande :
openssl smime -verify -in message.signed
Chiffrement symtrique
- Chiffrer un fichier
Crer un message dans un fichier texte, appel par exemple message.txt.
OpenSSL permet de faire du chiffrement simple, bas sur mot de passe. Pour
afficher la liste des algorithmes disponibles, utiliser :
openssl list-cipher-commands
Pour l'exemple, chiffrer deux fois le message dans deux fichiers diffrents
(message.cipher1 et message.cipher2) avec le mme mot de passe. Vrifier
alors si les chiffrs sont diffrents avec :
diff message.cipher1 message.cipher2
Pourquoi les deux fichiers sont diffrents ?
Essayer en ajoutant le paramtre -nosalt
- Dchiffrer un fichier
Aussi simplement :
openssl enc -d -aes-256-cbc -in message.cipher -out message.decipher
Signer empreinte : openssl dgst -sha256 -sign private.key message.txt > hash.sign
GnuPG :
GnuPG/GPG est un outil permettant de faire du chiffrement et de la signature
asymtrique. Son utilisation commence gnralement par gnrer sa propre
paire de cl. On diffuse ensuite sa cl, et on peut utiliser le systme.
- Gnration de la cl
gpg --gen-key
On peut laisser la plupart des choix par dfaut (cl RSA/RSA, taille 2048, sans
expiration...).
Noter/retenir l'identifiant de la cl utilis : en face de la ligne pub pour la cl
publique, sub pour la cl prive.
- Chiffrement
gpg -e -r <nom cible> message.txt
Vous pouvez ensuite envoyer ce fichier (par exemple par mail) qui peut tre
intgr aux cls par la commande suivante :
gpg --import public.gpg
- Application
Enregistrez votre cl publique dans un fichier avec votre nom, et envoyez l au
groupe de travail. Ajoutez les cls des autres dans votre list.
Vous pouvez maintenant chiffrer un message avec la commande prcdente,
en mettant le nom de quelqu'un d'autre en destinataire (ce qui utilise la cl
publique pour chiffrer). Faites le, et envoyez le message au groupe (par pice
jointe...). Mettez quand mme de quoi savoir qui il est rellement destin
pour gagner du temps...
Vous pouvez essayer de dchiffrer les messages ; seul ceux qui vous sont
destins seront visible, et pourront tre dchiffr avec votre cl prive.
- Signatures
On utilise la commande suivante :
gpg --sign --local-user <nom signataire> message.txt
- Vrification
Commande de vrification :
gpg --verify message.txt.gpg