所有 JWE 都使用带有关联数据 (AAD) 的认证加密算法进行加密。你是否有任何理由不想在 AAD 中包含 IV 和加密的内容加密密钥 (CEK)?这样做会使 JWE 受到攻击吗?
编辑:我继续研究了这个问题,并发现根据 RFC 5116 第 2.1 节:
“nonce” 在算法内部被验证,因此无需将其包括在 AD 输入中。如果方便应用程序,则可以在 P 或 A 中包含 nonce。
另外:
必须不将密钥 K 包含在其他任何输入 (N、P 和 A) 中。这个限制并不意味着必须检查这些输入的值以确保它们不包括与密钥匹配的子字符串;相反,它意味着密钥不能明确地复制到这些输入中。
所以我唯一剩下的问题是,考虑到加密内容密钥等同于随机值,将其包含在aad中是否可以?这完全是为了方便。或者这会导致信息泄露的可能性?
编辑:我继续研究了这个问题,并发现根据 RFC 5116 第 2.1 节:
“nonce” 在算法内部被验证,因此无需将其包括在 AD 输入中。如果方便应用程序,则可以在 P 或 A 中包含 nonce。
另外:
必须不将密钥 K 包含在其他任何输入 (N、P 和 A) 中。这个限制并不意味着必须检查这些输入的值以确保它们不包括与密钥匹配的子字符串;相反,它意味着密钥不能明确地复制到这些输入中。
所以我唯一剩下的问题是,考虑到加密内容密钥等同于随机值,将其包含在aad中是否可以?这完全是为了方便。或者这会导致信息泄露的可能性?