WPA3简介

WIFI联盟2018.4月发布WPA3 V1.0版本,详细参见WIFI联盟官网 https://www.wi-fi.org/zh-hans/discover-wi-fi/security
背景:2017年10月份,有安全研究者公布了WPA2协议的一个弱点,会遭受到KRACK( Key Reinstallation AttaCK)攻击;攻击者可以获取STA和AP之间传输的数据,许多厂家已经发布相关补丁修复此漏洞;但是WPA2的形象和名声还是受到损害,因而WIFI联盟迅速推出了WPA3

WPA3对于个人和企业网络提供不同模式

  • WPA3-SAE 个人网络
  • WPA3-Enterprise 企业网络

WPA3优势:

  • 加密一致性:通过强制执行同时使用“先进加密标准(Advanced Encryption Standard,简称AES)”和传统协议(例如“临时密钥完整性协议(Temporal Key Integrity Protocol,简称TKIP)”)的政策,降低了网络遭受攻击的可能性;
  • 网络弹性:通过启用受保护的管理帧(Protected Management Frames,简称PMF)机制,防止窃听和假冒管理帧的行为,提供了可靠的保护。一致地使用这类保护措施可提高关键任务型网络的弹性。

WPA3-Personal
应用于个人网络的WPA3定义两种模式

WPA3-SAE Mode
其特点如下:

  • “对等实体同时验证(Simultaneous Authentication of Equals,简称SAE)”取代了“预共享密钥(Pre-Shared Key,简称PSK)”,提供更可靠的、基于密码的验证。WPA3-Personal通过证实密码信息,用密码进行身份验证,而不是进行密钥导出,从而为用户提供了增强的安全保护;
  • 要求AP和客户端支持PMF(管理帧保护),RSN IE中的必须支持管理帧保护(Management Frame Protection Required)”位=1

WPA3-SAE Transition Mode
其特点如下:

  • 过渡模式,允许逐步向WPA3-Personal网络迁移,同时保持与WPA2-Personal设备的互操作性,且不会干扰到用户;
  • 网络配置为能够支持PMF(“能够支持管理帧保护(Management Frame Protection Capable)”位=1和“必须支持管理帧保护(Management Frame Protection Required)”位=0),而不是必须支持PMF。
  • 过渡模式中,WPA3-Personal接入点(AP)在单个“基本服务集(Basic Service Set,简称BSS)”上同时支持WPA2-Personal和WPA3-Personal

WPA3-Enterprise
应用于企业网络
主要特点如下:

  • WPA3-Enterprise主要是定义并执行了提高一致性的政策,没有从根本上改变或取代WPA2-Enterprise中定义的协议
  • 对于PMF,同样存在必须支持或者能够支持两种配置
  • WPA3-Enterprise提供一种可选的192位安全模式,该模式规定了每一个加密组件的配置,以使网络的总体安全性保持一致
  • WPA3-Enterprise 192位安全模式采用:GCMP-256(256位Galois/Counter Mode Protocol),此时PMF是必选项

WPA3-Enterprise 192-bit Mode下运行的EAP加密认证方法

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    -ECDHE and ECDSA using the 384-bit prime modulus curve P-384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    -ECDHE using the 384-bit prime modulus curve P-384
    -RSA≥3072-bit modulus
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    -RSA≥3072-bit modulus
    -DHE ≥3072-bit modulus

不同字段的理解如下图:

PMF( Protected Management Frames)
IEEE802.11w定义了PMF,针对窃听和假冒为管理帧的行为提供可靠的保护
2012年,Wi-Fi Alliance首次推出PMF,当时PMF是WPA2的可选功能,后来成为所有Wi-Fi CERTIFIED™ ac设备的必选功能。现在,随着WPA3的推出,Wi-Fi Alliance规定在所有WPA3模式必须使用PMF,从而为包括“行动(Action)”帧、“断开关联(Disassociate)”帧和“解除验证(Deauthenticate)”帧在内的单播和组播管理帧提供了可靠的安全保护。

PMF对部分影响网络健壮性的管理帧和Action帧进行保护

  • Disassociation and deauthentication
  • Radio measurement action for infrastructure BSS (802.11k frames)
  • QoS action frame (802.11e frames)
  • 11v management frames (802.11v frames)

PMF的好处

  • 提供deauth/ Disassociation的保护。这防止一未经授权的用户通过伪装合法用户MAC地址启动服务拒绝(DoS)攻击和发送deauth/Disassociation帧。

WPA-SAE
SAE-对等实体同时验证,特点如下:

  • WPA3-Personal基于IEEE Std 802.11-2016中定义的SAE。SAE采用了“互联网工程任务组(IETF)”RFC7664规范中定义的“蜻蜓(Dragonfly)”握手协议,将其应用于Wi-Fi网络以进行基于密码的身份验证
  • Wi-Fi Alliance WPA3规范针对以SAE模式运行的设备定义了更多要求。SAE是一种密钥交换协议,仅用密码对两个对等实体进行身份验证,在两个对等实体之间产生一个共享密钥,通过公用网络交换数据时,该密钥可用来进行加密通信。这种方法可以安全地替代使用证书的验证方法,或者在不提供集中式验证机制时采用这种方法。
  • 在Wi-Fi基础设施网络中,SAE握手协议针对每个客户端设备协商新的“成对主密钥(Pairwise Master Key,简称PMK)”,然后该PMK用于传统Wi-Fi四路握手协议,以产生会话密钥。
  • 无论是SAE交换中使用的PMK还是密码证书,被动型攻击、主动型攻击或离线字典式攻击都不可能得到。
  • 密码恢复仅有可能通过重复进行主动型攻击实现,而且一次仅能猜测一个密码。
  • 提供了前向安全性;也就是说即使攻击者拿到密钥,也无法用于破解过去截获到的加密报文。

SAE的简单原理和实现描述:

  • 在Wi-Fi基础设施网络中,SAE握手协议针对每个客户端设备协商新的PMK,然后新的PMK用于传统Wi-Fi四路握手协议,以产生会话密钥。注意:以往都是直接用PMK进行四路握手协议,SAE会在PMK基础上产生新的PMK。
  • Beacon消息RSN IE中AKM取值为8,代表AP支持SAE Authentication 交互会发生2次,用来产生PMK
  • 提供前向安全,如果密码被破解,SAE握手协议确保PMK不能被恢复。如下图中,即使攻击者拿到密码算出R,也无法从vR或uR反推出v或u(此处的vR或uR的运算不是简单乘法,而是定义在有限域上的运算,这个无法反推u或v的性质是SAE协议的安全性的关键所在),因此无法合成出uvR; SAE的实现原理类似于下图:

SAE:交互过程

  • 两次Authencation交互,产生的PMK用于后续的4-way握手
  • 双向commit/Confirm;commit用于提交计算PMK的素材,Confirm用于确认和验证双方计算正确;

SAE:PMK产生过程
以椭圆曲线ECC为例,注意下面的运算 * 是基于椭圆曲线的运算,而不是简单的加减乘除

  • 首先AP和STA都通过用户的密码映射到椭圆曲线的一个点element PWE
  • STA通过Authentication1 携带scalar(rand1+mask1),以及Element(-mask1 * PWE);注意:此处传递的rand1和PWE,相当于上面例子中的u和R,但是都通过mask给掩码了,所以攻击者无法直接读出u或R,接收着可以直接计算出u * R;
  • AP接收到消息后,先生成自己的rand2,然后使用KEY计算公式KEY=rand2 * ((rand1+mask1) * PWE-mask1 * PWE) =rand2 * rand1 * PWE;注意 rand2 * rand1 * PWE;相当于上面例子中的u * v * R;
  • AP再通过HASH_512函数F(KEY),生成最后的PMK和KCK;
  • 同样AP响应给STA的Authentication2消息携带类似的内容,帮助STA算出相同的PMK,KCK
  • STA再次发送Authentication3,携带confirm字段,内容是对双方之间交互过的信息(scalar1+element1+scalar2+element2+KCK)的HASH_256值
  • AP收到后,执行相同算法验证,确认STA使用的KCK是否正确;
  • AP也会发送Authentication4供STA验证;由于scalar/element计算顺序不一样,双方消息携带的confirme字段内容看起来不一样。

上面内容仅供个人学习目的,致谢上面素材来源的作者,如果有不当之处,请联系;

WPA3---SAE原理介绍相关推荐

  1. HDR sensor 原理介绍

    HDR sensor 原理介绍 一. HDR sensor 原理介绍 什么是sensor的动态范围(dynamic range): sensor的动态范围就是sensor在一幅图像里能够同时体现高光和 ...

  2. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍

    本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...

  3. 中兴SDH原理介绍及中兴E300网管介绍

    姓名 苟忠兴 培训课程 中兴SDH原理介绍及中兴E300网管介绍 培训心得 1. SDH概念: SDH(Synchronous Digital Hierarchy,同步数字体系)是一种将复接.线路传输 ...

  4. 【机器学习】多项式回归原理介绍

    [机器学习]多项式回归原理介绍 [机器学习]多项式回归python实现 [机器学习]多项式回归sklearn实现 在上一节中我们介绍了线性回归的原理,然后分别用python和sklearn实现了不同变 ...

  5. 计算机原理 英文版,计算机原理介绍英文版.doc

    计算机原理介绍英文版 Importing TrafficOverview This lesson demonstrates the traffic import capabilities of Mod ...

  6. heartbeat原理介绍

    heartbeat原理介绍 HeartBeat运行于备用主机上的Heartbeat可以通过以太网连接检测主服务器的运行状态,一旦其无法检测到主服务器的"心跳"则自动接管主服务器的资 ...

  7. 安检x光机原理计算机实现,安检x光机成像原理介绍

    安检x光机是我们都很熟悉的一种安检设备,但很少有人去了解安检x光机成像原理.本文将为大家介绍安检x光机成像原理. 安检x光机成像原理 安检x光机主要由X光管和X光机电源以及控制电路等组成,而X光管又由 ...

  8. php new对象 调用函数,关于JS中new调用函数的原理介绍

    这篇文章主要介绍了关于JS中new调用函数的原理介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数) ...

  9. Springboot中的缓存Cache和CacheManager原理介绍

    一.背景理解 什么是缓存,为什么要用缓存? 程序运行中,在内存保持一定时间不变的数据就是缓存.简单到写一个Map,里面放着一些key,value数据,就已经是个缓存了.所以缓存并不是什么高大上的技术, ...

  10. Express中间件工作原理介绍

    Express中间件工作原理介绍 中间件是Express框架学习中最难的部分,同时也是最为核心的技术,我们的学习路线如下 1.什么是中间件 2.Express中间件的本质及工作原理 3.自定义解析po ...

最新文章

  1. DS1302时钟芯片在STM32F0中的完整应用代码
  2. [ASP.NET] Session 详解
  3. CentOS 7核心安装及基本配置
  4. php常用的十个代码片段,转载
  5. am335x修改sd卡cd管脚
  6. matlab拟合分析画不出线,lsqcurvefit曲线拟合后,用polt函数画不出拟合的图形
  7. 基于RSA解题时yafu的使用
  8. VS2012+ArcGIS Engine10.2安装教程
  9. 浅析 Redis 复制
  10. 基于单片机的红外光电计数器(双探头)
  11. sql语句 两表关联查询计算数量
  12. facebook登录我游戏_Facebook对我的位置了解多少
  13. 不属于微型计算机的技术特标,计算机组成原理汇总
  14. 水晶报表中几种交叉表的实现方法 (作者阿泰)
  15. 重点工作事项督办督查跟踪管理方案
  16. ipad无法更新最新版本ipadOS 16、不再连接到互联网解决方法
  17. 计算机 屏幕卡住,电脑卡屏是怎么回事 电脑屏幕死机或卡死处理方法
  18. clientHeight、offsetHeight、scrollHeight、scrollTop
  19. 学计算机编程还是学奥数,小学生家长担心奥数被封 孩子改学编程冲名校
  20. 日本某地发生了一件谋杀案,警察排查确定杀人凶手(C语言)

热门文章

  1. 我为什么放弃Jboss和Jboss社区
  2. Qt中中opencv使用imread()读取图片失败问题及解决办法
  3. 如何打造一个搞垮公司的中台系统?
  4. stm32实现温湿度的采集(AHT20)
  5. 双象空间前方交会代码_单像空间后方交会和双像解析空间后方-前方交会的算法程序实现...
  6. 2440+NAND Flash(K9F1208UOM)总结 收藏
  7. Matlab中continue语句
  8. 课程介绍专栏/html5+css/案例演示
  9. Android开发介绍(基于Android Studio软件)
  10. C语言编程从1阶乘到100,c语言从1到100怎么做