25 novembre 2014

Comment chiffrer ses emails - 3e partie

Alors résumons : nous avons vu dans la première partie l'importance de disposer chacun de deux clefs, l'une privée et l'autre publique, et dans la deuxième partie comment créer ces deux clefs.

Nous allons enfin passer au chiffrement d'un email et à son envoi à un destinataire (qui saura le déchiffrer).

Pour chiffrer un email destiné à quelqu'un, il vous faut connaître la clef publique de ce quelqu'un.

Il y a plusieurs façons pour cela :
- soit il vous l'envoie par email,
- soit il utilise un annuaire de clefs publiques, c'est-à-dire un site web qui regroupe les clefs publiques
- soit il la publie sur un site web perso (un blog par exemple)
- soit il vous la donne en personne, via un support USB par exemple.

Du point de vue sécurité informatique, la 4e méthode est la plus sure, puisque la clef publique vous est remise en main propre par son propriétaire. La clef publique ne peut pas être modifiée et trafiquée par un tiers. Je reviendrai sur ce point dans un autre billet.

Mais pour votre premier message chiffré, je vous propose de travailler par email et d'échanger avec un ami vos clefs publiques. Il vous envoie sa clef publique, et vous lui envoyez la votre.

Si vous êtes comme moi et que vous n'avez pas d'amis, je vous propose d'utiliser un robot dont la fonction sera d'être votre ami. Ce robot s'appelle Adele.

Nous avions terminé la 2e partie en visualisant votre clef publique à l'aide d'un éditeur de texte. Et bien, copiez/collez cette clef dans un email vierge, mettez le sujet que vous voulez, et envoyez l'email à l'adresse suivante :


Figure 42 - Envoi de votre clef publique à Adele


Attendez un peu (une demi-heure), vérifiez le contenu de votre boite aux lettres. Vous devriez avoir une réponse chiffrée d'Adele. Pour la lire, il va vous falloir la décoder. Adele a en effet chiffrée sa réponse en utilisant votre clef publique.

Et cela tombe bien, nous allons voir comment déchiffrer son message avec votre clef privée.

Pour cela, je vous propose une méthode un peu lourde, mais très simple et valable quelle que soit votre messagerie : nous allons chiffrer/déchiffrer ce qui se trouve dans le presse-papier...

Le presse-papier (clipboard en anglais) est cette zone spéciale de la mémoire où sont stockés les objets que l'on souhaite déplacer ou dupliquer. C'est ce qu'utilise la fameuse fonction copier/coller (ou couper/coller). Sous Windows, le "copié" se fait avec les touches "Ctrl" et "C" appuyées ensembles. Le "collé" se fait avec les touches "Ctrl" et "V".

Sélectionnez l'ensemble du message d'Adele puis transférez le dans le presse-papier en faisant un copié (Ctrl C).

Ensuite, par un clic droit sur la petite icône de Kleopatra située en bas à droite de votre écran, sélectionnez "Clipboard" puis "Decrypt/Verify..."

Figure 101 - Clic droit sur l'icone Kleopatra


Kleopatra va chercher alors à déchiffrer le contenu du presse-papier. Pour cela, Kleopatra vous demande d'entrer dans une fenêtre le mot de passe correspondant à votre paire de clefs.

Si tout va bien, il ne se passe rien de particulier. C'est assez décevant. En fait, le message d'Adele a bien été déchiffré, mais dans le presse-papier. Pour le voir, ouvrez un éditeur de texte (le Bloc-notes par exemple) et collez (Ctrl V) le contenu du presse-papier.

Miracle, le message incompréhensible d'Adele apparaît déchiffré. Quelque chose comme :
Hello MEM,

here is the encrypted reply to your email.

I have received your public key ID 8A011613652D1D98, described as
`Zythom '.

Below please find the public key of adele-en
the friendly OpenPGP email robot.

Yours sincerely,
adele-en

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)

mQGiBDyFlIkRBACfVHJxv47r6rux7TwT4jHM7z/2VfyCrmcRegQEsbdLfqu3mEmK
RouuaDQukNINWk2V2ErOWzFnJqdzpapeuPJiOWp0uIEvU3FRPhYlytw9dFfwAHv4
MJ7639tAx9PfXBmZOd1PAoE451+VLhIGlLQiFGFppJ57SZ1EQ71/+/nkSwCg8Mge
XFDxWgC+IH7CSUlLeLbJzU0D/AwpEG732YmcH8JmMCN3LpvuOh11fa4GmE4Su7nb
..........
f/ONaOx8iE4EGBECAAYFAjyFlJUAEgkQ5XM0aZKrP/cHZUdQRwABAb9tAKCSRnnm
YzAkm17ZjUsH1kLCzndPuACgnV8LeedsovXQX1z6PKQdSg54bW0=
=HRFp
-----END PGP PUBLIC KEY BLOCK-----

BRAVO ! Vous avez déchiffré votre premier message !

Et dans celui-ci, Adele vous a envoyé sa clef publique.

Pour pouvoir utiliser la clef publique d'Adele, il faut l'importer dans Kleopatra. Pour cela, sauvegardez le message complet (celui que vous venez de déchiffrer) dans un fichier, que vous nommerez par exemple Adele.asc (l'extension est importante).

Puis, il suffit de cliquer, dans le logiciel Kleopatra, sur le menu "File / Import Certificates..." et de sélectionner votre fichier "Adele.asc"

Kleopatra comprend alors que le fichier en question contient une clef publique, la trouve et la stocke. Vous pouvez maintenant envoyer un email chiffré à Adele.

Rédigez un message quelconque à Adele, dans l'éditeur de texte de votre choix. Sélectionnez puis copiez le message (Ctrl C) dans le presse-papier. Faites un clic droit sur l’icône de Kleopatra située en bas à droite de votre écran. Choisissez cette fois-ci le menu "Clipboard / Encrypt..."

Une fenêtre apparaît et vous demande d'indiquer la clef publique de votre destinataire. Cliquez sur "Add Recipient..." et double-cliquez sur Adele (The friendly OpenGPG email robot). Je vous conseille d'ajouter également votre propre clef publique afin de pouvoir également déchiffrer votre message ultérieurement (sinon seule Adele pourra le déchiffrer, c'est vous qui voyez).

Lorsque le message "Encryption succeeded" apparaît, cela signifie que votre message a été chiffré dans le presse-papier. Il ne reste plus qu'à transférer le contenu du presse-papier en le collant (Ctrl V) dans votre logiciel de messagerie et d'envoyer l'email avec le sujet de votre choix à Adele.

BRAVO ! Vous venez d'envoyer votre premier email chiffré !

Quelques instants plus tard, Adele vous répond avec un email chiffré que vous pouvez déchiffrer en procédant comme indiqué en début de billet.

En résumé :

Pour déchiffrer un email chiffré :
  • sélection du contenu de l'email chiffré, par exemple avec Ctrl A,
  • copie dans le presse-papier avec Ctrl C,
  • clic droit sur l’icône Kleopatra en bas de votre écran à droite,
  • sélection du menu "Clipboard" puis "Decrypt/Verify..."
  • saisie du mot de passe correspondant à votre paire de clefs
  • collage du presse-papier dans un éditeur de texte par Ctrl V pour lire le message déchiffré

Pour chiffrer votre message :
  • rédaction du message dans un éditeur de texte
  • sélection du message, par exemple avec Ctrl A
  • copie dans le presse-papier avec Ctrl C
  • clic droit sur l’icône Kleopatra en bas de votre écran à droite
  • sélection du menu "Clipboard" puis "Encrypt..."
  • ajout de la clef publique de votre destinataire avec le menu "Add Recipient..."
  • ajout de votre clef publique avec le menu "Add Recipient..."
  • collage du message chiffré depuis le presse-papier dans un email vide avec Ctrl V
  • envoie de l'email chiffré à votre destinataire

Rappel : ces deux opérations ne sont possibles que quand l'expéditeur et le destinataire possèdent tous les deux la clef publique l'un de l'autre.

Remarque : des modules d'extension existent et peuvent être ajoutés à certaines messageries pour automatiser les manipulations. C'est en particulier le cas de Thunderbird que j'utilise. C'est beaucoup plus simple que de passer par le presse-papier !

N'hésitez pas à me faire un retour (en clair!) sur votre configuration dans les commentaires, précisant le système d'exploitation, la messagerie et le nom du module d'extension.

A suivre.

13 commentaires:

  1. OS : GNU/Linux (Opensuse 13.1)
    messagerie : mutt
    module : (configuration de mutt pour utiliser gnupg)

    RépondreSupprimer
  2. Bonjour

    Pour l'instant je n'ai fait que des essais de mail "signé" mais jamais chiffré intégralement.

    Suite à ces billets, je vais tester pour être moins bête.

    Mais pour répondre à la dernière question : cela sera Thunderbird et un module associé que je ne connais pas encore.

    Et merci pour tout les posts d'une manière générale.

    RépondreSupprimer
  3. Ubuntu 14.04.1 LTS, Mozilla Thunderbird avec le module Enigmail

    C'était pour le test, je n'utilise pas le chiffrement. Comment faire pour y aller progressivement et éduquer nos correspondants ?

    RépondreSupprimer
  4. OS : GNU/Linux Fedora 21 (Béta)
    Messagerie : Evolution 3.14
    Module : intégré dans Evolution 3.14

    RépondreSupprimer
  5. Windows 7 + Thunderbird + Enigmail

    Merci pour les billets, c'est toujours intéressant !

    RépondreSupprimer
  6. Bonjour,

    Si j'ai bien compris, en suivant ces articles, ont peut envoyer un mail dont on peut être raisonnablement sûr que seul son destinataire légitime pourra le lire. Je me pose plusieurs questions :
    - Si on envoie un mail à plusieurs destinataires, chacun recevra-t-il une version spécifique du mail, encodée pour lui seul, ou bien chacun recevra-t-il une version unique lisible par tous (j'avoue ne pas trop voir comment ce serait possible, mais sait-on jamais) ?
    - Surtout, j'ai l'impression qu'il n'y a que la moitié du travail de fait : Est-il possible pour mon utilisateur d'être raisonnablement sûr que c'est moi qui lui ai envoyé ce mail ?

    RépondreSupprimer
    Réponses
    1. Il est possible de chiffrer le message avec plusieurs clefs publiques de manière à ce que plusieurs destinataires puissent le déchiffrer.
      Je recommande d'ailleurs de toujours ajouter sa propre clef publique afin de pouvoir relire plus tard le message que l'on a soit-même envoyé.

      Le deuxième point concerne la signature du message. Je vais y venir dans un prochain billet.

      Supprimer
  7. CryptoMailer, c'est quand même bien plus simple! Pas besoin de se prendre la tête pour savoir comment transmettre sa clé publique, par exemple: Tout est intégré. C'est idéal pour quelqu'un dont la crypto n'est pas le métier.
    Que ceux qui ne savent pas ce qu'est une clé publique lèvent la main!

    RépondreSupprimer
    Réponses
    1. Il y a beaucoup d'outils très simples, chacun sa préférence. Pour ma part, j'aime bien le chiffrement à clefs publique/privée.

      Supprimer
    2. ca tombe bien, CryptoMailer fonctionne à base de clés publiques/privée ;)

      Supprimer
  8. Pour ma part, si on a l’intention de crypter ses e-mails c’est que l’on veut s’assurer que personne ne puisse le lire sauf la personne à qui le mail est destiné. Dans ce cas, l’envoie de la clef publique par e-mail n’est pas ce que je dirai des plus sûr car un pirate peut le voir. Du coup, le cryptage ne servirait à rien. Donc, je rejoins votre idée de donner la clef publique via un USB. Sinon, je pense que les dirigeants d’entreprises et ceux qui ont un poste clé pour l’entreprise doivent chiffrer leurs e-mails.

    RépondreSupprimer
    Réponses
    1. Vous avez raté un élément essentiel du concept clefs publique/privée: la clef publique est... publique, donc le fait qu'elle soit lue par un pirate n'a aucune importance. Vous pouvez donc l'envoyer par email. Le problème est plus dans la garantie que vous avez d'être certain de la provenance et de la sincérité de l'envoyeur, d'où la préférence pour un site web (s'il est sûr) et surtout pour un échange de la main à la main.

      On ne dit pas crypter/cryptage, mais chiffrer/chiffrement. Quant à la cryptanalyse, c'est la science du déchiffrement d'un message dont on n'a pas la clef.

      Supprimer
    2. Merci beaucoup pour ces précisions. J'ai effectivement raté un point essentiel.

      Supprimer

Lectrice, admiratrice, avocate, magistrate, programmeuse, dessinatrice, chère consœur, femmes de tous les pays, lecteur, j'ai toute confiance en vous pour prendre bien soin de vérifier que votre prose est compatible avec les normes orthographiques et grammaticales en vigueur. Et si vous pouviez éviter les propos insultants ou haineux, je vous en serais reconnaissant.
N'hésitez pas à respecter ces quelques règles qui peuvent même s'appliquer en dehors de ce blog.

Les commentaires sur ce blog sont modérés. Votre message apparaîtra sur le blog dès que le modérateur l'aura approuvé. Merci de votre patience.