WPS流程分析
研发部
李四
2017/2/24
WPS简介
1.WPS简介
路由器中WPS是由Wi-Fi联盟所推出的全新Wi-Fi安全防护设定(Wi-Fi
Protected Setup)标准,该标准推出的主要原因是为了解决长久以来无线网络加
密认证设定的步骤过于繁杂艰难之弊病,使用者往往会因为步骤太过麻烦,以致
干脆不做任何加密安全设定,因而引发许多安全上的问题。WPS用于简化Wi-Fi无
线的安全设置和网络管理。
它支持两种模式:PIN (Personal identify number) 和 PBC (Push button
configuration)。
PIN 是一组序列号,它写在router里面,一般可以从router的标签上可以看
到,它是"external registrar"的验证模式,仅需路由器的PIN,此模式的设计
存在问题允许对PIN进行暴力猜测攻击。当PIN验证失败时访问接入点会发送EAP-
NACK消息回客户端。根据发送回的EAP-NACK消息攻击者可判断PIN的前一半是否
正确,此外,PIN的最后一个数字也是已知的,因为它是一个PIN的校验。这种设
计大大降低了暴力破解PIN的尝试次数,尝试次数从10的8次方到10的4次方 +10
的3次方之间,共11000次尝试。根据报告一些无线路由器没有对暴力破解尝试进
行任何锁操作策略,这就大大降少了成功进行暴力破解攻击的时间。也有报告一
些路由器会因为暴力破解尝试产生拒绝服务条件,需要重新启动。对于这种问题,
router一般会对pin_lock_down的数量进行限制,如果是5,那么验证5次后会锁
住,不在让PIN。
CLIENT PIN是无线客户端随机生成的PIN,在连接router的时候,将它输入
router里面,实现验证连接,这种方式会比router pin会安全些。
WPS简介
1.WPS简介(续)
PBC就是按下WPS按钮后,router会开始广播带有WSC IE的beacon包,
当wireless client收到这个信息以后,表示在这周围有发现可使用WSP连接的AP,
然后就会发送request进行关联,这个关联并不是真正的连接,只是为了让完成8
路wps认证,以获取router的认证信息,包括ssid,psk,encryption等;获取到
这些信息以后,断开与router的关联,然后用这些信息实现RSNA(正常连接的4
路握手过程)
WPS简介
2.WPS 认证结构
这种结构需要至少三个设备,enrollee用来作客户端,AP用来做接入点,
Registrar用来做认证服务器:
Enrollee的角色类似于supplicant,它向Registrar发起注册请求。
Register用于检查Enrollee的合法性。另外, Register还能对AP进行配置。
AP也需要注册到Register中。所以,从Register角度来看,AP也是
Enrollee。 AP和Register以及Enrollee三者交互,Enrollee从Registrar那获取
AP的安全配置信息,然后Enrollee利用该信息加入AP提供的无线网络。
WPS协议交互流程简介
3. WPS接入协议交互流程
WPS协议交互流程剖析(准备工作)
4. WPS协议交互流程如下:
1. AP端的WSC开始工作后,它会广播带有WSC IE字段的beacon包,以声明AP支持WSC
WPS协议交互流程剖析(准备工作)
2. 如果Enrollee收到来自AP的端的beacon包,那么它会解析beacon包中的
WSC IE,并向AP发送单播Probe Request包;如果Enrollee没有收到带有
WSC IE的beacon包,那么它就会去搜索周围支持WSC的AP,所以会向周围
发送Probe Request广播包。
如果Enrollee发现周围有两个或者两个以上的AP在跑WPS,则Enrollee会在
发现阶段停止继续执行;同理,如果AP发现有两个或两个以上的Enrollee在
尝试建立WPS连接,AP也会停止运行WPS。如果哪一天按下你router的
WPS按钮,发现wps灯快闪了几下就不闪了,可能就是当时同时有两个
Enrollee在尝试WPS连接
3. AP收到带有 WSC IE的Probe Request请求包以后,就会回复Probe
Response包,这个包里面带有WSC IE,会告诉Enrollee一些信息,这些信
息很多,Enrollee会根据这些信息来决定下一步的动作
WPS协议交互流程剖析(准备工作)
5. 当Enrollee获取到AP端的信息,并且通过判断符合接入条件的时候,Enrollee
会尝试去和AP进行认证,向AP发送Auth包
6. AP端知道又是这个小伙子来了,很大度的让他认证成功,并回复Auth 成功包
7. 然后Enrollee发送Association Request 关联请求包,并附带WSC IE 信息,这
个信息很重要,目的是告诉AP我这边使用的协议的802.1x WPS 1.0 协议,我
们接下来的M1-M8过程也将会遵守这个协议进行交互,你那边可要准备好哦,
如果不能接受这种协议的话,请及时告诉我。