Vous êtes sur la page 1sur 14

CyberSécurité : PGP / GPG v 1.

GnuPG (ou GPG, de l'anglais GNU Privacy Guard) est l'implémentation GNU du standard OpenPGP
défini dans la RFC 4880, distribuée selon les termes de la licence publique générale GNU.
Ce logiciel permet la transmission de messages électroniques signés et chiffrés, garantissant ainsi leur
authenticité, intégrité et confidentialité1.

Note : GnuPG est un logiciel, mais OpenPGP est un format pour l'échange sécurisé de
données qui doit son nom à l'application de cryptographie historique, Pretty Good Privacy
(PGP). Cette application (PGP) a été diffusée aux États-Unis par Philip Zimmermann en 1991.
PGP et les produits similaires suivent le standard OpenPGP (RFC 4880) pour le chiffrement et
le déchiffrement de données. Le développement du logiciel PGP a, peu à peu, été abandonné
au fur et à mesure que GnuPG devenait un standard.

1. Introduction
Afin de découvrir les principes d’intégrité, d’authenticité, de confidentialité, vous allez travailler en
binôme. Afin de faciliter les échanges de fichiers indispensables à cet exercice, nous utiliserons le
répertoire personnel du serveur Web Apache, installé sur chacun de vos systèmes.

1.1. Utilisation du service Apache


Il suffit de copier (par exemple avec le navigateur de fichiers) un fichier dans le répertoire public_html
pour que celui-ci soit accessible sur le réseau local à l’URL suivante http://adresse_IP/~lenny ou
http://adresse_IP/~woody selon respectivement que vous soyez sur une session lenny ou woody
(groupe TP n°1 ou groupe TP n°2).
Pour découvrir son adresse IP, il suffit de lancer un terminal virtuel et de lancer la commande ip a (ou
encore /usr/bin/ip a), la deuxième sortie correspond à votre adresse IP sur le réseau local (la première
sortie correspond à la boucle locale) : 172.18…

1.2. Adresse Mailo


Nous avons créé une adresse professionnelle sur la plateforme ProntonMail. Les messages sont conservés
sur les serveurs, chiffrés. Nous avons vu que la confidentialité était assurée sur les échanges internes à
protonmail, mais que ce n’était pas le cas par défaut pour les échanges avec d’autres services de
messagerie. Nous allons voir comment rendre cela possible en utilisant une application cliente de
courriels.
Nous souhaitons dans le cadre de ce TP pouvoir manipuler les messages à partir d’un client de messagerie
comme Evolution ou Thunderbird. L’accès au protocole IMAP que nous utilisons dans ce cas-là est
indispensable.

Remarque : La plateforme Protonmail réserve cet accès au protocole IMAP à ses abonnés.

Nous allons utiliser les services d’une autre plateforme de message, elle aussi est respectueuse de vos
données. Vous pouvez vous en convaincre en lisant leurs règles de confidentialité, très claires.
Pour créer un compte, il suffit de se rendre à l’adresse suivante, puis vous sélectionnez le bouton « Créer
un compte Mailo ».

1 Extrait de la page Wikipedia GnuPG, disponible sous licence Creative Commons attribution, partage dans les mêmes
conditions.

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 1 / 14


CyberSécurité : PGP / GPG v 1.6

Un bouton permet de vérifier la disponibilité de l’adresse e-mail.

Remarque : Pour le profil, malgré l’invitation, je ne précise jamais la bonne date de naissance.

Nous essayons ensuite de résoudre la double protection contre les robots.

Il ne nous reste plus alors qu’à accepter les conditions d’utilisation pour lancer la création du compte.
L’interface du client webmail propose un bouton qui permet d’accéder aux options et autres

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 2 / 14


CyberSécurité : PGP / GPG v 1.6

paramètres de configuration du compte. Nous sélectionnons l’option « synchronisation », puis nous


demandons au système d’afficher « les protocoles de synchronisation ».

Nous consultons les paramètres IMAP afin de pouvoir configurer correctement le compte pour notre
client de messagerie Evolution.

Remarque : Bien que l’interface du client Webmail de Mailo nous permette de générer des clés
GPG, nous ne prenons pas cette option, car nous avons prévu de procéder différemment afin
de rester au plus près du format OpenPGP.

Travail à faire
1.1 Créez une nouvelle adresse professionnelle prenom.nom@mailo.com ;
1.2 Enregistrez votre adresse professionnelle et le mot de passe associé dans votre base
KeePass ;

1.3. Configuration Evolution


Au premier lancement de l’application Evolution, le système vous propose de configurer un premier
compte de messagerie.

L’application détecte ensuite les paramètres d’accès au compte.

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 3 / 14


CyberSécurité : PGP / GPG v 1.6

Une fois la création du compte validé, les messages sont téléchargés et sont accessibles depuis
l’application Evolution.

Travail à faire
1.3 Configurez le client de messagerie Evolution pour votre nouvelle adresse profession-
nelle prenom.nom@mailo.com ;
1.4 Envoyez un message à votre binôme en mettant en copie votre enseignant.

2. Générer des clés


Le fonctionnement de GnuPG est basé sur un chiffrement asymétrique. L’accès à la clé privée est
protégée par une phrase secrète (passphrase en anglais). On pourrait dire mot de passe, mais on emploie
phrase secrète pour insister sur l’importance d’utiliser un mot de passe long et robuste. Vous êtes donc
invités à vous reporter au support d’introduction à la cybersécurité qui vous informait des bonnes
pratiques en matière de définition de mot de passe.

2.1. Générer une clé principale

Remarque : Les saisies de l’utilisateur apparaissent en gras ci-dessous.

jessie@A-207-XX:~$ gpg --full-gen-key


gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Sélectionnez le type de clef désiré :


(1) RSA et RSA (par défaut)
(2) DSA et Elgamal
(3) DSA (signature seule)
(4) RSA (signature seule)
Quel est votre choix ? 1
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (3072) 4096
La taille demandée est 4096 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
<n> = la clef expire dans n jours
<n>w = la clef expire dans n semaines
<n>m = la clef expire dans n mois

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 4 / 14


CyberSécurité : PGP / GPG v 1.6

<n>y = la clef expire dans n ans


Pendant combien de temps la clef est-elle valable ? (0) 0
La clef n'expire pas du tout
Est-ce correct ? (o/N) o

GnuPG doit construire une identité pour identifier la clef.

Nom réel : mon-nom


Adresse électronique : prenom.nom@mailo.com
Commentaire : clé professionnelle
Vous utilisez le jeu de caractères « utf-8 ».
Vous avez sélectionné cette identité :
« mon-nom (clé professionnelle) <prenom.nom@mailo.com> »

Changer le (N)om, le (C)ommentaire, l'(A)dresse électronique


ou (O)ui/(Q)uitter ? O
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.
gpg: clef FC….56...422 marquée de confiance ultime.
gpg: répertoire « /home/jessie/.gnupg/openpgp-revocs.d » créé
gpg: revocation certificate stored as
'/home/jessie/.gnupg/openpgp-revocs.d/8B64A9…...66690422.rev'
les clefs publique et secrète ont été créées et signées.

jessie@A-207-XX:~$

Travail à faire
2..5 Générez une paire de clé pour votre adresse Mailo.
2..6 Enregistrez votre phrase secrète dans votre base KeePass.

2.2. Lister les clés


jessie@A-207-XX:~$ gpg --list-keys

Ce à quoi le système répond :


/home/jessie/.gnupg/pubring.gpg
---------------------------------
pub rsa4096 2020-05-15 [SC]
8B64A94DBE68A4D913E309EDFC20501B66690422
uid [ ultime ] mon-nom (clé professionnelle) <prenom.nom@mailo.com>
sub rsa4096 2020-05-15 [E]

2.3. Créer une sous clé pour la signature

Remarque : Les saisies de l’utilisateur apparaissent en gras ci-dessous.

jessie@A-207-XX:~$ gpg --edit-key prenom.nom@mailo.com


gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

La clef secrète est disponible.

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 5 / 14


CyberSécurité : PGP / GPG v 1.6

sec rsa4096/FC20501B66690422
créé : 2020-05-15 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa4096/3FFA8E4CF0376784
créé : 2020-05-15 expire : jamais utilisation : E
[ ultime ] (1). mon-nom (clé professionnelle) <prenom.nom@mailo.com>

gpg> addkey
Sélectionnez le type de clef désiré :
(3) DSA (signature seule)
(4) RSA (signature seule)
(5) Elgamal (chiffrement seul)
(6) RSA (chiffrement seul)
Quel est votre choix ? 4
les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits.
Quelle taille de clef désirez-vous ? (3072) 4096
La taille demandée est 4096 bits
Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
0 = la clef n'expire pas
<n> = la clef expire dans n jours
<n>w = la clef expire dans n semaines
<n>m = la clef expire dans n mois
<n>y = la clef expire dans n ans
Pendant combien de temps la clef est-elle valable ? (0) 0
La clef n'expire pas du tout
Est-ce correct ? (o/N) o
Faut-il vraiment la créer ? (o/N) o
De nombreux octets aléatoires doivent être générés. Vous devriez faire
autre chose (taper au clavier, déplacer la souris, utiliser les disques)
pendant la génération de nombres premiers ; cela donne au générateur de
nombres aléatoires une meilleure chance d'obtenir suffisamment d'entropie.

sec rsa4096/FC20501B66690422
créé : 2020-05-15 expire : jamais utilisation : SC
confiance : ultime validité : ultime
ssb rsa4096/3FFA8E4CF0376784
créé : 2020-05-15 expire : jamais utilisation : E
ssb rsa4096/120F20977BE3E78F
créé : 2020-05-15 expire : jamais utilisation : S
[ ultime ] (1). Prénom Nom (clé professionnelle) <prenom.nom@mailo.com>

gpg> save

Travail à faire
2.7 Créez une sous clé pour la signature pour votre clé professionnelle prenom.nom@mailo.-
com ;

2.4. Exporter la clé publique


Nous allons exporter la clé publique dans le répertoire Documents :
jessie@A-207-XX:~$ cd Documents

Nous lançons maintenant la commande dédiée :


jessie@A-207-XX:~/Documents$ gpg --export --armor prenom.nom@mailo.com >
publickey_prenom.nom@mailo.com.asc

3. Importer des clés


S'il s'agit d'une clé privée :

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 6 / 14


CyberSécurité : PGP / GPG v 1.6

• le mot de passe sera demandé


• les fonctionnalités de la clé seront ensuite utilisables
S'il s'agit d'un certificat :
• aucun mot de passe ne sera demandé
• la clé pourra être utilisée pour chiffrer à destination du détenteur de la clé

3.1. Importer une clé publique ProtonMail


Nous avons maintenant deux adresses de messageries professionnelle. Nous allons mettre en œuvre une
communication sécurisée entre ces deux adresses. À partir de notre boîte ProtonMail, nous allons nous
adresser un message sur notre boîte Mailo en y joignant votre clé publique. Nous signerons de plus ce
message.
Nous pouvons alors importer cette clé dans notre système (utilisez l’auto-complémention à l’aide la
touche « Tab » du clavier) :
gpg --import publickey_-_prenom.nom@protonmail.com_-_0x0FBDE7ED.asc

Remarque : J’ai remplacé les espaces par des tirets bas (underscore) afin de faciliter l’auto-
complétion.

Ce à quoi le système répond :


gpg: clef 912346AD48390BEF : clef publique « "prenom.nom@protonmail.com"
<moulinux@protonmail.com> » importée
gpg: Quantité totale traitée : 1
gpg: importées : 1

Dans évolution, la signature est désormais indiquée comme valide :

Travail à faire
3.8 Importez la clé publique de votre adresse prenom.nom@protonmail.com dans votre
trousseau de clés.
3.9 Partagez la clé publique de votre adresse prenom.nom@mailo.com via l’espace personnel
du serveur Apache.
3.10 Importez la clé publique de l’adresse de votre binôme prenom.nom@mailo.com dans
votre trousseau de clés.

3.2. Signer une clé

Remarque : Les saisies de l’utilisateur apparaissent en gras ci-dessous.

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 7 / 14


CyberSécurité : PGP / GPG v 1.6

Si maintenant, nous signons cette clé (avec notre clé par défaut : il faudra donc saisir notre passphrase).
gpg --edit-key prenom.nom@protonmail.com
gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub rsa2048/912346AD48390BEF
créé : 2018-08-29 expire : jamais utilisation : SC
confiance : inconnu validité : inconnu
sub rsa2048/F091FCAEF62DDEBC
créé : 2018-08-29 expire : jamais utilisation : E
[ inconnue] (1). "moulinux@protonmail.com" <moulinux@protonmail.com>

gpg> sign
gpg: using "<prenom.nom@mailo.com>" as default secret key for signing

pub rsa2048/912346AD48390BEF
créé : 2018-08-29 expire : jamais utilisation : SC
confiance : inconnu validité : inconnu
Empreinte clef princip. : 0FBD E7ED FE35 8476 7EB2 A585 9123 46AD 4839 0BEF

"prenom.nom@protonmail.com" <prenom.nom@protonmail.com>

Voulez-vous vraiment signer cette clef avec votre


clef « Prénom Nom (Clé professionnelle) <prenom.nom@mailo.com> » (EA1EF53128B6F79A)

Voulez-vous vraiment signer ? (o/N) o

gpg> save

Une fenêtre apparaît permettant de saisir la passphrase associée à la clé privée utilisée pour signer.

Remarque : Dans le cas où il y a plusieurs adresses enregistrées sur le système, on peut


définir l’adresse par défaut dans le fichier ~/.gnupg/gpg.conf :
default-key <prenom.nom@mailo.com>

La signature est
désormais indiquée
comme parfaitement
valide dans Evolution
(voir la figure ci-
contre).

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 8 / 14


CyberSécurité : PGP / GPG v 1.6

Travail à faire
3.11 Signez la clé publique de votre adresse prenom.nom@protonmail.com avec votre clé per-
sonnelle (en envoyant cette clé jointe à un e-mail adressé à votre adresse mailo).
Rappel : Vous remplacerez les espaces par des tirets bas pour faciliter l’auto-complé-
tion).
3.12 Signez la clé publique de l’adresse prenom.nom@mailo.com de votre binôme avec votre
clé personnelle.

4. Fonctionnement d’OpenPGP

4.1. Intégrité
Nous commençons par créer un fichier texte (message_clair) :
jessie@A-207-XX:~$ cd $HOME/Documents
jessie@A-207-XX:~/Documents$ echo Je suis en BTS SIO et je travaille la cryptographie
avec le format OpenPGP. >> message_clair

Nous utilisons alors la commande sha1sum, qui va calculer un condensat, une empreinte numérique du
fichier :
jessie@A-207-XX:~/Documents$ sha1sum message_clair
8b8b517b9377101e6f4714ffe4f7e453ec5f4424 message_clair

Si nous utilisons une autre fonction de hachage, le résultat sera différent :


jessie@A-207-XX:~/Documents$ md5sum message_clair
6d30ecf000c6f336ec9c79f385ca9dab message_clair

Mais, nous pouvons recalculer à l’infini le résultat de la commande sha1sum, il donnera toujours le
même résultat.
Si nous diffusons notre fichier message_clair sur un site Web, en précisant aux internautes le condensat
calculé avec la fonction de hachage sha1sum, chacun pourra vérifier l’intégrité du fichier qu’ils ont
téléchargé.
Afin de rendre le décryptage plus difficile, nous utilisons de plus en plus de bits pour le calcul de
l’empreinte :
jessie@A-207-XX:~/Documents$ sha256sum message_clair
b273f4c69aef1693743040fa9d128079c426c79c982ed4ef2f4991c947b49c20 message_clair

Travail à faire
4..13 Enregistrez un nouveau message dans un fichier texte, calculer son empreinte.
4..14 Partagez votre message via l’espace personnel d’Apache en donnant à vos camarades
les moyens d’en vérifier l’intégrité.

Remarque : Vous pouviez par exemple vérifier l’intégrité de l’image téléchargé de la machine
virtuelle (fichier Debian10 Buster xfce dev.ova) à l’aide du condensat présent dans le même
répertoire du cloud (fichier Debian10 Buster xfce dev.sha256). Ceci afin notamment de
vérifier qu’une personne malveillante n’aura pas altéré l’image durant le téléchargement du
fichier.

4.2. Authentification de l’expéditeur


Il est souvent nécessaire de s’assurer que l’expéditeur d’un message est bien celui qui prétend l’être. Je

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 9 / 14


CyberSécurité : PGP / GPG v 1.6

vous rappelle que même si l’usurpation d’identité est illégale, n’importe qui peut techniquement envoyer
un e-mail de la part de emmanuel.macron@elysee.fr !
Le protocole OpenPGP prévoit de signer le condensat. Nous allons d’abord enregistrer ce condensat dans
un fichier.
jessie@A-207-XX:~/Documents$ sha1sum message_clair > message_sha1sum

Nous signons ensuite ce condensat à l’aide de notre clé privé :


jessie@A-207-XX:~/Documents$ gpg --sign message_sha1sum

Ce à quoi le système répond :


gpg: using "<prenom.nom@mailo.com>" as default secret key for signing

Le logiciel GnuPG génère ainsi le fichier message_sha1sum.gpg, que nous partageons via l’espace
personnel d’Apache.
Vos collègues pourront vérifier l’authenticité de votre condensat à l’aide de votre clé publique qu’ils ont
au préalable signés.
jessie@A-207-XX:~/Téléchargements$ gpg --verify message_sha1sum.gpg

Ce à quoi le système répond :


gpg: Signature faite le mar. 18 août 2020 11:58:31 CEST
gpg: avec la clef RSA 0687B0FFE626A7DA7AA1ECF36BF182BBC23505CF
gpg: issuer "stephane.moulinet@ac-clermont.fr"
gpg: Bonne signature de « Prénom Nom (Clé professionnelle) <prenom.nom@mailo.com> »
[ultime]

Remarque : Vous aurez probablement besoin de changer de répertoire. Ouvrir un deuxième


onglet est une solution rapide pour travailler en parallèle dans deux répertoires distincts.

Travail à faire
4..15 Partagez votre condensat signé.
4..16 Vérifiez l’authenticité du message de votre binôme.

4.3. Confidentialité
Notre message était pour le moment partagé en clair, nous avions d’autres objectifs (intégrité,
authenticité). Si nous souhaitons maintenant partager un secret avec une personne, nous devons au
préalable recueillir sa clé publique et en vérifier l’authenticité. Nous pourrons alors lui faire parvenir des
messages chiffrés, que lui seul pourra lire…
jessie@A-207-XX:~/Documents$ gpg -r prenom.nom_du-binome@mailo.com --encrypt
message_clair
Le fichier « message_clair.gpg » existe. Faut-il réécrire par-dessus ? (o/N) N
Entrez le nouveau nom de fichier: message_chiffre_binome.gpg

Remarque : L’exemple ci-dessous envisage que vous choisissez le même fichier et donc le
même message. Il semble plus original de définir un nouveau message que ne connaîtra pas
votre binôme…

Votre binôme pourra alors déchiffrer le message :


jessie@A-207-XX:~/Téléchargements$ gpg --output message_dechiffre --decrypt
message_chiffre.gpg

Travail à faire

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 10 / 14


CyberSécurité : PGP / GPG v 1.6

4..17 Partagez le message chiffré pour votre binôme.


4..18 Déchiffrez le message de votre binôme.

5. Utilisation de GPG avec Evolution

Note : PGP/Inline et PGP/MIME sont des formats d’encodage de courriels mis en œuvre par
les clients de messagerie. Pour notre distribution Debian, l’agent PGP utilisé par défaut sera
bien sûr OpenPGP.

5.1. Envoie d’un message sécurisé


En guise d’exemple, nous allons envoyer un message signé et chiffré à une adresse ProtonMail, mais le
déroulement est exactement quelle que soit l’adresse, à partir du moment où vous avez déjà importé la clé
publique de votre destinataire…
Dans l’interface de l’application Evolution, nous sélectionnons le bouton « Nouveau ». Une fois le
message confidentiel rédigé dans sélectionnons dans les « Options » :
• « Signer avec PGP », afin de signer notre message avec notre clé privée ;
• « Chiffrer avec PGP », afin de chiffrer le message avec la clé publique du destinataire ;
• « Demander un accusé de lecture », afin de s’assurer que notre message a bien été lu.

Trois boutons s’illuminent pour chacune des options sélectionnées. Juste avant l’émission, une fenêtre de
dialogue s’ouvre pour nous permettre de saisir la passphrase correspondant à notre clé privée (pour la
signature du message).

Remarque : Par défaut, l’application cliente Evolution est configurée pour ne faire confiance
qu’aux clés ayant un tel statut dans votre trousseau, ce qui normalement devait être le cas pour
vous. Sinon, il faudra soit modifier ce comportement pas défaut (dans l’onglet sécurité lors de
l’édition des paramètres de votre compte mail), soit modifier le statut des clés de vos contacts
(de « unknown » par défaut à « totale ») avec la commande gpg --edit-key e-mail.

5.2. Lecture avec ProtonMail


Le message ayant été chiffre à l’aide de la
clé publique de l’adresse ProtonMail, ce
message est automatiquement déchiffré par
le service ProtonMail et se retrouve donc
directement lisible via l’interface du
Webmail.
Tant que vous n’aurez pas intégré la clé
publique de votre adresse Mailo, vous ne
pourrez pas chiffrer vos messages pour
cette adresse et la signature des messages
émis depuis l’adresse Mailo ne sera pas
validé. Pour cela, il suffit de se rendre dans
l’interface des « Contacts » et d’importer la

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 11 / 14


CyberSécurité : PGP / GPG v 1.6

clé publique de l’adresse Mailo (voir la figure ci-contre : Vous opterez pour le format cryptographique
PGP/Inline, qui est le prédécesseur de PGP/MIME, qui pose moins de soucis de compatibilité avec
Evolution…).
Enfin, vous activerez le chiffrement par défaut en cliquant sur le bouton « Chiffrer » (voir le résultat dans
la figure ci-dessus). Vous finalisez en enregistrant vos modifications (via le bouton « Enregistrer »).
Maintenant, si vous composez une réponse, l’interface
propose automatiquement le chiffrement (voir l’exemple
dans la figure ci-contre).
Un cadenas vert, barré atteste cette validité.

5.3. Lecture de la réponse dans


Evolution
De retour dans Evolution, l’interface vous propose de
saisir votre clé privée afin de déchiffrer le message. Une
fois cela fait, le contenu blanc persiste, il faut
sélectionner l’icône de signature pour pouvoir consulter le message.

Et voilà !

Remarque : Evolution ne présente le contenu du mail déchiffré dans le corps de l’aperçu du


message que si clé publique de l’expéditeur ayant signé le courriel est réputée de confiance (on
spécifie la confiance (trust) à l’aide de la commande gpg --edit-key e-mail). Il n’y a, a priori,
rien à faire si on a déjà signé cette clé.

Pour analyser les traces liées à l’activité autour du chiffrement, il est possible de lancer
Evolution depuis un terminal virtuel avec la commande CAMEL_DEBUG=gpg,emformat
evolution (on définit une variable avant le programme).

Travail à faire
5..19 Échangez des messages chiffrés entre votre adresse Mailo et votre adresse ProtonMail.
5..20 Échangez des messages chiffrés entre l’adresse Mailo de votre binôme et votre adresse
ProtonMail.
5..21 Intégrez la clé publique de votre enseignant (fichier publickey_ac-clermont.fr.asc), puis
échangez des messages chiffrés avec son adresse professionnelle et votre adresse Pro-
tonMail.

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 12 / 14


CyberSécurité : PGP / GPG v 1.6

6. Utilisation de GPG avec LibreOffice


Il n’est pas rare que nous utilisions un service cloud. Vous avez été sensibilisé aux traitements illégitimes
de certaines plateformes, incompatibles avec le RGPD, ne pouvant garantir le respect de vos données
personnelles, celles de vos proches, de vos employeurs ou de vos clients. Quand bien même, vous
utilisiez un service, propulsé par un logiciel libre et hébergé par une association, vous ne pouvez jamais
avoir la garantie qu’un administrateur mal attentionné lise vos données (voire les exploite) ou (plus
probable) qu’un attaquant malveillant, ayant obtenu l’accès au serveur, exploite ces données.
Surtout si vos fichiers « bureautiques » contiennent des données personnelles, il est indispensable de
chiffrer les fichiers. Fort heureusement, LibreOffice nous y aide bien, puisque l’opération est réalisée en
un clic !
Admettons que vous utilisiez une application tableur pour évaluer un travail (voir l’illustration ci-
dessous).

Et que vous souhaitiez partager ce fichier sur un service de cloud respectable. Vous allez au préalable
chiffrer votre fichier à l’aide de votre clé GPG. Pour cela, vous choisissez l’entrée « Enregistrer sous… »
dans le menu « Fichier » et cochez la case « Chiffrer avec une clé GPG » au bas de la fenêtre de
dialogue :

Note : Il est nécessaire


que votre fichier ait été
au préalable enregistré
sur le système de
fichiers local.

Le système vous présente alors une nouvelle fenêtre permettant de choisir votre clé :

Une fois fait, vous sélectionnez le bouton « Chiffrer ».


Et voilà, vous fichier est chiffré, il ne sera lisible que sur les systèmes où la clé privée correspondante
aura été importée. Vous pouvez tester pour vous en convaincre…

Le logiciel « LibreOffice online » ne parvient déjà pas à exploiter les données, mais cela ne vous empêche
pas de télécharger le fichier à l’aide du bouton dédié (situé toujours en haut à droite).
Ne parvenant pas à ouvrir ce fichier avec LibreOffice, vous pouvez tout de même essayer d’inspecter son
contenu, pour cela, renommez l’extension du fichier ods en zip :

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 13 / 14


CyberSécurité : PGP / GPG v 1.6

Dans le navigateur de fichier, le menu contextuel (clic droit), vous permet de décompresser l’archive dans
le répertoire courant (via l’entrée « Extraire ici »). Le contenu d’un fichier au format OpenDocument est
stocké dans le fichier content.xml. Cependant, vous ne parviendrez pas ici à consulter le contenu avec un
éditeur de texte comme Geany (qui ne reconnaît pas ici un fichier texte). Vous pouvez néanmoins forcer
cette lecture impossible en ligne de commandes avec cat. Pour cela, toujours à l’aide du menu contextuel,
choisissez « Ouvrir un terminal ici » et lancez la commande :
cat content.xml

Le résultat me semble assez probant non (voir la figure ci-dessous) ?

Bon courage pour retrouver les notes de tux ou les noms de ses collègues de formation…

Travail à faire
6..22 Reproduisez cette expérience sur un autre fichier tableur (ou traitement de texte), tes-
tez et partagez avec votre binôme (vous devez d’abord enregistrer votre fichier locale-
ment en clair, puis faire enregistrez-sous en cochant la case « GPG »).

BTS SIO – Cité Scolaire Albert Londres CC-by-sa – moulinux Page 14 / 14

Vous aimerez peut-être aussi