今天总结前段看协议,就PSK(pre-sharedkey )方式下的wpa/wpa2的认证过程进行说明。
1、RSNE
首先,beacon或probe response框架包含以下RSNE字段:
cipher suite是一种受支持的加密方式,包括数据包广播数据(group data )、普通数据(pairwise )、组播管理帧(group management )。 在此,通用数据可以给出列表,指示支持多种加密方法。 加密方式如下。
AKM suite是认证密钥管理方式,有以下几种。
常用的是00-0F-AC:2、PSK SHA-1的方式。
通过RSNE广播了AP支持的加密方式、密钥管理方式以及RSN能力等。
2、AUTH帧
管理帧授权提供了认证方法指示,帧格式如下:
认证算法有OPEN SYSTEM、Shared Key、Fast BSS Transition、SAE种。 对于使用PSK的密码管理方式,STA选择OPEN SYSTEM方式与AP进行认证,实质上不通过AUTH认证,可以作为开放系统任意访问。 熟悉WiFi连接流程的人应该熟悉以下流程:
3、EAPOL-KEY 4次握手
auth和关联关联后,AP开始了基于EAPOL-KEY的认证过程。
EAPOL-KEY帧格式如下。
在EAPOL-KEY帧中持有随机数Key Nonce,AP和STA分别生成ANONCE和SNONCE的随机数。 其中,‘a’和‘s’分别与Authenticator和Supplicant相对应。 这2个随机数为message1和message2,分别传递给对方。 双方都得到了两个随机的数值。 此外,根据下图:
在PSK方式中,PSK是PMK,双方基于PMK值和两个随机数,加上双方的MAC地址(AA表示加速器地址,SPA表示supplicant地址) )
除Message1外的三个EAPOL帧都可以采用MIC进行合法性检验,双方采用PTK和特定算法对EAPOL帧的内容进行运算,得到MIC并发送给对方,由对方进行检验。
EAPOL帧包含用于传递RSNE内容和其他密钥的密钥数据字段。 传递KEY内容时,KEY DATA内容必须加密以避免明文发送。
认证的例子如下所示。
经过这个过程,双方生成相同的PTK,用于数据加密,并检查帧的合法性,确认双方具有相同的PSK,即PMK,通过认证。
以上是典型的WiFi WPA/WPA2认证过程。 WiFi6中添加了WPA3。 基于SAE的认证方式,根据上述流程不同。 下次谈谈SAE认证。 此外,WiFi联盟定义了用于简单地实现WiFi安全连接配置的方式3354wps(wifiprotectedsetup ),详细说明可以参考WiFi WPS的经过