大多数人没有意识到,隔离的比特币钱包可以将私钥与互联网隔离多年,但从种子创建的那一刻起就可能存在漏洞。
Coldcard 最近披露的随机数生成失败使这一矛盾变得明显。运行受影响固件的钱包可以生成看似正常的 12 或 24 个单词的恢复短语,将其离线存储,并在隔离状态下签署交易。可预测的生成缩小了这些单词背后的宇宙,使攻击者能够在其他地方重现候选项并识别匹配的比特币地址。
我认为钱包最重要的安全决策在于开始阶段。它发生在 PIN 码、钢铁备份、防篡改袋和隔离签名流程之前:种子的不可预测性如何?
一个现代的随机数生成器可以提供足够的熵。物理骰子为拥有者提供了一个可见、可控且与制造商代码分开的随机源。
CryptoSlate 对 Coldcard 缺陷的首次报告解释了攻击路径。候选种子可以在设备外生成,转换为公共地址,并与比特币公共账本上的活动进行核对。
技术原因几乎微不足道。2021 年 3 月 1 日的代码更改将 Coldcard 的种子生成移入一个新的库。生产固件将名为 MICROPY_HW_ENABLE_RNG 的设置定义为零,意味着禁用,而集成仅检查该设置是否存在。它的存在将生成发送到 MicroPython 的确定性 Yasmarang 回退,而不是预期的硬件随机数生成器。根据 Block 的协调分析,受影响的路径在 3 月 17 日的固件 4.0.0 中发布。
看似普通的钱包输出隐藏了大幅减少的搜索空间。Coinkite 的初步估计将受影响的 Mk2 和 Mk3 种子的有效搜索空间约为 40 位,而受影响的 Mk4、Mk5 和 Q 种子的有效搜索空间约为 72 位。Block 为后来的设备识别了一个单独的限制:在固定的回退状态和调用历史下,最多 2^32 个安全区分的流。Coinkite 的数据估算了攻击者可能搜索的有效空间。Block 的更窄界限描述了在固定条件下重新种子的一部分,而没有声称一个端到端攻击基准。
这两项分析将后来的前缀设备置于受影响范围内。Coinkite 的安全建议列出了 Mk4 和 Mk5 固件在标准 5.6.0 或 Edge 6.6.0X 之前,以及 Q 固件在标准 1.5.0Q 或 Edge 6.6.0QX 之前。对于 Mk2 和 Mk3,Coinkite 列出了版本 4.0.1 到 4.1.9,而 Block 表示该路径始于 4.0.0。我会谨慎对待这一有争议的边界。
更新到修复版本可以保护未来的种子生成。现有种子保持其在出生时获得的熵,所有从中派生的地址共享相同的根秘密。任何使用受影响版本的人都应该检查建议,并在无法建立私骰例外时使用修复软件和可信的熵创建一个全新的种子。然后资金需要转移到新钱包中。来自旧助记词的新地址保留了弱点。
事件的规模需要同样谨慎的措辞。Bitcoin Optech 报告称,截至 7 月 31 日,估计超过 1,000 BTC。到 8 月 2 日,Galaxy Research 估计在 4,585 个地址上怀疑有 1,367.05 BTC。一位名为 Graham_Quantum 的 X 用户还表示,7 月 29 日有 18.25245043 BTC 离开了钱包。该帖子建立了第一人称的账户;交易链接和 Coldcard 的因果关系仍未得到验证。
一个更大的数字描述了防御性移动。CryptoSlate的第二份Coldcard报告发现,在披露后,77,402 BTC从旧的UTXO带中转移。这个总数涵盖了包括预防性迁移在内的旧币移动。它衡量了一波自救,而Galaxy的较小数字则是对疑似损失的不断估算。
| 数字 | 分类 | 范围 | 重要限制 |
|---|---|---|---|
| 1,367.05 BTC | 疑似损失 | Galaxy Research在8月2日对4,585个地址的估算 | 不断变化的估算,没有最终的事件总数 |
| 77,402 BTC | 预防性移动 | 披露后从旧的UTXO带中的总移动 | 包括防御性迁移,与盗窃或销售总数分开 |
安全故障可以同时造成两次冲击:盗窃和更大规模的理性迁移。链上数据记录了移动。动机需要上下文。
Coldcard的骰子文档计算每次独立掷骰子的熵约为2.585比特。五十次掷骰子提供约129.25比特的原始掷骰熵,通常目标为128比特安全性。九十九次提供约255.91比特,粗略达到256比特安全性的目标,然后钱包应用其文档化的转换程序。
这些数字与BIP-39相符,这是广泛使用的助记标准。一个12个单词的短语编码128比特的熵加上4比特的校验和。一个24个单词的短语编码256比特加上8比特的校验和。
校验和检测错误,同时不增加新的不可预测性。将弱输入哈希或格式化为更长的输出保留了可能秘密的基础上限。因此,十二个看似熟悉的单词可以代表它们所提供空间的一个小子集。
物理掷骰子只有在钱包的文档化程序正确地将它们纳入时才有帮助。骰子必须适合任务,每次掷骰子必须是真实和独立的,序列必须保持私密。重复的模式、照片、云笔记和在普通联网计算机上的输入可能会破坏掷骰子的独立性或保密性。
对于这个Coldcard事件,Coinkite表示,只有当用户能够确认最终种子包含至少50次公平、独立和私密的掷骰子时,迁移可能是不必要的。对于不确定性的建议是迁移。
对我来说,掷骰子很重要,因为设备生成的随机性要求所有者信任硬件、固件、构建过程和集成代码作为一个链。文档化的掷骰子输入流程增加了来自该链外的所有者控制的熵。大约50次公平的掷骰子目标128比特,99次目标约256比特,但用户应遵循设备的确切程序,而不是即兴进行转换。
一个强大且独特的BIP-39密码短语以不同的方式改变了攻击方式。它增加了一个独立的秘密,攻击者必须在找到助记词后才能发现这个秘密。助记词的原始熵保持不变。每个密码短语,包括拼写错误,都会衍生出一个看似有效的钱包,因此丢失确切的密码短语可能会导致资金被锁定。设备PIN码则有不同的用途。
密码短语创造了一个真正的权衡。当所有者能够重现并保护它时,它可以提供一个强大的第二道屏障。糟糕的备份则将同样的特性变成了锁住自己的方式。
Coldcard是当前的警告,而同样的根本故障在非常不同的钱包中出现。
在2023年,Ledger Donjon披露某些Trust Wallet浏览器扩展版本使用了一个用32位梅森旋转值种子的WebAssembly路径。看似正常的助记词来自约40亿个可能的起始值。受影响的范围是特定的:使用Trust Wallet Core 3.1.1之前的浏览器扩展版本0.0.172到0.0.182。国家漏洞数据库记录了2022年12月和2023年3月的利用情况。
Milk Sad的披露显示了Libbitcoin Explorer 3.x中同样危险的更直观版本。它的bx seed命令使用了一个32位的时间种子梅森旋转器,并且在相同的时钟条件下可以产生相同的助记词。对大致创建时间的了解使攻击者的搜索范围比恢复词所暗示的要小得多。
研究人员发现受影响范围内有2600多个活跃的比特币钱包,并估计在2023年8月的价格下,相关盗窃超过90万美元。这些钱包中有超过2550个共享了一个自动化模式,可能属于同一所有者,研究人员表示,一些资金流失可能涉及其他弱点。
这些实现有所不同:意外的固件回退、浏览器扩展Wasm路径和时间种子的命令行工具。每个工具产生的输出看起来像是一个全强度的钱包秘密,但只探索了明显空间的一小部分。
比特币保管建议通常在种子存在后开始:保持离线,使用耐用备份,分离责任并测试恢复。所有这些仍然很重要。Coldcard的故障将起点向后移动了一步。
一个空气间隙保护你给它的秘密。随机性必须优先。
本内容仅供参考,不构成任何金融、投资、法律或税务建议。文中提及的任何活动、奖励、线上活动或相关信息,不应被视为对购买、出售或交易任何加密资产的推荐、招揽或邀请。加密资产具有高波动性,存在价值损失风险。WEEX服务、产品及相关活动的可用性可能因地区而异。用户在参与前有责任确保符合当地适用法律法规。





























