La dernière fois nous avions vu comment monter une partition chiffrée avec veracrypt et stocker ses documents confidentiels. Cette fois l’approche est différente puisqu’il s’agit de rendre confidentiel,authentique et intègre un fichier que l’on échangerait entre 2 machines grâce notamment à GnuPg.
Dit plus simplement,dans cet article nous allons apprendre à protéger l’ouverture de nos documents persos avec un mot de passe que vous seul connaitrez.
Mais au fait c’est quoi GPG?
Je reprends la définition du Wikipedia:
GnuPG (ou GPG, de l’anglais GNU Privacy Guard) est l’implémentation GNU du standard OpenPGP (…), distribuée selon les termes de la licence publique générale GNU.
Ce logiciel permet la transmission de messages électroniques signés et chiffrés, garantissant ainsi leurs authenticité, intégrité et confidentialité.
En gros à l’aide d’un trousseau de clés vous pourrez signer et chiffrer n’importe quel document et seule la personne connaissant le mot de passe pourra l’ouvrir et le lire. Un moyen de plus à votre disposition pour gratter un peu de vie privée ^_ ^.
Installation du paquet gnupg2
Les lignes de commande classiques pour l’installation d’un paquet :
apt update && apt upgrade
apt install gnupg2
Création des clés:
gpg2 --full-gen-key
Ensuite, il va falloir répondre à une série de questions:
Quelle type d’algo ?
Répondre 1 (RSA and RSA)
Quelle taille de clé?
Mettre 2048 bits à minima.
Quelles informations concernant le possesseur de la clé?
Rentrer la passphrase et la confirmer une seconde fois:
Les captures d’écran sont faites sous une debian . Sous ubuntu vous pourriez avoir quelque chose de sensiblement différent mais le principe et les étapes sont exactement les mêmes.
Entropie, mon amie….
Après avoir renseigné les différentes questions précédentes , un message prévient que pour générer les clés avec de l’aléatoire une bonne entropie est nécessaire. Que les puristes me pardonnes mais ,en très vulgarisé , l’entropie ce sont les bits aléatoires générés par le déplacement de la souris, les frappes au clavier, l’activité du cpu etc…ces données entrent en jeu pour l’élaboration de la clé. Plus ya d’entropie mieux c’est ! (rapidité et robustesse de la clé)
Vérifier votre niveau d’entropie de votre linux avec la commande suivante:
cat /proc/sys/kernel/random/entropy_avail
Si le nombre est inférieur à 3000 alors le temps pour générer les clés avec du pseudo aléatoire risque d’être assez long/
Solution:
1/ Changer de machines pour générer les clés mais c’est pas donné à tout le monde
2/ Suivre ce tuto, mais perso j’aime pas trop l’installation d’un daemon pour une opération aussi banale que la génération de clés.
A vous de voir les geekos , pour ma part ce sera l’option 1.
A titre d’info , j’avais « 45 » d’entropie sur mon vps et « 3610 » sur mon laptop ubuntu. Du coup direction le laptop pour générer les clés.
Donc si vous avez assez d’entropie , l’opération ne devrait durer que quelques secondes et vous devriez voir le message suivant:
les clefs publique et secrète ont été créées et signées
Vous pouvez vérifier la liste de vos clés avec la commande suivante:
gpg2 --list-keys
De plus , Un dossier .gnupg devrait maintenant se trouver à la racine de votre home.
Chiffrer le fichier
gpg2 --encrypt <mon_fichier>
Génère un fichier avec l’extension.gpg , illisible pour celui qui ne possède pas la clé.
Déchiffrer le fichier
gpg2 --output mon_fichier_dechiffre --decrypt mon_fichier.gpg
A l’exécution e cette commande , une boîte de dialogue vous demande de rentrer le mot de passe. C’est la « passphrase » que vous aviez tapée au moment de la génération des clés.
Et voilà le fichier » mon_fichier_dechiffre » apparaît et devient parfaitement lisible.
Pour aller plus loin
Le protocole openPGP est surtout utilisé en messagerie pour échanger des mails avec pièces jointes.Très souvent on l’utilise dans Thunderbird avec l’extension enigmail pour chiffrer ses messages.Si cela vous intéresse , vous pourrez jeter un oeil à l’excellent tuto du Hollandais Volant ICI.
Mais dans ce billet, nous l’avons juste utilisé pour des petits fichiers que l’on souhaiterait rendre confidentiels sur son disque dur et échanger par la suite avec d’autres personnes sans forcément passer par le mail.
Pour approfondir l’utilisation de GPG voici des liens en français fort utiles:
Merci, mais j’arrive pas à exporter la clé publique sur mon serveur??
Tu peux exporter ta clé publique GPG avec la commande suivante:
gpg –export –armor [uid] > fichier