5

我目前正在使用 WEP(共享密钥身份验证)挑战/响应机制,我希望有人可以帮助我。

  1. AP 向 STA 发送质询文本。质询文本为 128 字节
  2. STA 对质询进行加密并将其发送回 AP。这是 Wireshark 中的 136 个字节(数据)。

我的问题:

谁能告诉我 136 字节数据质询响应的组成以及为什么它是这个大小。

为什么不是 Enc([challengetext (128)] + [icv(4)]) = 132 字节?

谢谢。

4

2 回答 2

1

您在开始时忘记了 IV 的 4 个字节。

于 2017-04-04T17:15:45.430 回答
1

我不是专家,我正在使用个人经验来确认问题的答案。随意编辑最终错误的条款。

TL;博士

STA发送的加密帧包含:

  • 802.11 parameters( 24 bytes)
  • WEP parameters(清除 IV + 关键索引) ( 4 bytes)
  • management headers(加密) ( 8 bytes)
  • data(加密) ( 128 bytes)
  • ICV(加密) ( 4 bytes)

Total 是,没有 ICV168 bytes的加密数据的总和是。136 bytes

Wireshark 和 Cie 显示的加密数据比明文质询长 8 个字节,因为它还带有管理标头(加密但可预测)。


AP发送什么?

AP发送的明文挑战帧长160字节,加密挑战响应帧长168字节。这不是问题,但让我们把事情弄清楚。

在明文 AP 消息中,管理标头也是明文:

  • 认证算法 ( 2 bytes)
  • 认证序列 ( 2 bytes)
  • 状态码 ( 2 bytes)
  • 标签号 ( 1 byte)
  • 标签长度 ( 1 byte)
  • (挑战) ( 'tag length' bytes)

管理标头长 8 个字节。


STA 发送什么?

在 STA 加密消息中,超过 802.11 层的所有内容都被视为“数据”,因为这是加密的乱码。在此数据之前,您可以找到(802.11 层的一部分)WEP 参数:IV (3 bytes)key index (1 bytes)。这是明文。你也有ICV, 框架的最后一个4 bytes。那些8 bytes出现在所有 WEP 加密帧中。

“数据”部分包含加密的质询和加密的管理标头(这就是您的问题的答案)。


你的问题

如果您在 WEP 帧中还有 8字节实际上似乎补偿了 8 个字节的管理标头,那么为什么您的加密质询数据要长 8 个字节?

这不是因为我们之前看到的 IV 或 ICV,因为它们不是挑战数据的一部分。这 8 个字节实际上来自管理标头,在“数据”部分中加密。包含加密质询的帧也是管理帧,但您看不到标头,因为它们已加密。这些是你的 8 个神秘字节(参见下面的简化框架骨架)

我将结束这样一个事实,即这些共享密钥身份验证允许您在没有任何 IV 的情况下对 WEP 身份验证捕获进行离线字典或暴力攻击(当然,用于加密挑战的除外)。前 8 个加密字节是管理标头这一事实使它们可预测(始终相同)。因此,在蛮力实施中,您可以仅对帧的前 4 或 8 个字节进行 RC4,而不是整个 136 个字节,这可以在巨大的字典/完全蛮力攻击中获得更好的性能。


身份验证框架骨架

具有明文挑战的管理框架

--------------------------------------------------------------
(ieee 802.11 headers) -> 24 bytes
--------------------------------------------------------------
---------------- 8 bytes management headers ------------------

ieee 802.11 Wireless Management:

[0][1] == Authentication algo (int16) == 0x0100 (Shared Key)
[2][3] == Authentication SEQ  (int16) == 0x0002
[4][5] == Status code         (int16) == 0x0000 (Successful)
[6]    == Tag Number          (int8)  == 0x10   (Challenge text)
[7]    == Tag length          (int8)  == 0x80   (128 bytes long challenge)
--------------------------------------------------------------
---------------------- 128 bytes data ------------------------

[0:128]== Challenge text
--------------------------------------------------------------

24 + 8 + 128 = 160 bytes frame

具有可预测的加密管理标头的加密帧

--------------------------------------------------------------
(ieee 802.11 headers) -> 24 bytes
--------------------------------------------------------------
------------------ 4 bytes WEP parameters --------------------

[0][1][2] == IV (3 bytes, clear text)
[3]       == key index (int8) (should be 0)
--------------------------------------------------------------
---------------- 8 bytes management headers ------------------

From here, everything is encrypted

[0][1] == Authentication algo (int16) == 0x0100 (Shared Key)
[2][3] == Authentication SEQ  (int16) == 0x0003 (incremented since last frame)
[4][5] == Status code         (int16) == 0x0000 (Successful)
[6]    == Tag Number          (int8)  == 0x10   (Challenge text)
[7]    == Tag length          (int8)  == 0x80   (128 bytes long challenge)
--------------------------------------------------------------
---------------------- 128 bytes data ------------------------

[0:128]== Encrypted data challenge
--------------------------------------------------------------
---------------------- 4 bytes ICV ---------------------------

[0:4]  == WEP ICV
--------------------------------------------------------------

24 + 4 + 8 + 128 + 4 = 168 bytes frame
8  + 128 = 136 bytes "data" (as wireshark interprets it)

加密帧的管理标头中唯一与前一个不同的是 SEQ 编号。

于 2020-05-30T10:47:12.267 回答