Le contenu de cette page est potentiellement obsolète.

Le wiki sert d'archive et ne représente pas 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 :

Sécuriser vos courriels avec GPG

De Wiki du Parti Pirate
(Redirigé depuis GPG)
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, il est utile de connaitre 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. 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

[alice@laptop:~]$ gpg --gen-key
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)
 Votre choix ? 

Je prend personnellement l'option n°1, qui consiste en la création d'une paire de clés, deux RSA qui seront utilisées pour chiffrer les documents/emails et signer ces documents/emails pour en prouver la provenance


Votre choix ? 1

Par la suite, nous allons avoir le choix de la taille de la clé. Comme il se trouve que 4096 bits constitue une très bonne protection et ne coûte pas un bras, c'est ce que nous allons prendre.

 Veuillez indiquer le temps pendant lequel cette clef devrait être valable.

Ici, nous déterminerons la durée de la clé. MÊME SI C'EST LE CHOIX PAR DÉFAUT, PRENDRE UNE DURÉE ILLIMITÉ EST UN MAUVAIS CHOIX ! Lui accorder une durée de vie de 2 ans est un bon choix, étant donné que votre clé privée peut être compromise à tout moment, et lui donner une date prédéfinie d'auto-destruction est pratique en de tels cas.

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

Nom réel: Alice
Adresse e-mail: alice@cryptopirate.org
Commentaire: <laissez ce champ vide<ref>OpenPGP User ID Comments considered harmful http://debian-administration.org/users/dkg/weblog/97}}</ref>>
Vous avez sélectionné ce nom d'utilisateur:
   "Alice <alice@cryptopirate.org"
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: vérification de la base de confiance
gpg: 3 marginale(s) nécessaire(s), 1 complète(s) nécessaire(s),
     modèle de confiance PGP
gpg: profondeur : 0  valables :   4  signées :   0
     confiance : 0 i., 0 n.d., 0 j., 0 m., 0 t., 4 u.
gpg: la prochaine vérification de la base de confiance aura lieu le 20xx-xx-xx
pub   4096R/11C0115D1400642B 20xx-xx-xx [expire : 20xx-xx-xx]
 Empreinte de la clef = 15B2 AEAC 1EE2 1C95 88AF  5393 11C0 115D 1400 642B
uid                          Alice <alice@cryptopirate.org>
sub   4096R/1E3ED4FB502FA153 20xx-xx-xx [expire : 2xx-xx-xx]

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 11C0115D1400642B

sec  4096R/11C0115D1400642B 20xx-xx-xx Alice <alice@cryptopirate.org>

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: « Alice <alice@cryptopirate.org> »
clé de 4096 bits RSA, ID 11C0115D1400642B, créée le 20xx-xx-xx

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.

La révocation « En dur »

Revoking keys the hard way...

Il y a une autre façon de révoquer une clé. Si la méthode du certificat est prévue pour le long terme (imprimez-le et enterrez-le dans le jardin de vos parents), révoquer une paire clé en l'éditant directement se fait en général dans l'instant.

Pour se faire, tapez :

$ gpg --edit-key <ID de votre paire de clés>

gpg> revkey alice
Voulez-vous vraiment révoquer toute la clef ? (o/N) o
choisissez la cause de la révocation :
  0 = Aucune raison indiquée
  1 = La clef a été compromise
  2 = La clef a été remplacée
  3 = La clef n'est plus utilisée
  Q = Annuler
Quelle est votre décision ? 1
Entrez une description facultative, en terminant par une ligne vide :
>  
Cause de révocation : La clef a été compromise
(Aucune description donnée)
Est-ce d'accord ? (o/N) O

Une phrase de passe est nécessaire pour déverrouiller la clef secrète de
l'utilisateur : « Alice <alice@cyptopirate.org> »
clef RSA de 4096 bits, identifiant B4AFF6CC26E7C600, créée le 20xx-xx-xx

Et voilà, la clé à été révoquée, comme l'indique le message ci-dessous :

Cette clef a été révoquée le 2013-07-27 par la clef RSA B4AFF6CC26E7C600 Alice <alice@cyptopirate.org>
pub  4096R/B4AFF6CC26E7C600  créé : 2013-07-27  révoquée : 2013-07-27  utilisation : SC  
                             confiance : ultime        validité : révoquée
Cette clef a été révoquée le 2013-07-27 par la clef RSA B4AFF6CC26E7C600 Alice <alice@cyptopirate.org>
sub  4096R/E585AF14187E892A  créé : 2013-07-27  révoquée : 2013-07-27  utilisation : E   
[ révoquée] (1). Alice <alice@cyptopirate.org>

Cette étape passée, il est fortement conseillé d'uploader votre clé sur un serveur de clés, si vous le faisiez, ou d'envoyer un email à tous vos contacts expliquant que vous avez révoqué votre clé.

Le wiki du hackerspace Le Loop possède un très bon article concernant le renouvellement des clés

Thunderbird et Enigmail, le plug-in

Paramètres des comptes...

Sélectionnez Outils > Paramètres des comptes... (pour windows)

Sélectionnez Édition > Paramètres des comptes... (pour gnu/Linux)


ParamètresComptesCourrier.jpg


Activer le support openPGP
si celui-ci ne reconnaît pas automatiquement votre clef, sélectionner "Utiliser un identifiant de clef particulier...", taper votre identifiant sans oublier de le faire précéder de "Ox" ou manuellement en cliquant sur le bouton "Choisir une clef..."


Puis sur le bouton "Avancé..." pour obtenir cette fenêtre :


Paramètresidentitepgp.jpg

Si vous ne publiez pas votre clé publique sur un serveur, il sera utile pour votre correspondant, que vous ayez préalablement cocher "joindre ma clé publique aux messages".


Barre de menu > OpenPGP


MenuOpenPGP.jpg


Sélectionner OpenPGP > Gestion de clefs


GestiondeClefs.jpg depuis ce menu vous pouvez :

  • Rafraichir les clefs publiques sélectionnées
  • Chercher des clefs
  • Envoyés des clefs publiques <= à utiliser pour publier votre clef publique
  • Rafraîchir toutes les clefs publiques

ou avec un clique droit sur votre clef ou une autre, vous fait voir ce menu : Menuclegpg.jpg

Cliquer sur "Envoyer les clefs publiques sur un serveur de clefs"

Choix de Serveur de clefs publique

Sélectionner OpenPGP > Préférences puis l'onglet "Serveur de clefs"

PreferencesOpenPGP.jpg

Niveau de Confiance d'une clé publique

un clique droit sur une clef, vous fait voir ce menu : Menuclegpg.jpg Cliquer sur "Définir le niveau de confiance du propriétaire" Choisissez le niveau de confiance à appliquer à la clé

  • Je ne sais pas
  • Je n'ai PAS confiance
  • J'ai modérément confiance
  • J'ai pleinement confiance
  • J'ai une confiance absolue

le niveau "j'ai une confiance absolue" est souvent nécessaire pour l'envoie d'un message chiffré

Les identififiants GPG des contributeurs

H6r6tiqu6 : 27BAE46E

Numero6 : B7550DF0

Liens Connexes

References

<references/>