手撕烂笔头-wifi连接三阶段

wifi连接三阶段

wifi连接分为三个阶段:发现、连接、认证。可以成为“Wi-Fi连接123”

发现分为两种,主动发现和被动发现。

  • 主动发现是设备发送probe request帧,(这里需要确认是广播还是非广播)收到的AP会回应probe response帧。这里的probe就是探针的意思。
  • 被动发现是AP会定期发送beacon帧,一般是100ms发送一次广播。设备收到后就发现该AP。这里的beacon就是信号等他的意思。

连接分为两个步骤,authentication和assocation阶段。

  • authentation阶段,@需要了解auth作用
  • association表示关联到AP,类似有线网口插上网线 @assoc里面携带了什么信息

 认证阶段分为四个步骤

ap->sta: Anone (@需要确认是anone还是 anonce 并且全文修改)

Sta->AP: Snone + MIC

AP->STA: GTK + MIC

STA->AP: ACK

步骤1:

ANonce是AP生成的随机数,收到后STA就会做认证的准备“材料”,它会使用6元组生成PMK和PTK。

注意这里不是使用PTK对ANonce进行一个加密算法会一个数字MIC。后面详解,先看6元组是什么:

ANonce

AP生成的随机数

SNonce

STA生成的随机数

A-MAC

AP的MAC地址

S-MAC

STA的MAC地址

ESSID

AP的SSID

PSK

密码

为什么要选择这6元组呢?其中包含了固定部分和非固定部分。加大安全性。

6元组-》MIC的算法会根据协商的算法进行推算,常用的包括@?

这里的逻辑链是:

收到ANonce-》6元组-》生成PTK PMK-》生成SNonce-》组装数据包-》计算校验值MIC

注意这里的校验值MIC

具体PTK和PMK生成算法后期更新

具体PTK如何校验生成MIC后期更新

步骤2:

STA将生成的随机数生成数据包并使用PTK生成校验值MIC发送给AP。@放到协议帧的什么位置?

AP收到SNonce之后,就完成AP端6元组凑齐了,也能使用相同的算法计算PMK和PTK,同样使用PTK校验数据包生成MIC2,对比MIC1和MIC2,如果相同,表示计算出的PTK是相同的,也表示用于生成PTK的6元组是相同的,也表示PSK是相同的,从而说明STA拥有PSK的权限,也就是平时所谓的知道wifi密码。

这里会出现两种情况,如果计算MIC1=MIC2,就能认证通过进入步骤3,如果不对就会将设备踢掉,所谓的踢掉就是assoc的反序列化,AP会发送disassoc给设备

步骤3:

AP将组播密钥GTK用PMK加密并且将计算的MIC2发送给STA。这里GTK必须AP生成,用于发送加密广播和加密组播包。因为组播是中性化结构,需要AP统一管理密钥才能保持一致。所以从这里可以看到PMK是用于加密组播的,PTK是用于加密单播的。而且这里为什么需要将MIC发送给STA呢?是需要STA确认当前所连接AP是否是伪装AP,伪装AP不知道PSK所以不能得到正确的6元组,也就不能得到正确的MIC,相当是一个双向验证。所以wifi进行双向验证的方式是双方都会加入PSK的一个对称验证。

当STA收到GTK和MIC3之后,会使用PMK计算计算校验值MIC4,判断MIC3是否等于MIC4,如果相同则说明当前STA和AP都是对对方可信的。如果不相等则说明可能发送GTK过来的AP是非法的,当然也可能是修改密码了(不过一般不会出现,因为AP的逻辑一般是计算完MIC2如果密码修改后就不会走到步骤3),那么非法的话STA就不能将该AP认证完成。

这里相当于我要看你是不是鬼,你也要看我是不是钟馗。这里的我就是AP,你就是STA。

步骤4:

如果步骤3的MIC3=MIC4,那么STA就会回复AP ACK,并且将GTK install到硬件中(也可能是软件中)

所以主要是认证,密码是对称的 双方各自计算的。唯一的密钥交换只有GTK

关于一些思考,比如其实可以取消步骤1,不用ANonce,他的安全性就下降很多了吗?是的

这里存在一个双向验证的过程,重点包含在了步骤3里面。这里需要避免的一种情况是。假设有两个AP1和AP2,如果没有步骤1,那么STA假设想连接到AP1,但是AP2也收到了步骤2的报文,AP2直接回应STA 欺骗了连接到AP2,好像不成立,因为mac地址不一样 以及ANonce是可以监听到的。但是mac地址不一样AP2可以模拟AP1的地址收发包只是自己作为一个监听设备。再说了mac地址的本质其实主要还是在包里面,而不是所谓的本应该就是你这种说法。

还有几个问题,就是为什么是ap先发起步骤1呢?如果sta发起步骤1会有什么区别和优劣吗?

目前来看主要是避免被攻击,控制来认证的数量,只有我允许的人发送认证流程才进入流程,从而避免类似DDOS的攻击,AP无法提供更多服务,当然如果真的出现类似DDOS虽然也有很多解法,但是何必不从源头解决呢,这里体现了在当前wifi架构中的中心化特点,有利于提高系统网络协同效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值