PGP PDF
PGP PDF
PGP PDF
Ahmed Youssef
[email protected]
Plan du cours
PGP
Présentation du logiciel et les algorithmes utilisés
Installation et Configuration
Outils
GnuPG
Enigmail,
Thunderbird
Génération des clés
Chiffrement et Signature des mails
2
PGP
PRESENTATION
PGP (Pretty Good Privacy) est un programme de cryptage
créé par Philip Zimmermann. La première version de PGP
date de 1991. Il est très rapidement devenu l'un des
cryptosystèmes les plus populaires du monde. La version la
plus récente PGP 9.0 est distribuée par la PGP
Corporation et peut être trouvée sur le site www.pgp.com.
PGP offre toutes les fonctionnalités d'un cryptosystème
complet : cryptage, décryptage, signature, certificat. Aux
yeux des utilisateurs, il fonctionne comme un
cryptosystème à clefs publiques alors qu’il s’agit d’un
cryptosystème hybride.
3
PGP
FONCTIONNEMENT
CRYPTER ET DÉCRYPTER AVEC PGP
Rappels sur la cryptographie
La cryptographie est l'ensemble des techniques qui permet de
rendre un message inintelligible. L'action de coder le message
initial (plaintext) en un message inintelligible, appelé «
cryptogramme » (cipher text), se nomme « chiffrement » (ou
cryptage). L'opération inverse est le « déchiffrement » (ou
décryptage).
Le chiffrement (respectivement le déchiffrement) s'effectue au
moyen d'une clef de chiffrement (respectivement une clef de
déchiffrement).
PGP étant une technique de chiffrement hybride basée sur le
chiffrement symétrique et le chiffrement asymétrique, un brève
rappel de ces notions est nécessaire.
4
PGP
Chiffrement symétrique( chiffrement à clés privées)
5
PGP
Chiffrement asymétrique( chiffrement à clés publiques)
9
PGP
Chiffrement PGP
d) Puis, Alice crée aléatoirement une clef secrète IDEA.
L’expéditeur chiffre le texte avec cette clef IDEA. Le texte
ainsi chiffré pourra être déchiffré avec la même clef. Dans
PGP, le message est alors crypté selon un système
symétrique (à clef secrète).
e) Le destinataire Bob ne connaissant pas cette clef, elle va
lui être envoyée avec le message crypté. Toutefois pour éviter
qu'elle soit interceptée, la clef sera également cryptée à l'aide
de la clef publique de Bob. La clef privée IDEA est cryptée
avec la clef publique de Bob selon un système asymétrique (à
clef publique).
10
PGP
Chiffrement PGP
Finalement, le résultat obtenu contient :
le texte chiffré avec la clef IDEA,
la clef IDEA chiffrée avec la clef publique RSA du destinataire.
A réception du message, le destinataire utilise sa clef
privée RSA pour retrouver la valeur de la clef IDEA. Il
utilise la clef obtenue pour déchiffrer le message reçu.
NB: IDEA est un algorithme de génération de clef privée
propriétaire qui est utilisé dans le logiciel PGP de la PGP
Corporation, à ce titre, il n'est pas utilisé dans GnuPG.La
clef qui sert à crypter le message dans GnuPG n'est donc
pas une clef IDEA, mais reste une clef privée répondant à
la spécification de la recommandation Open-PGP
11
PGP
Chiffrement PGP
Schéma de Chiffrement de PGP
12
PGP
Avantages
PGP possède plusieurs avantages :
La rapidité : le message est chiffré par un cryptage
symétrique. La clef IDEA est chiffrée de façon
asymétrique. Toutefois le volume de données que
représente cette clef est négligeable par rapport au
volume de données que représente le message. Par
conséquent, le temps de chiffrage global est proche de
celui d’un système symétrique.
13
PGP
Avantages
Une plus haute sécurité qu’un système à clef
symétrique. En effet, si l'on peut considérer que
le niveau de sécurité du système PGP est celui de
son maillon le plus faible - le système à clef privée
servant à coder le message - il faut toutefois
nuancer cette conclusion. Dans un système à clef
privée standard, le canal d'échange de la clef est le
point faible du système. Si l’on désire changer de
clef afin de minimiser les risques, cela nécessite de
définir un moyen d'échanger cette nouvelle clef,
opération difficile à mettre en pratique.
14
PGP
Avantages
PGP possède plusieurs avantages :
Dans PGP en revanche, la clef utilisée pour coder le message
est nouvelle pour chaque message. Ce qui implique que pour
effectuer une attaque il est nécessaire de casser au choix :
autant de clefs privées que de messages,
le système de clefs RSA, ce qui rend finalement PGP
plus résistant qu'un système à clef privée classique.
15
PGP
La signature des données
En matière de signature des données, PGP utilise un
scellement de données. Il applique une fonction de
hachage au texte en clair à signer. Puis le condensé
obtenu, de taille fixe, est signé avec la clef privée de
l'expéditeur. Le sceau ainsi obtenu est joint au texte
en clair.
16
PGP
La signature des données
A la réception du message, le destinataire
(i) applique la fonction de hachage au texte en clair,
(ii) utilise la clef publique de l'expéditeur pour retrouver la
valeur du condensé joint au texte en clair et
(iii) compare les deux condensés. Il s’agit d’un système de
scellement des plus classiques, seule la fonction de hachage
utilisée est propre à PGP.
17
PGP
La signature des données
Schéma de la signature des données
18
PGP
Les certificats
Rappelons que l'un des points clefs des
cryptosystèmes est la vigilance que l'utilisateur
apporte à la vérification de l'appartenance de la clef
au bon propriétaire: INTEGRITE DE LA CLE
PUBLIQUE.
Ces systèmes sont en effet sensibles aux attaques
dites de 'l'homme au milieu' qui consiste pour
l'attaquant à créer une clef qu'il fait passer pour la clef
d’une autre personne, s'accordant ainsi la possibilité
de lire tous les messages sensément destinés à la
personne dont il a usurpée l'identité.
19
PGP
Les certificats
Pour éviter cela, on crée des certificats numériques
dont le but est d'apporter la preuve de la validité d'une
clef et de son appartenance à un propriétaire donné.
20
PGP
Les certificats
Ces certificats peuvent être considérés comme
les cartes d'identité des clefs et se composent
de trois parties :
la clef publique pour laquelle le certificat est généré,
des informations sur le détenteur de la clef (nom
d'utilisateur, mails etc.) et sur le certificat lui-même
(durée de validité …),
d'une ou plusieurs signatures de personnes attestant de la
validité de ces informations et de la clef.
21
PGP
Les certificats
En règle générale, une autorité appelée « autorité de
certification » est seule habilitée à produire des
certificats et les signer à l'aide de sa clef privée. Dans
PGP, le système retenu pour les certifications
numériques ne se base pas sur une autorité de
certification centralisée mais sur un système de
confiance.
22
PGP
Les certificats
Il est possible à chaque personne de signer de sa clef privée un
certificat. Contrairement à un système centralisé, un certificat PGP
pourra contenir une multitude de signatures numériques.
Le format d'un certificat PGP comprend entre autres les
informations suivantes :
Le numéro de la version de PGP utilisée pour créer la clef associée à ce certificat
La clef publique sur laquelle porte ce certificat ainsi que l'algorithme employé pour la
générer
Des informations sur le propriétaire de cette clef (nom, mail, nom d'utilisateur etc.)
La signature numérique du propriétaire effectuée à l'aide de la clef privée qui
correspond à la clef publique du certificat
La période de période de validité du certificat
Les éventuelles signatures effectuées par d'autres utilisateurs.
23
PGP
Les certificats
PGP reconnaît également les certificats X. 509. Il est
possible de produire ses propres certificats PGP. Pour les
certificats X. 509, il faut effectuer la demande auprès
d'une autorité de certification. La structure des certificats
est normalisée par le standard X.509v3 de l' HYPERLINK
"http://www.itu.int" UIT (Union Internationale des
Télécommunications
24
PGP
Les niveaux de confiance
Avec le système des certificats à signatures multiples
se pose le problème de déterminer si les signatures
apportées aux certificats sont dignes de confiance.
Pour pallier cet inconvénient, un système basé sur les
niveaux de confiance et de validité est mis en place.
De base, il existe dans PGP trois niveaux de validité :
valide,
semi – valide,
invalide,
25
PGP
Les niveaux de confiance
Ainsi que trois niveaux de confiance :
confiance totale,
confiance moyenne,
aucune confiance.
26
PGP
Les niveaux de confiance
Considérons maintenant que l’utilisateur importe la clef de
X dans son système. Il valide la clef de X en signant son
certificat et lui accorde une confiance maximum.
La clef de X à désormais valeur d'autorité de
certification dans le système ainsi lorsqu’une clef signée
par X est importée, elle sera considérée comme valide
dans le système.
Si, désormais, une confiance moyenne est accordée à X
et Y et que l’utilisateur importe une clef, deux cas de
figure se présentent :
si la clef est seulement signée par X ou Y, elle ne sera
pas valide dans le système
si la clef est signée par X et Y, elle sera valide.
27
PGP
Les niveaux de confiance
En résumé, pour qu'une clef soit validée dans le
système PGP de l’utilisateur, elle devra avoir reçu
soit :
la signature de ce dernier,
la signature d'une clef à laquelle une confiance totale aura été accordée,
la signature d'au moins deux clefs auxquelles une confiance moyenne aura
été apportée.
28
PGP
Les empreintes
Les niveaux de confiance permettent d'automatiser la
validation de clefs grâce à des clefs qui sont déjà
valides. Reste qu'en haut de cette pyramide, il faut
commencer par valider des clefs. C’est pourquoi il est
nécessaire de pouvoir s'assurer de l'intégrité de
celles-ci. C'est le rôle des empreintes.
Une empreinte est un condensé obtenu en appliquant
une fonction de hachage à un certificat. Bien entendu,
comme tout condensé, il est unique.
29
PGP
Les empreintes
30
PGP
La révocation
Un certificat possède une durée de validité. A l'issue
de celle–ci, la clef de ce certificat n'est plus
considérée comme valide. Il peut toutefois être
nécessaire d'invalider une clef avant la fin de son
certificat : si celle-ci a été cassée ou le mot de passe
lié a cette clef a été perdu.
Dans X509, révoquer sa signature sur un certificat
consiste à enlever sa signature d'un certificat
d'authenticité, c'est-à-dire à indiquer qu'on n’apporte
plus son crédit à ce certificat.
31
PGP
La révocation
La révocation PGP va plus loin en apportant la
possibilité d'invalider entièrement un certificat (et
plus seulement d'en enlever sa signature). Toutefois,
une telle révocation n'est possible que pour :
le propriétaire de ce certificat
une personne considérée par ce propriétaire comme une autorité de
certification, c'est à dire une personne à laquelle il a attribué un
niveau de confiance totale.
32
PGP
Les algorithmes pris en charge
Signature
Chiffrement
33
Les algorithmes pris en charge
Signature
DSA: Digital Signature Algorithm, conforme au Digital Signature
Standard, concurrent de RSA. Les clefs sont limitées à 1024 Bits.
RSA: deux versions de RSA sont implémentées pour la signature. La
version RSA pour les clefs V3 : lorsqu’une unique paire de clefs est
utilisée à la fois pour le chiffrement et la signature (1).
La version RSA-S pour les clefs V4 : elle est utilisée pour générer une
paire de clefs RSA destinée uniquement à la signature dans un
système de clefs V4.
34
Les algorithmes pris en charge
Chiffrement
RSA: deux versions de RSA sont implémentées pour le
chiffrement.
La version RSA pour les clefs V3 : la paire de clefs étant unique, on
retrouve la paire générée en (1).
La version RSA-E pour clefs V4 : elle est utilisée pour générer une
paire de clefs RSA destinée au chiffrement dans un système de clefs V4.
Elgamal: algorithme de Taher Elgamal également appelé "DH"
pour Diffie-Hellman dans PGP.
35
PGP
Exemple Pratique
Chiffrement et Signature des mails
GnuPG
Thunderbird
Enigmail
36
GnuPG
Présentation
Installation
Configuration
Utilisation
37
GnuPG
Présentation
38
GnuPG
Présentation
Le logiciel GnuPG (GNU Privacy Guard) permet donc une
protection simple et efficace de la vie privée. Au niveau
de la messagerie, il permet de signer ses messages (ce qui
atteste que vous êtes bien l'expéditeur et que le message
n'a pas été modifié) et/ou de crypter vos messages (pour
être sûr que seul le destinataire pourra lire votre
message). Bien évidemment, il n'est pas possible
d'envoyer un message crypté sur une liste de diffusion.
39
GnuPG
Présentation
On rappellera seulement que pour utiliser GnuPG, vous
devez générer une clef privée et clef publique. La clef
privée doit absolument rester privée et vous pouvez
utiliser un mot de passe pour la protèger. Vous serez
ainsi le seul à pouvoir déchiffrer les messages qui vous
sont destinés.
40
GnuPG
Présentation
La clef publique doit être diffusée afin que l'on puisse
vous envoyez des messages cryptés. Pour la diffusion des
clefs publiques, il existe des serveurs de clefs qui se
synchronisent les uns les autres pour diffuser les clefs
publiques. Lors de la création de cette clef, il est
important de bien renseigner votre nom, prénom ainsi
que votre adresse de messagerie (qui je le rappelle doit
être de la forme [email protected]).
41
GnuPG
Installation
Faites un double pour lancer du logiciel et choisissez une langue
42
GnuPG
Installation
Cliquez sur le bouton « Next »
43
GnuPG
Installation
Cliquez sur le bouton « Next »
44
GnuPG
Installation
Cliquez sur le bouton « Next »
45
GnuPG
Installation
Choisissez une langue et cliquez sur « Next »
46
GnuPG
Installation
Cliquez sur le bouton « Install» pour installer
47
GnuPG
Installation
Cliquez sur le bouton « next »
48
GnuPG
Installation
Cliquez sur le bouton « Finish » pour terminer
49
GnuPG
Configuration
Après installation du logiciel, les commandes de
génération de clés ne sont pas automatiquement
pris en compte par le système, d’où la nécessité de
faire un « PATH ».
50
GnuPG
Configuration
Copiez le lien suivant: C:\Program Files\GNU\GnuPG
51
GnuPG
Configuration
Clic droit sur Poste de TravailPropriétésAvancéVariables d’environnement
52
GnuPG
Configuration
Recherchez « Path » et cliquez puis sur le bouton « Modifier ».
Mettre un point virgule dans le champs «variables d’environnement » et
coller le lien que vous avez déjà copié.
53
GnuPG
Configuration
Vous pouvez maintenant tester en tapant dans un
terminal DOS la commande gpg
54
GnuPG
Utilisation
• Il est tout à fait possible de créer sa clef à partir d'un terminal.
Voici un récapitulatif des commandes intéressantes:
Action Commande
Génération d'une clef gpg --gen-key
Liste des clefs gpg --list-keys
Listes des clefs privées gpg --list-secret-keys
Générer un certificat de révocation gpg --gen-revoke
Publication des clefs gpg --keyserver subkeys.pgp.net --send-keys
Exporter votre clef publique gpg --armor --export
"[email protected]" >
~/Desktop/ma_clef_publique.asc
55
Thunderbird
Présentation
Installation
Configuration
56
Thunderbird
Présentation
Le meilleur de client de messagerie en général et en
particulier pour l'utilisation de GnuPG est Thunderbird
grâce à l'utilisation du module Enigmail. Il est possible
d'utiliser d'autres logiciels, pour cela je vous laisse
consulter la liste des possibilités sur cette page:
http://www.gnupg.org/related_software/frontends.html
On abordera seulement le cas du couple
Thunderbird/Enigmail car il fonctionne sur la plupart des
systèmes d'exploitation (GNU/Linux, Microsoft Windows,
Mac OS X).
57
Thunderbird
Installation
Après double clic sur le logiciel, on obtient cette image
58
Thunderbird
Installation
Cliquez sur le bouton « suivant »
59
Thunderbird
Installation
Acceptez les termes de la licence et cliquez sur «suivant »
60
Thunderbird
Installation
Choisissez l’option « standard » et cliquez sur « suivant »
61
Thunderbird
Installation
Terminez l’installation
62
Thunderbird
Configuration
Après lancement de Thunderbird, décochez l’option pour importer les
paramètres de comptes, puis cliquez sur « suivant ». Ainsi la configuration
se fait automatiquement. Nous verrons la configuration de la sécurité.
63
Thunderbird
Création d’un compte
Après lancement de Thunderbird, on obtient cette interface
64
Thunderbird
Création d’un compte
Cliquez sur le bouton « création d’un nouveau compte »
Ou faites OutilsParamètres de comptes
65
Thunderbird
Création d’un compte
Cliquez sur le bouton « Ajouter un compte »
66
Thunderbird
Création d’un compte
Cochez l’option « Gmail »
67
Thunderbird
Création d’un compte
Saisissez votre nom et votre adresse email puis cliquez sur
« suivant »
68
Thunderbird
Création d’un compte
Lisez le résumé et terminez la création de compte
69
Enigmail
Présentation
Installation
Configuration
(1)
(2)
Enigmail
Configuration de la Sécurité
Dans le menu de gauche choisir « Sécurité OpenGPG »
Enigmail
Configuration de la Sécurité
Cochez les cases
« Activer le support OpenGPG (Enigmail) pour cette identité »
« Utiliser l'adresse électronique de cette identité pour
identifier la clef OpenGPG »
Puis choisissez les options de rédaction par défaut qui
vous conviennent, ici signer les messages chiffrés et non
chiffrés automatiquement.
Validez en cliquant sur « OK ».
Génération d'une paire de clés
L'utilité de Enigmail est subordonnée à l'existence d'une
paire de clés liées a votre adresse mail déjà configurée
dans Thunderbird.
Nous allons maintenant créer cette paire de clés :
Une clé privée qui vous servira a authentifier vos messages
(signature) et à lire les mails chiffrés adressés par vos
correspondants
Une clé publique que vous transmettrez à vos correspondants et
qui leur servira à vérifier que votre signature est authentique
(vous êtes bien l'expéditeur du message).
Une fois installé Enigmail vous a proposé de générer
cette paire de clé. Si vous avez refermé cette fenêtre rien
n'est perdu.
Génération d'une paire de clés
Cliquez sur « OpenGPG » puis « Gestion de cléfs » comme indiqué dans la
figure ci-dessous.
Génération d'une paire de clés
Dans la fenêtre qui s'ouvre choisissez « Générer » et « Nouvelle paire de clefs ».
A partir de maintenant, vous devez pouvoir consacrer une dizaine de minutes pour
la création et la configuration de la paire de clés.
Génération d'une paire de clés
Vérifiez que votre adresse est correcte et que la case
« Utiliser la clef générée pour l'identité sélectionnée » est bien
cochée.
Choisissez une phrase secrète.
Ici il n'est pas question d'un mot de passe mais d'une phrase...
Cette phrase doit être difficile à pirater !
Pour ne pas l'oublier (normalement elle ne doit être inscrite
dans aucun document susceptible d'être confié à d'autres
personnes que vous seul, ou perdu...).
Génération d'une paire de clés
Choisissez la durée de validité de la clef et lisez attentivement la note , au bas de la
fenêtre
Génération d'une paire de clés
Dans l’onglet « Avancés », choisissez la taille et le type de clé, puis cliquez
sur « Générer la clef ».
Génération d'une paire de clés
Cette boite de dialogue s’ouvre après un clic sur « Générer la clé », cliquez
sur « Oui »
Génération d'une paire de clés
La barre verte témoigne de l'activité de génération de la paire
de clef (*)
(*)
Génération d'une paire de clés
Suivez scrupuleusement le conseil figurant sur la fenêtre qui vous signale la fin de la
génération de la clef
Génération d'une paire de clés
Enregistrez temporairement le fichier de révocation dans un
répertoire de votre choix.
Génération d'une paire de clés
Pour cette opération, votre phrase secrète vous sera demandé pour la
première fois.
Génération d'une paire de clés
Ne pas omettre de l'effacer dès qu'il sera transféré sur un autre support.
Génération d'une paire de clés
Maintenant, dans la fenêtre de gestion des clefs, votre clef apparaît.
Génération d'une paire de clés
Pour que vos correspondants puissent trouver votre clefs, vous pouvez l'envoyer sur un
serveur de clefs
Sélectionnez votre clef
Dans le menu de la fenêtre « gestion des clefs » choisissez « Serveur de clefs » puis
« Envoyer les clefs publiques ».
Génération d'une paire de clés
Le serveur pgp.mit.edu est un bon choix car très connu.
Mais sachez que tous les serveurs de clefs GPG communiquent entre eux.
Génération d'une paire de clés
Vous pouvez éditer votre clé publique et l'envoyer par mail à vos correspondants :
Choisissez, toujours dans la fenêtre de « Gestion des clefs » (accessible depuis le menu
« Open GPG » de« Thunderbird) « Edition » puis « Copier les clefs publiques dans le
presse-papiers », après avoir sélectionné votre clef.
Génération d'une paire de clés
Puis collez là (Ctrl+v) dans le bloc-notes de windows, pour l'enregistrer au format .txt et la
garder en mémoire (il s'agit de votre clé publique, pas de la clé privée !).
Attention, il faut copier du premier tiret au dernier, sans sauter de ligne. N'utilisez surtout
pas un traitement de texte type OpenOffice ou word pour la copie de la clef. Préservez le
format texte simple.
Chiffrement et Signature des mails
Pour envoyer un message:
Sélection l’adresse (1) et cliquez sur « Ecrire un nouveau message » (2)
Ou dans le menu « Message » (3), choisissez un « nouveau message »
(3)
(1)
(2)
Chiffrement et Signature des mails
L'envoi de ce type de message est maintenant très aisé.
Rédigez votre message normalement.
Dans l'exemple nous avons choisi de signer et de chiffrer
automatiquement les messages envoyés.
Chiffrement et Signature des mails
Il est toujours possible de chiffrer un message (dans la fenêtre de rédaction du
message, depuis l'onglet « OpenGPG » cliquer sur « Chiffrer le message ») ou de
ne pas signer (un clic sur « Signer le message » décochera cette fonction).
Chiffrement et Signature des mails
Au moment de l'envoi une fenêtre « Question OpenGPG » demandera la
phrase secrète (mot de passe) de votre clé.
Chiffrement et Signature des mails
Le message saisi sera chiffré par la clé publique de votre correspondant
après avoir tapé la phrase secrète.
Chiffrement et Signature des mails