加密货币硬件钱包安全使用的十大准则
硬件钱包的兴起
加密货币早期阶段,用户仅通过标准PC上的客户端软件生成支付地址(密码学术语中的公钥/私钥对)。然而随着加密货币成为热门资产,在通用计算机上使用"软件钱包"存储账户私钥变得风险重重——钱包文件可能丢失、删除或成为盗窃目标。多数用户尚未准备好承担安全可靠存储私钥的重大责任,这在一定程度上推动了托管存储服务(如加密货币交易所)的普及。
历经多年大规模且未受惩罚的盗窃事件,许多用户意识到无法像信任受监管银行持有法币那样将加密货币资产托付给第三方。因此过去几年间,硬件钱包作为不依赖托管服务却能保护加密货币账户的有效工具日益流行。
万无一失的解决方案?
硬件钱包属于消费级硬件安全模块(HSM),核心功能相似:通过防篡改设备创建和使用用户的加密身份(此处指加密货币账户),且私钥永不离开设备。本质上,硬件钱包只需接收主机创建的交易,进行签名验证后输出已签名交易供主机发布至区块链。
但实际操作远非如此简单:用户需正确初始化钱包,设备可能需要固件更新,还需处理恢复代码(又称BIP39恢复短语或种子词)。虽然相比将私钥存放在防火保险柜的纸张或笔记本电脑目录中已是巨大进步,硬件钱包仍存在风险。用户必须采取安全预防措施,正如Bruce Schneier所言:"安全是过程而非产品"。
十大安全使用准则
1. 从可信渠道购买设备,优先选择厂商直供的全新未拆封产品
避免不必要的供应链风险。直接从制造商(如Ledger或Trezor)而非经销商处购买,可最大限度降低获取假冒或经中间人篡改设备的风险。据报道至少有一名恶意eBay经销商在销售正品未拆封产品时仍设计精巧骗局(参见第3条规则)。
2. 绝不使用预初始化硬件钱包
若接受预初始化硬件钱包,用户可能将加密货币存入攻击者控制的钱包副本。务必确保仅由本人在使用前正确初始化设备,遵循厂商官网的初始化指南(例如Ledger钱包指南或Trezor钱包指南)。
3. 绝不使用预设恢复词,仅使用设备生成的新词组
切勿接受预设恢复词。始终通过设备生成全新随机恢复词进行初始化。任何知晓恢复词的人都可完全控制钱包、监控其活动并窃取所有资产——本质上这些词语就是密钥。
2017年12月,某硬件钱包经销商在发给客户的每个设备包装盒内放置伪造刮刮卡,卡片显示恢复词列表并指示买家通过恢复步骤设置设备而非安全生成新词。这是诱使用户使用预配置钱包的精密骗局(参见第2条规则)。
4. 优先选择能提供完整性证明的设备
尽管重置或初始化设备应已足够,但理论上仍存在购买假冒或篡改硬件钱包的风险。购买前确认能够验证新设备的来源、真实性或完整性。寻找设备制造商提供的可查询安全元件并出具完整性证明的软件,遵循厂商验证指南(例如Ledger使用安全元件证明检查设备完整性的指南)。需注意当前钱包的证明能力仍存在缺陷,用户应持续要求更完善的证明机制。
5. 测试恢复词有效性
数据保护基本原则是"始终测试备份":此处备份即恢复词集合。使用备用硬件钱包设备,通过记录的恢复词初始化测试钱包,彻底消除记录词语能否成功恢复原始钱包状态的疑虑。验证完成后重置/擦除测试设备,切勿使用通用计算机或软件钱包验证恢复词。遵循厂商指南执行恢复演练测试种子词(Trezor用户步骤与Ledger用户步骤)。
6. 将恢复词与硬件钱包分开并同等保护。禁止拍照或输入任何电子设备
手动书写恢复词(切勿输入计算机或拍照打印),使用无酸档案纸进行塑封以实现长期存储,置于不透明防拆密封袋(示例)中确保未授权查看。需注意若恢复词与设备共存,设备PIN码无法防御物理访问攻击者,故严禁共同存储。
7. 验证与硬件钱包通信的软件,认清后门桌面UI属于威胁模型组成部分
硬件钱包依赖桌面软件发起交易、更新固件及执行其他敏感操作。加密货币软件用户应要求可重现构建和代码签名可执行文件,防止安装后遭攻击者篡改。相对于GPG等工具的手动验证,代码签名优势在于操作系统会在每次启动应用时自动验证签名,而手动验证通常仅执行一次(如果确实执行)。即使可验证软件仍可能在运行时被破坏,需认识到通用计算设备常规暴露于来自不可信源的潜在风险数据。
8. 考虑使用高保障工作站(即使搭配硬件钱包)
通过将工作站专用于操作硬件钱包单任务,可实施更严格安全锁定——因其不用于日常任务,也不暴露于大量潜在威胁源。建议仅在不可变主机配置上操作硬件钱包:该工作站应保持离线状态,专用于通过硬件钱包创建和签名交易。首先锁定系统固件配置(如限制启动设备、禁用网络启动等)确保启动过程完整性;随后通过TPM加密SSD/硬盘的安全启动,或为实现真正不可变性将可信OS镜像刻录至一次性DVD-R介质并存放于防拆袋与硬件钱包共同保管来保护启动介质。
9. 考虑采用M-of-N多重签名钱包与独立存储设备
"多重签名"指需要多个密钥授权交易,这是防御单点故障的绝佳保护措施。建议创建由硬件钱包生成并保管密钥的多重签名钱包,且设备存储于物理隔离位置。注意若设备由不同人员保管,需仔细协调支出决策机制。为增强防护,可使用不同品牌的硬件钱包——即使某制造商员工成功在后门设备,仍仅控制多重签名钱包中的一个密钥。
10. 考虑手动验证新多重签名地址生成
与第7、8条规则相关,需注意多重签名钱包是通过将多个私钥持有者"连接"至脚本定义的单个地址创建的(比特币中称为P2SH地址——支付脚本哈希)。地址创建该环节在使用公钥的桌面软件UI中完成而非硬件钱包。若受损工作站在生成新P2SH地址时提供脚本基础,攻击者可能加入或控制多重签名钱包。例如被攻击者控制或破坏的桌面软件可能将2-of-3钱包秘密转为2-of-5钱包(插入两个附加公钥)。请牢记:硬件钱包不能完全免除保护接口主机的需求。
仍需更安全、更易用的解决方案
关于加密货币硬件钱包风险与建议的讨论,揭示了更广泛安全行业在设计其他类型固定功能设备保护私钥时面临的挑战(如U2F令牌和安全飞地)。十余年来安全研究人员始终推广"可用安全"目标——即安全计算应易于正确实施且难以错误操作。对比现代安全消息客户端的易用性与使用GPG所需繁琐易错的密钥管理可知:实现正确可用性关乎保护数千技术专家还是数千万普通用户的区别。
切忌自满,要求设计更安全、更不易陷入陷阱和错误的设备。最佳硬件钱包应略显"乏味"!期待未来安全易用的硬件钱包成为理所当然的常规设备。
在此之前,我们将继续独立或与W3F等组织合作构建安全认知。若您任职于硬件钱包制造公司,欢迎联系我们共同保护用户安全。
原文发表于2018年11月27日,作者Mike Myers