TP PGP - PKI - Télécom SudParis

Sécuriser sa messagerie avec PGP
Travaux pratiques
Patrick Maigron
Institut Mines-Télécom / Télécom SudParis
[email protected]
Avril 2014
Plan du TP
• Introduction
• Gérer ses clés PGP
• Communiquer par mail de manière sécurisée
• Communiquer avec une connaissance
• Communiquer à l’intérieur d’une entreprise
• Révoquer des clés PGP
Travaux pratiques PGP - Avril 2014
1
P. Maigron (Télécom SudParis)
Pourquoi utiliser PGP ?
Introduction
• Problèmes de sécurité liés à la
messagerie électronique
• Services de sécurité offerts
par PGP
– Écoutes
• Sniffers
– Usurpation d’identité
• « telnet 25 »
– Litiges
• Répudiation par l’émetteur
ou le destinataire
– Modification des mails en
transit
Travaux pratiques PGP - Avril 2014
– Confidentialité
– Authentification
– Non-répudiation de
l’émetteur
– Intégrité
2
P. Maigron (Télécom SudParis)
Mécanismes de PGP
Introduction
• Mécanismes de sécurité
– Sécurité au niveau applicatif
• Complémentaire de SSL/TLS au niveau transfert
– Signatures numériques
– Chiffrement
• Techniques utilisées
–
–
–
–
Cryptographie asymétrique
Cryptographie symétrique
Fonctions de hachage
Certification des clés publiques
Travaux pratiques PGP - Avril 2014
3
P. Maigron (Télécom SudParis)
Logiciels PGP
Introduction
• Types de logiciels PGP
– Commerciaux : Symantec
– Libres : GnuPG (GNU Privacy Guard)
• Intégration dans les agents de messagerie
–
–
–
–
Au moyen de modules complémentaires (plugins)
Thunderbird : Enigmail
Outlook, Outlook Express : Gpg4win
Eudora, Lotus Notes, Zimbra…
Travaux pratiques PGP - Avril 2014
4
P. Maigron (Télécom SudParis)
Logiciels utilisés dans le TP
Introduction
• Mutt
– Agent de messagerie
– Interface en mode texte
mutt
• GnuPG
gpg --option
– Interface en mode texte
• KGpg
kgpg
– Interface graphique de gestion des clés
• PKS : Public Key Server
– Serveur de clés publiques
– Interface web, interface depuis GnuPG et KGpg
Travaux pratiques PGP - Avril 2014
5
P. Maigron (Télécom SudParis)
Logiciels utilisés dans le TP
Introduction
Serveur SMTP
Mutt
Envoyer / recevoir
un mail
KGpg
Trousseaux
de clés
personnels
GnuPG
Signer /
chiffrer
un mail
Serveur
de clés
Gérer ses clés
Travaux pratiques PGP - Avril 2014
PKS
6
Base
de clés
P. Maigron (Télécom SudParis)
Visualiser les algorithmes supportés
Gérer ses clés PGP
Liste des algorithmes
disponibles
GnuPG
- Cryptographie asymétrique
- Cryptographie symétrique
- Hachage
- Compression
gpg --version
Travaux pratiques PGP - Avril 2014
7
P. Maigron (Télécom SudParis)
Créer une paire de clés PGP
Gérer ses clés PGP
Identification de l’utilisateur
Nom, adresse mail, commentaire
Date d’expiration
KGpg
Taille de la clé
768, 1024, 2048, 4096…
Clés /
Générer
une paire
de clés…
Algorithme
- RSA & RSA
- DSA & ElGamal
Phrase de passe
Clé
publique
Clé
privée
Entrées aléatoires
(clavier, souris…)
Travaux pratiques PGP - Avril 2014
8
P. Maigron (Télécom SudParis)
Visualiser son trousseau de clés PGP
Gérer ses clés PGP
• Deux trousseaux de clés
– Enregistrés dans le répertoire .gnupg
– Fichier de clés publiques : pubring.gpg
– Fichier de clés privées : secring.gpg
• Afficher le contenu binaire des clés publiques
GnuPG
Synthèse
gpg -–list-packets pubring.gpg
PGPdump
Détails
pgpdump -i pubring.gpg
Travaux pratiques PGP - Avril 2014
9
P. Maigron (Télécom SudParis)
Signer un fichier (en mode texte)
Communiquer par mail de manière sécurisée
Fichier
original
filename
GnuPG
gpg --clearsign filename
Fichier
signé
filename.asc
Phrase de passe
pour obtenir la clé privée
Clé
privée
Travaux pratiques PGP - Avril 2014
10
P. Maigron (Télécom SudParis)
Vérifier un fichier signé (en mode texte)
Communiquer par mail de manière sécurisée
Fichier original
filename
Fichier
signé
filename.asc
GnuPG
gpg filename.asc
Travaux pratiques PGP - Avril 2014
11
Résultat :
- Bonne signature
- Mauvaise signature
- Clé publique
non trouvée
P. Maigron (Télécom SudParis)
Envoyer un mail
Communiquer par mail de manière sécurisée
Mutt
- Taper m pour composer le mail
- Entrer l’adresse mail du destinataire
- Entrer le sujet du mail
- Entrer le contenu du mail dans l’éditeur de texte
qui s’ouvre
- Un récapitulatif du mail est affiché avant l’envoi
(menu de composition)
- Taper y pour envoyer le mail
Travaux pratiques PGP - Avril 2014
12
P. Maigron (Télécom SudParis)
Recevoir un mail
Communiquer par mail de manière sécurisée
Mutt
- Rafraîchir la liste des mails si nécessaire en changeant
de ligne avec les touches directionnelles haut et bas
(lors de la première utilisation uniquement :
taper q pour quitter Mutt, puis relancer Mutt)
- Se positionner sur le mail souhaité
- Taper sur la touche « Entrée » pour visualiser le mail
- Taper q pour revenir à la liste des mails
Travaux pratiques PGP - Avril 2014
13
P. Maigron (Télécom SudParis)
Signer un mail
Communiquer par mail de manière sécurisée
Mutt
- Taper m pour composer le mail
- Entrer le destinataire, le sujet et le contenu du mail
- Taper p dans le menu de composition
pour sélectionner le menu PGP
- Taper s dans le menu PGP
pour sélectionner l’option « signer »
- Taper y pour envoyer le mail signé
- Entrer la phrase de passe pour accéder à sa clé privée
Travaux pratiques PGP - Avril 2014
14
P. Maigron (Télécom SudParis)
Échanger sa clé publique par mail
Communiquer par mail de manière sécurisée
• Envoyer une clé publique par mail
Mutt
- Taper ESC-k pour demander l’envoi d’une clé publique
- Entrer le destinataire et le sujet du mail
- Pour choisir la clé à envoyer :
•Taper sur la touche Entrée pour visualiser
la liste des clés publiques disponibles
•Choisir la clé publique à envoyer (la sienne)
- Taper y pour envoyer la clé publique
Travaux pratiques PGP - Avril 2014
15
P. Maigron (Télécom SudParis)
Échanger sa clé publique par mail
Communiquer par mail de manière sécurisée
• Recevoir une clé publique par mail
Mutt
- Se positionner sur le mail contenant la clé publique
- Taper CTRL-k pour extraire la clé publique du mail
- Vérifier que la clé contenue dans le mail apparaît
dans le trousseau de clés publiques (avec KGpg)
Travaux pratiques PGP - Avril 2014
16
P. Maigron (Télécom SudParis)
Chiffrer un mail
Communiquer par mail de manière sécurisée
Mutt
- Taper m pour composer le mail original
- Entrer le destinataire, le sujet et le contenu du mail
- Taper p dans le menu de composition
pour sélectionner le menu PGP
- Taper c dans le menu PGP pour sélectionner
l’option « chiffrer »
- Taper y pour envoyer le mail chiffré
- Pour choisir la clé publique avec laquelle chiffrer :
• Taper sur la touche Entrée pour visualiser
la liste des clés publiques disponibles
• Choisir la clé à utiliser (celle du destinataire)
Travaux pratiques PGP - Avril 2014
17
P. Maigron (Télécom SudParis)
Signer et chiffrer un mail
Communiquer par mail de manière sécurisée
Mutt
- Taper m pour composer le mail original
- Entrer le destinataire, le sujet et le contenu du mail
- Taper p dans le menu de composition (menu PGP)
- Taper d dans le menu PGP pour sélectionner
l’option « les deux »
- Taper y pour envoyer le mail signé puis chiffré
- Pour choisir la clé publique avec laquelle chiffrer :
• Taper sur la touche Entrée pour visualiser
la liste des clés publiques disponibles
• Choisir la clé à utiliser (celle du destinataire)
- Entrer la phrase de passe pour accéder à sa clé privée
Travaux pratiques PGP - Avril 2014
18
P. Maigron (Télécom SudParis)
Risque de contrefaçon des clés
Communiquer avec une connaissance
• Un attaquant peut modifier une clé lors de son échange
– Attaque de type « Man in the middle »
Alice
Clé
publique
de Mallory
au nom d’Alice
Clé
publique
d’Alice
Bob
Mallory
– Un message avertit l’utilisateur lorsqu’il utilise une clé qui
n’est pas sûre (confiance inconnue)
gpg: ATTENTION: Cette clé n'est pas certifiée avec une signature de confiance !
gpg: Rien ne dit que la signature appartient à son propriétaire.
Travaux pratiques PGP - Avril 2014
19
P. Maigron (Télécom SudParis)
Visualiser la confiance dans une clé
Communiquer avec une connaissance
KGpg
- La couleur affichée dans la colonne
« Faire confiance » indique le niveau
de confiance dans chaque clé publique
• Bleu : confiance ultime (sa propre clé)
• Vert : confiance totale
• Jaune : confiance marginale
• Blanc : confiance inconnue
• Noir : clé révoquée
Travaux pratiques PGP - Avril 2014
20
P. Maigron (Télécom SudParis)
Utilisation des empreintes digitales
Communiquer avec une connaissance
• Empreintes digitales des clés (fingerprints)
– Résultat d'un calcul effectué sur la clé publique
• Fonction de hachage cryptographique
– L’empreinte digitale est plus petite que la clé publique
– Si deux clés ont la même empreinte digitale, elles sont
identiques
Clé
publique
d’Alice
Alice
Fingerprint
d’Alice
Travaux pratiques PGP - Avril 2014
21
P. Maigron (Télécom SudParis)
Visualiser une empreinte digitale
Communiquer avec une connaissance
KGpg
- Effectuer un double-clic
sur une clé publique
(ou cliquer sur le bouton droit,
puis « Propriétés de la clé »)
Travaux pratiques PGP - Avril 2014
22
Affichage de
l’empreinte
digitale de la clé
publique
P. Maigron (Télécom SudParis)
Vérification des clés publiques
Communiquer avec une connaissance
• Vérification de l’empreinte digitale
– Alice envoie sa clé publique à Bob
– Pour éviter une contrefaçon de la clé d’Alice lors de son envoi, Bob
doit vérifier que la clé reçue est effectivement la clé envoyée par Alice
– Bob visualise l’empreinte digitale de la clé reçue d’Alice
– Alice transmet à Bob l’empreinte digitale de sa clé au moyen d’un
canal sûr (par téléphone, lors d’une rencontre physique…)
– Bob compare l’empreinte digitale de la clé reçue d’Alice avec
l’empreinte digitale de la clé d’Alice transmise par ce canal sûr
Alice
Clé
publique
d’Alice
E-mail
Clé
publique
d’Alice
Fingerprint
d’Alice
Canal sûr
Fingerprint
d’Alice
Travaux pratiques PGP - Avril 2014
23
Bob
P. Maigron (Télécom SudParis)
Certification des clés publiques
Communiquer avec une connaissance
• Certification des clés publiques reçues de ses
connaissances
– Bob a vérifié l’empreinte digitale de la clé reçue d’Alice
– Bob certifie la clé d’Alice en la signant
– Cette certification atteste que la clé publique d’Alice
appartient effectivement à Alice
• Modifications suite à la certification des clés
– Changement de couleur de la clé d’Alice dans la colonne
« Faire confiance » pour Bob
– Disparition du message d’avertissement lors de l’utilisation
par Bob de la clé d’Alice
Travaux pratiques PGP - Avril 2014
24
P. Maigron (Télécom SudParis)
Certifier une clé publique
Communiquer avec une connaissance
KGpg
- Sélectionner une clé publique
- Cliquer sur le bouton droit
- Signer une clé…
- Choisir l’option
« J’ai vérifié très minutieusement »
- Vérifier que la confiance dans
la clé devient totale (couleur verte)
Phrase de passe
pour obtenir la clé privée
Travaux pratiques PGP - Avril 2014
25
Certification de la clé
enregistrée dans le
trousseau de
clés publiques
Clé
privée
P. Maigron (Télécom SudParis)
Visualiser les certificats des clés publiques
Communiquer avec une connaissance
KGpg
- Cliquer sur le bouton « + »
à gauche d’une clé publique
Travaux pratiques PGP - Avril 2014
26
Affichage des
certificats
associés à la clé
publique
P. Maigron (Télécom SudParis)
Mise en œuvre dans une entreprise
Communiquer à l’intérieur d’une entreprise
• Utilisation d’une
infrastructure à clés
publiques (PKI)
Alice
PKI
– Stockage des clés publiques
des personnels de
l’entreprise (serveur de clés)
– Certification des clés
publiques de ces personnels
avec la clé de la PKI (autorité
de certification)
– Accès aux clés publiques
certifiées lors d’un échange
de mail sécurisé (serveur de
clés)
Travaux pratiques PGP - Avril 2014
Clé d’Alice
Bob
Clé de Bob
Alice
Clé de Bob
certifiée par la PKI
+ Clé de la PKI
PKI
Bob
27
Clé d’Alice
certifiée par la PKI
+ Clé de la PKI
P. Maigron (Télécom SudParis)
Interroger le serveur de clés
Communiquer à l’intérieur d’une entreprise
PKS
- Afficher dans un navigateur web la page d’accès
au serveur de clés
- Entrer une chaîne de caractères dans le champ
de recherche
- Valider pour visualiser les clés correspondantes
- Effectuer des recherches similaires en affichant
les signatures, les empreintes digitales
et le contenu des clés
Travaux pratiques PGP - Avril 2014
28
P. Maigron (Télécom SudParis)
Mise en œuvre dans une entreprise
Communiquer à l’intérieur d’une entreprise
Personnel de l’entreprise
PKI
- Exporter sa clé publique vers
le serveur de clés
- Importer les clés du personnel
depuis le serveur de clés
- Importer les clés du personnel
depuis le serveur de clés
- Certifier les clés du personnel
- Exporter les clés certifiées vers
le serveur de clés
- Importer les certificats des clés
du personnel depuis le serveur
de clés
- Importer la clé de la PKI depuis
le serveur de clés et attribuer
un niveau de confiance à la PKI
Travaux pratiques PGP - Avril 2014
29
P. Maigron (Télécom SudParis)
Configurer le serveur de clés à utiliser
Communiquer à l’intérieur d’une entreprise
KGpg
- Configuration / Configurer KGpg…
- Onglet « Serveurs de clés »
- Ajouter…
- Entrer le serveur de clés à utiliser :
hkp://serveur
en utilisant le nom du serveur donné en TP
- Supprimer les autres serveurs de clés
Travaux pratiques PGP - Avril 2014
30
P. Maigron (Télécom SudParis)
Exporter sa clé vers le serveur de clés
Communiquer à l’intérieur d’une entreprise
KGpg
Trousseau de
clés publiques
- Sélectionner la clé publique
à exporter (la sienne)
- Cliquer sur le bouton droit
- Exporter une clé publique…
- Sélectionner « Serveur de clés : »
- Sélectionner le serveur souhaité
- Vérifier que la clé apparaît
sur le serveur de clés
Travaux pratiques PGP - Avril 2014
31
Serveur
de clés
P. Maigron (Télécom SudParis)
Importer des clés depuis le serveur de clés
Communiquer à l’intérieur d’une entreprise
KGpg
Serveur
de clés
- Icône « Boîte de dialogue
pour le serveur de clés »
- Sélectionner le serveur souhaité
- Entrer le texte recherché
(propriétaire de la clé)
- Bouton « Chercher »
- Sélectionner les clés souhaitées
- Bouton « Importer »
Travaux pratiques PGP - Avril 2014
32
Trousseau de
clés publiques
P. Maigron (Télécom SudParis)
Mettre à jour des clés depuis le serveur
Communiquer à l’intérieur d’une entreprise
Serveur
de clés
KGpg
- Sélectionner l’ensemble
des clés du trousseau
- Clés / Rafraîchir une clé
depuis le serveur de clés
- Vérifier que les clés sont
certifiées par la PKI
Travaux pratiques PGP - Avril 2014
33
Trousseau de
clés publiques
P. Maigron (Télécom SudParis)
Attribuer un niveau de confiance à la PKI
Communiquer à l’intérieur d’une entreprise
KGpg
- Importer la clé publique de la PKI
- Vérifier son empreinte digitale
- Certifier la clé publique de la PKI
(avec l’option « J’ai vérifié très minutieusement »)
- Effectuer un double-clic sur la clé publique
de la PKI
- Champ « Confiance dans le propriétaire : »
- Choisir « Totalement »
- Vérifier que la confiance dans les clés devient totale
Travaux pratiques PGP - Avril 2014
34
P. Maigron (Télécom SudParis)
Révoquer sa clé publique
Révoquer des clés PGP
• Créer un certificat de révocation
KGpg
- Sélectionner sa clé publique
- Clés / Révoquer une clé…
- Remplir les champs « Raison »
et « Description »
Phrase de passe
pour obtenir la clé privée
Travaux pratiques PGP - Avril 2014
35
Certificat
de révocation
UserName.revok
Clé
privée
P. Maigron (Télécom SudParis)
Révoquer sa clé publique
Révoquer des clés PGP
• Importer le certificat de révocation dans son trousseau
de clés
KGpg
Certificat
de révocation
UserName.revok
- Afficher / Confiance minimale :
« Aucune »
- Importer le certificat de
révocation
- Vérifier que sa clé est signalée
comme révoquée (couleur noire)
Travaux pratiques PGP - Avril 2014
36
Trousseau de
clés publiques
P. Maigron (Télécom SudParis)
Révoquer sa clé publique
Révoquer des clés PGP
• Exporter la clé révoquée vers le serveur de clés
KGpg
Trousseau de
clés publiques
- Exporter la clé révoquée
vers le serveur de clés
- Vérifier que la clé est
signalée comme révoquée
sur le serveur
Travaux pratiques PGP - Avril 2014
37
Serveur
de clés
P. Maigron (Télécom SudParis)
Prendre en compte la révocation des clés
Révoquer des clés PGP
• Mettre à jour les clés révoquées depuis le serveur de
clés
KGpg
Serveur
de clés
- Sélectionner l’ensemble
des clés du trousseau
- Clés / Rafraîchir une clé
depuis le serveur de clés
- Vérifier que les clés sont
signalées comme révoquées
(couleur noire)
Travaux pratiques PGP - Avril 2014
38
Trousseau de
clés publiques
P. Maigron (Télécom SudParis)
Fin
Visualiser graphiquement
son trousseau de clés
GnuPG
gpg --list-sigs | sig2dot.pl | dot -Tpng > keyring.png
display keyring.png
Travaux pratiques PGP - Avril 2014
39
P. Maigron (Télécom SudParis)