使用MITM攻击安全地导出IV(Nonce)

时间:2011-04-28 06:17:08

标签: security authentication encryption nonce initialization-vector

1 个答案:

答案 0 :(得分:0)

要回答这个问题,你必须先查看底层的GHASH,它用于完整性检查。 GHASH是一种通用哈希函数。取决于一些秘密参数。 GHASH的安全性取决于您是否可以保密这些秘密参数。 由于GHASH是线性函数,因此攻击者永远不会学习GHASH的结果是非常重要的。即只知道几个GHASH输出允许攻击者获得秘密的GHASH参数。

GCM通过加密来保护GHASH的输出,即用AES(Counter0)对其进行异或。 计数器永远不会重复是非常重要的。 例如,假设您使用Counter0的相同值加密两条消息。 然后攻击者学习

  

AES(Counter0)Xor GHASH(C1,..)

  

AES(Counter0)Xor GHASH(C2,..)

攻击者可以从中获取

  

GHASH(C1,..)Xor GHASH(C2,..)

给攻击者一个线性方程。知道两个方程允许求解秘密参数。但即使知道一个设备也应该允许简化对GCM的攻击。<​​/ p>

这表明必须非常小心地使用伽罗瓦计数器模式。即如果你在CTR模式下重复IV,那么你可能会泄漏明文。如果你在GCM中重复IVs,那么你会泄漏密钥,这当然更糟。

我并不认为此攻击会破坏您的提案。对我来说,你的建议的描述有点太短,我不确定我是否完全理解它。但我认为上面的描述确实描述了使用GCM时可能存在的陷阱,我希望它能帮助您自己分析您的提案。