
生成原理与适用范围
冷钱包的核心是让私钥的生成、保存和签名处于与联网功能隔离的环境。比特币开发者指南将钱包功能拆分为公钥分发、签名和网络交互;这些功能可以由不同程序承担。私钥用于签名,对应公钥及相关地址信息用于接收和识别链上输出。
以下以比特币钱包的一般机制为范围。检查重点是秘密信息在哪里产生、经过哪些设备、由谁接触,具体产品是否落实这些要求,需要另行核实其实现。

随机性:检查秘密是否容易被猜到
RFC 4086指出,密码学安全需要攻击者难以猜测的秘密量;仅通过统计随机性测试,不能证明生成结果不可预测。时间、序列号等范围有限或容易获知的信息,可能使攻击者大幅缩小搜索空间。

生成环节应检查随机源及其初始化方式是否有明确说明,是否使用适合密码学用途的随机数机制。复杂运算、很长的字符或看似杂乱的输出,都不能替代可靠的初始随机性。断网本身也不会改善一个可预测的生成过程。
环境隔离:检查整个生命周期
检查范围应覆盖生成前、生成时及生成后。设备是否预先受到恶意程序影响,密钥是否曾暴露给联网系统,都会改变隔离的实际效果。临时关闭网络不能证明此前环境可信。
离线设备与外部系统仍可能通过移动存储介质交换数据,因此需要关注导入内容和处理程序。硬件钱包提供专用签名环境,但“专用硬件”这一类别名称不足以证明某个设备没有缺陷。
保存与备份:区分加密和隔离
比特币开发者指南说明,钱包文件加密主要保护未使用状态的私钥;当密钥解密并进入内存时,针对运行环境的攻击仍可能获取它。检查不能只停留在“是否设置密码”。
备份同样属于密钥保护范围。需要核实其是否包含私钥、是否产生额外副本,以及保存介质损坏后能否恢复。备份增加可恢复性的同时,也增加了需要保护的秘密副本。
签名核验与常见误区
隔离私钥不能自动保证外部传入的签名请求正确。风险检查还应覆盖签名端能否独立显示并核验输出信息,避免联网端被篡改后诱导错误授权。
“地址能正常生成,是否代表安全?”只能说明相关功能产生了结果,不能证明随机性和环境可信。“联网端只保存公钥,是否就完全安全?”这有助于分离签名权限,但不能免除对传入数据及签名内容的核验。