今日,比特币又迎来了新的进展,Core开发者LukeDashjr宣布了Knots0.19.1.knots20200304客户端的发布。
关于新客户端更新的内容,你可以在这里找到:https://github.com/bitcoinknots/bitcoin/blob/v0.19.1.knots20200304/doc/release-notes.md
而摆在我们面前的问题是,如何验证自己下载的客户端是安全的,而不是经恶意篡改的呢?当然,确保从可信网站下载是必须的,那我们又如何确保该可信网站没有被攻击者篡改呢?
这也是本文要讲的内容,原文作者是LukeDashjr。
以下是译文:
期望
以下的说明,要求你了解文件在计算机中的存储方式,以及懂得如何使用命令行来运行程序和访问文件。如果你不了解这些概念,请先从指南开始入手。
请注意,本文的说明只能帮你安全地安装比特币客户端,其并不会帮助你保护你的硬件、操作系统,或者避免安装其它引入恶意软件的应用。通常,如果计算机的其他地方受到威胁,则无论你如何验证自己安装的客户端,你的节点也会受到威胁。
如果你想要一个绝对安全的节点,除了本文提到的说明之外,你至少还需要避免使用后门硬件,而仅运行可信任的基于Linux的操作系统,仅安装或使用你的操作系统供应商提供的软件,或使用GnuPG进行了其他验证的软件,并确保该软件更新到最新的漏洞修复版本。
上海普陀区发布“元十条”,“人财物”一体化专项政策精准服务元宇宙企业:金色财经报道,8月17日,数智中国AIGC科技周暨2023全球元宇宙大会上海站在普陀区召开。为加快布局元宇宙产业,普陀在本次开幕式上重磅发布了“半马苏河”元宇宙企业科创政策包。政策包在普陀原有科创政策基础上进行了叠加升级,一共涵盖了十条专项服务元宇宙企业的专项政策,简称普陀“元十条”。
普陀“元十条”从鼓励元宇宙企业落户、自主研发转化、重大技术突破、成果体验展示等方面将分别给予100万元至500万元不等的资金扶持;为元宇宙企业提供“人才服务一件事”办事模式,集成式服务人才工作、生活,为人才创业提供“一条龙”帮办,建立重点企业服务专员,为企业政策办理提供“上门办”服务;强化“普陀人才优享卡”功能,为人才团队提供医疗保障、子女入学指导等“一站式”服务;此外,在场地租用建设上,鼓励企业在本区内建设产品体验中心、展示中心,鼓励企业在区域内承办元宇宙产业的峰会、论坛、展览会、博览会等活动。[2023/8/20 18:11:38]
即使您无法解决这些问题,因此无法获得最大的安全性,但这也不意味着你应该放弃:无论如何,验证比特币节点软件仍然是一个好主意。
概述
要确保你所安装的比特币客户端是安全的,有三个重要的步骤:
验证OpenPGP密钥;
验证签名;
验证文件本身;
Aave DAO决定换取200万美元的Balancer LP代币:金色财经报道,Aave社区批准了一项200万美元的代币交换,从DeFi协议Balancer购买BAL-WETH流动性池代币。Aave DAO将使用财库中价值140万美元的31万个BAL和价值60万美元的326个WETH进行交换。
经批准的资产将转换成B-80BAL-20WETH,将BAL代币与以太坊配对。交换将在CowSwap的Milkman协议的帮助下进行。[2023/7/11 10:47:16]
每个步骤都取决于先前的步骤是否成功,虽然我们可以跳过一个步骤,但重要的是要了解,除非所有步骤都成功,否则我们就相当于没有对安装进行验证。
请注意,举例来说,我将在用于ppc64leLinux的?Bitcoin?Knotsv0.19.0.1.knots20200104客户端上验证我自己的签名,而要验证其他人的签名或其他文件,你需要更改命令行以使用该指纹或文件名。
步骤0:安装加密软件GNUPrivacyGuard
在开始之前,你需要确保自己已安装了GNUPrivacyGuard工具,这是文件的加密验证所需的。
如果你运行了一个基于Linux的系统,通常可通过操作系统供应商那进行安装,你可以通过运行gpg--version进行检查。如果没有,请尝试使用以下命令之一进行安装:
橡树资本:对公司\"拟折价收购硅谷银行资产\"消息不予置评:金色财经报道,日前消息称橡树资本等对冲基金拟折价收购硅谷银行资产。对此,橡树资本北京时间3月13日晚间回应记者,“不予置评”。[2023/3/14 13:02:40]
apt-getinstallgnupg
dnfinstallgnupg2
yuminstallgnupg2
emergeapp-crypt/gnupg
pacman-Sgnupg
apkaddgnupg
如果您不幸使用的是Windows或macOS操作系统,则可以从官方网站下载GnuPG,但我不知道有任何安全的方式可以验证这种下载,当然,它们确实提供了签名,但这里就遇到了鸡与蛋的问题:在你安装好的副本之前,你无法验证这些签名!
步骤1:验证OpenPGP密钥
可以说,这一步是验证过程中最困难的部分:你需要确认你实际使用的密钥,是你信任之人所发布的正确密钥。如果你不小心,可能会得到一个假冒的“LukeDashjr”密钥!
每个OpenPGP密钥都有一个“指纹”,即40个十六进制字符,有时会显示空格,以便于阅读。如果你确保使用的密钥指纹与受信任签名者的指纹匹配,则你知道自己拥有了正确的密钥。
获取密钥或指纹
动态 | 比特币解密游戏中的310个比特币并未转出:经金色财经查询确认,此前报道的被破解的比特币解密游戏中的310个比特币并未转出。[2018/10/10]
验证密钥最安全的方法,就是亲自见面,并确认密钥“指纹”。几乎没有人记得他们的密钥指纹,所以我们可能不得不在自己的笔记本电脑或手机上查找,偶尔可能会有“密钥签署方”,一群人在会议上确认其他人的指纹,每个参与者要么亲自朗读自己的指纹,要么手动确认每个人看到的或听到的都是正确的。如果你机会参与这样的会议,这是一个好的方法来一次性验证很多密钥。
如果你不感兴趣或没有机会亲自见面,理想情况下应该从多个来源验证密钥。有时,会议会发布演示视频,其中的密钥指纹可能会显示在幻灯片中。当然,由于“deepfake”这些新技术的存在,要注意视频中的幻灯片是容易被操纵的。
开发人员通常会在他们的网站上发布他们的密钥或指纹,也许还有其他一些途径。
如果你已经安装你了你信任的软件副本,有时它会包含验证更新所需的密钥。
检查密钥文件的指纹
要查看密钥文件的指纹,你可以使用以下命令:
gpg--import-optionsshow-only--import--with-fingerprintluke-jr.asc
这将输出有关密钥文件的许多信息,而相关信息位于最上面:
世界上第一个使用比特币购买房地产的平台HouseHodl建立:比特币已经成为主流,而且每天都有越来越多的行业开始接受比特币。HOUSEHODL是一家新成立的公司,它的目标是提供专门为房地产行业设计的托管服务。该公司的目标是提供一种安全、舒适和直接的方法,提供比特币支付支持。[2018/4/6]
pubrsa81922012-03-23
E463A93F5F3117EEDE6C7316BD02942421F4889F
在本示例中,
E463A93F5F3117EEDE6C7316BD02942421F4889F就是我的密钥指纹。
注意:如果GPG提示密钥过期了,那可能也没有关系!在步骤2中,你将更新到同一密钥的最新版本,这通常会延长到期日期。
导入已验证的密钥
无论你如何验证密钥,都应该确保记住你使用的是哪个密钥,以便将来更新时可验证使用的是同一个密钥。即使你跳过了验证密钥步骤,至少这将确保你的更新有相同的签名者。
当你确信自己拥有的密钥是正确的时候,你可以这样导入它:
gpg--import<luke-jr.asc
或者如果你只有指纹,像这样:
gpg--keyserverhkp://keyserver.ubuntu.com--recv-keyE463A93F5F3117EEDE6C7316BD02942421F4889F
步骤2:验证签名
现在你知道要用什么密钥进行验证了,下一步就是检查签名是否有效。
在继续此步骤之前,必须确保签名者密钥的副本是最新的。如果你不这样做,你可能会收到一条关于密钥已过期的消息。运行:
gpg--keyserverhkp://keyserver.ubuntu.com--refresh-keyE463A93F5F3117EEDE6C7316BD02942421F4889F
接下来,你将需要两个文件:包含文件指纹列表的“
.assert”文件和包含该列表签名的“
.assert.sig”文件。这是因为我们所做的不是对程序文件本身进行签名,而是对所有文件进行指纹识别,然后对该列表进行签名。因此,这两个文件你都是需要的。
BitcoinCore的“assert”文件对发布在这里:https://github.com/Bitcoin-Core/gitian.sigs/find/master;
BitcoinKnots的“assert”文件对发布在这里:https://github.com/bitconinkots/gitian.sigs/find/Knots
注意,每个签名者都有一个单独的文件对。如果你正在验证是否有多个人签名了你的文件,则需要检查每个文件对。此外,你还需要确保自己正在获取要验证的版本的文件!
在列表中找到所需文件后,单击链接在浏览器中打开该文件,然后右键单击“Raw”或“Download”按钮并选择“链接另存为”。
一旦你有了这两个“assert”文件,你就可以通过运行来检查签名
gpg--verifybitcoin-core-linux-0.19-build.assert.sig
如果这步成功了,你就会得到下面的结果:
gpg:SignaturemadeSun19Jan202003:47:15AMUTC
gpg:usingRSAkeyE463A93F5F3117EEDE6C7316BD02942421F4889F
gpg:Goodsignaturefrom“LukeDashjr<luke@dashjr.org>”
注意密钥的指纹是粗体显示的。该指纹必须要和你在步骤1中验证的密钥匹配,否则它可能是由其他人签名的!关于“好签名”的部分也很重要,而名字和电子邮件地址却不重要,如果指纹是错误的,这两个都可能是伪造的。
假设一切顺利,你现在知道“.assert”文件是由所述密钥的控制者提供担保的,并且可继续验证你的实际程序文件,是否是该“.assert”文件中列出的。
步骤3:验证文件本身
要验证程序文件,必须首先对其进行加密哈希验证。
这是通过一个简单的命令完成的:
Linux:sha256sumbitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Windows:certUtil-hashfilebitcoin-0.19.0.1.knots20200104-win64.zipSHA256
macOS:shasum-a256bitcoin-0.19.0.1.knots20200104-osx-unsigned.dmg
这将输出如下内容:
d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
这是文件内容的指纹,后跟指定的文件名。
现在,在任何纯文本编辑器/查看器中打开“.assert”文件,并查找该指纹。它应该在顶部的“out_manifest”部分,如果你到达了“in_manifest”或“base_manifests”,那么你已经走得太远了。
如果你在“.assert”文件中找到了它,那么你已经验证了你拥有的文件,是与签名者所担保的文件是相同的。
而如果“.assert”文件中缺少该文件,则可能表示你使用了错误的“.assert”文件,或者你的文件是不匹配的。如果文件已列出,但有着不同的指纹,请不要打开文件,而是保存它,并与受影响项目的安全团队联系。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。