硬件钱包使用方法,2022九种方法教你2022如何安全使用硬件钱包

当前位置:首页 > 钱包秘钥 > 硬件钱包使用方法,2022九种方法教你2022如何安全使用硬件钱包

硬件钱包使用方法,2022九种方法教你2022如何安全使用硬件钱包

2022-06-13钱包秘钥837

硬件钱包使用方法?九种方法教你如何安全使用硬件钱包第1张

2019年底发布的统计数据显示,与2018年相比,美国的比特币拥有者数量增长了81%。美国目前有3650万数字货币持有者。越来越多的人拥有数字货币,使得“安全存款”这个话题变得尤为重要。

当我们谈到安全的钱存,一个绕不开的话题就是硬件钱包。硬件安全可以分为两部分:

技术安全。这方面的安全性在数字货币社区已经讨论了很多年,包括如何防御中间人攻击、物理攻击(旁路攻击)、供应链攻击等。主要集中在如何从技术角度防御这些攻击。第二块没有人为失误就谈不上了。统计显示,由于人为失误,至少有400万个比特币将永远无法使用。如果我们关注比特币的历史,我们会看到许多改进(BIP)是为了避免人为错误。比如为了避免管理太多的私钥,创造了HD 2022蓑衣网小编 wallet例如,创建助记符是为了避免在保存主密钥和私钥的过程中出现人为错误。本文将从技术安全和人为失误两个维度来讨论硬件钱包安全的九个改进点。

完全离线

硬件钱包的第一个功能就是让你的私钥“离线”。如果你的私钥“离线”,黑客远程攻击硬件钱包的可能性就会大大降低。但是为什么这里要引用“离线”呢?因为硬件钱包之间“离线”的程度是不一样的。具体来说,大多数硬件钱包在不使用的时候是完全离线的。但一旦投入使用,大多数硬件钱包将通过USB电缆或蓝牙连接到联网的手机或电脑。虽然连接时间非常有限,但此时“间接联网”的状态是非常危险的。

所以,“离网”其实是一个相对的概念。“脱网”的关键在于配套app(如账本直播)与硬件钱包的通信。目前有四种通信方式:——USB、蓝牙、二维码、TF卡。二维码和TF卡更好,因为它们建立的链接不是连续的通信连接,所有的通信数据都是透明的、可审计的。从而将攻击面减小到最小。

二维码和TF卡通信的另一个好处是,硬件钱包适配第三方钱包非常容易。只要双方遵循相同的数据格式,就不需要考虑USB和蓝牙的适应性。这也使得硬件钱包可以简单地扮演“签名者”的角色。

安全芯片

海外社区一直在争论硬件钱包是否应该使用安全芯片。赞成的一方认为没有安全芯片就无法抵御物理攻击(旁路攻击),反对的一方认为安全芯片是黑匣子,不可信任。但是,安全芯片并不完全是黑匣子,安全芯片在一定程度上是可验证的。

如何验证安全芯片?

社区对安全芯片似乎已经形成了多年的共识。——安全芯片不开源。但实际上取决于硬件钱包厂商和安全芯片厂商的谈判能力。开源安全芯片的芯片设计和底层代码需要很高的成本,但是开源安全芯片的固件代码是完全可以的。

安全芯片的固件开源后,用户可以验证这些密钥信息:

如何从随机熵值生成助记符,进而生成主密钥和私钥。所有私钥和公钥的派生私钥的签名过程都发生在安全芯片中。私钥一旦生成,永远不要离开安全芯片,但是还有三个功能点是用户无法通过查代码验证的(这些功能都是安全芯片厂商在芯片设计或者底层代码中实现的):

真随机数生成(TRNG)签名算法,比如ECDSA安全芯片如何防御物理攻击(旁路攻击),但是用户可以通过其他方式验证这三个功能点。

真随机数生成。用户可以运行FIPS 140-2来验证它的随机性。 Trezor也做过相关测试。此外,在我们后期的产品更新中,将允许用户掷骰子生成随机熵,然后生成助记符和私钥,从而“绕过”真随机数的功能,用户无需信任安全芯片的真随机数生成器。签名算法的验证,如ECDSA,需要依赖一定的专业知识。我们可以提供安全芯片的开发板,供有兴趣的研究人员验证并发表相关成果。关于安全芯片对物理攻击(旁路攻击)的防御,从硬件钱包的攻击历史可以看出,虽然我们无法得出“安全芯片可以抵御所有物理攻击(旁路攻击)”的结论,但与一般MCU相比,安全芯片对物理攻击(旁路攻击)的防御能力是远远超出的。此外,研究人员还可以向我们申请安全芯片的开发板,验证其对物理攻击(旁路攻击)的防御能力。综上所述,如果安全芯片实现了开源固件,所有的关键操作和安全性都可以得到验证或证明。

PSBT多签名

部分签名的比特币交易(PSBT)来自BIP 174。从BIP 174的官方文件中我们可以看到,PSBT主要有两种使用场景:

混合货币。混币可以帮助用户更好的保护自己的隐私,这是不容易被在线分析追踪到的。跨硬件钱包的多重签名。PSBT相当于把不同的硬件钱包统一起来,观察钱包之间的“交流语言”。从而实现不同硬件钱包之间的跨硬件多签。这样可以有效避免某个硬件钱包“单点故障”带来的安全风险。对于未来的硬件钱包,支持PSBT将是必须的。DIY硬件钱包(BYOH——打造自己的硬件)

DIY硬件钱包是很多极客玩家最大限度降低对硬件钱包厂商信任的终极方式。

过去的硬件钱包主要是通过开放硬件电路设计和所有代码来让用户DIY,从而方便用户从零开始打造一个硬件钱包。但这种说法会带来两个问题:

这种方式使黑客能够以较低的成本制造一个假的硬件钱包,然后将假钱包出售或进行供应链攻击,从而窃取用户的数字资产。历史上也确实发生过类似的事件。这种方式对用户的技术能力要求很高,用户需要同时具备硬件和软件研发能力。完成DIY的能力。比较好的解决方案是把安全芯片开发板卖给用户,这样一来,一是黑客无法通过制作假钱包来攻击用户;其次,用户只需具备软件开发能力,就可以利用安全芯片开发板打造自己的硬件钱包。

以上四个吊点主要是从技术安全的角度来阐述的。最近在海外市场火起来的硬件钱包ColdCard,引领硬件钱包行业在TF卡数据传输和PSBT支持上向前迈进了一大步。

但遗憾的是,硬件钱包诞生的这些年来,硬件钱包厂商往往最注重技术层面的安全性。比如代码的健壮性,比如安全芯片的使用。整个行业很少关注硬件钱包的“用户体验”。然而,通常是用户体验的缺点导致人为错误,从而导致硬币损失。时至今日,硬件钱包已经不再是极客专用的产品,普通用户也开始使用。我们在设计硬件钱包的时候,也要考虑到人为错误,创造更好的用户体验,避免用户损失金钱。

在深入讨论人为失误之前,需要强调的是,“人为失误”是一个相对的概念,往往不能同时适用于普通用户和专业用户。一些针对“人为错误”的产品改进可能会减少专业用户对钱包产品的定制。举个最简单的例子,对于专业用户的钱包,会允许用户手动选择UTXO。但为了降低产品复杂度,避免普通用户的人为失误,应该放弃手动选择UTXO的功能。 下面详细介绍如何改进硬件钱包,以减少人为失误的概率,避免丢币。

触摸大屏

相信所有使用过目前主流硬件钱包的用户都经历过小按键小屏幕的糟糕体验。这种经历中的缺点放大了人为错误的可能性。从输入密码短语来看,由于小屏幕的显示效果较差,字符输入的体验也较差,现有的硬件钱包都是让用户只输入一次密码短语,这样一旦用户输入错误,就有可能把硬币转错地址而丢失。配合大屏,输入体验更好。在信息更加完整之后,系统可以要求用户输入密码短语两次。如果输入匹配两次,用户将进入隐藏的钱包。如果输入不匹配,系统将报告错误。从而避免人为错误。

除此之外,大触摸屏还可以避开一些攻击面。比如说。收款的时候可以直接把自己硬件钱包上收款地址的二维码给对方看。因为配套App是联网的,其收币地址容易被攻击,所以在收取大量数字货币时,直接使用硬件钱包的收币地址更安全。

以上改进可能不会对专业用户构成威胁,但如前所述,越来越多的用户拥有了数字货币。硬件钱包不再只是面向专业用户,还需要考虑普通用户的使用场景。

防御不可信固件

开源代码对于去中心化的应用和产品极其重要,但是开源代码往往会带来新的攻击面。目前部分硬件钱包支持用户自行修改开源代码,编译成升级包,然后烧录到硬件钱包中。这给了极客们更多的空间去修改自己的硬件钱包,但也给黑客打开了方便之门:黑客可以主动联系那些在网上提问的小白用户,诱骗他们安装被黑客篡改的固件升级包(即使升级过程中会有提示,黑客作弊成功还是有一定概率的),然后钱就被盗走了。

为了降低此类风险,任何商用版本的硬件钱包都应该只允许用户安装官方签署的固件升级包。这样做并不一定意味着会伤害极客用户的用户体验。同时可以推出极客版产品,允许用户自行定制固件上传。即使产品出厂时没有工作固件,用户也要自行烧录产品才能正常使用,避免普通用户误买极客版产品,增加自身安全隐患。再者,允许用户更换硬件钱包中的验证升级包公钥,从而实现手中的硬件钱包,只批准用户自己签名的固件升级包。

模块化电池

随着我们日常的电子产品(尤其是手机)已经成为“快速消费品”,用户通常1-2年更换一次产品,所以电池的使用寿命并不是太大的问题。电池厂商一般按照1-2年的使用寿命来设计电池。但是硬件钱包的使用场景和手机有很大不同。通常情况下,用户可能需要存储几年甚至十几年。甚至有些用户,把硬件钱包封在保险柜或者银行保险柜里之后,可能几个月甚至几年只操作一次硬件钱包。

在这种场景下,需要防止电池漏液损坏硬件钱包体,模块化可拆卸电池就变得必要了。同时可以避免用户因为几个月或者几年没有操作硬件钱包,导致电池出现故障,关键时刻无法转账的尴尬。

手机配套App

目前主流的硬件钱包主要以基于电脑的App作为配套App,比如Ledger Live或者Trezor的基于网页的App。但相比手机App,电脑App会带来更大的风险暴露:

手机App都是在沙盒环境下运行的。应用程序不允许相互读取数据。移动产品默认开启系统全局加密,电脑上往往不是这样。 移动端的用户权限往往受到严格限制。不像在电脑端,用户甚至可以通过命令行工具绕过一些安全设置。除了以上三点,普通用户并不擅长辨别钓鱼链接。因此,普通用户在下载电脑端App时,更容易受到钓鱼攻击,下载错误的配套App软件,从而损失金钱。

《精通比特币》的作者安德烈亚斯安东诺普洛斯(Andreas Antonopolous)也曾建议公众使用手机钱包,而不是电脑钱包。

支持线下购买

大部分普通用户都不善于保护自己的线上隐私。在线隐私泄露会导致有针对性的威胁攻击(APT攻击),甚至五美元扳手攻击(5美元扳手攻击)。如果把这一点作为攻击面之一来考虑,最好是硬件钱包能够支持用户通过线下渠道现金购买。

写在最后

建立一个安全的硬件钱包并不容易。可以理解为这是一场矛与盾的决斗。除了以上九大硬件钱包改进,还有两点是我们非常期待的:

抛弃所有MCU芯片,用一个安全芯片来控制所有硬件钱包的输入输出,包括但不限于键盘、屏幕、摄像头、读卡器、蓝牙、USB等等。回顾硬件钱包攻击的历史,所有的恶性攻击都是围绕MCU展开的。所有开源安全芯片。这将把安全芯片关键部件的透明度提升到前所未有的高度。很高兴看到谷歌等巨头公司都在为此努力。作者:刘立新,科博五金业务线负责人。感谢Matt Odell和Lazy Ninja对本文的宝贵意见。

硬件钱包使用方法,2022九种方法教你2022如何安全使用硬件钱包 | 分享给朋友: