Skip to content

模型Model

前向保密与秘密擦除

Forward secrecy and erasure · Post-session long-term key compromise

用会后长期密钥泄漏的测试游戏限定前向保密,区分临时秘密、会话密钥和认证密钥,并说明擦除与备份是必要实现假设。

形式陈述 ​

前向保密关心时间顺序:攻击者今天记录会话,明天得到长期认证私钥,是否还能恢复昨天的会话秘密。它是在认证密钥交换上增加的泄漏保证,不是“以后发的消息永远安全”。

给出一个受限的教学测试游戏:诚实双方在长期认证密钥未泄漏时完成一对匹配会话,攻击者保存全部公开transcript;随后双方擦除临时DH秘密与不再需要的中间派生秘密。挑战者在一个目标会话上返回真实会话密钥或独立同长随机串,之后可以把双方长期认证私钥交给攻击者。测试要求其区分优势仍很小。

为避免平凡获胜,目标会话及其匹配伙伴的会话密钥不能经其他接口泄漏,临时DH秘密也不能泄漏;允许的其他会话暴露和主动交互必须由完整AKE模型规定。本页仅隔离“会后长期认证私钥泄漏”这一条保证,不声称覆盖所有强AKE新鲜性定义。若应用把目标会话密钥原样写入日志,游戏已不适用。

直觉

长期签名密钥负责“我是谁”,临时DH秘密负责“这一次共享秘密是什么”。如果两份职责分离,攻击者后来拿到签名私钥,可以冒充未来的身份,却未必能从历史公开DH值计算过去的共享值。

擦除把过去与现在断开:若旧临时指数还藏在崩溃转储、快照或备份里,后来拿到设备的人就可能获得它。数学式中写“令变量消失”与操作系统真正清掉所有副本,是两项不同义务。

例子与边界

对临时DH会话,公开记录是 X=ga,Y=gb 以及认证这些值的签名,共享值为 gab。会后泄漏长期签名私钥,并不直接给出 a 或 b;在相应DH/KDF与认证假设下,历史密钥仍可保持保密。若同时得到 a,就立即算 Ya,无需破解签名或离散对数。

与之比较,若每个会话都是用长期解密公钥加密随机会话密钥,攻击者保存密文,日后得到长期解密私钥即可解开全部历史封装。即使每次会话密钥都独立随机、每条密文当时都满足CCA安全,也不意味着在允许泄漏解密私钥的新游戏中安全。

还有一个常见边界:仅做 Ki+1=H(Ki) 并擦除 Ki,可能在适当假设下保护被擦除的过去密钥;但攻击者若拿到当前 Ki,仍能沿链计算未来密钥。恢复未来安全需要加入攻击者不知道的新秘密,不能把单向更新与“遭入侵后自动恢复”混为一谈。

本单元固定测试种子全部公开,检查器无法提供前向保密证据。它只演算DH一致性和绑定;本页的泄漏时序需要安全证明,真实擦除还需平台、内存、备份与密钥管理证据。

推论与应用

会话结束时,应按协议删除临时指数、PRK、确认密钥与过期流量密钥,并知道哪些秘密仍为正在进行的记录所需。保留可恢复的流量密钥以续传,是另一个系统选择;如果其备份暴露,不能援引长期签名密钥泄漏安全来保护该会话。

TLS1.3的临时DH握手与PSK-only模式具有不同前向保密条件。过去会话安全也不阻止攻击者在长期身份密钥失陷后主动冒充未来对端;证书撤销或换身份密钥是另一个恢复过程。

参考资料
  • Dan Boneh、Victor Shoup,作者教材v0.6,§21.3、§21.9.3:perfect forward secrecy与模型中的长期密钥泄漏;§21.4讨论不同临时状态泄漏威胁
  • RFC 8446,§7.1:不再需要的秘密应擦除;附录E.1、E.1.1:密钥建立及前向保密的模式条件
关系图谱7 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组