PGP pour les nuls – Apprendre à chiffrer et signer ses mails en 5 minutes
– M’sieur m’sieur, y a Facebook qui dit qu’on peut entrer notre clé PGP dans notre profil maintenant. Je croyais que c’était réservé aux ingénieurs informaticiens comme Didier Super. Mais si Facebook dit qu’on peut c’est que ça doit pas être compliqué et plutôt utile… Mais m’sieur, c’est quoi PGP ? Et pis m’sieur, c’est compliqué ? Et c’est long ? Parce que j’ai pas trop le temps, il y a le téléchargement de l’épisode 8 de la saison 5 de Game of Thrones qui vient de se terminer et j’ai vachement envie de le voir.
– Ok, tu veux donc apprendre à te servir du plus puissant système cryptographique de l’Empire et de ses confins, celui qui fait trembler la NSA, le plus chiant à enseigner et à mettre en œuvre, juste vite fait, comme ça, entre deux portes ?
– C’est ça !
– Ok, relevons le défis. Je n’entrerai pas dans les détails, on va faire dans l’utile, le concret, l’opérationnel. Pour le reste, il y a Wikipédia. Pose ta première question.
A quoi ça sert PGP ?
Concrètement, PGP sert à deux choses indépendantes l’une de l’autre :
- chiffrer un message. Cela veut dire que ce message devient totalement illisible à toute personne qui n’est pas le destinataire de ce message, même pour l’expéditeur du message.
- signer un message. La signature électronique garantit au destinataire de ton message que tu es vraiment son auteur et pas un petit malin qui se fait passer pour toi pour, par exemple, tenter de leur soutirer quelques centaines d’euros en leur faisant croire que tu es dans la merde et que c’est urgent (ce type d’arnaque est très courant et fonctionne plutôt bien). C’est donc utile contre le phishing, ces mails qui imitent ceux de ta banque ou de d’un autre service et te demandent d’entrer tes codes pour te les voler, et c’est pour ça que Facebook commence à l’utiliser. La signature garantit aussi que le message n’a pas été modifié, ce qui est utile dans bien des cas, notamment lors de communications avec des administrations.
Comment ça fonctionne PGP ?
– On commence par le chiffrement pour illustrer le principe. Imagine un coffre-fort avec ton nom gravé dessus et une clé qui permet de l’ouvrir. C’est bon ?
– Gnnnn… ayé !
– Imagine que tu donnes ton coffre-fort à tous tes amis.
– Oui et ?
– Maintenant, quand un de tes amis veulent t’envoyer un mail chiffré, il a juste à mettre son message dans ton coffre-fort, il claque la porte et il te l’envoie.
– Je fais comment pour lire le message ?
– Tu as la clé non ?
– Ah oui, pas con…
– Bon, par contre, la seule limitation de ce système est que, même si c’est automatique, comme tu déchiffres les messages un par un juste au moment de les lire, tu peux oublier le moteur de recherche intégré à ton logiciel de mails pour rechercher du contenu.
– Ok, mais moi je m’en fous un peu du chiffrement, je préfère la fonction signature pour éviter le phishing et les arnaques. On fait comment ?
– Allons-y pour la signature alors.
– Oui merci, je suis pressé, Winter is coming.
– Oh ben t’as le temps alors… Au moment d’envoyer un mail, tu cliques sur « signer » (ou alors tu as coché « signature automatique de tous les messages » et tu n’as rien à faire) et un tas de calculs compliqués s’appliquent sur le message à partir de l’empreinte de ta clé, comme un sceau de cire personnalisé à chaque message. Comme tu as fabriqué ton coffre-fort en même temps que ta clé, le logiciel de ton ami va utiliser ton coffre-fort pour vérifier la validité de la signature.
– Ça ressemble à quoi une clé et un coffre-fort en PGP ?
– Ce sont deux petits fichiers qui contiennent du charabia. La clé du coffre s’appelle clé privée ou secrète, ET TU NE LA DONNES PAS (!!!), et le coffre-fort s’appelle clé publique et tu peux l’éparpiller à tous les vents si ça te chantes, et c’est même conseillé. C’est ce fichier que tu donnes à Facebook notamment.
Comment je fabrique mes clés ?
– Il y a plein de logiciels pour faire ça, alors on va adapter. Quel logiciel utilises-tu pour lire et écrire tes mails ?
– Ah ben moi je consulte mon Gmail avec le navigateur Firefox.
– Ok, on va installer Mailvelope, le module pour Firefox qui s’occupe de PGP. Il s’intègre à tout un tas de webmails comme Gmail, Yahoo, Outlook, etc. et tu peux même ajouter ton webmail s’il ne figure pas dans la liste. On verra les autres logiciels, à la fin de cette discussion. Bon, c’est fait ?
– Oui mon général.
– Bien soldat, tu vois la petite icône en forme de cadenas dans ta barre d’outils ?
– Oui mon général.
– Eh ben tu cliques dessus !
– Oui mon général !
– Et maintenant tu cliques sur Général… Euh non, sur « Générer une clé ».
– Pas trop dur ça…
– Pas trop dur qui ?
– Pas trop dur mon général !
– J’aime mieux ça…
– Maintenant tu renseignes ton nom et l’adresse mail que tu veux associer à cette clé.
– J’ai mis « Poupette Lover » et « poupette-lover@chihuahua-fanclub.com ».
– …
– Pour le mot de passe… euh… je pensais à « Poupette4 », c’est mon chihuahua, elle a 4 ans.
– Et ma main sur la figure ? Ta clé privée représente ta carte d’identité numérique, ton empreinte digitale ! En 2015, la puissance de calcul de machines surpuissantes entassées dans d’immenses hangars se loue à l’heure pour une poignée d’euros en ligne aussi bien pour lutter contre le cancer que pour péter du mot de passe par paquets de 100 000. Il faudra moins de temps pour casser « Poupette4 » que mon pied en mettra pour shooter dedans.
– Je fais quoi alors ? J’ai trop peur pour Poupette.
– C’est le moment le plus dur de toute l’opération : choisir une VRAIE phrase de passe. Un truc facile à retenir mais connu de toi seul et surtout long. Voici deux exemples longs, mélangeant chiffres, minuscules, majuscules et caractères spéciaux, ne voulant rien dire mais très simple à retenir :
3 Macaques M'ont Fait Macache :-( Une brume idiote me berçait dans la Pampa
Comment envoyer un mail chiffré et/ou signé ?
– D’abord, tu vas dans Mailvelope et tu cliques sur « Afficher les clés », puis tu cliques sur ton nom, puis sur « Exporter » après avoir pris soin de cliquer le bouton « Public » (on ne veut pas exporter le reste).
– C’est bon.
– Ensuite, tu cliques sur « Download » et te voici avec ta clé publique.
– C’est mon coffre-fort que j’envoie à tout le monde.
– Oui, tu envoie le fichier ou le charabia. Le fichier, c’est juste un fichier texte dans lequel il y a le charabia. Tu peux l’ouvrir avec le bloc-notes pour voir dedans si tu veux.
– Ah, c’est ce charabia-là que je mets dans l’option proposée par Facebook dans « Informations générales et coordonnées » !
– Exact. Tu mets ta clé publique dedans pour que tes amis la récupèrent et tu récupères celle de tes amis de la même manière et tu les ajoutes à Mailvelope avec le bouton « Importer ».
– Il faut tout faire à la main ?
– Avec Mailvelope, oui, c’est un petit module simple. D’autres logiciels permettent de tout automatiser.
Tu peux aussi joindre le fichier de ta clé publique à tes mails, l’envoyer sur un serveur de clés comme https://php.mit.edu (qui permet d’envoyer sa clé ou de récupérer celle des potes automatiquement) ou coller le charabia sur une page de blog et donner le lien de cette page, mettre son identifiant dans ta bio sur Twitter, voire l’envoyer dans l’espace intergalactique gravée sur un disque d’or et de platine, etc. Tous les moyens sont bons.
– Bon, tout ça c’est fait, je veux envoyer un mail maintenant signé maintenant.
– Ton pote a récupéré ta clé publique ?
– Oui.
– Ok. Va dans Gmail et clique sur « Nouveau message ».
– Ayé !
– Ecris ton message.
– Ayé ! J’ai écris « Poupette je t’aime ». Hihihi !
– Eh ben il va être ravi ton pote…
– Voui ^_^
– Maintenant clique sur le petit bouton qui représente un stylo jaune sur une feuille blanche. Il doit se trouver à droite.
– Oh une nouvelle fenêtre !
– Oui, c’est pour rédiger ton message ailleurs que dans Gmail et éviter l’interception de la frappe au clavier en temps réel. Un peu de confidentialité par rapport à Google, mais ça se désactive dans les réglages de Mailvelope si tu veux.
– Bon et maintenant ?
– Tu cliques sur « Signer ».
– Et pas sur « Chiffrer » ?
– Tu voulais juste signer non ?
– Ah oui…
– Oh, il me demande mon mot de passe !
– En effet, tu dois être le seul à pouvoir utiliser ta clé privée sinon ça n’a aucun intérêt.
– Ça se tient mais il faut entrer son mot de passe à chaque mail ?
– Non, tu peux cocher la case « se souvenir du mot de passe pour cette session ». Mais il faudra l’entrer au moins une fois pour prouver ton identité, exactement de la même manière que tu dois entrer un mot de passe pour accéder à n’importe lequel de tes comptes mails, Facebook, etc.
– Ah cool ! Bon j’ai envoyé mon mail.
Comment mon pote sait que la signature est bonne ?
– Ben regarde sur mon écran vu ton pote (cobaye), c’est moi !
– Hihi ! Il y a écrit « Poupette je t’aime » !
– En effet…
– Et il y a une enveloppe avec un sceau de cire par-dessus un petit charabia en bas du mail.
– Clique dessus.
– Oh ! Il y a un bandeau vert avec mon mail et l’identifiant de ma clé à la place du petit charabia.
– Eh oui. Et tu sais ce que ça signifie ?
– Si j’ai bien compris, ça prouve deux choses. D’abord que c’est bien le possesseur de la clé privée dont l’identifiant est marqué à côté du mail qui a envoyé le message (en l’occurrence moi, poupette-lover@chihuahua-fanclub.com) et pas un vilain qui se ferait passer pour moi. Et ça prouve aussi que le contenu du mail n’a pas été modifié par un humain ou un robot qui voudrait changer « Poupette je t’aime » par « Poupette je ne t’aime pas ».
– Bravo ! Tu sais maintenant utiliser le logiciel de cryptographie le plus chiant à manipuler.
Et comment on sait s’il y a un problème ?
– Un bandeau rouge indiquera que la vérification de la signature a échoué. Le message sera plus ou moins détaillé selon les logiciels. Mailvelope, c’est du basique, mais ça fonctionne très bien. Mais en cas d’échec de la signature, il faudra être méfiant et vérifier l’origine du problème avec l’expéditeur du mail.
– Et si je reçois un mail d’un ami qui me demande de le dépanner de quelques centaines d’euros dans l’urgence, comment savoir si c’est vrai ou s’il ne s’est pas fait voler sa boite mail et que c’est une arnaque ?
– Simple. Soit l’arnaqueur ne possède pas la clé privée et est incapable de signer le message pour prouver son identité, soit il a aussi volé la clé privée (vol de ton pc par exemple) mais est incapable de l’utiliser pour signer le message car il ne connaît pas ta phrase de passe ! Dans les deux cas, il lui est impossible de prouver son identité en dépit de tous ses efforts pour se faire passer pour ton ami 🙂
– Et pour du phishing ?
– Tout pareil. L’arnaqueur aura beau tenter de se faire passer pour ta banque en copier son adresse mail et en réalisant un joli message avec tous les jolis logos qu’il faut, voire en signant son message avec une clé PGP pour l’occasion, ton logiciel PGP ne se fera pas berner pour autant.
– Ah bon ? Pourtant je me suis déjà fait avoir une fois, ces messages sont très bien faits et le mien était même personnalisé !
– PGP se fiche complètement de la note artistique du mail, seule la signature électronique l’intéresse. Du coup, soit un message t’avertit que la clé utilisée est inconnue, ce n’est pas celle de ta banque (tentative d’arnaque détectée !), soit aucun message n’apparaît, signe l’arnaqueur n’a pas utilisé de clé par paresse ou incompétence (arnaque re-détectée !).
– Mais ça implique que ma banque et les autres services web utilisent PGP pour signer leurs messages ?
– Exact. Pour le moment la seule grosse entreprise populaire à le proposer est Facebook, mais vu son influence et la fiabilité de PGP, on ne peut qu’espérer que ça se généralise 🙂
Et si je veux utiliser PGP sur mon smartphone ou mon pc ?
Il suffit d’importer ta clé privée dans les logiciels suivants et hop, magie !
- Sur PC ou Mac, tu peux installer le logiciel de mail Thunderbird avec le module Enigmail qui s’installe directement depuis l’option « Modules » de Thunderbird.
- Pour Android, il faut utiliser l’application K-9 Mail avec le module APG.
- Sur iOS, tu peux utiliser IPGmail.
Pour aller plus loin, sur PC encore, tu peux installer GPG4Win. Il permet de chiffrer et signer du texte et des fichiers, de gérer tes clés et de les synchroniser avec les serveurs, de comparer des sommes de contrôle pour authentifier un téléchargement, de…
– Chuuut… Il y a Jon Snow qui marche dans la neige !
Poste script-home sweet home
- Ami dissident des forces du Mal qu’un remous intempestif du réseau a échoué sur cette page, tu auras compris que Mailvelope peut causer ta mort dans d’atroces souffrances si tu combats les chinois du FBI du commissariat du 11è avec ces armes car il utilise du PGP Inline et pas MIME (comprendre, texte brut seulement à ne saisir que dans la petite fenêtre et rien d’autre). Tu n’utilises par conséquent que de sub-keys générées avec Tails sur une machine déconnectée du réseau et achetée au marché noir, qu’on garde la master-key dans un coffre en Suisse conseillé par Cahuzac et les certificats de révocation autour du cou, qu’on tape sa phrase de passe caché sous une couverture de 1,5cm minimum (rayon literie chez Casto) dans une pièce recouverte de papier alu (rayon emballage chez Intermarché). En plus il faudra échanger l’empreinte de ta clé publique écrite au jus de citron sur du papier flash dans l’anonymat d’un quai de gare à l’heure de pointe après t’être confectionné un masque en latex…
- Ah oui aussi je tiens à dire qu’aucun chihuahua n’a été maltraité durant cet épisode, même si ça fait toujours envie.
Comment tu crypte ton message?
On crypte pas un message on chiffre ! Moyen mémotechnique:
J’en…crypte -> https://fr.wiktionary.org/wiki/crypte le prochain qui dit/écris crypte !
Le chiffrement est similaire à la signature sauf qu’on utilise la clé publique du destinataire utile pour vérifié une signature et chiffrer) à la place de sa clé privée (utile pour signer et déchiffrer)
mais si on est sous IE ?