安全大厦立在随机数上
比特币私钥是二点五六个可能的数字里挑一个。这句话里真正承重的是”挑”字:只要挑选过程带有一点点可预测性,攻击者要试的范围就从天文数字缩成计算机可以跑完的数字。钱包与随机数有关的环节其实有三段——生成密钥的主熵、ECDSA 签名时每个签名各用一次的随机数 k、以及助记词编码前的原始随机量。历史上出过问题的正是前两段。

2013:Android 的 SecureRandom 缺陷
2013 年 8 月 11 日,bitcoin.org 发布安全公告:Android 系统负责生成安全随机数的组件存在严重缺陷,凡是曾在安卓设备上生成钱包的软件都在影响范围内,公告点名的名单包括 Bitcoin Wallet、blockchain.info 钱包、BitcoinSpinner 和 Mycelium。受害机制在签名环节:ECDSA 要求随机数 k 在每个签名之间绝不重复,而残缺的随机源让同一把私钥在不同签名里撞了车,两条签名就能列方程解出私钥。当时公开报道已有数十枚比特币被利用该漏洞转走。公告给出的处置方式至今仍是弱熵事件的标准答案:升级修复后的客户端,用修好的随机源生成全新地址,把钱包里的资金整体转过去,也就是密钥轮换;旧地址被标记为不安全,相关收款人需要拿到新地址。交易所类前端因为私钥根本不在手机上生成而不在波及之列——这个边界值得记住:问题出在熵的来源,而不是比特币协议。
签名层的根治:RFC 6979
同年 8 月,RFC 6979 发布。它把签名随机数改为由私钥与消息哈希确定性推导——同一条消息永远推出同一个 k,不同消息推出互不相关的 k,签名过程对系统随机数的依赖被整体拆除。此后主流比特币钱包逐步采纳确定性签名,2013 年那类因系统随机源残缺而泄露私钥的路径在签名层被堵住。但确定性签名恰恰把风险浓缩回更源头的位置:私钥本身的熵,成了唯一防线。
2026:Coldcard 固件的种子熵缺陷
2026 年 7 月 30 日,硬件钱包 Coldcard 的厂商 Coinkite 发布安全公告:自 2021 年 3 月起发布的部分固件在生成种子时可能回退到较弱的软件随机路径,种子的有效熵远低于设计值——链上数据分析公司 Galaxy 的复盘估算,最严重的型号可枚举空间只有大约四十比特。当天凌晨的四十来分钟里,攻击者把一千多个地址里的约一千余枚比特币分批转走,多数用的是新型隔离见证地址。链上追踪细节来自媒体报道,但厂商公告确认了核心事实:设备从未联网、私钥从未被直接窃取,攻击者只是在自己的机器上穷举候选种子、派生出地址、再对照公开区块链。7 月 31 日,厂商为全部受影响型号发布紧急固件,同时给出两个关键提醒:刷新增固件修不了已经生成的种子,弱熵设备必须整体迁移到新钱包;用至少五十次独立骰子点生成的种子不在受影响之列,因为骰子本身就提供了足量随机性。TAPSIGNER、OPENDIME、SATSCARD 使用不同代码,不在这份公告范围内。
个人防线清单
第一,首次初始化设备时让随机源尽量可控:硬件钱包在生成种子时通常混入设备噪声与用户输入,高价值场景可用骰子流程自建种子——要配平十二词助记词的一百二十八比特信息量,六面骰大约需要五十次独立投掷,且要把投掷序列完整、无遗漏地转成熵。第二,别把固件版本当作安全凭据:像 Coldcard 这次事件一样,新固件能堵住未来的生成路径,却改不了旧种子的命运,公告发布后第一动作是核对生成种子时的固件来源,而不是更新完就安心。第三,建立”轮换预案”:疑似弱熵时按 2013 年公告的剧本执行——可信设备上生成全新种子、把全部余额(含找零碎片)一次性转入新钱包、旧钱包只作归档、通知常给你打款的人。第四,关注但不恐慌:厂商公告里写明哪些型号与产品线不受影响,转述事件时不要替公告扩大打击面;链上被盗金额与地址数在传播中常被多次修正,以厂商与执法披露为准。
风险提示:本文仅描述历史安全事件与防御措施,不构成投资建议;资金迁移涉及真实链上交易,操作前请核实官方公告原文,谨防借”漏洞通知”名义投放的钓鱼页面与假客服。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。