我们要打死的是 AI 时代的三大攻击优势:离线 · 异地 · 大规模并行。
按从弱到强排列。HEARTBEAT 至少在 T1-T4 下保持安全,T5 部分缓解。
| 等级 | 攻击者能力 | 现实例子 |
|---|---|---|
| T1 | 网络旁路:能看到所有密文,能重发 | 公共 WiFi 嗅探 |
| T2 | 主动 MITM:能任意修改/插入消息 | 流氓基站 / 中间代理 |
| T3 | 离线伪造:能用任意 AI 工具生成内容 + 拥有强大算力 | GPT-X + GPU 集群 |
| T4 | 私钥泄露:用户私钥被一次性偷走 | 手机木马 / 凭据钓鱼 |
| T5 | 持续控制:常驻 root,能实时签名 | APT / 国家级 |
| T6 | 攻破 drand 阈值(≥ 11/20 节点串通) | 不在威胁模型内(信任假设) |
| 攻击 | HEARTBEAT 行为 | 对应 demo 幕 |
|---|---|---|
| 回放:抓密文 N 秒后重发 | round 已超出 ±10 窗口 → 拒绝 |
B |
| 离线伪造:AI 提前预生成 deepfake + 假消息 | 签名时拿不到未来的 R_t → 签不出来;硬要签也得用旧 R → 过期被拒 |
C |
| 私钥短期泄露:攻击者拿到 sk 但只能一次使用 | 攻击者只能在 30 秒窗口内伪造,且必须实时获取 drand → 攻击规模化失败 | D |
| 录像 + 假签名:录下视频附伪造签名后投递 | R_t 是录制时刻的,到达时已过期 | B 变体 |
| 大规模钓鱼:同时发 N 个目标 | 每条都要新签,drand 3 秒节拍强制串行;AI 算力无法压缩 | (口播补充) |
| MITM 改消息 | Ed25519 签名失败 | (Check-3 拒绝) |
-
实时 deepfake 通话:攻击者亲自在场用换脸打电话,能拉最新
R_t,签名合法。 HEARTBEAT 把这种攻击从「批量、零成本」压回「逐个、实时、有人值守」,但不能消灭它。 → 留给配套产品层(语义层、关系层)解决。 -
drand 全网瘫痪:所有 drand 节点同时不可达。 → 缓存最近一轮可撑 30 秒;超过则系统进入"无新消息接收"状态(fail-closed),不是误判通过。
-
接收方时钟攻击:把接收方时钟拨快 1 小时,使本应过期的旧 R 看起来"新鲜"。 → 依赖 NTP;可在 v2 加入 Roughtime 第二时间源。
- Ed25519 的数学没塌——和 TLS、SSH、Signal 一个假设。
- BLS-12381 的数学没塌——和以太坊 2.0、Zcash 同假设。
- drand 20 节点至少 10 个不串通——比攻破比特币 51% 还难。
- 接收方时钟在 ±30 秒内——NTP 已普及。
这 4 条挂掉任何一条,本协议失效。但每一条都比"用户能识别 deepfake"现实得多。