Signer ses mails

Objectifs

  • Comprendre ce qu'est une signature au sens OpenPGP ;

  • Savoir signer ses mails.

Mise en situation

Dans le cadre de communications électroniques, la confidentialité du message n'est pas le seul élément important. Il est également nécessaire de pouvoir être certain de l'identité de la personne qui nous envoie le message.

Les attaques par hameçonnage consistent typiquement à se faire passer pour une personne de confiance, afin de recueillir des informations confidentielles, comme par exemple un mot de passe.

La cryptographie asymétrique est également utilisable pour signer des messages.

On utilise dans ce cas sa clé privée pour chiffrer une signature qui est diffusée en même temps que le message. N'importe qui disposant de la clé publique peut déchiffrer la signature et ainsi vérifier que le message a bien été signé par le détenteur de la clé privée correspondante. On note donc que les clés privées et publiques peuvent être utilisées toutes deux pour chiffrer et pour déchiffrer.

OpenPGP et GnuPG permettent également de gérer les signatures.

Il est possible par exemple d'utiliser GnuPG avec un logiciel de mail, comme Thunderbird, pour envoyer des messages chiffrés et signés.

FondamentalSignature grâce à GPG

La signature consiste à chiffrer (avec la clé privée) le condensat du message et de joindre ce cryptogramme au message à envoyer. Le destinataire n'aura qu'à déchiffrer la signature avec la clé publique pour bien vérifier que le message a été envoyé par le propriétaire de la clé privée. Cette identification du signataire est permise car le chiffrement asymétrique garantit qu'il n'existe qu'une clé publique pouvant déchiffrer un message de la clé privée (et l'inverse est également vrai).

Dans le même temps, la signature garantit l'intégrité du message : le condensat du message reçu est comparé avec le condensat chiffré (signature). Si les deux condensats sont différents, le message a été altéré en chemin et on ne peut pas lui faire confiance.

ConseilUtilité

Signer un mail permet d'assurer son identité à ses interlocuteurs. Si ces interlocuteurs signent également leur mails, cela permet d'éviter à coup sûr des tentatives d'hameçonnage. Ceci est complémentaire de l'usage de mails au contenu chiffré.

MéthodeSigner manuellement

Voici comment signer un message :

1
# sig.asc est le fichier contenant la signature
2
gpg --detach-sign -o sig.asc msg.txt

Voici comment vérifier la signature d'un message :

1
gpg --verify sig.asc msg.txt

Si la signature est correcte et que le message n'a pas été modifié, on obtiendra un message similaire à :

1
gpg: Signature made Fri 15 May 2020 04:10:56 PM CEST
2
gpg:                using RSA key CC15797D1FFEB346F5A87AFE0547178FEEDE7D6B
3
gpg: Good signature from "Quentin Duchemin <quentinduchemin@tuta.io>" [ultimate]

MéthodeEnigmail

Enigmail est un add-on du client mail Thunderbird. Avec cet add-on, il est possible de générer et gérer ses clés directement avec l'interface graphique. Cet outil a également une mise en place pour débutants qui facilite une première utilisation de clés GPG. Voici le guide pour installer et mettre en place Enigmail : https://enigmail.net/index.php/en/user-manual/quick-start.

Une fois l'add-on bien configuré, lors de chaque envoi de mail, il suffira d'appuyer sur un simple bouton pour chiffrer ou signer le message. Pour chiffrer, il est nécessaire de posséder la clé publique du destinataire.

À chaque réception d'un mail, si Enigmail trouve une clé publique correspondant à l'adresse mail de l'expéditeur, la signature GPG sera automatiquement vérifiée.

Attention

Les versions les plus récentes de Thunderbird (supérieures à la version 78) intègrent directement la gestion de OpenPGP, sans avoir besoin d'installer Enigmail. Le fonctionnement reste très similaire à celui de l'extension.

ComplémentPublier sa clé publique

Pour faciliter les échanges de clés publiques, il est possible de les publier sur des serveurs de clés qui centralisent un grand nombre de clés publiques. Par exemple, celui du MIT est très utilisé : https://pgp.mit.edu/. Si une clé doit être retirée, il est également possible d'envoyer le certificat de révocation à ce type de serveur.

Ces serveurs de clés sont un des moyens (avec le système de certification de clés) qui permet de s'assurer qu'on possède la bonne clé publique de l'expéditeur d'un mail et qu'un attaquant n'a pas transmis une fausse clé publique pour hameçonner sa cible.

ComplémentLes sous-clés

Pour aller plus loin dans l'utilisation de clés GPG, il est très pratique d'utiliser des sous-clés. La première clé primaire est nommée « clé maîtresse » et peut générer des sous-clés dont l'usage peut être restreint : signer uniquement, chiffrer et/ou certifier. Cela facilite les manipulations en cas de fuite de clé.

Si une sous-clé fuite, il suffira de la révoquer et d'en générer une nouvelle.

Si la clé maîtresse fuite, il faut générer une nouvelle paire de clés et transmettre sa nouvelle clé publique à tous ses contacts.

À retenir

  • Signer ses mails permet aux interlocuteurs d'être certain de l'identité de l'expéditeur et de vérifier l'intégrité du document.

  • La signature GPG de ses mails peut facilement être mise en place grâce au plugin Enigmail pour Thunderbird.

Stéphane Crozat, Marc Damie, Quentin Duchemin Paternité - Partage des Conditions Initiales à l'Identique