骰子投掷将比特币密钥保持离线,但并非每个人都会去做

CN
2 小時前

关键要点

  • 根据克劳德·香农的公式,公平的六面骰子掷投提供大约2.585比特的熵。
  • Coinkite的文档表示,50次骰子掷投满足比特币钱包种子的128比特标准。
  • 凯文·洛埃克的Wizard Sardine分析指出Coldcard工具在主要种子之外的风险。

克劳德·香农,这位建立信息理论的数学家,利用熵来测量结果的不确定性。对于一个公平的六面骰子,每一面都有相同的一/六的出现概率。这使得每次掷投大约提供2.585比特的熵。抛硬币产生1比特,而八面骰子产生3比特。

不同颜色骰子的图片

最近的Coldcard事件推动了基于骰子的种子生成在社交媒体上的传播。一些用户现在将其视为必需品,其他人表示它保护了他们的资金,而经验丰富的操作员指出,大多数新手无法容忍缓慢且容易出错的设置过程。

重要的是,掷骰子的行为在原子水平上并不是随机的。结果受物理学的支配,但太多的小变量同时变化,任何人都无法可靠地计算出结果。骰子以一定的速度、角度、高度和旋转离开手,然后击打桌面,每次弹跳改变方向。

在实际操作中,即使是微小的释放变化也可能导致完全不同的结果。稍微不同的手指位置或略微更用力的投掷会改变路径,以至于最终的数字无法通过观察运动来预测。结果在理论上可能是确定性的,但对于钱包生成而言,重要的是攻击者无法重现或计算出它。

计算机不能直接使用骰子结果列表。掷投结果必须首先转换为二进制数据,转换方法是很重要的。

基本的奇偶方法易于理解,但它浪费了许多可用熵。每次掷投都被简化为一个比特,尽管骰子提供了大约2.6比特的信息。更有效的方法会收集一长串掷投结果并处理整个字符串,通常通过加密哈希函数。这能保留更多的随机性。

同样的原理出现在Diceware中,这是一种长期以来创建安全密码短语的方法,也出现在手动比特币钱包生成中。典型的12个单词钱包恢复短语是由128比特的熵构建的。按照每次掷投大约2.6比特的计算,大约50次公平掷投提供足够的原始信息以超过这个阈值。

Coldcard硬件钱包的制造商Coinkite建议用户寻求接近256比特熵时进行99次或更多的掷投。这并不会使钱包使用起来困难一倍,但它给生成的秘密提供了更大的数学安全边际。

这一区别在Coinkite披露一个追溯到2021年的固件问题后变得重要。在某些Coldcard设备上,软件可能会跳过内部硬件随机数生成器,而是使用一个连接到非秘密设备信息的较弱过程。

由于该过程中某些部分可以被重建,攻击者能够缩小可能的钱包密钥范围,而不是搜索整个密钥空间。该漏洞与大约1100个地址上损失估计为1,128.6633 BTC的盗窃有关,截至东部时间下午1点。

X的截图

图片来源:X

完全由足够数量独立骰子掷投生成的钱包种子并没有通过相同路径暴露。这些用户提供了自己的熵,因此故障硬件生成器并没有负责创建主要钱包秘密。

然而,这种保护仅适用于由骰子生成的种子。它并不自动保护设备生成的每一个其他秘密。

安全研究员凯文·洛埃克于8月1日在Wizard Sardine的网站上发布了对Coldcard漏洞的评估。他最重要的观察涉及Coldcard特性,它们在主要钱包种子之外独立生成自己的秘密。

“我认为非常重要的是要强调,即使是使用骰子导入或生成种子的用户也是脆弱的,如果他们使用以下功能,”洛埃克在X上写道,然后展示了受影响系统的图示。

图示显示了有缺陷的随机数生成器为多个次级Coldcard功能提供支持。这些功能包括纸钱包创建、设备克隆、USB会话加密、密钥传送转移功能、共同签署密钥创建、内置密码生成器和硬件安全模块身份验证代码。

X的截图

图片来源:X帖子通过安全研究员凯文·洛埃克

使用99次骰子掷投创建的主钱包仍然位于系统的独立部分。问题在于其他工具仍然可以请求故障生成器的新随机数。因此,一个安全的种子并不能保证在同一设备上创建的每一个密码、备份、身份验证代码或次要密钥同样安全。

骰子生成的熵从技术上讲是可靠的,前提是正确执行,但对于大多数新用户来说,这并不是一个现实的默认选择。掷骰子50或99次,准确输入每个结果,并确认没有掷投被跳过或重复,需要耐心和高度集中。一个打错的数字可能会完全改变最终的钱包,而大多数设备无法判断错误是由于掷投不良、输入错误还是对指示的误解。

X的截图

图片来源:X

这一过程还引入了在正常工作硬件生成器下不存在的风险。用户可能会在纸上写下掷投结果、拍照、将其输入在线工具,或将列表放在其他人可以找到的地方。有些人以重复或受控的方式掷骰,使用装载过的或受损的骰子,或者因为过程感觉过于复杂而提前停止。虽然数学可能是强大的,但结果的安全性仅取决于用户的操作过程。

X的截图

图片来源:X

这就是为什么虽然许多人——甚至经验丰富的比特币用户——并不总是认为掷骰是最佳方法。它用对手动过程的信任取代了对设备的信任。对于一个技术上细心的用户,特别是那些理解熵、验证方法并保持掷投序列私密的人,这一选择可能是合理的。对于首次设置钱包的普通用户来说,这增加了多次犯下永久错误的机会,而且同时还是一个令人烦恼的过程。

X的截图

图片来源:X

还很难想象广泛的比特币采用会依赖于人们坐在桌边记录99次骰子结果,然后才能安全地接收资金。安全实践必须能在真实的家庭、繁忙的日程、干扰以及不想学习加密学的用户中生存。手动熵应作为一种高级选项继续提供,但长期目标是硬件和软件能够正确生成强随机性,清晰地解释发生了什么,并尽可能少地要求专业知识。

受影响的Coldcard设备的所有者应该首先验证设备上安装的固件版本。然后,他们应该回顾在运行较旧固件时使用了哪些功能,而不仅仅是关注主要钱包种子是如何生成的。

任何使用受影响设备生成纸钱包、克隆秘密、密码、共同签署密钥或身份验证代码的人,可能需要立即更换这些材料。安装更新可以防止同样的问题影响新秘密,但并不能修复之前创建的任何内容。

此事件也为多供应商钱包设置提供了更强的实际案例。在多签名安排中,来自不同制造商的独立硬件设备可以被要求批准一笔交易。这样的结构并不能使固件错误变得不可能,但它可以防止单一缺陷的随机数生成器单独暴露整个钱包。

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

分享至:
APP下載

X

Telegram

Facebook

Reddit

複製鏈接