时间:2022-02-22|浏览:509
用戶喜愛的交易所
已有账号登陆后会弹出下载
根据2019年底公布的统计,与2018年相比,美国本土比特币拥有者增长了81%。目前,美国有3650万数字货币持有者。越来越多的人拥有数字货币,这使得「安全存币」这个话题变得尤为重要。
当我们谈论安全存款时,一个不可避免的话题是硬件钱包。硬件钱包的安全性可分为两部分:
技术安全。数字货币社区多年来一直在讨论这一领域的安全性,包括如何防御中间人攻击、物理攻击(旁路攻击)、供应链攻击等,主要讨论如何从技术角度防御这些攻击手段。
第二部分必须讨论,即使是人为错误。统计数据显示,由于人为错误,至少有400万枚比特币将永远无法使用。如果我们关注比特币的发展历史,我们会看到很多改进(BIP)都是为了避免人为失误。例如,为了避免管理过多的私钥,HD创建了钱包;例如,创建助记词也是为了避免用户在保存主私钥的过程中出现人为错误。
本文将从技术安全和人为错误两个维度讨论硬件钱包安全的9个改进点。
全脱网
硬件钱包的第一个作用是让你的私钥实现「脱网」。假如你的私钥实现了「脱网」,黑客远程攻击硬件钱包的可能性大大降低。但在这里「脱网」为什么要引号,因为硬件钱包之间,「脱网」程度不同。具体来说,大多数硬件钱包在不使用的情况下完全脱网。但一旦进入使用状态,大多数硬件钱包都会通过 USB 线,或蓝牙,连接到互联网手机或电脑。虽然连接时间非常有限,但此时「间接联网」状态很危险。
所以,「脱网」其实是一个相对的概念。「脱网」关键在于配套 App (如 Ledger 的 Ledger Live)硬件钱包之间的通信。目前主要有四种通信方式——USB,蓝牙,二维码和 TF 卡。二维码和TF卡是一种更好的方式,因为它建立的链接不是连续的通信连接,所有的通信数据都是透明和可审查的。从而最大限度地减少攻击面。
二维码和TF卡通的另一个好处是,硬件钱包很容易适应第三方钱包。因为只要双方遵循相同的数据格式,就不需要考虑USB与蓝牙的适应性。这也使硬件钱包能够简单地扮演一个角色「签名者」的角色。
安全芯片
海外社区一直在争论硬件钱包是否应该使用安全芯片。方认为没有安全芯片就无法抵抗物理攻击(旁路攻击),而另一方则认为安全芯片是一个黑盒子,无法信任。然而,安全芯片并不完全是一个黑盒子,安全芯片在一定程度上是可以验证的。
如何验证安全芯片?
多年来,社区似乎对安全芯片形成了共识——安全芯片是不可开源的。但这取决于硬件钱包制造商和安全芯片制造商之间的谈判能力。开源安全芯片的芯片设计和底层代码需要很高的成本,但完全可以开源安全芯片的固件代码。
开源安全芯片固件后,用户可以验证这些关键信息:
如何从随机熵生成助记词,然后生成主私钥
所有私钥和公钥的衍生
所有私钥签名过程都发生在安全芯片中
私钥一旦生成,永远不离开安全芯片
但仍有三个用户无法通过检查代码来验证的功能点(这些功能是安全芯片制造商在芯片设计或底层代码中实现的):
随机生成真数(TRNG)
等签名算法ECDSA
安全芯片如何防御物理攻击(旁路攻击)
但用户可以通过其他方式验证这三个功能点。
真正的随机数生成。用户可以自己操作 FIPS 140-2 验证其随机性。Trezor 曾经做过相关的测试。此外,在我们以后的产品更新中,用户会允许掷骰子产生随机熵,然后产生助记词和私钥,从而产生助记词和私钥「绕过」用户不需要信任安全芯片的真随机数生成器。
等签名算法ECDSA,这部分验证需要一定的专业知识。我们可以为感兴趣的研究人员提供安全芯片开发板进行验证,并公布相关结果。
从硬件钱包的攻击历史来看,安全芯片对物理攻击(旁路攻击)的防御是无法获得的「安全芯片可以抵抗所有理攻击(旁路攻击)」但与通用 相比,结论是,MCU,安全芯片对物理攻击(旁路攻击)的防御能力远远超过。此外,研究人员还可以向我们申请安全芯片开发板,以验证其对物理攻击(旁路攻击)的防御能力。
综上所述,如果安全芯片实现固件开源,可以验证或证明所有关键操作和安全性。
PSBT 多签
Partially Signed Bitcoin Transaction (PSBT)来自于 BIP 174.从 BIP我们可以看到 174 的官方文件PSBT 主要有两种用途:
混合硬币。混合硬币可以帮助用户更好地保护他们的隐私,不容易被在线分析跟踪。
多签跨硬件钱包。PSBT 相当于统一了不同的硬件钱包和观察钱包「沟通语言」。从而实现不同硬件钱包之间的跨硬件多签。这可以有效地避免硬件钱包「单点失败」安全风险。支持 未来硬件钱包PSBT 将成为必选项。
DIY 硬件钱包 (BYOH - Build your own hardware)
DIY 硬件钱包是许多极客最终减少对硬件钱包制造商信任的方式。
过去的硬件钱包允许用户 DIY 的主要方法是打开硬件电路设计和所有代码,以方便用户从零开始构建硬件钱包。但这有两个问题:
这样,黑客就可以以更低的成本制作假硬件钱包,然后销售假钱包或实施供应链攻击,从而窃取用户的数字资产。历史上也发生过类似的事件
这种方法对用户的技术能力要求很高,用户需要同时具备硬件和软件的研发能力,才能完成 DIY。
一个更好的方案是向用户销售安全芯片开发板,避免黑客通过钱包欺诈攻击用户,用户只需要软件开发能力就可以使用安全芯片开发板制作自己的硬件钱包。
以上四个改进点主要从技术安全的角度进行阐述。海外市场最近的硬件钱包 ColdCard 在 TF 卡数据传输和 PSBT 支持这两个方面带领硬件钱包行业迈出了一大步。
不幸的是,在硬件钱包诞生的这些年里,硬件钱包制造商经常关注技术安全。例如,代码的鲁棒性,如安全芯片的使用。硬件钱包的整个行业「用户体验」很少有人关注它。但这往往是用户体验的缺点,导致人为错误,然后导致货币丢失。今天,硬件钱包不再是极端用户使用的产品,普通用户也开始使用硬件钱包。在设计硬件钱包时,我们还必须考虑人为错误,以创造更好的用户体验,以避免用户丢失货币。
在深入讨论人为错误之前,需要强调「人为失误」它是一个相对的概念,不能同时适用于普通用户和专业用户。有些是针对「人为失误」对于专业用户来说,产品改进可能会降低钱包产品的可定制性。例如,对于专业用户的钱包,用户可以手动选择 UTXO,但为了降低产品的复杂性,避免普通用户的人为错误,手动选择 UTXO 应该放弃这样的功能。以下是如何改进硬件钱包,以减少人为错误的可能性,以避免丢失硬币。
触摸大屏