LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 硬件钱包应该开源吗?

硬件钱包应该开源吗?

2019-12-10 范荟的小马哥 来源:区块链网络

作为开源软件的热情拥护者,我们对将其作品推向世界的开拓性开发人员深表敬意,不用说,我们在加密货币领域应归功于区块链技术的发起者。这是因为中本聪(Satoshi Nakamoto)和其他出色的开拓者将工作开源了,我们所有人都可以分享Linux,比特币和蓬勃发展的加密货币市场等惊人创新所带来的收益。


但是,当涉及到使源代码可用对硬件钱包的安全性是否有利时,我们进入了一个全新的讨论。本文解释了我们为什么认为开放源代码的本质并不代表硬件钱包的升级,而是重大的安全性折衷的原因。

了解上下文中的开源利益

在传统的计算领域,开放源代码的支持者一直强调一个观点-开源是更安全的,因为它使公众能够检查源代码并通过帮助修复潜在的漏洞来为安全做出贡献。统计数据清楚地说明了Linus的定律(“给了足够多的眼球,所有bug都是浅薄的”),对Safari的零日攻击(封闭源)平均需要9天的修复时间,而对Firefox的零日攻击,一个开放源代码,平均只需要一天的时间就可以解决。

但是,必须在上下文中理解Linus的定律,即传统计算领域的定律。在讨论开源软件在硬件钱包方面的优势时,我们必须注意一个事实,即与硬件钱包相比,传统的计算开发社区规模巨大。

GitHub是全球最大的源代码托管者,它表明最古老的硬件钱包品牌Trezor的开源代码只有大约180个贡献者。这一统计数字与其他硬件产品(例如Raspberry Pi)的社区形成鲜明对比。

无论有多大的项目,都无法完全避免暴露其代码的潜在危险。以Linux Mint为例,该漏洞在2016年被黑客入侵。尽管该后门问题在一天内得到解决,但由于Linux开源社区的规模,快速响应时间还是慢了。

在我们的开发社区相对较小的情况下,我们需要特别注意以下事实:共享源代码是一把双刃剑。对于硬件钱包而言,不幸的事实是,发布源代码可使黑客更容易检测到漏洞并进行攻击。开源代码甚至可以为网络犯罪分子敞开大门,以生产能够欺骗消费者的假冒硬件钱包-Trezor已经成为受害者的安全威胁。


零日攻击的风险增加

安全硬件钱包所有者需要敏锐地意识到零日攻击。在零日攻击中,从暴露或宣布先前未知的漏洞到修复漏洞之间的时间段为黑客提供了进行攻击的绝佳机会。由于硬件钱包中的漏洞通常是通过固件升级来解决的,因此通常需要一段时间才能发布正式的安全补丁,以便用户实际安装它们并解决问题。对于某些在设置了硬件钱包后数月甚至数年都无法打开的用户,遭受零日攻击的风险急剧增加。对于那些具有开放源代码软件开发经验的人来说,也许与直觉相反,黑盒子或带有封闭源代码的设备比带有开放源代码的白盒子更安全。


心理上的舒适还是实际的收益?

尽管倾向于将我们的知识和对比特币的了解作为开放源代码提供的安全性的主要示例,但假设所有区块链项目都应效仿并成为开放源代码是一个合理的飞跃。比特币从其开源开发社区享有的安全性是其社区参与规模的直接结果。不管是源代码还是挖掘功能,比特币社区都已参与维护和保护项目,更多的参与与更安全的功能相关。但是,由于目前涉及硬件钱包安全性的开发人员相对较少,因此我们无法假设共享源代码到此空间的好处。

除了极大地增加检查代码的审阅者的数量之外,传统计算领域中开放源代码开发的另一个好处是,任何人都可以自己下载,安装,刻录,调试甚至删除源代码的某些方面。

这种自治级别带来的安全性取决于特定技术的基础。但是,即使拥有坚实的技术基础,安全措施也总是有可能被淘汰。计算领域的技术人员将熟悉Ken Thompson Hack(KTH)如何在C编译器中创建后门,而不是可以想象地监视或放置对世界上任何软件程序的控制。您必须使用二进制代码编写自己的编译器,或者使用在安装KTH之前已编译的工具,才能克服此安全漏洞。 KTH证明,从源代码编译的任何系统总是容易受到攻击。

肯·汤普森(Ken Thompson)这样的OG教给我们的是,除非您能够编写自己的编译器 (不包括极少数开发人员,否则就不包括其他所有开发人员),您将必须信任第三方。诸如不得不搁置自己的编译器之类的深度问题,大多数硬件钱包用户甚至都不会费力调试源代码。对于这一类用户来说,知道他们的硬件钱包是开源的,这在心理上是一种安慰,而不是实际上可以显着改善其钱包安全性的状况。

QR码签名输出的“可审核性”

在传统的计算领域,它有助于将开源软件带来的安全性视为对源代码的一种“审核”。尽管对于加密货币安全性还没有实现,但是可以替代什么作为硬件钱包“可靠”的可靠来源呢?

幸运的是,已签名的交易输出并不比其他类型的软件输出复杂。如果提供源代码不是提供审计硬件钱包方式的最安全选择,我们可以考虑仔细检查其交易签名输出。

人们购买硬件钱包是因为他们知道存储私钥的最安全方法是将其离线放入冷存储器中。所有硬件钱包服务都需要一种在离线存储和在线终端之间进行通信的方式。冷端(离线存储)负责存储私钥和签署交易,而热端(在线终端)则需要从区块链获取数据,构造用于冷存储端进行签名的交易,并将签名的交易广播到区块链

在传输签名输出时,大多数冷存储硬件都使用数据线,蓝牙甚至NFC。由于其数据传输的不透明性,这些方法使签名输出极难审核。冷库硬件通信的一种被忽略的方法是QR码,这是一种“所见即所得”的解决方案。我们认为QR码是在冷端和热端之间传输数据的理想方法,因为QR码输出的数据是透明的。这使用户可以轻松地确保传输到冷存储设备的每个未签名交易都是有效的,并确保来自冷端的签名输出不会以任何方式泄露私钥或敏感信息。

Cobo Vault的安全元素是开源的

尽管Cobo Vault认为开放源代码对于增强硬件钱包的安全性没有多大意义,但我们仍发布了Cobo Vault安全元素的固件代码。通过这样做,我们使用户能够看到真实的随机数生成器(TRNG)而不是伪随机数生成器(PRNG)如何生成随机数。在不久的将来,我们将发表一篇文章,详细说明安全元素的功能,随机数的重要性以及真实随机数和伪随机数之间的差异。

原文链接如下,知识产权属于原作者,本文仅做简短翻译,如需了解更多信息,请查看原文。Should Hardware Wallets Be Open Source?

—-

编译者/作者:范荟的小马哥

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...