尝试了解攻击 WEP 加密的理论,特别是 IV(初始化向量)。我理解 IV 的概念和目的(有点像密码哈希附加的“盐”?):
因此,如果 IV 以明文形式发送,并且 IV 为 24 位(相当于 3 个 ASCII 字符,例如 AB3)。因此,我可以在 Wireshark WEP 捕获的数据包中看到 IV 值(下面的屏幕截图位于 IEE802.11 -> WEP 参数下)。屏幕截图中的示例,该 1 个特定网络 WEP 数据包显示的 IV 值为 0x1cd799(假设这是十六进制格式?)。我尝试在线将此值以十六进制转换为 ascii 转换器,但转换时出现错误?
其次,我知道要破解 WEP 密钥,首先必须捕获大量数据包(50,000+),因为每个数据包包含不同的随机 WEP IV 值(来自池 2^24 位)。经过一段时间和大量数据包捕获后,您可能会开始遇到重复的 WEP IV 值(也称为重复使用的 IV)。 我在这里感到困惑的问题是:
引用著名电影《费城》(1993)——任何回答这个问题的人请“像我是一个 4 岁的孩子一样向我解释一下,好吧,因为这件事中有一个元素我无法通过我厚厚的头脑来理解.”
希望这一切都有意义,并提前感谢您的回答。
如果您想了解完整的故事,请考虑参加 Boneh 教授的 Courseras 密码学 I 课程:https://www.coursera.org/learn/crypto。你会比我更好地解释一切。
那么,WEP 黑客攻击是如何运作的呢?
有一个密码(在我们的例子中是 RC4),它由两个参数参数化:IV 和密钥。
现在在 WEP 中,密钥是不变的,IV 发生变化,但 IV 域的大小相当小(在 21 世纪,最小为 128 位)。 WEP 只是增加 IV。在某个点,它必须重置 IV 并从头开始。这就是奇迹发生的地方。
考虑两个密文
c1
和c2
。你知道,它们是使用相同的 IV 生成的,因为 IV 是公共的。你不知道对应的纯文本m1
和m2
。但您知道密文是由相同的密钥流生成的。您执行以下操作:
c1 XOR c2 = m1 XOR m2
现在,
c1
和c2
与随机值无法区分。但 m1
和 m2
则不然。您可以开始猜测 m1 和 m2 以便满足方程。这就是破解第一部分的内容。
下一部分是这样的:
c1 XOR m1 = keystream
酷。现在我们知道了密钥流。最后一件事,我们必须猜测为给定 IV 生成密钥流的密钥。一旦完成,WEP就被破解了。
希望这有帮助。如果您觉得此类黑客行为很有趣,请参加 Coursera 课程。