meta données pour cette page
Chiffrer avec PGP
Créer sa paire de clés
Commençons par installer GPG :
apt-get install gpgv
On se créer la paire de clés :
gpg --gen-key
Une suite de questions est à réponse soigneusement car ces informations seront utilisé pour garantir notre authenticité et elles seront publique. Pour ma part, je demande la création d'une clé pour l'adresse mail mon@mail.fr pour une durée de 2 ans avec une taille de 2048 bits.
gpg (GnuPG) 1.4.18; Copyright (C) 2014 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 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) Quel est votre choix ? 1 les clefs RSA peuvent faire une taille comprise entre 1024 et 4096 bits. Quelle taille de clef désirez-vous ? (2048) La taille demandée est 2048 bits Veuillez indiquer le temps pendant lequel cette clef devrait être valable. 0 = la clef n'expire pas <n> = la clef expire dans n jours <n>w = la clef expire dans n semaines <n>m = la clef expire dans n mois <n>y = la clef expire dans n ans Pendant combien de temps la clef est-elle valable ? (0) 2y La clef expire le mar. 12 févr. 2019 22:24:48 CET Est-ce correct ? (o/N) o Une identité est nécessaire à la clef ; le programme la construit à partir du nom réel, d'un commentaire et d'une adresse électronique de cette façon : « Heinrich Heine (le poète) <heinrichh@duesseldorf.de> » Nom réel : Prenom Nom Adresse électronique : mon@mail.fr Commentaire : 2y Vous avez sélectionné cette identité : « Prenom Nom (2y) <mon@mail.fr> » Faut-il modifier le (N)om, le (C)ommentaire, l'(A)dresse électronique ou (O)ui/(Q)uitter ? o Une phrase secrète est nécessaire pour protéger votre clef secrète.
Par la suite il faut renseigner une passphrase dont seulement le créateur de ces clés doit la connaître et, elle sera à chaque fois demandé lorsque l'on souhaite envoyer un mail chiffré.
De nombreux octets aléatoires doivent être générés. 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'obtenir suffisamment d'entropie. Il n'y a pas suffisamment d'octets aléatoires disponibles. Veuillez faire autre chose pour que le système d'exploitation puisse rassembler plus d'entropie (132 octets supplémentaires sont nécessaires). .+++++ ..+++++ De nombreux octets aléatoires doivent être générés. 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'obtenir suffisamment d'entropie. .......+++++ .+++++ gpg: clef 0BA9A9D7 marquée de confiance ultime. les clefs publique et secrète ont été créées et signées. 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 : 1 signées : 0 confiance : 0 i., 0 n.d., 0 j., 0 m., 0 t., 1 u. gpg: la prochaine vérification de la base de confiance aura lieu le 2019-02-12 pub 2048R/0BA9A9D7 2017-02-12 [expire : 2019-02-12] Empreinte de la clef = E8CB 036C 9142 E952 7385 B6D7 CF14 2A11 0BA9 A9D7 uid Prenom Nom (2y) <mon@mail.fr> sub 2048R/7FE30A37 2017-02-12 [expire : 2019-02-12]
La paire de clé est maintenant disponible dans notre trousseau :
gpg --list-key
pub 2048R/0BA9A9D7 2017-02-12 [expire : 2019-02-12] uid Bruno Tatu (2y) <mon@mail.fr> sub 2048R/7FE30A37 2017-02-12 [expire : 2019-02-12]
Progressivement cette liste va s'agrandir lorsque l'on approuvera l'authenticité des nouveaux destinataires.
Envoyer un mail chiffré
D'abord il faut envoyer la clé publique sur un serveur publique et de confiance. Pour rester simple et facilement accessible, j'ai choisi le serveur de Massachusetts Institute of Technology.
gpg --keyserver pgp.mit.edu --send-key 0x0BA9A9D7
- 0x0BA9A9D7 est l'identifiant de la clé publique.
On obtient cette réponse :
gpg: envoi de la clef 0BA9A9D7 au serveur hkp pgp.mit.edu
Installons maintenant l'extension Enigmail qui se fait depuis le logiciel client. Dans mon cas j'utilise Icedove et je peux le trouver dans le menu “Tools” (outils) puis “Adds-ons” (extensions) puis effectuer une recherche dans le champ de saisie en haut à droite.
Rendez-vous dans la fenêtre des réglages (ou “settings” en anglais) pour désigner explicitement la paire de clé que l'on souhaite utiliser. Depuis la barre d'outil du logiciel : “Edit” (Editions) puis “Account Settings” (réglages de comptes) et déplaçons-nous dans la section “Sécurité OpenPGP” :
On sélectionne la bonne clé et le tour est joué! Cette méthode s'applique également lorsqu'il s'agit d'utiliser une autre clé.
Il reste plus qu'a écrire un mail avec les options de chiffrement activé :
Déchiffrer un mail
- Récupération de la clé publique :
gpg --keyserver certserver.pgp.com --recv-key 0x00Z0ZF0Z > key.pub gpg --import key.pub
Puis valider que la clé soit authentique. Cette manip' est faisable depuis l'interface du logiciel client. (en ligne de commande aussi ?) Doc à terminé
Chiffrer des fichiers
Grâce aux clés publiques, il est possible de chiffrer un contenu de cette manière :
gpg --output doc.gpg --encrypt --recipient utilisateur@domaine.com document.txt # en plus court : gpg --encrypt document.txt
Pour les déchiffrer :
gpg --output doc.txt --decrypt doc.gpg # en plus court : gpg --decrypt doc.gpg
S'échanger des clés
- On souhaite partage la clé publique de Bob à Alice:
gpg --export > cle.pub
- On enregistre la clé publique de Bob sur le compte d'Alice :
gpg --import cle.pub
Révocation
Il est possible de révoquer sa clé comme ceci:
gpg --gen-revoke utilisateur@domaine.com > revoc.txt