Wifi OKC 验证

OKCOpportunistic Key Caching安全

OKC,也叫OPC(Opportunistic PMK Caching),是微软定义的一套标准,并不在802.11标准中。不过多数厂商都支持这种方式,也成为了一种事实标准。服务器

其流程大体以下:网络

当STA跟AP1通过完整的EAP/802.1X创建链接后,产生一条PMKSA,里面包含一个PMKID1,而后AP1把这个PMKSA传给它的邻居,其中一个就是AP2。测试

Fast Roaming发生前,STA要根据AA,SPA和PMKID1计算出一个PMKID2,把这个PMKID2放在RSN IE里,送给AP2。.net

AP2在收到这个PMKID2后,就像平时同样,会在本身的PMKSA Cache里找,固然,这是找不到的。由于Cache没有一个的PMKID是PMKID2。而后,AP2就要对Cache中的每个Entry计算一次新的PMKID,其必要的几个元素,AA,SPA和PMKID1都是有的。每计算一个就跟PMKID2匹配一次,匹配成功就能够直接进行4次握手。blog

Preauthentication虽然在Roaming期间略过了802.1X,但仍是每次都要作,只不过提早罢了。文档

OKC的出现,就是为了解决每次都要作802.1X的问题,能够提升效率,下降网络负荷。但是,OKC的方即是创建在牺牲安全性的基础上的。这会致使每一个AP上都拿到相同的PMK。get

802.1X链接过程it

802.1X链接的正常流程。须要屡次EAP  request/reponse与RADIUS服务器交互,而后再进行四次握手。步骤以下:io

1 申请者链接至802.11 网络。链接只用到两个帧,这种简单的交换程序几乎都会成功。

2 申请者发出一个EAPOL-Start 信息,开始进行802.1X 交换程序。这个步骤并不是必要。并不是全部申请者都会送出EAPOL-Start 信息,所以可能没有这个步骤。

3 “正常的”EAP 交换程序开始。认证者(基站)发出一个EAP-Request/Identity 帧。若是基站只为已经认证成功的链接转送帧,Request/Identity 帧以前可能就没有EAPOL-Start。主动发出Request/Identity 帧用来指示申请者必须进行802.1X 身份认证。

4 申请者以EAP-Response/Identity 帧进行答复, 此帧随后被转换为Radius-Access-Request 封包送给RADIUS 服务器。

5 RADIUS 服务器判断须要使用那个类型的身份认证,而且在所送出的EAP-Request 信息中指定认证方式类型。EAP-Request 被封装于Radius-Access-Challenge 封包送给基站。地台收到封包后。将EAP-Request 传递给申请者。AP-Request 信息一般会被表示为EAP-Request/Method。其中的Method 表明所使用的EAP 认证方式。若是目前使用的是PEAP,则传回的封包将以EAP-Request/PEAP 来表示。

6 申请者从使用者方面取得回应,而后回传EAP-Response。认证者会将此回应转换为送给RADIUS 的Radius-Access-Request 封包,针对挑战信息所作的回应则存放于数据字段。步骤5 与步骤6 不断重复进行,直到身份认证完成为止。若是所使用的是须要交换凭证的EAP 认证方式,免不了要重复这些步骤几回。有些EAP 交换可能须要在用户端与RADIUS 服务器间,反覆进行10 到20 个回合。

7 既然RADIUS 服务器送出一个Radius-Access-Accept 封包容许对方访问网络,所以认证者会发出一个EAP-Success 帧,而且受权使用链接埠。访问权限也能够由RADIUS 服务器所回传的参数来决定。

8 收到Access-Accept 封包后,基站会当即使用EAPOL-Key 信息将密钥传给申请者。

9 一旦申请者安装好密钥,就能够开始传送数据帧来访问网络DHCP 配置设置一般会在此刻进行。

10 当申请者再也不须要访问网络,就会送出一个EAPOL-Logoff 信息,使链接埠回复未受权状态。

 

验证方法

在WCNSS_qcom_cfg.ini文件中有一个选项OkcEnable。默认值是1,默认是打开OKC。漫游的时候,只有首次链接到802.1X的网络时,会有屡次EAP  request/response数据包的交互,在success以后,再进行四次握手。在漫游的过程当中,直接进行四次握手,也就是EAPOL-key包的交互。

测试的时候,尝试将OkcEnable的值设置成0。不管是首次链接到802.1X网络其后漫游过程当中,都会有EAP  request/response数据包的交互,而后才是四次握手,这样流程多了几步,对漫游的效率也是有影响的。

抓包分析

首次链接。

 

漫游状况下。OKcEnable=1的状况。没有EAP request和EAP response。

 

OkcEnable=0的时候,漫游时任然会进行EAP request/reponse的交互。

 

EAP request:

 

EAP response:

 

EAP-FAST:

 

Success:

 

参考文档

《802.11无线网络权威指南》

https://blog.csdn.net/ollins136/article/details/28277717

相关文章
相关标签/搜索