欢迎来到

比特币新技术更新怎么去验证客户端

时间:2024-12-23 13:23:59 出处:时尚阅读(143)

Ready

比特币新技术更新怎么去验证客户端呢,比特币新比特币已经更新了新的技术技术,很多人不知道怎么去验证客户端,更新下面跟着小编一起来看看吧 ,去验希望此文章能对你有所帮助。证客

比特币新技术更新怎么去验证客户端

比特币新技术更新怎么去验证客户端

要确保你所安装的户端比特币客户端是安全的,有三个重要的比特币新步骤 :

验证OpenPGP密钥;

验证签名;

验证文件本身;

请注意,举例来说,技术我将在用于 ppc64le Linux的更新 Bitcoin Knots v0.19.0.1.knots20200104客户端上验证我自己的签名 ,而要验证其他人的去验签名或其他文件 ,你需要更改命令行以使用该指纹或文件名。证客

步骤0:安装加密软件GNU Privacy Guard(GPG)

在开始之前 ,户端你需要确保自己已安装了GNU Privacy Guard(GPG)工具 ,比特币新这是技术文件的加密验证所需的。

如果你运行了一个基于Linux的更新系统,通常可通过操作系统供应商那进行安装(最近 ,这通常会是默认安装的),你可以通过运行gpg –version进行检查。如果没有 ,请尝试使用以下命令之一进行安装(如果失败 ,请转到下一个):

apt-get install gnupg

dnf install gnupg2

yum install gnupg2

emerge app-crypt/gnupg

pacman -S gnupg

apk add gnupg

如果您不幸使用的是Windows或macOS操作系统 ,则可以从官方网站下载GnuPG ,但我不知道有任何安全的方式可以验证这种下载  ,当然,它们确实提供了签名 ,但这里就遇到了鸡与蛋的问题:在你安装好的副本之前 ,你无法验证这些签名!

步骤1:验证OpenPGP密钥

可以说 ,这一步是验证过程中最困难的部分 :你需要确认你实际使用的密钥 ,是你信任之人所发布的正确密钥 。如果你不小心 ,可能会得到一个假冒的“Luke Dashjr”密钥!

每个OpenPGP密钥都有一个“指纹” ,即40个十六进制字符(数字0-9和a-F) ,有时会显示空格 ,以便于阅读。如果你确保使用的密钥指纹与受信任签名者的指纹匹配 ,则你知道自己拥有了正确的密钥。

获取密钥或指纹

验证密钥最安全的方法,就是亲自见面 ,并确认密钥“指纹”。几乎没有人记得他们的密钥指纹,所以我们可能不得不在自己的笔记本电脑或手机上查找,偶尔(通常是在会议上)可能会有“密钥签署方”,一群人在会议上确认其他人的指纹,每个参与者要么亲自朗读自己的指纹,要么手动确认每个人看到的或听到的都是正确的 。如果你机会参与这样的会议 ,这是一个好的方法来一次性验证很多密钥 。

如果你不感兴趣或没有机会亲自见面 ,理想情况下应该从多个来源验证密钥 。有时,会议会发布演示视频,其中的密钥指纹可能会显示在幻灯片中 。当然 ,由于“deep fake”这些新技术的存在,要注意视频中的幻灯片是容易被操纵的。

开发人员通常会在他们的网站上发布他们的密钥或指纹 ,也许还有其他一些途径(例如 ,我的密钥或指纹  ,会放在个人网站、bitcoinknots.org  、bitcoin.org以及GitHub上) 。

如果你已经安装你了你信任的软件副本 ,有时它会包含验证更新所需的密钥(目前Bitcoin Core只包含源代码)。

检查密钥文件的指纹

要查看密钥文件的指纹 ,你可以使用以下命令:

gpg –import-options show-only –import –with-fingerprint luke-jr.asc

这将输出有关密钥文件的许多信息 ,而相关信息位于最上面 :

pub rsa8192 2012-03-23 [SC] [expires: 2020-06-09]

E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F

在本示例中 ,E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F 就是我的密钥指纹。

注意:如果GPG提示密钥过期了,那可能也没有关系!在步骤2中 ,你将更新到同一密钥的最新版本 ,这通常会延长到期日期。

导入已验证的密钥

无论你如何验证密钥,都应该确保记住你使用的是哪个密钥 ,以便将来更新时可验证使用的是同一个密钥。即使你跳过了验证密钥步骤(这是不安全的) ,至少这将确保你的更新有相同的签名者 。

当你确信自己拥有的密钥是正确的时候 ,你可以这样导入它(将luke-jr.asc替换为包含所需密钥的文件名) :

gpg –import < luke-jr.asc

或者如果你只有指纹 ,像这样(把你想用的密钥指纹放进去!):

gpg –keyserver hkp://keyserver.ubuntu.com –recv-key E463A93F5F3117EEDE6C7316BD02942421F4889F

步骤2 :验证签名

现在你知道要用什么密钥进行验证了,下一步就是检查签名是否有效。

在继续此步骤之前,必须确保签名者密钥的副本是最新的。如果你不这样做,你可能会收到一条关于密钥已过期的消息。运行(使用你所需的指纹):

gpg –keyserver hkp://keyserver.ubuntu.com –refresh-key E463A93F5F3117EEDE6C7316BD02942421F4889F

接下来 ,(除了你正在检查的程序文件之外)你将需要两个文件:包含文件指纹列表的“.assert”文件和包含该列表签名的“.assert.sig”文件 。这是因为我们所做的不是对程序文件本身进行签名 ,而是对所有文件进行指纹识别 ,然后对该列表进行签名。因此,这两个文件你都是需要的 。

Bitcoin Core的“assert”文件对发布在这里:https://github.com/Bitcoin-Core/gitian.sigs/find/master;

Bitcoin Knots的“assert”文件对发布在这里:https://github.com/bitconinkots/gitian.sigs/find/Knots

注意,每个签名者都有一个单独的文件对 。如果你正在验证是否有多个人签名了你的文件(你应该这样做) ,则需要检查每个文件对 。此外 ,你还需要确保自己正在获取要验证的版本的文件!

在列表中找到所需文件后 ,单击链接在浏览器中打开该文件,然后右键单击“Raw”或“Download”按钮并选择“链接另存为”  。

一旦你有了这两个“assert”文件 ,你就可以通过运行来检查签名(将文件名调整为特定的.assert.sig)

gpg –verify bitcoin-core-linux-0.19-build.assert.sig

如果这步成功了,你就会得到接下来的结果:

gpg: Signature made Sun 19 Jan 2020 03:47:15 AM UTC

gpg: using RSA key E463A93F5F3117EEDE6C7316BD02942421F4889F

gpg: Good signature from “Luke Dashjr ” [ultimate]

注意密钥的指纹是粗体显示的 。该指纹必须要和你在步骤1中验证的密钥匹配,否则它可能是由其他人签名的 !关于“好签名”的部分也很重要,而名字和电子邮件地址却不重要 ,如果指纹是错误的 ,这两个都可能是伪造的 。

假设一切顺利,你现在知道“.assert”文件是由所述密钥的控制者提供担保的,并且可继续验证你的实际程序文件,是否是该“.assert”文件中列出的。

步骤3:验证文件本身

要验证程序文件 ,必须首先对其进行加密哈希验证(基本上是提取其指纹) 。

这是通过一个简单的命令完成的(注意替换你正在验证的实际文件名!)  :

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

这将输出如下内容:

d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149 bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz

这是文件内容的指纹,后跟指定的文件名  。

现在,在任何纯文本编辑器/查看器中打开“.assert”文件,并查找该指纹。它应该在顶部的“out_manifest”部分 ,如果你到达了“in_manifest”或“base_manifests” ,那么你已经走得太远了 。

如果你在“.assert”文件中找到了它,那么你已经验证了你拥有的文件 ,是与签名者所担保的文件是相同的(你将在指纹右侧的“.assert”文件中看到它们的文件名 ,它可能与你的文件名是相同的) 。

而如果“.assert”文件中缺少该文件 ,则可能表示你使用了错误的“.assert”文件,或者你的文件是不匹配的(在这种情况下,你将在预期的文件名旁看到另一个指纹)。如果文件已列出 ,但有着不同的指纹 ,请不要打开文件 ,而是保存它(我们可能会要求您提供副本) ,并与受影响项目的安全团队联系 。

End

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: