GnuPG

Loïc MorelLoïc Morel
11 oct. 2024
11 oct. 2024
Lorsqu'on télécharge un logiciel, il est très important de s'assurer qu'il n'a pas été altéré et qu'il provient bien de la source officielle. C'est particulièrement vrai pour les logiciels liés à Bitcoin, comme les logiciels de portefeuille, qui vous permettent de sécuriser les clés donnant accès à vos fonds. Dans ce tutoriel, nous allons voir comment vérifier l'intégrité et l'authenticité d'un logiciel avant de l'installer. Nous allons prendre pour exemple Sparrow Wallet, un des logiciels de portefeuille préféré des bitcoiners, mais la marche à suivre sera la même pour n'importe quel autre logiciel.
La vérification de l'intégrité consiste à s'assurer que le fichier téléchargé n'a pas été modifié en comparant son empreinte numérique (c'est-à-dire son hachage) avec celle fournie par le développeur officiel. Si les deux correspondent, cela signifie que le fichier est identique à l'original et n'a pas été corrompu ou modifié par un attaquant.
La vérification de l'authenticité, quant à elle, garantit que le fichier provient bien du développeur officiel et non d'un imposteur. Cela se fait par la vérification d'une signature numérique. Cette signature prouve que le logiciel a été signé avec la clé privée du développeur légitime.
Si ces vérifications ne sont pas effectuées, on court le risque d'installer un logiciel malveillant qui pourrait contenir un code modifié. Ce code pourrait permettre soit de voler des informations comme vos clés privées, soit de bloquer l'accès à vos fichiers. Ce type d'attaque est assez fréquent, notamment dans le cadre des logiciels open-source où des versions contrefaites peuvent être distribuées.
Pour effectuer cette vérification, nous allons utiliser deux outils : les fonctions de hachage pour vérifier l'intégrité, et GnuPG, un outil open-source qui implémente le protocole PGP, pour vérifier l'authenticité.

Prérequis

Si vous êtes sous Linux, GPG est préinstallé sur la plupart des distributions. Si ce n'est pas le cas, vous pouvez l'installer avec la commande suivante :
sudo apt install gnupg
Pour macOS, si vous n'avez pas déjà installé le gestionnaire de paquets Homebrew, faites-le avec les commandes suivantes :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Puis installez GPG avec cette commande :
brew install gnupg
Pour Windows, si vous n'avez pas GPG, vous pouvez installer le logiciel Gpg4win.

Téléchargement des documents

Pour commencer, nous allons avoir besoin de différents documents. Rendez-vous sur le site officiel de Sparrow Wallet dans la section "Download". Si vous souhaitez vérifier un autre logiciel, rendez-vous sur le site de ce logiciel.
Vous pouvez également aller sur le dépôt GitHub du projet.
Téléchargez l'installateur du logiciel correspondant à votre système d'exploitation.
Vous allez également avoir besoin du hash du fichier, souvent appelé "SHA256SUMS" ou "MANIFEST".
Téléchargez aussi la signature PGP du fichier. C'est le document en .asc.
Assurez-vous de placer tous ces fichiers dans un même dossier pour les étapes suivantes.
Enfin, vous allez avoir besoin de la clé publique du développeur, que l'on va utiliser pour vérifier la signature PGP. Cette clé est souvent disponible soit sur le site web du logiciel, soit sur le dépôt GitHub du projet, parfois sur les réseaux sociaux du développeur, ou encore sur des sites spécialisés comme Keybase. Dans le cas de Sparrow Wallet, vous pouvez retrouver la clé publique du développeur Craig Raw sur Keybase. Pour la télécharger directement depuis le terminal, exécutez la commande :
curl https://keybase.io/craigraw/pgp_keys.asc | gpg --import

Vérification de la signature

Le processus de vérification de la signature est le même sur Windows, macOS et Linux. Normalement, vous avez déjà importé la clé publique durant l'étape précédente, mais si ce n'est pas le cas, faites-le avec la commande :
gpg --import [key path]
Remplacez [key path] par l'emplacement du fichier de la clé publique du développeur.
Vérifiez la signature avec la commande suivante :
gpg --verify [file.asc]
Remplacez [file.asc] par le chemin du fichier de la signature. Dans le cas de Sparrow, ce fichier s'appelle "sparrow-2.0.0-manifest.txt.asc" pour la version 2.0.0.
Si la signature est valide, GPG va vous l'indiquer. Vous pouvez donc passer à l'étape suivante, car cela confirme l'authenticité du fichier.

Vérification du hash

Maintenant que l'authenticité du logiciel est confirmée, il faut vérifier également son intégrité. Nous allons comparer le hachage du logiciel avec le hachage fourni par le développeur. Si les deux correspondent, cela garantit que le code du logiciel n'a pas été altéré.
Sur Windows, ouvrez un terminal et exécutez la commande suivante :
CertUtil -hashfile [file path] SHA256 | findstr /v "hash"
Remplacez [file path] par l'emplacement de l'installateur.
Le terminal vous renvoie le hachage du logiciel téléchargé.
Attention, pour certains logiciels, il peut être nécessaire d'utiliser une fonction de hachage différente de SHA256. Dans ce cas, remplacez simplement le nom de la fonction de hachage dans la commande.
Comparez ensuite le résultat avec la valeur correspondante dans le fichier "sparrow-2.0.0-manifest.txt".
Dans mon cas, on voit que les deux hachages correspondent parfaitement.
Sous macOS et Linux, le processus de vérification des hachages est automatisé. Il n'est pas nécessaire de vérifier manuellement la correspondance entre les deux hachages comme sur Windows.
Exécutez simplement cette commande sous macOS :
shasum --check [file name] --ignore-missing
Remplacez [file name] par le nom de l'installateur. Par exemple pour Sparrow Wallet :
shasum --check sparrow-2.0.0-manifest.txt --ignore-missing
Si les hachages correspondent, vous devriez avoir en sortie :
Sparrow-2.0.0.dmg: OK
Sous Linux, la commande est similaire :
sha256sum --check [file name] --ignore-missing
Et si les hachages correspondent, vous devriez avoir en sortie :
sparrow_2.0.0-1_amd64.deb: OK
Vous êtes maintenant assuré que le logiciel que vous avez téléchargé est à la fois authentique et intègre. Vous pouvez procéder à son installation sur votre machine.
Si vous avez trouvé ce tutoriel utile, je vous serais reconnaissant de laisser un pouce vert ci-dessous. N'hésitez pas à partager cet article sur vos réseaux sociaux. Merci beaucoup !
Je vous conseille également de découvrir cet autre tutoriel sur VeraCrypt, un logiciel qui vous permet de chiffrer et de déchiffrer des supports de stockage.
Cela a-t-il bien fonctionné pour vous ?
8
1

Auteur

Ce tutoriel a été écrit par Loïc Morel

Vous pouvez dire merci en donnant un pourboire au professeur.

Crédits

Ce tutoriel a été relu par LoicPandul

1/3Statut de relecture

Même si cette page est dans sa langue d'origine, une relecture humaine est toujours nécessaire pour garantir son exactitude.

Progress: 1/3LoicPandul745 sats373 sats
*Les récompenses peuvent varier en fonction du taux de change $

Chaque élément de contenu sur la plateforme est le produit d'un effort collaboratif : chaque leçon, traduction et révision est rendue possible grâce au travail des contributeurs. C'est pour cette raison que nous sommes toujours à la recherche de correcteurs qui peuvent examiner notre contenu dans un grand nombre de langues. Si vous souhaitez participer au processus de relecture, veuillez nous rejoindre dans notre groupe Telegram et consulter notre tutoriel. Nous vous rappelons que ce contenu est open-source - sous licence CC BY-SA - et peut donc être partagé et utilisé librement, à condition que la source originale soit reconnue.