所有 JWE 都使用经过身份验证的加密与关联数据 (AEAD) 算法进行加密。您是否有任何理由不想在附加认证数据 (AAD)中包含 IV 和加密内容加密密钥(CEK ) ?它会以某种方式使 JWE 变得脆弱吗?
编辑:我继续研究这个并根据RFC 5116 第 2.1 节找到
随机数在算法内部经过身份验证,不需要将其包含在 AD 输入中。如果对应用程序方便,nonce 可以包含在 P 或 A 中。
和
密钥 K 不得包含在任何其他输入(N、P 和 A)中。(此限制并不意味着必须检查这些输入的值以确保它们不包含与键匹配的子字符串;相反,它意味着不得将键显式复制到这些输入中。)
所以我剩下的唯一问题是考虑加密的内容密钥相当于一个随机值是否可以将它也包含在 aad 中?再次完全是为了方便。或者这会导致可能的信息泄露吗?