WIFI接入之Authentication和Association流程梳理

目录

1.Authentication

2.Association

3.总结


在Wifi与AP进行四次握手前,需要进行Authentication(认证)和Association(关联)操作。这里梳理一下这两个操作的流程。

认证:提供身份的校验。

关联:建立信息通信关系。

四次握手:确定后面通信过程中所使用到的各种秘钥。关于四次握手,请参考领一篇文章:supplicant 四次握手流程 

1.Authentication

framework层通过JNI接口,发送socket消息给Supplicant。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

20200301104449484.png

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

由如下的结构体,我们可以看到authenticate方法对应的是wpa_nl80211_authenticate。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

接着往下看:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

也就是说,supplicant在Authentication阶段阶段只是个通路,做核心的功能实现是在driver中。

2.Association

这个流程跟上一节是类似的,在这里简单说明:

与上层对应的消息是PRIVSEP_CMD_ASSOCIATE:

20200301104602340.png

supplicant与driver通信也是通过socket,关键实现是在如下接口中:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

3.总结

supplicant通过socket与驱动交互上报数据给用户,而用户可以通过socket发送命令给supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。

如果感觉本文对您有益,请辛苦点个赞吧~
欢迎扫码关注个人公众号或者微信搜索wanwuhulianjishu(万物互联技术)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0F0bGFzMTIzNDU=,size_16,color_FFFFFF,t_70

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值