作者:Foundation

来源:https://foundationdevices.com/2020/05/evaluating-the-security-and-trustability-of-hardware-wallets/

随着比特币价格攀升,我们意识到鼓励用户将资产从交易所里取出并安全地保管在自己手中变得前所未有地重要。对于普通用户来说,硬件钱包是存储大额比特币的不二之选。

但是,面对市面上五花八门的硬件钱包,我们该如何评估它们的安全性和可信度?

Foundation 注意到,新入行的参与者在开源安全模块和可信度的声明上严重失实。我们认为,区块链行业有必要进行自我整治,遵循一套清晰的信息披露标准,确保硬件钱包买家在充分知情的情况下做出购买决策。

在本文中,我们提出了一套硬件钱包评判标准。为保证中立,本文不会从安全性或可信度方面对任何钱包进行排名。文中所列举的公司名和产品名均已经过保密编辑。

建议标准

  1. 安全模块是否开源
  2. 组件是否可信
  3. 供应链是否可信
  4. 宣传功能是已有功能还是承诺功能
  5. 声明是否诚实
  6. 是否使用安全证书作为挡箭牌
  7. 是否支持部分签名的比特币交易(PSBT)

安全模块是否开源

硬件钱包制造商必须披露其产品的安全模块是否开源。这一问题上不存在中间立场。即使只有部分设计是保密的(例如,部分电路原理未公开、组件信息经过保密编辑或源代码未公开),这个硬件钱包也是闭源的。

Foundation 最近看到了许多来自硬件钱包制造商的稀奇古怪的开源声明。例如,有个制造商声称自己 “率先推出了硬件钱包行业的首个开源安全元件固件”,却闭口不提其产品的操作系统是闭源的!

该制造商还声称其 “硬件钱包应用层、设备原理图(电路图)和物料清单(BOM)也是开源的”,却避而不谈他们的原理图少了部分信息,而且 BOM 上也没有安全元件芯片的详细信息。

另一个受欢迎的制造商如实告知用户运行在其硬件钱包上的应用都是开源的,却丝毫不提其设备固件本身是闭源的。

这些例子背后反映出的问题非常重要,因为大多数消费者只看到了这些开源声明的表面意思。如果消费者被告知某款硬件钱包是开源的,他们会以为比特币社区内的专家能够研究并验证该钱包的硬件和软件。我们必须为消费者提供准确的信息,并让他们在知情的情况下做出购买决策。

更何况,开源硬件产品需要耗费大量时间和精力。制造商必须提供关于固件的文档、评论和构建说明。电路原理图必须清晰易读、一目了然而且格式正确。电气设计必须导出为正确的文件格式。BOM 必须包含每个组件的详细信息。如有可能,制造商还要提供每个组件的数据表。

如果我们的行业愿意放低开源硬件的标准,就是在打击制造商诚实守信的积极性。“开源” 或将变成一个烂大街的流行词,任由所有硬件钱包制造商随意写进宣传材料里,作为提高销量的卖点。我们要警惕这一风险。

如需更详细的指导,我们强烈建议开源硬件钱包制造商遵守 OSHWA 标准,并按照 CERN 的开源硬件许可证(Open Hardware License,OHL)开源所有硬件。该许可证涵盖了很多极端情况,例如,制造商要求在访问 BOM 上组件的数据表时签订保密协议。

Foundation 目前尚未发现有任何硬件钱包符合 OSHWA 标准,并按照 CERN OHL 或类似的开源硬件许可证进行开源。

组件是否可信

硬件钱包必需是超安全的。因此,硬件钱包制造商必须谨慎选择可以信任的组件。由于我们必须依赖第三方组件和全球供应链,硬件目前还无法实现完全免信任。因此,Foundation 将值得信赖的组件称为 “可信组件”。

下面是常见的硬件钱包组件和隐患。

  • 屏幕

屏幕是否包含运行闭源固件的集成处理器?大多数现代高分辨率显示器都运行黑盒芯片。供应链是否不透明?大多数 AMOLED 和 E-Ink 显示器都有专门的供应链。屏幕的生产厂商是哪家公司 —— 是阿里巴巴上的代工厂还是像 Sharp 这样的知名公司?

  • 触控面板

如果硬件钱包使用的是触控面板而非物理键盘或按键,其触控面板是否包含运行闭源固件的集成处理器?大多数高质量的多点触控面板均包含嵌入式 CPU。

  • 处理器(又称 MCU)

处理器的生产厂商是哪家公司?是不知名的小厂商还是像 NXP、STM 或 Microchip 这样的知名公司?

  • 安全元件

安全元件是一个无法执行代码的 “笨” 设备还是它会运行固件和操作系统?硬件钱包制造商是否知道安全元件上正在运行什么固件?有没有开源该固件?安全元件是黑盒吗?安全元件的生产厂商是不知名的小公司还是像 NXP、STM 或 Microchip 这样的知名公司?

  • 摄像机

摄像机内是否包含运行闭源固件的集成处理器?大多数摄像机都有。如果真的有,硬件钱包是否针对来自摄像机的输入采取了净化措施?硬件钱包制造商能否通过公开源代码来证明这点?

  • 锂离子电池

电池是否包含运行闭源固件的集成处理器?一些攻击向量会监控硬件钱包在使用期间的用电量。电池的生产厂商是哪家公司?

Foundation 深受知名开源硬件专家 bunnie 的启发。如果你想了解更多关于可信硬件的内容,请阅读他的博客

供应链是否可信

硬件供应链很复杂。纵向整合的硬件制造商很少见。大多数硬件公司都依赖合同制造商,所有硬件公司都依赖来自中国的零部件供应链。为了让买家能够在知情的情况下做出购买决策,Foundation 认为硬件钱包制造商必须披露以下信息:

  1. 关键零部件的供应商:关键零部件包括屏幕、触控面板、安全元件、摄像机和电池。即使硬件钱包是闭源的,制造商也应该披露这部分信息,因为这些信息通过拆机就能轻而易举地获取。
  2. 第三方工程公司的名称和地址:这里指参与硬件钱包设计的第三方工程公司。例如,买家想知道美国的某家硬件钱包制造商是否将电气工程外包给了某家中国公司。
  3. 合同制造商的地址:虽然出于安全考虑保密制造商的名称是谨慎之举,但是知道大致的产地非常重要。例如,买家需要知道欧洲的某个钱包制造商是否将生产外包给了某个中国厂家。

宣传功能是已有功能还是承诺功能

硬件钱包制造商会通过增加新功能和修复漏洞的方式不断改进其产品。我们能理解制造商为了尽快盈利而将一款硬件钱包迅速推向市场的迫切心情,但是制造商必须明白他们出售的是重要的安全设备。在评价硬件钱包制造商时,业内只会依据其产品的已有功能,而非未来路线图。

我们最近观察到一种现象:新入行的硬件钱包制造商常承诺会在将来开源其设计的组件或在未来版本增加 PSBT 支持等重要功能。

在推特上私信某硬件钱包制造商时,我问了一个关于配套移动应用的问题:

你们放心让消费者使用这个应用,却不公开这个应用的源代码?

对方回复:

我们放心让用户使用这个应用。我们只是觉得相比直接开源,在开源之前先进行代码审计才是负责的表现。

我实在大受震撼,因为这家公司居然承认了他们放心让用户去下载一个闭源且未经过审计的配套应用来保管自己的密码学资产。区块链行业评价硬件钱包制造商时必须依据其产品的已有功能,并严格抵制那些只会开空头支票的公司。

声明是否诚实

Foundation 发现很多硬件钱包制造商在设备安全性和功能方面的声明严重失实。大多数消费者不具备足够的专业知识来判断声明的真实性。因此,社区必需让硬件钱包制造商承担起责任,禁止一切失实或夸大的声明。

以下是我们最近看到的一些声明:

黑客甚至无法尝试盗取您的密码学货币。

首个能够防范物理攻击的比特币钱包。

该钱包将多层保护和多签保护相结合,提供物理安全级别最高的资产存储服务。

创新的密钥生成和找回系统为您提供无懈可击的防护。

全球首个支持多币种的非电子硬件钱包。

【某钱包】在生产过程中采用了业内第一的二元密钥生成(2FKG)流程来生成钱包的私钥。2FKG 流程以最高安全标准保护您的密码学资产。

防篡改:【某钱包】可抵御物理攻击,无需担心失窃问题。

是硬件钱包,更是冷钱包。具有物理隔离、防篡改、免信任特性。

【某钱包】使用市面上最安全的芯片构建,为您的密码学货币提供最优安全性保障。

最佳安全性……【某钱包】提供最高级别的防护:您的私钥受到经过认证的安全芯片的保护。

上述声明很多都是胡说八道(“例如,黑客甚至无法尝试盗取您的密码学货币”),但是很多硬件钱包的买家都只看声明的表面意思。有些声明则比较微妙(“使用市面上最安全的芯片构建”),但是有将观点与事实混淆之嫌。

硬件钱包制造商必须明白一点:他们卖的不是烤箱或计算器之流,而是用来保护大量密码学货币的重要安全设备。硬件钱包是不完美的。硬件级别的安全性也是不完美的。漏洞永远避免不了。制造商必须做出诚实的声明。

是否使用安全证书作为挡箭牌

一些硬件钱包制造商拿 EAL5 之类的安全证书做宣传。这类安全证书本身没有问题,但是我们必须认识到它们的缺点。

  1. 零部件制造商付钱给认证机构认证其产品。我们要理解这里面的激励机制。
  2. 认证流程并不包含所有攻击向量。零部件会在预定义场景中接受预定义的认证流程。
  3. 认证不能代替独立审计。

区块链行业绝不能容许硬件钱包制造商将安全证书当作挡箭牌。例如,近期推出硬件钱包的制造商声称其产品是:

100% 离线的防篡改密码学货币硬件钱包,是全球首个安全固件获得最高级别安全认证(EAL7)的钱包。

我向该公司发邮件询问其固件是否开源,得到以下回复:

我们将在 github 上公开大量代码,但是我们的安全固件将是闭源的。该安全固件已经获得全球最高级别的安全认证(根据明天将发布的新闻稿,是 EAL7 级)。我们希望逐步实现完全开源。

对于不了解安全证书的普通消费者来说,这种回复具有很强的误导性。我们绝不能容许新入行的硬件钱包制造商使用安全证书代替开源和可审计性。

是否支持 PSBT

另外,Foundation 认为支持比特币的硬件钱包应该明确披露它们是否支持部分签名的比特币交易(PSBT)。PSBT 是比特币交易的标准格式,让用户可以轻松跨越不同的硬件和软件钱包创建多签设置。

不支持 PSBT 的硬件钱包制造商是在固守封闭式生态系统,阻碍比特币创新,大幅增加软件钱包开发者整合新的硬件钱包的难度。

结论

通过这篇文章,Foundation 希望能在比特币乃至整个密码学货币领域引发关于硬件钱包要求的大规模讨论。行业必须自我整治,才能为消费者提供尽可能安全的产品,保护消费者的密码学资产。

(完)