Le contenu de cette page est potentiellement obsolète.

Le wiki sert d'archive et certaines pages ne représentent plus la vision actuelle du Parti Pirate. Pour connaître les positions des Pirates, aujourd'hui, vous pouvez consulter :

Et pour toute autre question, vous pouvez nous contacter et discuter avec nous :

contact@partipirate.org | @PartiPirate sur Twitter | Parti Pirate sur Facebook | Discourse (espace libre d'échanges et discussions) | Discord (espace d'échanges instantanés textuel et vocal)

Sécuriser vos courriels avec GPG

De Wiki du Parti Pirate
Révision datée du 15 mars 2013 à 11:29 par Vincent Andrès (discussion | contributions) (Liens Connexes)
Sauter à la navigation Sauter à la recherche

GPG : "Il permet à ses utilisateurs de transmettre des messages signés ou chiffrés. Cela permet ainsi de garantir l'authenticité dans le premier cas ou, dans le second cas, la confidentialité du message."

Dans un contexte international de violation des communications électroniques privées par des gouvernements abusifs, et tout aussi régulièrement par des petits cons, j'ai désiré faire la promotion de l'outil de chiffrage GPG (pour GNU Privacy Guard, lui-même s'appuyant sur l'OpenPGP, un format de cryptographie. Voir la RFC 4880 - https://tools.ietf.org/html/rfc4880 ). Il permet à l'aide d'une « clé de chiffrement publique » (utilisé par l'expéditeur, qui est celle du destinataire), et d'une « clé de déchiffrement privée » (utilisé par le destinataire, pour « déverrouiller » la clé publique), de sécuriser et de garantir la provenance des échanges de données, et plus particulièrement les emails, thème phare de ce guide.

Ce guide n'a pas pour objet de vous expliquer en quoi que ce soit le fonctionnement de l'OpenPGP, et encore moins de vous fournir de bonnes raisons de l'utiliser. Si vous êtes là, c'est que vous avez vos raisons, quelles soient de nature professionnelles ou privées. Vous pouvez évidemment l'utiliser avec le guide de wikibooks : https://fr.wikibooks.org/wiki/GPG


Enigmail, le plug-in Thunderbird

L'usage d'un client email au lieu d'une interface web comporte plusieurs avantages : D'une part, vous limitez considérablement le risque de vous faire avoir par la technique du « phishing ». Celle-ci consiste en la création d'interfaces web factices, dans le but (honteux et assez évident) d'intercepter vos mots de passe. De plus, vous ouvrez un programme conçu spécialement pour la tâche que vous désirez effectuer, ce qui vous évite de dériver sur 9gag.com, viedemerde.fr, ou d'aller voir le Zap de Spi0n quand vous vouliez juste confirmer une promotion gracieusement offerte et qui pourrait régler vos problèmes d'argent... La loose, pas vrai ? Enfin, l'usage d'un client permet de faire ce pourquoi j'aborde ce chapitre : permettre l'usage du plug-in Enigmail pour Thunderbird, qui, avec GPG, permettra l'usage de l'OpenPGP.

Récupérer GPG, Thunderbird et Enigmail

Vous voici donc avec votre ordi, ce manuel,et la profonde conviction que je sais de quoi je parle. Pour commencer, nous allons nous occuper de l'utilitaire OpenPGP adapté à votre système : Pour une distribution GNU/Linux : GPG semble être inclus dans la majorité des systèmes GNU/Linux. Mais néanmoins, si vous démarrez «From Scratch», ou que pour une raison obscure impliquant des forces mystiques, ainsi que la désinstallation de GPG, vous ne le possédez pas : vous pouvez assurément trouver le package à l'adresse http://www.gnupg.org/download/index.fr.html Si vous êtes client chez Apple, vous pourrez trouver les GPGTools ici : https://www.gpgtools.org/ (Attention, c'est un .pkg, il vous faudra donc un mot de passe administrateur pour finaliser l'installation) Et pour les windowsiens, il existe GPG4Win, que vous pourrez trouver ici : http://www.gpg4win.org/download.html et nécessite aussi les droits admin pour s'installer. Je n'ai aucune expérience concernant Solaris et les BSD, je suis donc désolé d'avoir à faire impasse sur votre système d'exploitation. (même si je soupçonne fortement les BSD d'avoir GPG en natif) (Vous remarquerez que je n'inclue pas mes liens de téléchargement dans des mots, genre «Allez voir → ici, étant donné qu'il est fort probable que vous soyez en possession d'une version imprimée de ce guide)


Pour ce qui est de Mozilla Thunderbird, vous pouvez le récupérer à l'adresse https://www.mozilla.org/fr/thunderbird/ Le site vous propose directement la version concernant le système d'exploitation qui visite le site. Mais vous pouvez en changer facilement. [Cliquer sur «Autres langages et systèmes »].


Nous voici donc avec Thunderbird d'ouvert. Il vous propose de configurer un compte email, ou carrément d'en créer un (un partenariat avec l'hébergeur Gandi). Je part du principe que vous possédez un compte email. Oui, je suis chiant. La configuration se fait plutôt rapidement, car Thunderbird a en mémoire une myriade de paramètres pré-configurés correspondant aux fournisseurs de compte email les plus utilisés. Si votre hébergeur n'est pas dans la liste (ça arrive, ma foi), celui-ci propose normalement une aide à la configuration des client email, avec les ports et adresse protocolaires dont vous aurez besoin (c'est tout aussi simple).

Passons au plug-in Enigmail, maintenant. Disponible à l'adresse https://addons.mozilla.org/fr/thunderbird/addon/enigmail/

Selon votre OS, vous aurez le choix avec une interface graphique, ou les lignes de commandes.

Avec Windows

[Section a étoffer !]

Revenons à Thunderbird

Pour créer une clé PGP avec Thunderbird et Enigmail, télécharger le tutoriel : Fichier:Tuto OpenPGP Thunderbird.pdf

La Ligne de commande, LE truc universel

Pour ce qui des plate-formes UNIX (Les distributions GNU/Linux ; GNU/Linux-libre ; GNU/HURD, l'OS X et les BSD), le standard reste la ligne de commande. Pourquoi ? Pour ces 4 raisons :

  • Les interfaces graphiques changent, varient, et on retrouve plusieurs clics pour effectuer la même tâche qu'une ou deux lignes de commandes.
  • La ligne de commande ne change pas d'une interface graphique à l'autre, d'un système à un autre (ceci est valable pour les programmes « externes » en ligne de commande, pas pour les commandes internes qui varient de Windows à UNIX.
  • Pensez au gain de place : Un programme en ligne de commande est ridiculement petit comparé à son équivalent graphique (qui s'occupe en fait de fournir une interface pour la souris entre l'utilisateur et le programme). Je ne donnerais pas de tailles précises, mais vous pouvez faire la comparaison par vous-même.
  • Enfin, une grande majorité des tutoriels pour des distributions GNU/Linux(-Libre), GNU/Hurd ou OSX s'appuient sur la Ligne de Commande, puiqu'elle ne nécéssite pas d'uploader d'image en ligne, et qu'on peut se permettre de n'avoir que de l'encre noir pour imprimer les manuels.

Bon, nous voilà devant notre terminal, alors la question : « Comment qu'on fait ? »

Bon déjà, ou le trouve -t-on ?

Si vous avez une interface graphique, vous le trouverez sous le nom de « Terminal » pour GNOME, Aqua (Mac OS X) et xfce ou « Konsole » pour KDE. Si vous n'avez pas d'interface graphique, qu'est-ce que vous voulez que je vous dise ? Vous êtes en plein dedans !

La Création

La première commande consiste à générer une paire de clés

[heretique@datalove:~]$ gpg –gen-key
gpg (GnuPG) 0.9.4; Copyright (C) 1999 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

 Sélectionnez le type de clé désiré:
   (1) DSA et Elgamal (par défaut)
   (2) DSA (signature seule)
   (5) RSA (signature seule)
 Votre choix ? 

Je prend personnellement l'option n°1, qui consiste en la création d'une paire de clés, la DSA pour signer des emails et documents (assurer leur provenance à vos correspondants), la ElGamal pour signer et Chiffrer les emails/documents.


Votre choix ? 1
La paire de clés DSA fera 1024 bits.
les clés ELG-E peuvent faire entre 1024 et 4096 bits de longueur.
Quelle taille de clé désirez-vous ? (2048) 4096
Spécifiez combien de temps cette clé devrait être valide.
        0 = la clé n'expire pas
     <n>  = la clé expire dans n jours
     <n>w = la clé expire dans n semaines
     <n>m = la clé expire dans n mois
     <n>y = la clé expire dans n années
La clé est valide pour ? (0) 0
La clé n'expire pas du tout    
Est-ce correct ? (o/N) o

Et c'est à présent là que nous allons définir l'identité de la clé, et de son porteur

Vous avez besoin d'un nom d'utilisateur pour identifier votre clé; le programme le construit à partir du nom réel, d'un commentaire et d'une adresse e-mail de cette manière:

  « Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> »


Nom réel: H6r6tiqu6
Adresse e-mail: h6r6tiqu6@gmail.com
Commentaire: Clé de test           
Vous utilisez le jeu de caractères 'utf-8'.
Vous avez sélectionné ce nom d'utilisateur:
   "H6r6tiqu6 (Clé de test) <h6r6tiqu6@gmail.com>"
Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ?


Effectuez vos modifications là où elles sont nécessaires en entrant la lettre correspondant au champ.

Vous avez besoin d'une phrase de passe pour protéger votre clé secrète.
Entrez la phrase de passe: 


La phrase de passe ne s'affichera pas, car c'est une convention de sécurité chez les systèmes UNIX. On vous demandera de la retaper, puis, ce message s'affichera à l'écran :

Un grand nombre d'octets aléatoires doit être généré. 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'avoir assez d'entropie.


Concrètement, qu'allez-vous faire ? C'est simple, vous allez bourriner votre clavier, lancer des programmes qui consomment de la RAM (mémoire vive), et si possible, siffloter le même air que quand vous êtes dans les toilettes publiques.

gpg: clé DD309E1C marquée comme ayant une confiance ultime.
les clés publique et secrète ont été créées et signées.
gpg: vérifier la base de confiance
gpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèle
de confiance PGP
gpg: profondeur: 0  valide:   3  signé:   2
confiance: 0-. 0g. 0n. 0m. 0f. 3u
gpg: profondeur: 1  valide:   2  signé:   0
confiance: 2-. 0g. 0n. 0m. 0f. 0u
gpg: la prochaine vérification de la base de confiance aura lieu le 2012-10-28
pub   1024D/DD309E1C 2012-10-27 [expire: 2012-10-28]
   Empreinte de la clé = 45F5 4197 10C4 117B FCB0  9315 9A37 045E DD30 9E1C
uid                  H6r6tiqu6 (test) <h6r6tiqu6@gmail.com>
sub   4096g/79AFAF77 2012-10-27


Et voilà, votre paire de clés est créée ! Les informations affichées ci-contre vous informent de vos précédents choix. Je vous conseille de stocker ces informations, ça peut être utile. Même si ça ne vous semble pas très important pour le moment, la Loi de Murphy se chargera de vous rappeler à quel point il aurait été sage de conserver ces infos.

Le Certificat de Révocation

Maintenant, il faut créer un certificat de révocation, parce que si une personne mal intentionnée tombe (plus ou moins par hasard) sur votre clé Privée, ou votre mot de passe, il peut usurper votre identité pour signer et chiffrer en votre nom.

gpg --gen-revoke DD309E1C

sec  1024D/DD309E1C 2012-11-04 H6r6tiqu6 (test) <h6r6tiqu6@gmail.com>

Générer un certificat de révocation pour cette clé ? (o/N) o
choisissez la cause de la révocation:                           
  0 = Aucune raison spécifiée
  1 = La clé a été compromise
  2 = La clé a été remplacée
  3 = La clé n'est plus utilisée
  Q = Annuler
(Vous devriez sûrement sélectionner 1 ici)
Votre décision ? 1
Entrez une description optionnelle ; terminez-là par une ligne vide:
> Mallory a peut-être eu accès à la clé
>                                          
Cause de révocation: La clé a été compromise
Mallory a peut-être eu accès à la clé
Est-ce d'accord ? (o/N) o
                         
Vous avez besoin d'une phrase de passe pour déverrouiller la
clé secrète pour l'utilisateur: « H6r6tiqu6 (test) <h6r6tiqu6@gmail.com> »
clé de 1024 bits DSA, ID DD309E1C, créée le 2012-10-28

Entrez la phrase de passe: 
sortie avec armure ASCII forcée.
Certificat de révocation créé.

Déplacez-le dans un support que vous pouvez cacher ; si Mallory a
accès à ce certificat il peut l'utiliser pour rendre votre clé
inutilisable.
Une bonne idée consiste à imprimer ce certificat puis à le stocker
ailleurs, au cas où le support devient illisible. Mais attention :
le système d'impression de votre machine pourrait stocker ces
données et les rendre accessibles à d'autres personnes !

Et un court certificat, devrait apparaitre ci-dessous. Il est conseillé de le garder dans une archive sécurisée (avec mot de passe), le tout dans une clé USB chiffrée, le tout dans un coffre en Suisse, gardée par trois snipers, cinq bulldogs et une compilation des plus grands hits de la musique militaire soviétique façon reggae. Parce que l'obtention du certificat de révocation par [Mallory https://fr.wikipedia.org/wiki/Alice_et_Bob#Adversaires] (le nom utilisé en cryptographie pour désigner l'attaquand/l'intercepteur de vos données, et plus généralement, celui qui essayera de contourner le chiffrage de vos communication)signifiera la fin de l'utilité de votre clé, à votre insu.


Les identififiants GPG des contributeurs

H6r6tiqu6 : 27BAE46E


Liens Connexes