Comment vérifier le client lorsque la nouvelle technologie de Bitcoin est mise à jour ? Bitcoin a été mis à jour avec la nouvelle technologie. Jetons un coup d'œil avec l'éditeur. J'espère que cet article pourra vous être utile. .
Il y a trois étapes importantes pour garantir que le client Bitcoin que vous installez est sécurisé :
Vérifiez la clé OpenPGP ;
Vérifier la signature ;
Vérifier le document lui-même ;
Veuillez noter que, par exemple, je vérifierai ma propre signature sur le client Bitcoin Knots v0.19.0.1.knots20200104 pour ppc64le Linux, alors que pour vérifier la signature de quelqu'un d'autre ou d'autres fichiers, vous devrez modifier la ligne de commande pour Utiliser cela empreinte digitale ou nom de fichier.
Étape 0 : Installer le logiciel de chiffrement GNU Privacy Guard (GPG)
Avant de commencer, vous devez vous assurer que l'outil GNU Privacy Guard (GPG) est installé, qui est requis pour la vérification du cryptage des fichiers.
Si vous utilisez un système basé sur Linux, qui est généralement installé via le fournisseur du système d'exploitation (récemment, il est généralement installé par défaut), vous pouvez le vérifier en exécutant gpg –version. Sinon, essayez de l'installer à l'aide de l'une des commandes suivantes (si cela échoue, passez à la suivante) :
apt-get installer gnupg
dnf installer gnupg2
miam, installe gnupg2
émerger app-crypt/gnupg
pacman -S gnupg
apk ajouter gnupg
Si vous avez la malchance d'utiliser un système d'exploitation Windows ou macOS, vous pouvez télécharger GnuPG depuis le site officiel, mais je ne connais aucun moyen sécurisé de vérifier un tel téléchargement, et bien sûr, ils fournissent une signature, mais voici le problème : vous ne pouvez pas vérifier ces signatures tant que vous n'avez pas installé une bonne copie !
Étape 1 : Vérifier la clé OpenPGP
Cette étape est sans doute la partie la plus difficile du processus de vérification : vous devez confirmer que la clé que vous utilisez réellement est la bonne, émise par une personne de confiance. Si vous ne faites pas attention, vous pourriez obtenir une fausse clé « Luke Dashjr » !
Chaque clé OpenPGP possède une « empreinte digitale », composée de 40 caractères hexadécimaux (les chiffres 0 à 9 et aF), avec des espaces parfois affichés pour une lecture plus facile. Vous savez que vous disposez de la bonne clé si vous vous assurez que l’empreinte digitale de la clé que vous utilisez correspond à celle d’un signataire de confiance.
Obtenez une clé ou une empreinte digitale
Le moyen le plus sûr de vérifier une clé est de se rencontrer en personne et de confirmer « l’empreinte digitale » de la clé. Presque personne ne se souvient de l'empreinte digitale de sa clé, nous devrons donc peut-être la rechercher sur notre propre ordinateur portable ou téléphone, et occasionnellement (généralement lors d'une conférence) il peut y avoir un « signataire clé », un groupe de personnes à la conférence confirmant d'autres de leurs empreintes digitales. empreintes digitales, chaque participant ferait lire sa propre empreinte digitale à haute voix ou confirmerait manuellement que ce que tout le monde a vu ou entendu était correct. Si jamais vous participez à une réunion comme celle-ci, c’est un bon moyen de vérifier plusieurs clés à la fois.
Si vous n'êtes pas intéressé ou n'avez pas l'occasion de vous rencontrer en personne, vous devriez idéalement vérifier la clé à partir de plusieurs sources. Parfois, des conférences publient des vidéos de présentation dans lesquelles l'empreinte digitale de la clé peut apparaître dans les diapositives. Bien entendu, du fait de l’existence de nouvelles technologies comme les « deep fakes », sachez que les slides de la vidéo peuvent être facilement manipulées.
Les développeurs publient généralement leurs clés ou empreintes digitales sur leur site Web, et peut-être d'une autre manière (par exemple, ma clé ou mon empreinte digitale se trouve sur mon site Web personnel, bitcoinknots.org, bitcoin.org et GitHub).
Si vous avez installé une copie du logiciel en qui vous avez confiance, elle contiendra parfois les clés nécessaires pour vérifier les mises à jour (actuellement Bitcoin Core ne contient que le code source).
Vérifier l'empreinte digitale du fichier clé
Pour afficher l'empreinte digitale d'un fichier clé, vous pouvez utiliser la commande suivante :
gpg – options d'importation, affichage uniquement – importation – avec empreinte digitale luke-jr.asc
Cela affichera de nombreuses informations sur le fichier de clé, avec les informations pertinentes en haut :
pub rsa8192 2012-03-23 [SC] [expire : 2020-06-09]
E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F
Dans cet exemple, E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F est l'empreinte digitale de ma clé.
REMARQUE : Si GPG indique que la clé a expiré, ce n'est probablement pas grave ! À l'étape 2, vous mettrez à jour vers la dernière version de la même clé, ce qui prolonge généralement la date d'expiration.
Importer des clés vérifiées
Quelle que soit la manière dont vous vérifiez la clé, vous devez vous rappeler quelle clé vous avez utilisée afin que les futures mises à jour puissent vérifier que la même clé a été utilisée. Même si vous ignorez l'étape de vérification de la clé (qui n'est pas sécurisée), cela garantira au moins que vos mises à jour ont le même signataire.
Lorsque vous êtes sûr d'avoir la bonne clé, vous pouvez l'importer comme ceci (remplacez luke-jr.asc par le nom du fichier contenant la clé souhaitée) :
gpg –import < luke-jr.asc
Ou si vous n'avez que des empreintes digitales, comme ceci (mettez l'empreinte digitale de la clé que vous souhaitez utiliser !) :
gpg –keyserver hkp://keyserver.ubuntu.com –recv-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Étape 2 : Vérifier la signature
Maintenant que vous savez quelle clé utiliser pour la vérification, l’étape suivante consiste à vérifier que la signature est valide.
Avant de procéder à cette étape, vous devez vous assurer que votre copie de la clé de signataire est à jour. Si vous ne le faites pas, vous pourriez recevoir un message indiquant que la clé a expiré. Exécutez (en utilisant l'empreinte digitale souhaitée) :
gpg –keyserver hkp://keyserver.ubuntu.com –refresh-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Ensuite (en plus du fichier programme que vous vérifiez), vous aurez besoin de deux fichiers : le fichier ".assert" contenant la liste des empreintes digitales du fichier et le fichier ".assert.sig" contenant les signatures de cette liste. En effet, ce que nous faisons ne consiste pas à signer les fichiers du programme eux-mêmes, mais à prendre les empreintes digitales de tous les fichiers, puis à signer cette liste. Par conséquent, vous avez besoin des deux fichiers.
La paire de fichiers « assert » de Bitcoin Core est publiée ici : https://github.com/Bitcoin-Core/gitian.sigs/find/master ;
Les paires de fichiers « assert » pour Bitcoin Knots sont publiées ici : https://github.com/bitconinkots/gitian.sigs/find/Knots
Notez qu'il existe une paire de fichiers distincte pour chaque signataire. Si vous vérifiez si plusieurs personnes ont signé votre fichier (ce que vous devriez faire), vous devez vérifier chaque paire de fichiers. De plus, vous devez vous assurer que vous obtenez la version du fichier que vous souhaitez vérifier !
Une fois que vous avez trouvé le fichier souhaité dans la liste, cliquez sur le lien pour ouvrir le fichier dans votre navigateur, puis cliquez avec le bouton droit sur le bouton « Raw » ou « Télécharger » et sélectionnez « Enregistrer le lien sous ».
Une fois que vous avez ces deux fichiers "assert", vous pouvez vérifier la signature en exécutant (ajuster le nom du fichier au .assert.sig spécifique)
gpg – vérifier bitcoin-core-linux-0.19-build.assert.sig
Si cette étape réussit, vous obtiendrez le résultat suivant :
gpg : Signature faite le dimanche 19 janvier 2020 03:47:15 UTC
gpg : en utilisant la clé RSA E463A93F5F3117EEDE6C7316BD02942421F4889F
gpg : Bonne signature de « Luke Dashjr » [ultimate]
Notez que l'empreinte digitale de la clé est affichée en gras. L'empreinte digitale doit correspondre à la clé que vous avez vérifiée à l'étape 1, sinon elle pourrait être signée par quelqu'un d'autre ! La partie concernant une "bonne signature" est également importante, alors que le nom et l'adresse e-mail ne le sont pas, qui pourraient tous deux être faux si l'empreinte digitale est erronée.
En supposant que tout s'est bien passé, vous savez maintenant que le fichier ".assert" est garanti par le contrôleur de ladite clé et pouvez procéder à la vérification que votre fichier programme réel est celui répertorié dans ce fichier ".assert".
Étape 3 : Vérifiez le fichier lui-même
Pour authentifier un fichier programme, il doit d’abord être haché cryptographiquement (essentiellement extraire son empreinte digitale).
Cela se fait avec une simple commande (veillez à remplacer le nom du fichier que vous validez !) :
Linux : sha256sum bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Windows : certUtil -hashfile bitcoin-0.19.0.1.knots20200104-win64.zip SHA256
macOS : shasum -a 256 bitcoin-0.19.0.1.knots20200104-osx-unsigned.dmg
Cela produira quelque chose comme ceci :
d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149 bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Il s'agit de l'empreinte digitale du contenu du fichier, suivie du nom de fichier spécifié.
Maintenant, ouvrez le fichier ".assert" dans n'importe quel éditeur/visualiseur de texte brut et recherchez l'empreinte digitale. Il devrait être dans la section "out_manifest" en haut, si vous atteignez "in_manifest" ou "base_manifests", alors vous êtes allé trop loin.
Si vous le trouvez dans le fichier ".assert", alors vous avez vérifié que le fichier que vous possédez est le même fichier dont le signataire s'est porté garant (vous le verrez dans le fichier ".assert" à droite de l'empreinte digitale de son nom de fichier. , qui peut être le même que le vôtre).
Et s'il est absent du fichier ".assert", cela peut signifier que vous utilisez le mauvais fichier ".assert", ou que votre fichier ne correspond pas (auquel cas vous verrez à côté du nom de fichier attendu celui d'un autre empreinte digitale). Si un fichier est répertorié mais possède une empreinte digitale différente, veuillez ne pas ouvrir le fichier, mais enregistrez-le (nous pouvons vous demander de fournir une copie) et contactez l'équipe de sécurité du projet concerné.