Insight · 2024-04-25

Web Crypto API 如何保障安全随机性

深入了解确保您的结果永远不会被追踪、预测或操纵的技术原理。

机器中的灵魂:浏览器如何生成真正的随机性

在我们这个由精确的 0 和 1 构建的逻辑数字世界中,创造像“运气”这样混乱且自然的东西其实出乎意料地困难。大多数网站使用简单的数学快捷方式来模拟随机,但那并不是真的随机。在 随机幸运俱乐部 (Random Luck Club),我们选择了另一条道路:Web Crypto API

为什么 Math.random() 是一场不该参与的豪赌

如果你曾经使用过简单的在线生成器,它很可能依赖于 Math.random()。在密码学领域,这被称为 伪随机数生成器 (PRNG)

对于简单的游戏来说,PRNG 没问题,但它们是确定性的。它们使用一个“种子”值和数学公式来生成一系列数字。如果攻击者知道了种子和算法,他们就能准确预测随后的每一个结果。对于高风险的决策或安全性敏感的工具来说,这种缺乏真正“熵”的情况是一个致命缺陷。

走进 CSPRNG:硬件级别的安全性

Web Crypto API 提供了一个名为 crypto.getRandomValues() 的方法。这是一种 密码学安全伪随机数生成器 (CSPRNG)

与简单的 PRNG 不同,CSPRNG 不仅仅依赖数学公式。它从你的设备硬件中收集 —— 即那些根本无法预测的微观物理事件。这可能包括:

  • 处理器的热噪声
  • 磁盘寻道的精确时间
  • 键盘和鼠标移动的时间间隔

通过捕获这些现实世界的“噪声”,浏览器创建了一个在数学上不可逆且完全不可预测的随机池。

影子协议:架构层面的隐私保护

Web Crypto API 最强大的特性不仅是它的安全性,还在于它发生的位置。因为这个 API 完全在 客户端(即你的浏览器)运行,你的运气始终只属于你。

  1. 零知识服务器: 我们的服务器永远看不到生成的随机数。所有的“投掷”都发生在你的设备上,而不是我们的服务器。
  2. 坚不可摧的隐私: 由于在生成过程中没有数据传输到云端,因此不存在可以追踪的日志,也没有可以黑掉的数据库。
  3. 绝对公平: 通过使用行业标准的、经过审计的浏览器 API,我们消除了“黑箱”问题。你不需要信任我们的代码;你可以信任现代网络安全的基础架构。

信任数学,享受好运

在随机幸运俱乐部,我们相信决策工具的价值取决于它的诚信。通过将平台根植于 Web Crypto API,我们确保每一次投掷、旋转和洗牌都是宇宙概率的纯粹表达。

在这个日益被预测算法驱动的世界里,我们为你提供了一个小而安全的真实不可预测性避难所。