欢迎大家一起学习探讨通信之WLAN。本节探讨关于WLAN的安全性,最新WLAN加密方式为WPA3(Wi-Fi Protected Access 3),相对WPA2在WLAN网络数据安全方面提供更好的保护机制。WPA3加密方式分为企业模式和个人模式,本节重点讨论WPA3个人模式手机通过SAE协议认证连接热点网络的流程。

好。先看下官方对WPA3要求的最新消息。自2020年7月1日起,WiFi联盟认证要求新的WiFi产品都需要支持WPA3安全认证方式。所以WPA3安全保护方式很快将在产品上与大家见面,希望通过本节探讨,大家能对后续使用设置WPA3安全加密方式有所帮助。如下图WiFi联盟官网答复信息。

WPA3安全加密方式中主要利用SAE(Simultaneous Authentication of Equals)协议,SAE协议在连接过程中,扮演什么角色?作用是什么呢?

首先SAE是被使用在手机和热点网络通过密码认证之间。当手机和热点网络完成SAE协议流程,则在手机和热点网络之间的会话产生唯一的共享密钥(PMK)。该共享密钥在不同的热点网络和手机建立的会话是不同。

WPA3安全加密方式-个人模式针对WPA2认证流程的有哪些优势呢?

如下图所示,WPA2是通过PSK方式认证,WPA3将通过SAE认证。

  • 易用性:提高了安全保护,不改变用户连接到网络的方式。

  • 简易密码选择:允许用户选择更容易记忆的密码,并提高安全强度。

  • 每个会话拥有单独密钥:单个会话密钥泄露,则其他会话数据流量保护不受影响。

使用WPA3加密方式的热点网络,手机连接流程是怎样呢?

如下图所示,手机连接使用WPA3加密方式的网络热点协议交换流程。分为五个阶段端:“扫描阶段”,“SAE认证阶段”,“关联阶段”,“四次握手阶段”和“DHCP获取阶段”。

这里有个疑问,通过上面介绍“SAE认证阶段”主要是热点网络和手机之间协商产生新的PMK过程,还需要WPA2加密方式的802.11 Auth认证吗?留大家思考。

好!接下来基于实践抓取的MAC协议包,对连接流程进行详细介绍。

关键字描述说明:

AP:指热点网络。

STA:指手机。

PMK:Pairwise Master Key 成对主密钥。

PTK:Pairwise Transient Key 成对临时密钥。

GTK:Group Transient Key 组临时密钥。

如下图手机连接使用WPA3加密方式热点网络过程中抓取到的mac层协议帧,基于以下协议帧对连接流程进行深入理解。

STA:10:98:C3:C0:F8:34

AP:28:D1:27:86:84:16

第一步:扫描阶段

(1)STA->AP send probe request frame

关于WiFi扫描机制可参考之前关于WiFi扫描探讨章节,本节不做过多解释。

这里看下802.11 probe request frame内容,如下图所示。该协议帧没有特别之处,只是在SSID字段指明将连接目标热点网络的网络名称,连接之前希望得到目标网络的响应回复。

(2)AP->STA send probe response frame

该协议帧相对内容比较多一些,对其关键字段进行说明。与不支持WPA3的路由器不同之处在RSN。同时,这里我们对WMM字段简单做一说明。

probe response frame内容具体如下图所示。因probe response frame需要将热点网络支持的能力信息全部提供给到连接手机端,所以会比probe request frame内容多。

如probe response frame的WMM字段,表明热点网络支持对数据流量进行分类为不同的优先级。路由器支持分为AC-Best Effort,AC-Background,AC-Vi和VC-Vo四种流量分类。

如probe response frame的RSN(Robust Security Network)增强安全网络字段。AKMP:00-0F-AC-08 则使用SAE Authentication。MFPC和MFPR都为1,要求支持管理帧保护。

WPA3 spec Personal Modes:

1. FT Authentication using SAE 00-0F-AC:9

2. SAE Authentication 00-0F-AC:8

3. FT Authentication using PSK 00-0F-AC:4

4. PSK using SHA-256 00-0F-AC:6

5. PSK 00-0F-AC:2

第二步:SAE认证阶段

(1)STA->AP Auth commit Message

手机将生成的PMK需要信息,通过SAE auth commit Message中的value字段传送给热点网络,热点网络结合接收到手机的信息生成PMK和KCK。如下图所示。

(2)AP->STA Auth commit Message

热点网络通过SAE Auth commit message响应连接手机发送的SAE Auth commit message,并将连接手机需要生成PMK需要的信息通过value字段传输。如下图所示。

(3)STA->AP Auth Confirm Message

经过第一次交换后,连接手机将计算生成的信息通过Auth Confirm Message传输给热点网络。如下图Advertisement Protocol字段内容所示。

(4)AP->STA Auth Confirm Message

热点网络收到连接手机的 Auth Confirm Message,获取连接手机提供的信息,按原约定计算方式确认是否正确。确认完成后,发送SAE Auth Confirm Message 携带信息给连接手机,连接手机确认信息是否正确。

SAE两次交换,通过auth seq num来进行区分。完成SAE两次交换后,热点网络和连接手机将拥有新的PMK,接下来将进入关联阶段。

第三步:关联阶段

(1)STA->AP关联请求

手机发送关联请求帧,关联请求帧中指明关联的SSID,提供可支持的速率,认证方式,信道,QoS能力等信息。最主要表明RSN支持SAE认证方式。关联请求帧内容如下图所示。

(2)AP->STA关联响应

热点网络收到连接手机的关联请求帧后,获取连接手机提供的信息。结合当前热点网络支持功能情况,协商相关支持功能信息,并将协商支持功能信息通过关联响应帧发送给连接手机。关联成功后,连接手机和热点网络将建立好之间的无线链路。将进入连接手机和热点网络之间的PTK和GTK协商流程,即我们经常听到的四次握手环节。

如下图所示关联响应帧内容。

第四步:四次握手阶段

在探讨四次握手流程时,先来看下四次握手过程中的Anonce和Snonce随机数。

Anonce:由认证者(热点网络)生成的随机数。

Snonce:由请求者(连接手机)生成的随机数。

四次握手主要协商生成PTK和GTK。GTK基于PTK生成。PTK生成需要依赖Anonce,Snonce,连接手机和热点网络的MAC和PMK。通过第二步SAE认证阶段,热点网络和连接手机都拥有了PMK。接下来看下四次握手的数据包交换。

(1)AP->STA EAPOL-1

热点网络随机生成一个Anonce,通过EAPOL-1数据包发送给连接手机。如下图key Nonce字段值,这里需要提醒注意Key MIC字段值为0。

(2)STA->AP EAPOL-2

连接手机接收到热点网络的 EAPOL-1数据包后,解析获取到Anonce和热点网络的MAC地址,连接手机随机生成Snonce。通过算法计算出PTK。

连接手机通过EAPOL-2数据包,将产生的Snonce和生成的PTK信息发送给热点网络。且附带Key MIC字段值。如下图所示。

(3)AP->STA EAPOL-3

热点网络接收到手机发送的EAPOL-2数据包解析并获取Snonce等信息,计算并生产PTK和GTK。并确认连接手机生成的PTK等信息是否正确,如果不正确,证明连接手机端的PMK是错误,则连接流程将被终止。

如果检验连接手机信息正确,则发送EAPOL-3数据包。该数据包Key Nonce字段与EAPOL-1数据包对应字段一致。但该数据包将携带Key MIC字段值发送至连接手机。如下图所示。

(4)STA->AP EAPOL-4

手机接收到热点网络发送的EAPOL-3数据包后,获取其携带的信息,确认热点网络端PMK是否正确,如果正确则发送EAPOL-4数据包进行确认,并安装PTK和GTK。热点网络在收到EAPOL-4数据包后将安装PTK。PTK将用于后续发送的单播数据包加密,GTK将用于后续的组播数据包加密。

这里需要注意一点,在手机发送完EAPOL-4数据包后,后续手机发送给热点网络的数据包将会被正式加密。如果热点网络端没有接收到EAPOL-4数据包,则无法正常解析手机发送的数据包。则不会响应连接手机发送的 DHCP发现数据包。

EAPOL-4数据包内容如下图所示。

第五步:DHCP获取阶段

经过四次握手阶段后,手机和热点网络之间数据包传输需要的密钥已生成。手机想访问网络,WiFi无线网卡还需要获取到IP地址。有了IP地址后,数据包才可以正常的网络上传输通信。

关于DHCP获取,后面章节将会详细探讨,因该部分涉及IPv4和IPv6网络,在IPv4和IPv6网络上,DHCP获取流程有很大区别。

最后疑问解答:通过上面介绍“SAE认证阶段”主要是AP和STA协商产生新的PMK过程,还需要WPA2加密方式的802.11 Auth认证吗?

通过SAE认证后,将完全不需要WPA2加密方式的802.11 Auth认证。因WPA2 802.11 Auth认证是一种不安全的认证方式,由WEP加密方式遗留下来的。如下图是WPA2 preshared key加密的连接过程。Auth 阶段是连接手机发送认证请求,热点网络直接回复确认。原则:逢请求,必通过。

本节对WLAN安全加密方式WPA3进行了简单探讨,结合手机连接使用WPA3安全加密方式的热点网络,对WPA3 个人模式的SAE协议认证做了分析介绍。通过本节介绍希望大家能对WPA3加密方式有所了解,在后续设备使用过程中有所理解帮助。第二十二节探讨就到此,后续期待共同继续探讨学习。

注:

对以上所述专业知识有修正意见或建议,可随时留言反馈。如感兴趣更多通信知识,可关注“通信之WLAN”微信公众号。

谢谢大家支持~!

第十七节:通信之WLAN(WPA3-Ⅰ)相关推荐

  1. 第四节:通信之WLAN(WiFi介绍)

    欢迎大家一起学习探讨通信之WLAN.通过上几节课程对通信系统的探讨学习,我们了解了通信系统的基本组成及其各部分的功能作用.如果要将信息"欢迎一起探讨通信之WLAN"在一个WLAN局 ...

  2. 第七节:通信之WLAN(信道)

    欢迎大家一起学习探讨通信之WLAN.上节基于"无人机接力游戏竞赛"的名称,探讨了WLAN的网络名称"SSID"."SSID"最大长度为32个 ...

  3. 第十二节:通信之WLAN(Miracast)

    欢迎大家一起学习探讨通信之WLAN.到目前为止,我们基于"无人机接力游戏竞赛"的"站点","名称","航道"," ...

  4. 第二十二节:通信之WLAN(802.11ax@TWT-I)

    欢迎大家一起学习探讨通信之WLAN.本节探讨802.11ax(即WiFi6)协议规定的TWT功能.该功能主要通过"允许管理STA在BSS中的活动,通过调度STA在不同的时间运行,以达到最小化 ...

  5. 第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成...

    第三百七十七节,Django+Xadmin打造上线标准的在线教育平台-apps目录建立,以及数据表生成 apps目录建立 我们创建一个apps目录,将所有的app放到apps目录里去,这样方便管理,也 ...

  6. Python编程基础:第五十七节 reduce函数Reduce

    第五十七节 reduce函数Reduce 前言 实践 前言 reduce函数的作用是逐项将迭代器的前两项按照指定方式进行计算,例如我们有一个数字列表[1, 2, 3, 4]我们可以使用reduce函数 ...

  7. Python编程基础:第四十七节 抽象类Abstract Classes

    第四十七节 抽象类Abstract Classes 前言 实践 前言 抽象类可以这么理解,它就是一个模板,里面声明了子类必须定义的函数,但是对于每个函数都没有给出具体实现.所有函数的实现都是在子类中定 ...

  8. Python编程基础:第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game

    第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game 前言 实践 前言 我们这一节的内容主要是对前边学习内容的一个综合应用,以石头,剪刀,布游戏为例讲解列表.随机数.用户输入 ...

  9. Python编程基础:第二十七节 format输出Format

    第二十七节 format输出Format 前言 实践 前言 在前面的学习中我们已经接触过str.format()的输出格式,本节中我们将进一步学习字符串打印输出的相关内容,并通过一系列的小例子感受使用 ...

最新文章

  1. Python入门100题 | 第008题
  2. 原则,策略,规范也是构架的一部分
  3. [转载]创建数据库与完成数据添删改查--第一种写法
  4. S3C2440_MMU
  5. mysql双重分组没有值也要显示_mysql 统计数据,按照日期分组,把没有数据的日期也展示出来...
  6. linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结
  7. 连接postgresql
  8. jenkins source files 和 Remove Prefix 用户
  9. G502使用计算机配置,罗技G502鼠标灵敏度如何设置?宏如何设置?
  10. Energy python API 代码学习
  11. binlog2sql快速闪回
  12. win10系统ipv6服务器地址,win10系统查看电脑ipv6地址的操作方法
  13. 有了这三个网站,你再也不用去找其它工具网站了
  14. ospf协议(包含负载分担)
  15. chrome浏览器抓包工具介绍(2022,12,27)
  16. codeforces 892A. Greed(水)
  17. 程序员的最高境界(转)
  18. 视频知识点(20)- H264码流如何在SPS中获取宽高信息?
  19. 贝茨视觉训练法 [20160316]
  20. 正态分布下的最大似然估计

热门文章

  1. Axure 设计App界面
  2. Stable Diffusion 2.0来了,皮卡智能AI早已“抢先”优化升级
  3. GEE:基于GEE的单个湖泊的实时水体提取(以武汉东湖为例)
  4. 华大460 GPIO 例程赏析_20220911
  5. Linux pv显示进度条命令
  6. (转)LRC歌词编辑攻略1
  7. pycharm终端提示无法加载文件 F:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\activate.ps1,因为在
  8. 中国十大无线耳机排行榜,音质好配置高的蓝牙耳机分享
  9. 卡通爆炸logo展示片头片尾动态视频AE模板
  10. 常见笔记本CPU型号参数和性能对比一览表