Wifi OKC 验证
OKC(Opportunistic 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。
AP2在收到这个PMKID2后,就像平时一样,会在自己的PMKSA Cache里找,当然,这是找不到的。因为Cache没有一个的PMKID是PMKID2。然后,AP2就要对Cache中的每一个Entry计算一次新的PMKID,其必要的几个元素,AA,SPA和PMKID1都是有的。每计算一个就跟PMKID2匹配一次,匹配成功就可以直接进行4次握手。
Preauthentication虽然在Roaming期间略过了802.1X,但还是每次都要做,只不过提前罢了。
OKC的出现,就是为了解决每次都要做802.1X的问题,可以提高效率,降低网络负荷。可是,OKC的方便是建立在牺牲安全性的基础上的。这会导致每个AP上都拿到相同的PMK。
802.1X连接过程
802.1X连接的正常流程。需要多次EAP request/reponse与RADIUS服务器交互,然后再进行四次握手。步骤如下:
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
Wifi OKC 验证的更多相关文章
- 检測wifi是否须要portal验证 公共场所wifi验证
何为wifi portal验证? 平时在商场,咖啡厅,银行等公共场所.我们手机提示:有可用WLAN.这些WIFI能够直接连接,不须要password,但须要我们手动在手机网页上进行验证,通常是输入一个 ...
- WiFi安全之WPA介绍
WPA,全称为Wi-Fi Protected Access,是一种保护WiFi安全的系统,实现了IEEE 802.11i的大部分标准,是一种替代WEP的过渡方案. 这个协议包含了前向兼容RC4的加密协 ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
- [EAP]将hostapd作为radius服务器搭建EAP认证环境
文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 3.外接 ...
- 无线网卡加密方式wep wpa/wpa2 介绍
常见无线热点的配置选项:无线名称路由器的无线(Wi-Fi)名称.无线密码无线加密使用WPA2-PSK/WPA-PSK加密方式.AES加密算法,无线密码为8-63个字符,最好是数字.字母.符号的组合.信 ...
- openwrt开发笔记二:树莓派刷openwrt
前言及准备 本笔记适用于第一次给树莓派刷openwrt系统的玩家,对刷机过程及注意事项进行了记录,刷机之后对openwrt进行一些简单配置. 使用openwrt源码制作固件需要花费一点时间. 平台环境 ...
- 无线:WPA
WPA全名为Wi-Fi Protected Access,有WPA和WPA2两个标准,是一种保护无线电脑网络(Wi-Fi)安全的系统,它是应研究者在前一代的系统有线等效加密(WEP)中找到的几个严重的 ...
- 5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(配置MQTT的SSL证书,验证安全通信)
4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(为域名申请SSl证书) 前面的准备工作终于完了 复制这两个证书 放到云端MQTT的这个位置,其实放哪里都可以 ...
- Linux 使用wpa_supplicant手动配置连接wifi
Linux 使用wpa_supplicant手动配置连接wifi wpa_supplicant 简介 wpa_supplicant是Linux BSD, Mac OSX和Windows的WPA的服务, ...
随机推荐
- (文件操作)Android相关的File文件操作
判断文件是否存在: /** * 判断文件是否存在 * * @param path 文件路径 * @return [参数说明] * @return boolean [返回类型说明] */ public ...
- Ubuntu 安装 Anaconda3 详细步骤
主要介绍在 Ubuntu 14.04中安装 Anaconda3 的详细过程.(原文地址:http://blog.csdn.net/u012318074/article/details/77074665 ...
- HDU5293 : Tree chain problem
问题即:选择价值和最多的链,使得每个点最多被一条链覆盖. 那么考虑其对偶问题:选择最少的点(每个点可以重复选),使得每条链上选了至少$w_i$个点. 那么将链按照LCA的深度从大到小排序,每次若发现点 ...
- BZOJ4081 : [Wf2014]Skiing
首先将目标点按$y$坐标从小到大排序. 如果加速度为$0$,那么只要贪心走一遍即可. 否则考虑DP,设$f[i][j]$表示从$i$点以速度$j$出发最多能经过多少个点. 注意到将DP值相同的合并可以 ...
- vim技巧3
yyp复制当前行到下一行ddp剪切当前行到下一行cw:删除当前单词并进入插入模式xp:交换当前字符和右边字符s:删除光标所在的字符并进入插入模式I:在行首开始输入文字并进入插入模式A:在行尾开始输入文 ...
- Chrome中Vim插件cVim
参考资料:http://blog.csdn.net/hk2291976/article/details/51280816 常用命令: k,w:上移; j,s:下移:h:向左:l:向右:u:上半页d:下 ...
- IIS中找不到dll文件的依赖项问题
1. 文件是否被锁定了2. 文件是否具有了everyone用户的读写权限.3. 文件是不是编译为了AnyCPU模式.4. 文件依赖的文件是否在bin目录下存在5. 停止IIS,把.net Framew ...
- JSP(5)—Session的创建以及简单使用
页面: 1.案例 <body> <!-- 把书的信息以Cookie方式传回给浏览器,删除一个Cookie 1.确定要被删除的Cookie是以ATGUIGU_BOOK_开头的cooki ...
- Mac流量监控/硬盘监控小工具
效果: 中文版: https://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/ 官方版: https://github.com/yujitach ...
- PHP性能分析——xhprof(window 安装xhporf)
1 下载xhprof的php扩展 因为官方的xhprof不支持php7,所以采用tideways版本的xhprof 下载地址:windows版tideways_xhprof 将windows版的dll ...