9.1.1. Key-Compromise Impersonation (密钥泄露冒充)
9.1.1. 密钥泄露冒充
本文档中定义的 DHKEM 变体容易受到密钥泄露冒充攻击 [BJM97], 这意味着在 Auth 模式中如果接收方私钥 skR 被泄露, 或者在 AuthPSK 模式中如果预共享密钥和接收方私钥 skR 都被泄露, 则不能期望发送方认证成立。NaCl 的 box 接口 [NaCl] 也有同样的问题。同时, 这使得可否认性成为可能。
如 [ABHKLR20] 所示, 密钥泄露冒充攻击在 HPKE 上通常是可能的, 因为 KEM 密文没有绑定到 HPKE 消息。知道接收方私钥的攻击者可以解封装观察到的 KEM 密文, 计算密钥调度, 并加密接收方将接受为来自原始发送方的任意消息。重要的是, 即使使用抗密钥泄露冒充攻击的 KEM, 这也是可能的。因此, 缓解此问题需要超出本规范范围的根本性变更。
需要抵抗密钥泄露冒充的应用程序应该采取额外步骤来防止此攻击。一种可能性是使用发送方的私钥对 (enc, ct) 元组生成数字签名 -- 其中 ct 是由单次或多次 API 生成的 AEAD 密文, enc 是相应的 KEM 封装密钥。
鉴于这些属性, 预共享密钥在某些对手模型中增强了认证和保密性属性。一个特别有用的例子是混合量子设置: 如果与 HPKE 一起使用的非量子抗性 KEM 被量子计算机破解, 则通过使用预共享密钥可以保留安全属性。如 [RFC8696] 第 7 节所述, 这假设预共享密钥未被泄露。