Vous êtes sur la page 1sur 7

TP CRYPTOGRAPHIE

Mise en œuvre de PGP

1 PRÉREQUIS

• Commandes de base de Linux


• Cours sur le chiffrement à clé secrète
• Cours sur le chiffrement à clé publique

2 INTRODUCTION : PGP

PGP (Pretty Good Privacy) est un cryptosystème (système de chiffrement) inventé par
Philip Zimmermann, un analyste informaticien. Philip Zimmermann a travaillé de 1984 à
1991 sur un programme permettant de faire fonctionner RSA sur des ordinateurs
personnels (PGP).
PGP est une combinaison des fonctionnalités de la cryptographie de clef publique et de la
cryptographie à clé secrète. PGP est donc un système de cryptographie hybride.
Lorsqu'un utilisateur chiffre un texte avec PGP, les données sont d’abord compressées.
Cette compression des données permet de réduire le temps de transmission par modem,
d'économiser l'espace disque et, surtout, de renforcer la sécurité cryptographique.
Ensuite, l'opération de chiffrement se fait principalement en deux étapes :
• PGP crée une clé secrète (IDEA, DES, CAST, etc) de manière aléatoire, et chiffre les
données avec cette clef
• PGP crypte la clé secrète et la transmet au moyen de la clé RSA publique du
destinataire.

De même, l'opération de décryptage se fait aussi en deux étapes :


• PGP déchiffre la clé secrète IDEA au moyen de la clé RSA privée.
• PGP déchiffre les données avec la clé secrète IDEA précédemment obtenue.

Cette méthode de chiffrement associe la facilité d'utilisation du cryptage de clef publique à


la vitesse du cryptage conventionnel. Le chiffrement conventionnel est environ 1 000 fois
plus rapide que le cryptage de clef publique. Le cryptage de clef publique résout le
problème de la distribution des clefs. Utilisées conjointement, ces deux méthodes
améliorent la performance et la gestion des clefs, sans pour autant compromettre la
sécurité.

3 OBJECTIF DU TP

L’objectif final de ce TP est de pouvoir échanger des mails chiffrés entre 2 personnes ne
connaissant pas à priori la clé publique de l’autre, sous Windows.

Mise en œuvre de PGP Page 1/7


TP CRYPTOGRAPHIE
Pour ce faire, dans un premier temps, on va installer PGP sous les 2 systèmes, pour
comparer les différences. Ensuite, l’utilisation du serveur maître PGP, puis l’installation
d’un serveur de clés publiques sous Linux permettra l’échange de clés. Finalement,
l’utilisation combinée de PGP, du serveur de clé, et d’un client de messagerie (Outlook
sous Windows ) permettra d’atteindre l’objectif.

4 MISE EN ŒUVRE

4.1 Windows
Version 6.5.8
 Cette version est « freeware ». Elle ne contient que le chiffrement d’Emails
et du presse papier
 Cette version utilise, au choix : CAST, IDEA, ou Triple DES pour le
chiffrement

4.1.1 Installation du logiciel


1. Lancer le Setup
2. Cliquer plusieurs fois sur Next, jusqu’à la demande du répertoire
d’installation
3. Laisser le répertoire par défaut pour l’installation
4. Laisser les croix par défauts pour le choix des composants. Le setup
détecte automatiquement les clients de messagerie installés. Dans cette
liste il doit y avoir Outlook (non Express)
5. Redémarrer le PC

4.1.2 Création d’une paire de clefs (privée et public)


1. Dans la barre des tâches, en bas à droite, une icône en forme de verrou
est apparue. C’est l’icône de PGP. Un clic du bouton droit sur cette
icône fait apparaître un menu contextuel. Choisir « PGPKeys ». On
voit une liste de clés apparaître. Ce sont des clés publiques appartenant
à des employés de PGP.
2. Le Key Generation Wizard apparaît. Il permet de créer une paire clé
privée/clé publique. S’il n’apparaît pas, faire Ctrl+N (ou menu Keys,
New Key)
3. Indiquer votre nom complet et votre adresse E-mail
(nometudiant@isaip.uco.fr). Cela permet d’identifier rapidement une
paire de clé et de l’utiliser pour rechercher des clés. Il faut utiliser votre
adresse email de l’ISAIP : NumeroPromo.nomutilisateur@isaip.uco.fr.
4. Il faut ensuite choisir entre 2 algorithmes de chiffrement de la clé.
5. Il faut ensuite choisir la taille de la clé publique. 1024 bits est considéré
comme étant sûr pour les 5 ans à venir. 2048 bits est considéré comme
étant sûr pour l’éternité. Choisir 1024 bits.

Mise en œuvre de PGP Page 2/7


TP CRYPTOGRAPHIE
6. On choisit ensuite la date d’expiration de la paire de clés en cours de
création. Choisir « Key never expires »
7. Il faut ensuite entrer une “pass phrase”. Similaire dans sa fonction au
mot de passe, la « phrase de passe » contient plusieurs mots. « Je viens
d’installer PGP 6.5.8 » est une passphrase tout à fait valide.
8. PGP génère la clé publique / clé privée.
9. La nouvelle paire de clés apparaît dans la liste des clés valides.

Question : Comment publier la clé publique nouvellement crée ?

4.1.3 Manipulation : Echange de clés via le « Master Server » PGP

L’envoi de la clef publique sur un serveur est nécessaire, cela permet à toutes
personnes désirant vous envoyer un message chiffré d’utiliser votre clef pour le
chiffrement du message.
Pour envoyer votre clef au serveur, dans la liste des clefs, sélectionner votre
clef et uploader votre clef en cliquant sur l’icône (ou CTRL K) puis
choisir le serveur ldap://certserveur.pgp.com. Pour vérifier que votre clef est
présente sur le serveur, faites une recherche de votre clef en cliquant sur
l’icône puis en choisissant le serveur ldap://certserveur.pgp.com. Entrer
votre nom (ou un mot clef de votre adresse email) et cliquer sur le bouton
« search ». Si votre clef est présente sur le serveur alors elle apparaît dans la
fenêtre de recherche. Voir figure suivante

Figure 1. Exemple de recherche de clef public sur le serveur

4.1.4 Manipulation n°2 : Echanges de mails chiffrés

Mise en œuvre de PGP Page 3/7


TP CRYPTOGRAPHIE
Avant toute chose, il faut configurer le client de messagerie Outlook (non
express), avec votre compte étudiant. Outlook Express version 5 ne supporte pas
correctement PGP dans sa version 6.5.8.
Pour configurer un compte : Outil/Compte/Courrier ->Ajouter.
Le nom complet et l’adresse Email utilisés doivent être les même que ceux que
vous avez rentrés dans PGP.
Les adresses de serveur sont les suivantes :
 serveur SMTP : mail.isaip.uco.fr
 serveur pop3 : mail.isaip.uco.fr
Vérifier que votre configuration est correcte en échangeant un email avec votre
voisin.
Maintenant, le but est d’échanger un mail chiffré avec PGP. Un étudiant est
l’expéditeur, l’autre est destinataire du message.

Expéditeur :

1. Faire un nouveau message


2. Taper du texte en clair
3. Dans le menu PGP, choisir « Crypt on send ».
4. Envoyer le message. A ce moment là, PGP chiffre le message. Pour ce
faire, il recherche sur le disque dur dans le « keyring » si la clé
publique du destinataire existe. Si elle n’est pas présente, il se connecte
au serveur, et la récupère.
5. Cliquer sur « Envoyer et Recevoir »

Destinataire :

1. Cliquer sur « Envoyer et Recevoir ». On reçoit alors le message


chiffré, envoyé par l’expéditeur.
2. Dans les options PGP, choisir « Always Open Security Viewer »
3. Ouvrir le message
4. Dans le menu PGP, choisir Decrypt/Verify
5. Entrer la passphrase, pour appliquer la clé privée et ainsi déchiffrer le
message.

Le message apparaît alors en clair, dans un viewer sécurisé. Le message est


déchiffré simplement à l’affichage, et reste chiffré sur le disque dur.

Question : Pourquoi le viewer est dit « sécurisé ». Contre quel type de menace est
il efficace ?

Il est à noter que l’expéditeur garde le message sous sa forme chiffrée, dans sa
boite « message envoyé ».

Mise en œuvre de PGP Page 4/7


TP CRYPTOGRAPHIE
4.1.5 Desinstallation

Lors de la désinstallation, il faut être prudent. La désinstallation peut ou non


effacer les 2 fichiers contenant les paires de clés, dont celle de l’utilisateur. Si cet
utilisateur a stocké des e-mails chiffrés, et qu’il efface les fichiers de keyring
(contenant sa clé privée et sa clé publique), il ne pourra plus jamais déchiffrer ces
emails.
Les fichiers contenant les clés sont situés dans le répertoire « Documents and
Settings », dans le répertoire personnel de l’utilisateur.

4.2 Linux
Version GnuPG

4.2.1 Installation

Dans l’explorateur de fichier, faire un clic droit sur le paquetage rpm de PGP, et
faire un clic droit. Le menu contextuel permet de l’ouvrir avec « Package installer ».
Après quelques secondes, l’installation est terminée.

4.2.2 Manipulation : chiffrement / déchiffrement d’un fichier

1. Ouvrir une console


2. Taper «pgp ». L’application se lance en ligne de commande. (On remarque
que c’est moins convivial que sous Windows).
3. Taper « pgp –h ». On voit alors l’aide et les principales commandes.
4. Créer une nouvelle paire de clés, via la commande « pgp –kg »

Il faut répondre aux mêmes questions que sous windows (nom, email, algorithme
de chiffrement, taille de la clé, date d’expiration et « passphrase »)
Dans notre cas, pour chiffrer et déchiffrer un fichier, nous n’allons pas publier la
clé pour le moment.

5. Créer un fichier texte quelconque, avec l’éditeur vi, par exemple


6. Chiffrer le fichier, en utilisant la commande « PGP –in fichiertexteclair.txt –
out fichiertextechiffre.txt »
7. On peut essayer d’ouvrir le fichier chiffré (extension pgp) avec vi. On voit que
cela n’est pas possible.

Question : Comment s’assurer tout de même que le fichier est bien chiffré ?

4.2.3 Manipulation : installation d’un Serveur de clés: Public Key Server

Ce logiciel est un serveur de clés publiques pour Linux. L’objectif est de


monter un serveur capable de gérer les clés publiques au sein d’un réseau local.

Mise en œuvre de PGP Page 5/7


TP CRYPTOGRAPHIE

Compilation des sources :


1. Le logiciel est livré sous forme de source. Il faut donc le
compiler. Il existe une étape préalable à la compilation, réalisée
en tapant la commande suivante, depuis le répertoire source de
PKS.

« ./configure »

Cette commande permet de créer le fichier makefile, qui sera


utilisé par l’utilitaire make, pour la compilation.
Durant l’exécution de ./configure, le système est analysé, pour
savoir, entre autres, la distribution, la version du noyau, les
possibilités du compilateur, etc.

2. On peut alors compiler à proprement parler les sources de pks


via la commande « make ».

Installation :
Pour installer le logiciel à partir des binaires qui ont été
compilés à l’étape précédente, il suffit de taper : « make install
».

Lancement :
1. Vérifier que le serveur est bien lancé avec la commande « ps ».
La commande permet de voir les processus lancés. « pks » doit
faire partie de la liste.
2. Vérifier que le port TCP est bien ouvert, avec la commande
« netstat –na ». Dans la liste, le port 11371 doit être présent.
C’est le port associé au serveur de clé PGP

Utilisation :
Maintenant que le serveur est installé correctement et tourne, on peut
utiliser une machine ayant PGP sous windows, afin d’envoyer les clés
générées à l’étape sur ce serveur, plutôt qu’au serveur maître.

1. Faire un clic droit sur l’icône de PGP


2. Choisir l’option « PGPKeys », qui provoque l’ouverture de la
fenêtre présenté sur la figure
3. Faire menu Edit->Options, onglet « serveurs »
4. Cliquer sur New

Mise en œuvre de PGP Page 6/7


TP CRYPTOGRAPHIE
5. Choisir comme protocole http, entrez comme nom de serveur
l’adresse IP du serveur PKS, et comme numéro de port :
11371
6. Faire OK. Le serveur ainsi crée doit apparaître dans la liste.

On va ensuite vérifier que le serveur PKS est bien joignable, et qu’il


peut héberger des clés publiques.

1. Créer une autre paire de clé privée/publique


2. L’ajouter sur le serveur PKS (Send to…)
3. Vérifier, avec la commande search de PGP (sous windows),
que la clé existe bien.
4. Sur la machine Linux hébergeant le serveur PKS, on peut aussi
vérifier une seconde fois, avec la commande :
« pgp –kv AdresseEmail ldap://certserver.pgp.com »

Question : qu’apporte un serveur de clés publiques en interne par


rapport au serveur maître PGP ?

5 POUR ALLER PLUS LOIN

Le chiffrement d’un disque dur ou d’une clef USB (cartouche de mémoire Flash se
connectant sur le port USB) peut être réalisée sous Windows ou Linux, avec la version
payante de PGP. Des données sensibles peuvent être transportées de cette manière sans
aucun souci.
On peut aussi utiliser des versions plus récentes (version 8) de PGP, utilisant d’autres
algorithmes. (ex : disparition du DES au profit de l’AES).

Mise en œuvre de PGP Page 7/7

Vous aimerez peut-être aussi