Vous êtes sur la page 1sur 2

Rseaux et Scurit TP 5

Gnu Privacy Guard (GPG)


1. Objective
Lobjective de ce TP est la prise en main de loutil GPG pour signer, chiffrer et dchiffrer un fichier ou un email. Le format OpenPGP est adopt par deux logiciels : GPG (gratuit) et PGP (payant). Sous Linux, la distribution la plus rpandue de GPG est GnuPG. Il existe divers interface graphique pour GnuPG, et nous allons utiliser Enigmail & Thunderbird.

2. Principe et fonctionnalits
Avec GPG, les donnes sont d'abord compresses, ce qui permet de rduire le temps de transmission, dconomiser lespace disque et surtout, de renforcer la scurit : la compression rduit les modles connus du texte en clair et qui est exploits par la cryptanalyse. Le chiffrement se fait ensuite en deux tapes : Lmetteur cre une cl secrte et chiffre les donnes avec cette cl Il crypte la cl secrte et la transmet au moyen de la cl RSA publique du destinataire. Le dchiffrement se fait donc en deux tapes : Le destinataire dchiffre la cl secrte au moyen de sa cl RSA prive. Il dchiffre les donnes avec la cl secrte prcdemment obtenue. Le chiffrement symtrique est environ 1000 fois plus rapide que les algorithmes cl publique. Le chiffrement cl publique rsout le problme de la distribution des cls. Utilises conjointement, ces deux mthodes amliorent la performance et la gestion des cls, sans pour autant compromettre la scurit. Personnellement, j'utilise le programme de courrier Mozilla Thunderbird et son plugin Enigmail pour chiffrer et dchiffrer automatiquement les messages. Le cryptage proprement dit est effectu par GnuPG que vous pouvez aussi lutiliser en mode terminal. Ce mcanisme de cryptage est totalement gratuit et libre. Exercice 1 Lancer Thunderbird et le configurer loutil avec une adresse email, puis tester un message avec votre collgue. 1. Gnrer votre paire de cls 2. Dposer votre cl publique sur le serveur (http://pgp.mit.edu) 3. Importer la cl publique de votre collgue depuis le serveur ou sur une cl usb 4. Pour sassurer que vous avez tlcharg la bonne cl, vrifier lempreinte ! 5. Si lempreinte est la mme, signer la cl de votre collgue et faire la mise jour sur le serveur de cls et ajuster le niveau de confiance que vous donnez votre collgue 6. Crer un certificat de rvocation pour votre cl 7. Maintenant, vous pouvez transmettre un message chiffr et sign ! 8. Vrifier et dchiffrer le message reu de votre collgue. Vous devez menvoyer un message priv (et un seul) contenant votre commentaire sur la scurit du rseau, et en pice jointe vos propositions pour amliorer les cours de SSIC : mon adresse est osmansalem@free.fr, et ma cl valide a un identifiant : AABE3B6F sur le serveur web http://pgp.mit.edu. Attention la multitude des cls que je possde et qui sont expires.

1/2

Rseaux et Scurit TP 5 Voici le fingerpirnt de ma cl : 6213 C080 6CF3 4D67 FC02 AF78 5278 981E AABE 3B6F Signer ma cl publique si la fingerprint correspond, et tlcharger votre cl sur le serveur pour que jarrive vrifier la signature de votre email. Je dois tre certain de l'identit de celui qui menvoie le message et personne d'autre que moi ne doit pouvoir lire votre message. Assurez-vous galement que je ne puisse pas nier avoir reu votre message si tel est le cas. Commande dans un terminal : 1. gpg --gen-key : gnrer votre paire de cls (laisser les options par dfaut) 2. gpg --gen-revoke [KeyID] --output certificat-revok.asc : gnrer un certificat de rvocation 3. gpg --list-keys : afficher les cls dans votre trousseau de cls publique 4. gpg --list-sigs : lister les signatures sur toutes les cls dans votre trousseau 5. gpg --sign-key [uid] : signer la cl publique d'un tiers 6. gpg --list-secret-keys : lister les cls scrtes dans votre trousseau priv 7. gpg --armor --export [KeyID] --output filename : exporter la cl publique dans un fichier 8. gpg --armor --export-secret-keys [keyed] --output filename.gpg : exporter une cl prive 9. gpg --import filename : importer une cl publique depuis un fichier 10. gpg --import --allow-secret-key-import [fichier] : importer une cl prive depuis un fichier 11. gpg --recipient KeyID --encrypt message.txt : chiffrer un message un destinateur 12. gpg --decrypt message.txt.gpg --output message.txt : dchiffrer le message 13. gpg --default-key KeyID --armor --detach-sign message__signer.txt : signature dun message 14. gpg --delete-key : permet d'effacer une cl publique de votre trousseau 15. gpg --delete-secret-key permet d'effacer une cl prive de votre trousseau 16. gpg --fingerprint KeyID : sortir l'empreinte de la cl publique 17. gpg --edit-key [id] (adduid | trust | save | quit) : gestion des cls 18. gpg --keyserver [pgp.mit.edu] --send-key [keyid] : envoi une cl publique un serveur de cls 19. gpg --keyserver [pgp.mit.edu] --recv-keys [keyuid] : rcuprer une cl publique sur un serveur de cls 20. gpg --sign [fichier sign] : signer un fichier 21. gpg --clearsign -a [fichier sign] signature intgre 22. gpg --verify message__signer.txt.asc message__signer.txt : vrifier la signature spare 23. gpg --verify message__signer.txt.asc : vrifier la signature incluse 24. gpg --outpout file.gpg --symmetric file.doc : chiffrement symtrique 25. gpg --output file.doc file.gpg : dchiffrement symtrique 26. gpg -s -a -e [fichier lu] --recipient [keyID]: chiffrer et signer (gpg -sea -r keyID) Rfrence : https://help.ubuntu.com/community/GnuPrivacyGuardHowto

2/2