加密货币硬件钱包安全使用的10条黄金法则

本文详细介绍了硬件钱包的安全使用规范,涵盖设备采购、初始化验证、恢复短语保护、多重签名配置等关键技术要点,帮助用户规避供应链攻击、中间人篡改等安全风险,提升加密货币资产保护能力。

加密货币硬件钱包安全使用的10条黄金法则

硬件钱包的兴起

在加密货币早期,用户通常使用标准PC上的客户端软件生成支付地址(密码学术语中的公钥/私钥对)。不幸的是,一旦加密货币成为热门商品,在通用计算机上使用"软件钱包"安全存储账户私钥就变成了负担。软件钱包文件可能丢失或被删除,且成为盗窃目标。大多数用户对安全可靠存储私钥的重大责任准备不足。这在一定程度上推动了托管存储服务(如加密货币交易所)的采用。

多年来,这些服务遭受了大量未受惩罚的盗窃,使许多用户意识到他们永远不能像信任受监管银行持有法币那样信任第三方托管加密货币。因此,在过去几年中,硬件钱包作为在不依赖托管服务的情况下保护加密货币账户的有用工具越来越受欢迎。

万无一失的解决方案?

硬件钱包是一种消费级硬件安全模块(HSM),具有类似目的:设备体现防篡改保险库,用户可以在其中创建和使用加密身份(此处指加密货币账户),而私钥永远不会离开设备。从根本上说,硬件钱包只需要获取在主机上创建的交易,对其进行签名使其有效,并输出签名后的交易供主机发布到区块链。

实际上,这并不那么简单。用户必须正确初始化钱包。有时设备需要固件更新。还有恢复代码(也称为BIP39恢复短语或种子词)的问题。硬件钱包比将私钥存储在防火保险箱中的纸张上或笔记本电脑目录中有巨大改进,但硬件钱包仍然存在风险。用户需要采取一些安全预防措施。用Bruce Schneier的话说:“安全是一个过程,而不是产品。”

加密货币硬件钱包安全使用的10条规则

1: 从可信来源购买设备,最好直接从供应商处购买全新未开封的产品

避免任何不必要的供应链风险。直接从制造商(如Ledger或Trezor)购买设备而不是从经销商处购买,可以最大限度地减少获取假冒或中间人篡改设备的风险。据报道,至少有一个恶意的eBay经销商设计了巧妙的方案来欺诈买家,即使向他们销售的是正品未开封产品(见规则#3)。

2: 切勿使用预初始化的硬件钱包

如果用户接受预初始化的硬件钱包,他们就是将加密货币放入可能只是攻击者控制钱包副本的钱包中。确保您(且只有您)在使用前正确初始化硬件钱包。遵循硬件钱包供应商网站上的初始化说明(例如,Ledger品牌钱包的说明;Trezor钱包的说明)。

3: 切勿使用预设的恢复词,只使用设备上生成的词

切勿接受预设的恢复词。始终从零开始初始化硬件钱包,使用设备生成新的随机恢复词。任何知道恢复词的人都可以完全控制钱包,能够监视其活动,并能够窃取其所有硬币。实际上,这些词就是密钥。

2017年12月,据报道一个硬件钱包经销商在每个交付给客户的设备盒子中包装了假冒刮刮卡。刮刮卡显示恢复词列表,并指示买家使用恢复步骤设置设备,而不是通过初始化安全生成新词集。这是一个巧妙的骗局,诱使用户使用预配置钱包(见规则#2)。

4: 优先选择能够提供完整性证明的设备

虽然重置或初始化设备应该足够,但理论上仍然存在购买假冒或篡改硬件钱包的风险。在购买之前,确认您能够验证新硬件钱包的来源、真实性或完整性。寻找设备制造商提供的软件,可以查询设备上的安全元件并提供设备完整性的证明。遵循钱包供应商的验证说明(例如,Ledger使用安全元件证明检查设备完整性的说明)。然而,当今钱包的证明能力仍存在差距。用户应继续要求更好更完整的证明。

5: 测试您的恢复词

数据保护101是"始终测试备份":在这种情况下,您的备份是恢复词集。使用备用硬件钱包设备,使用记录的恢复词初始化测试钱包。消除任何关于记录词能否成功恢复原始钱包状态的疑虑。测试恢复词的正确性后,重置/擦除此测试设备。不要使用通用计算机或软件钱包验证恢复词。遵循供应商执行恢复演练测试种子词的说明(Trezor钱包用户的步骤和Ledger用户的步骤)。

6: 将恢复词与硬件钱包分开且同等保护。不要拍照。不要输入任何设备。

手写恢复词——不要输入计算机或拍照打印——然后层压纸张(最好使用档案质量无酸纸长期存储)。将其存储在 opaque 防篡改密封信封(示例)中,以确保未经授权未被查看。请记住,如果恢复词与设备一起存储,设备的PIN码无法防止具有物理访问权限的攻击者。不要将它们存储在一起。

7: 验证用于与硬件钱包通信的软件;理解后门桌面UI是威胁模型的一部分

硬件钱包依赖桌面软件启动交易、更新硬件钱包固件和其他敏感操作。加密货币软件用户应要求可重现构建和代码签名可执行文件,以防止攻击者在安装后篡改。相对于使用GPG等工具手动验证,代码签名的优势在于代码签名在每次启动应用程序时由操作系统自动验证,而手动验证通常只执行一次(如果有的话)。然而,即使可验证软件仍可能在运行时被颠覆。认识到通用计算设备经常暴露于来自不可信源的潜在风险数据。

8: 考虑使用高保证工作站,即使使用硬件钱包

通过将工作站专用于操作硬件钱包的单一任务,可以更大程度地锁定,因为它不用于日常任务,也不暴露于许多潜在的泄露源。考虑仅从不可变主机PC配置操作硬件钱包。此工作站将仅离线,并专用于使用硬件钱包创建和签名交易的任务。首先,锁定系统固件配置(例如,限制启动设备,禁用网络启动等)以确保启动过程的完整性。然后,启动媒体可以通过使用TPM支持加密SSD/硬盘的安全启动保护,或者——为了真正的不可变性——通过将可信OS镜像刻录和验证到一次性DVD-R媒体上,并将DVD-R与硬件钱包一起存储在防篡改袋中。

9: 考虑使用M-of-N多重签名钱包与独立存储设备

“多重签名"指需要多个密钥授权交易。这是对单点故障的极好保护。考虑创建多重签名钱包,密钥在存储在物理分离位置的硬件钱包中生成和保存。请注意,如果设备将由不同个人保管,仔细考虑如何协调和做出从钱包支出的决策。为了增加偏执,硬件钱包可以是不同设备品牌。然后,即使在一个硬件钱包制造商的员工成功后门其设备的不太可能情况下,他们仍然只控制您多重签名钱包中的一个密钥。

10: 考虑手动验证新多重签名地址的生成

与规则#7和#8相关,注意多重签名钱包是通过将几个私钥持有者"加入"到由脚本定义的单个地址创建的。就比特币而言,这称为P2SH地址(“支付到脚本哈希”)。地址创建的这部分在桌面软件UI中使用公钥完成,而不是在硬件钱包上。如果受损工作站在生成新P2SH地址期间提供脚本基础,则攻击者可能能够加入或控制多重签名钱包。例如,攻击者控制或颠覆的桌面软件可能秘密将2-of-3钱包变成2-of-5钱包,插入攻击者的两个额外公钥。请记住,硬件钱包并不完全排除保护与其接口的主机的需要。

仍需更安全、更可用的解决方案

关于加密货币硬件钱包的风险和建议的讨论说明了更广泛安全行业在尝试设计其他类型固定功能设备用于私钥保护方面的挑战。例如,U2F令牌和安全飞地。

十多年来,安全研究人员一直推动"可用安全"的目标。可用安全简单来说就是安全计算应该易于做对,难以做错。例如,比较现代安全消息客户端的可用性与使用GPG所需的繁琐且易出错密钥管理。正确实现可用性是保护几千技术专家与保护数千万普通用户之间的区别。

避免自满。要求更安全、更好设计的设备,不易陷入陷阱和错误。最好的硬件钱包应该有点无聊!我们希望未来,安全可用的硬件钱包将成为我们可以视为理所当然的商品设备。

在此之前,我们将继续独立并与W3F等组织合作建立安全意识。如果您为创建硬件钱包的公司工作,我们欢迎您联系我们以帮助保护您的用户。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计