WPA3---SAE原理介绍
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原理介绍相关推荐
- HDR sensor 原理介绍
HDR sensor 原理介绍 一. HDR sensor 原理介绍 什么是sensor的动态范围(dynamic range): sensor的动态范围就是sensor在一幅图像里能够同时体现高光和 ...
- java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍
本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...
- 中兴SDH原理介绍及中兴E300网管介绍
姓名 苟忠兴 培训课程 中兴SDH原理介绍及中兴E300网管介绍 培训心得 1. SDH概念: SDH(Synchronous Digital Hierarchy,同步数字体系)是一种将复接.线路传输 ...
- 【机器学习】多项式回归原理介绍
[机器学习]多项式回归原理介绍 [机器学习]多项式回归python实现 [机器学习]多项式回归sklearn实现 在上一节中我们介绍了线性回归的原理,然后分别用python和sklearn实现了不同变 ...
- 计算机原理 英文版,计算机原理介绍英文版.doc
计算机原理介绍英文版 Importing TrafficOverview This lesson demonstrates the traffic import capabilities of Mod ...
- heartbeat原理介绍
heartbeat原理介绍 HeartBeat运行于备用主机上的Heartbeat可以通过以太网连接检测主服务器的运行状态,一旦其无法检测到主服务器的"心跳"则自动接管主服务器的资 ...
- 安检x光机原理计算机实现,安检x光机成像原理介绍
安检x光机是我们都很熟悉的一种安检设备,但很少有人去了解安检x光机成像原理.本文将为大家介绍安检x光机成像原理. 安检x光机成像原理 安检x光机主要由X光管和X光机电源以及控制电路等组成,而X光管又由 ...
- php new对象 调用函数,关于JS中new调用函数的原理介绍
这篇文章主要介绍了关于JS中new调用函数的原理介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数) ...
- Springboot中的缓存Cache和CacheManager原理介绍
一.背景理解 什么是缓存,为什么要用缓存? 程序运行中,在内存保持一定时间不变的数据就是缓存.简单到写一个Map,里面放着一些key,value数据,就已经是个缓存了.所以缓存并不是什么高大上的技术, ...
- Express中间件工作原理介绍
Express中间件工作原理介绍 中间件是Express框架学习中最难的部分,同时也是最为核心的技术,我们的学习路线如下 1.什么是中间件 2.Express中间件的本质及工作原理 3.自定义解析po ...
最新文章
- DS1302时钟芯片在STM32F0中的完整应用代码
- [ASP.NET] Session 详解
- CentOS 7核心安装及基本配置
- php常用的十个代码片段,转载
- am335x修改sd卡cd管脚
- matlab拟合分析画不出线,lsqcurvefit曲线拟合后,用polt函数画不出拟合的图形
- 基于RSA解题时yafu的使用
- VS2012+ArcGIS Engine10.2安装教程
- 浅析 Redis 复制
- 基于单片机的红外光电计数器(双探头)
- sql语句 两表关联查询计算数量
- facebook登录我游戏_Facebook对我的位置了解多少
- 不属于微型计算机的技术特标,计算机组成原理汇总
- 水晶报表中几种交叉表的实现方法 (作者阿泰)
- 重点工作事项督办督查跟踪管理方案
- ipad无法更新最新版本ipadOS 16、不再连接到互联网解决方法
- 计算机 屏幕卡住,电脑卡屏是怎么回事 电脑屏幕死机或卡死处理方法
- clientHeight、offsetHeight、scrollHeight、scrollTop
- 学计算机编程还是学奥数,小学生家长担心奥数被封 孩子改学编程冲名校
- 日本某地发生了一件谋杀案,警察排查确定杀人凶手(C语言)
热门文章
- 我为什么放弃Jboss和Jboss社区
- Qt中中opencv使用imread()读取图片失败问题及解决办法
- 如何打造一个搞垮公司的中台系统?
- stm32实现温湿度的采集(AHT20)
- 双象空间前方交会代码_单像空间后方交会和双像解析空间后方-前方交会的算法程序实现...
- 2440+NAND Flash(K9F1208UOM)总结 收藏
- Matlab中continue语句
- 课程介绍专栏/html5+css/案例演示
- Android开发介绍(基于Android Studio软件)
- C语言编程从1阶乘到100,c语言从1到100怎么做