Ralink AP的WIFI组密钥多久更新一次?
答:
关于WIFI的组密钥,相关资料上的描述如下:
802.11i的密钥分为两类:成对密钥(用于客户端和AP之间的单播)和小组密钥(用于所有客户端和AP之间组播或者多播);
成对密钥: 通过四次握手完成;
组密钥:通过两次握手完成;当工作站离开网络,不论是使用完毕或者被踢出网络,网络系统即可更新组密钥。当组密钥更新后,每个工作站都必须再进行一次组密钥交换。
组密钥通常由AP主导更新,不过工作站也可以主动发送确认消息来要求更新组密钥。
在Ralink AP上组密钥的更新策略,目前观察到的情况是:
* 3600秒,组密钥更新一次;
* 某个客户端离开AP,或者新的客户端加入AP都不会更新组密钥;
* 目前还没有捕获到过客户端要求更新组密钥的场景;
在AP的串口输出如下的信息,通常表示一个新的客户端连上了AP。 MIC Different in pairwise msg 2 of 4-way handshake! WPAInstallPairwiseKey : Pairwisekey Cipher Alg (4) AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES 表示OPU收到来自客户端的“成对密钥:四次握手”消息的第4个消息,并且验证OK;采用的WPA2或者WPA2PSK
在AP的串口输出如下的信息,通常更新了组密钥。 AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES AP SETKEYS DONE - WPA2, AuthMode(7)=WPA2PSK, WepStatus(6)=AES, GroupWepStatus(6)=AES 表示AP收到来自客户端的“组密钥:2次握手”消息的第2个消息,并且验证OK;采用的WPA2或者WPA2PSK;这里连着输出几个同样的打印,表示每个客户端都更新了组密钥。
在源码中,组密钥更新涉及到的数据结构如下: /* structure to define WPA Group Key Rekey Interval */ typedef struct GNU_PACKED _RT_802_11_WPA_REKEY { ULONG ReKeyMethod; /* mechanism for rekeying: 0:disable, 1: time-based, 2: packet-based */ ULONG |