跳到正文

冷钱包:离线签名、恢复与操作控制

学习如何在密钥生成、钱包身份、备份、交易审查、离线签名、多重签名、恢复和事件响应等方面设计和验证冷钱包托管。

更新于

仅用于教育目的;不是投资建议。投资可能导致损失。

直接回答

冷钱包是一种托管系统,将秘密签名材料和最终批准步骤隔离在日常联网软件的暴露面之外。资产仍记录在区块链上;该系统控制能够授权状态变更的密钥或其他权限。“冷钱包”是操作层面的称谓,而不是协议定义的设备类别;“冷”是完整工作流程的属性,并不取决于品牌或连接方式。

硬件签名设备可以在通过 USB 连接时支持冷存储,因为私钥可能保持隔离,但如果用户签署未验证的目的地或不透明的合约调用,则工作流程仍然不安全。相反,隔离的计算机仅因为没有网络接口而不安全:受损的熵、安装介质、交易解析器、可移动介质、备份或显示器仍然可能突破边界。冷存储可以减少远程密钥提取的风险;它并不能证明交易意图、软件正确性、恢复、隐私或最终性。

恢复副本不仅仅是“一个备份”。助记词、原始种子、扩展私钥或等效的恢复份额可能重建支出权限,因此需要获得与签名设备同等级别的保护。恢复预期地址还可能需要密码短语、派生路径、网络、脚本类型、钱包描述符、密钥顺序和阈值策略。公开的只读钱包通常无法签名,但 xpub 或描述符可能暴露地址关联和交易历史;BIP-32 扩展公钥的安全影响也强于普通公钥。

冷钱包
0 / 5
0 项已核查; 5 项仍未解决

完成核查不代表资产、交易或系统已经安全。

如何设计和验证冷存储

1. 定义权限与威胁模型

记录确切的网络、资产、账户或输出策略、所有者、受益人、恢复权限、预期交易频率以及最大操作风险。将远程恶意软件、恶意应用程序、供应链妥协、内部勾结、物理盗窃、强迫、火灾、洪水、丢失、失能和继承分别识别为独立威胁。决定必须保持冷存储的内容:单个私钥、阈值中的所有密钥、签名者法定人数、EIP-712 授权密钥,或能够更改钱包代码的管理员。

2. 初始化可信熵与软件

通过已认证的渠道获取设备和软件,检查初始化状态,在支持的情况下验证发布版本,并拒绝包装内或协助者提供的任何预生成助记词或秘密。在受控环境中生成熵,并记录所用标准和实现。BIP-39 将 128256 位熵编码为助记词,并从助记词和可选密码短语派生 512-bit 种子;它并不是把自编的易记句子变成安全钱包的标准。

3. 绑定可复现的钱包身份

在获得大量资金之前,记录网络、主指纹、派生标准和完整路径、账户索引、地址或脚本类型,以及第一个已验证的接收地址。对于 Bitcoin 策略,保存输出描述符、校验和、密钥来源、阈值、签名者数量、密钥顺序和找零分支。对于每个签名者,独立确认其密钥和显示的策略是否为预期。将 xpub 视为敏感元数据:它可以派生非加固公钥子孙,破坏隐私,并且与相应的非加固子私钥结合使用时,可暴露 BIP-32 下的父扩展私钥。

4. 备份并测试恢复

保护每一个必要的恢复输入,包括助记词或分片、可选的密码短语、描述符或智能账户配置、派生路径和恢复说明。不要通过将助记词拆分成临时碎片来发明方案;当单个副本不足以恢复时,应使用指定的阈值或多签设计。将副本放在真正独立的故障域中,并在不暴露其内容的情况下跟踪访问。在可信的备用设备或重新初始化的签名设备上,演练恢复过程,并在清除测试环境之前比较预期的指纹、策略和接收地址。

5. 构建并验证完整意图

在线协调器可以获取链状态并构建未签名请求,但它是不可信的。对于 Bitcoin PSBT,请验证网络、每个输入和 UTXO 数量、接收者输出、数量、费用、费率、锁定时间、签名哈希策略,以及每个其他输出是否是经过认证的找零。对于 EVM 交易,请验证 chainIdnoncetovalue、Gas 限额、费用上限和解码后的 data;对于 EIP-712,请在适用时验证域、chainIdverifyingContract、消息字段、随机数和截止时间。EIP-712 对数据进行结构化并分离域,但该标准本身明确不提供重放保护。

6. 跨受控传输边界签名

仅通过批准的 QR、卡、数据线或其他通道传输所需的未签名或部分签名的载荷。空气间隙和 QR 代码并不能使解析器或介质可信:签名者必须解析载荷、验证策略和变更、显示实际后果,并拒绝不支持的字段。在多重签名中,保持签名者、操作员、地点、供应商和恢复路径的独立性,以符合威胁模型;将协调者视为可替换的,并且无法在未被注意的情况下更改策略。在广播前,将签名的交易或操作与批准的意图进行比较。

7. 核对、维护并准备迁移

广播后,将交易标识符、包含的交易、输出或日志、实际费用、找零、账户随机数、授权以及结果余额与签署意图进行核对,然后等待适合链和用例的最终性。保持兼容的软件、已验证的固件路径、可读的备份、文档化的描述符,并进行定期恢复演练,同时不要将生产密钥输入到联网设备。如果任何签名或恢复密钥可能暴露,普通单密钥账户无法撤销该密钥:建立新的权限,迁移资产和角色,在协议允许的情况下使剩余权限失效,并保存事件记录。

示例练习

分阶段分配和资金

托管计划将在线互动钱包限制为 5%100,000 units 资产价值:100,000 × 5% = 5,000 units 热钱包和 95,000 units 冷钱包。冷钱包首先接收 100-unit 测试,剩余的转账为 95,000 - 100 = 94,900 units。在两次转账之后,冷钱包余额目标为 100 + 94,900 = 95,000 units;小额测试可以限制一次设置错误,但不能验证未来的签名或备份恢复。

Bitcoin PSBT 费用和变更

PSBT 使用了 0.80 BTC0.35 BTC 的输入,总计 1.15 BTC。它向接收方支付 1.00 BTC 并估算 250 vbytes × 8 sat/vbyte = 2,000 sat = 0.000020 BTC。因此,经过认证的找零必须是 1.15 - 1.00 - 0.000020 = 0.149980 BTC。如果签署者无法从其记录的策略中识别该找零输出,即使总算数平衡,也不应签名。

EVM 最大预算与实际费用

EVM 账户以 5 ETH 开头,并批准 1.2 ETH 的转账。30,000 gas 的限额和 50 gwei 的最高费用意味着 30,000 × 50 gwei = 0.001500 ETH 的费用预算。如果交易使用 21,000 gas,实际价格为 25 gwei,实际费用为 21,000 × 25 gwei = 0.000525 ETH,剩余 5 - 1.2 - 0.000525 = 3.799475 ETH。签署人必须审核费用上限和 data,而不能假设将收取最高预算,也不能相信界面看起来空白就证明是普通转账。

三签者中的二人抗风险能力

一个 2-of-3 策略,其签署者为 ABC,有 3 个有效签署对:ABACBC。如果有一名签署者不可用,恰好剩下 1 对;如果有一名签署者被泄露,该签署者单独控制 0 个有效签署对;如果有两名签署者被泄露,他们控制 1 个有效签署对并可以花费。因此,该设计能够容忍一次丢失或一次孤立的泄露,但不能容忍两次,而且恢复仍然需要正确的描述符、派生数据和密钥顺序。

风险与审查失败

  • 网络或策略错误: 在错误的链、地址类型、脚本、账户或智能账户策略下恢复有效密钥,可能得到不同或无法使用的地址。
  • 熵不足: 可预测的随机数、脑钱包或遭入侵的生成器可能使离线密钥也能被猜出。
  • 他人提供的秘密: 预先印制、导入、拍照保存或由协助者提供的助记词,可能早已受攻击者控制。
  • 备份泄露: 纸张、金属介质、云端副本、打印机、相机、快递环节或遗产文件都可能泄露完整支出权限。
  • 密码短语故障: BIP-39 密码短语遗失或输错时,可能在没有报错的情况下派生出另一个钱包。
  • 派生参数不一致: 缺少路径、币种、账户索引或钱包特定约定,可能让原本可恢复的资产无法显示。
  • 配置丢失: 多签密钥若缺少描述符、阈值、脚本类型、密钥来源和顺序,可能无法重建已经收款的钱包。
  • 公开元数据泄露: xpub、描述符、地址清单或协调器数据库可能暴露余额、地址关联和未来地址。
  • 供应链入侵: 被篡改的硬件、固件、软件、包装或更新渠道可能替换熵、地址或签名。
  • 主机替换: 联网协调器可能替换收款方、金额、费用、找零、调用数据、类型化消息或未签名载荷。
  • 显示能力不足: 截断显示、盲签、不支持的脚本或不完整解码可能掩盖关键授权。
  • 找零地址攻击: 如果签名设备未按钱包策略验证找零,Bitcoin 交易可能把伪装成找零的输出发送给攻击者。
  • 费用或 nonce 错误: 过高费用、过期的 EVM nonce、错误锁定时间或非预期 sighash 模式可能延迟、替换或改变执行结果。
  • 持续存在的合约权限: 代币授权、permit、模块、委托和管理员调用的效力可能长于眼前这笔交易。
  • 传输通道攻击: QR、USB、存储卡、数据线和解析格式可能携带恶意载荷或外泄元数据。
  • 阈值相关性: 签名设备共置、共用种子、依赖单一供应商或操作员、集中在同一恢复地点,都会削弱阈值独立性。
  • 物理攻击: 盗窃、胁迫、监视、篡改和秘密被发现,在没有网络连接时仍可能发生。
  • 环境损毁: 火灾、洪水、腐蚀、介质老化、金库无法进入、死亡或失能,都可能使正确秘密无法取得。
  • 兼容性退化: 过时固件、不受支持的派生或脚本类型以及未记录的迁移,可能破坏未来恢复或签名。
  • 事件响应不完整: 只检查余额而不迁移密钥、角色、授权和恢复权限,可能让原有入侵继续有效。

常见误解

冷钱包必须永远保持物理断开吗?

不。安全特性在于秘密权限保持隔离,并且签名通过受控、可验证的边界进行。通过电缆连接的硬件签名设备可能保持该特性;而设置受损或负载被篡改的隔空计算机可能无法保持该特性。

硬件设备内存放硬币吗?

不。区块链状态记录资产。设备保护或使用可以签署交易的权限,并且兼容的恢复材料可以在另一实现上重现该权限。

助记词备份比签名设备不那么敏感吗?

不。完整的助记词和必需的密码短语可以重新创建钱包。备份通常是处于休眠状态的,但其被泄露的影响与提取活跃签名密钥一样严重。

多重签名是否消除了备份和配置记录的需求?

不行。门限可以减少选定的单点故障,但每个密钥都需要恢复计划,钱包策略或描述符必须可复现。幸存的密钥太少或配置丢失仍然可能导致资金被锁定。

一次成功的测试转移能证明冷存储系统是安全的吗?

不。它只确认一次有限的路径。它不能证明熵的质量、备份的保密性、恢复能力、未来交易解码、法定人数独立性、软件更新、合同安全性或事故恢复能力。

相关主题

来源

导航

搜索知识库...