WPA2 企业 AES 加密密钥大小?

信息安全 加密 AES 半径 wpa2
2021-08-25 17:00:35

我最近为我的无线路由器设置了一个带有 EAP 的 RADIUS 服务器,但是,我对密钥大小以及 WPA2 企业 (AES) 的一般工作方式有一些疑问。

我已经读过,在企业模式下,用于加密无线 AP 和连接到它的设备之间的流量的密钥是随机生成的,并且每次用户连接/重新连接时都会过期。我也知道在 WPA2-PSK 中,最大密钥长度是 256 位。

但是,我无法找到任何地方告诉我 WPA2 企业的密钥生成发生在哪里,以及哪个设备负责生成和协商该随机密钥。密钥是由 AP 生成的吗?它是由 RADIUS 服务器生成的吗?加密密钥的长度是多少?

另外,有没有办法实际检查流量是否加密?

谢谢!

2个回答

您认为每个会话都使用一组伪随机生成的密钥是正确的。如果网络设置为使用预共享密钥 (PSK),则流程如下:

  • 连接设备使接入点 (AP) 知道自己。
  • AP 向设备发送一个伪随机生成的随机数(作为明文)。
  • 该设备生成自己的伪随机随机数。
  • 然后,设备使用这两个随机数,即 AP 的 MAC 地址、设备的 MAC 地址和 PSK 作为加密散列函数的输入,创建一个称为成对时间密钥 (PTK) 的密钥信息块,它是长度为 64 字节或 512 位。
  • 该 PTK 被分割以产生 5 个单独的会话密钥。密钥确认密钥 (KCK) 为 128 位长,密钥加密密钥 (KEK) 为 128 位,临时密钥 (TK) 为 128 位,两个较短的密钥 Rx 和 Tx 用于提供消息验证码 (MAC),两者均64 位长。
  • 设备现在用它自己的 nonce 响应 AP,并与它收到的 AP 的 nonce 和 KCK 的哈希连接。
  • AP 派生与设备相同的 PTK 和会话密钥,因为它现在拥有相同的输入信息(随机数、PSK、MAC 地址)。然后,它可以使用派生的 KCK 对自己的 nonce 进行哈希处理,并将其与收到的 KCK 进行检查。这确认设备共享 PSK,并且设备现在已通过 AP 身份验证。
  • AP 使用 KCK 和序列号以设备的随机数哈希响应设备,以防止主动攻击者重播先前的消息。
  • 设备根据预期结果(使用 KCK)检查其自己的 nonce 接收到的哈希,如果它们匹配,则 AP 对设备进行身份验证。
  • 设备以接收确认响应,握手完成。

从此时起,AP 和设备之间的消息使用 AES 加密,并使用两个设备派生的 TK。Rx 用于为设备发送的消息创建 MAC,Tx 用于为 AP 发送的消息创建 MAC。

请注意,未提及 KEK 的使用。我不完全确定它的用途,但我认为它已添加到标准中以允许对身份验证握手进行特定于实现的扩展。

这个答案可能比您寻找的更具理论性,但我希望它有所帮助。

我相信,作为 mckiethanks 答案的补充,KEK 用于加密 GTK(组临时密钥)。

该组临时密钥用于加密 AP 和 STA 之间的广播和组播流量。该密钥在 4 次握手期间从 AP 传输到 STA,显然必须对其进行加密。因此,此 KEK 用于加密此密钥以进行安全传输。