sae wpa3加密方式_WPA3:四大安全新特性技术分析

sae wpa3加密方式_WPA3:四大安全新特性技术分析周一晚些时候,包括苹果、思科、英特尔、高通和微软等科技巨头在内的Wi-Fi联盟正式推出了新的Wi-Fi安全标准WPA3。这个标准将解决所有已知的、会影响重要标准的安全问题,同时还针对KRACK和DEAUTH等无线攻击给出缓解措施。WPA3为支持Wi-Fi的设备带来重要改进,旨在增强配置、加强身份验证和加密等问题。重要改进主要包括:防范暴力攻击、WAP3正向保密、加强公共和…

大家好,又见面了,我是你们的朋友全栈君。

周一晚些时候,包括苹果、思科、英特尔、高通和微软等科技巨头在内的 Wi-Fi 联盟正式推出了新的 Wi-Fi 安全标准 WPA3。这个标准将解决所有已知的、会影响重要标准的安全问题,同时还针对 KRACK 和 DEAUTH 等无线攻击给出缓解措施。WPA3 为支持 Wi-Fi 的设备带来重要改进,旨在增强配置、加强身份验证和加密等问题。重要改进主要包括:防范暴力攻击、WAP3 正向保密、加强公共和开放 Wi-Fi 网络中的用户隐私、增强对关键网络的保护。据了解,这项新协议可以在个人、企业和物联网无线网络模式下运行。

1.更安全的握手协议

即使用户的密码复杂度没有达到推荐的复杂性,WPA3也可以给予用户鲁棒的保护。也就是说,对于只使用密码来保护的个人网络和普通家庭网络,需要使用SAE(Simultaneous Authentication of Equals)握手。值得注意的是SAE握手可以抵御非在线的词典攻击。相比之下,使用弱密码的个人WPA2网络易受非在线的词典攻击。因为实践中许多网络使用的都是弱密码,所以WPA3在抵御此类攻击上做了很大的改善。

论文中已经证明了这种新的SAE握手协议的设计是安全的。证明还确认了握手能够提供前向保密,如果攻击者知道了网络中的密码,也不能解密获取到流量。在WPA2网络中,在得到密码后就可以解密之前获取的流量。所以,WPA3的SAE握手协议在这方面做出了很大的改进。

如果握手协议实现的过程中不够仔细,也是会受到侧信道攻击。另外,因为握手是为平衡的PAKE设计的,AP(Access point,访问点)必须以明文的形式保存密码。也就是说,AP只能存储明文密码而不是密码的其他形式,所以有人一旦得到了AP的访问权限,就可以读取明文密码了。

因为SAE握手协议的证明是理论上的,所以不能保证在实践过程中的安全性。而且WPA2也是经过安全证明的,同样受到了安全攻击。因此,要确认安全证明的正确性,做出合理的假设、证明正确的特性、对真实的应用进行建模等。

从技术的角度去看,SAE握手是RFC 7664中定义的Dragonfly握手的一个变种,背后的期初数SPEKE握手。在Wi-Fi网络中,SAE握手要协商新的PMK(Pairwise Master Key)。而生成的PMK会被用于传统的4次握手来生成session key。也就是说,SAE握手之后是一个4次握手的过程。可能有人很奇怪为什么会使用4次握手,因为4次握手的安全性比较弱。但在4次握手中,SAE握手协商产生的32字节PMK是不能用词典攻击进行猜测的。而且SAE握手保证了在知道密码的情况下不能恢复PMK,所以前向保密事实上是得到保证了。

2.DPP替换WPS

WPA3带来的第二个改善是对没有或只有有限的显示接口的设备提供简化的、安全的配置。也就是说替换了WPS,因为WPS本身是不安全的,所以WPA3中使用了Wi-Fi Device Provisioning Protocol (DPP)协议替换了WPS。通过DPP协议,用户可以用QR码或密码的方式向网络中安全的添加新的设备。DPP协议还定义了使用NFC和蓝牙协议添加设备的方法。从本质上讲,DPP是依靠公钥来识别和认证设备的。

DPP协议本身含有3个主要阶段。第1阶段叫做bootstrapping,在这一阶段会获取新设备的公钥。这是通过扫描编码公钥的QR码或者使用PKEX协议通过无线的方式交换和加密公钥完成的。同样地,使用NFC和蓝牙也可以完成公钥传输。每种方法都提供了不同等级的确认方式来确保获取的公钥确实是属于新设备的。

第2阶段叫做认证和供应。可信的公钥会被用来建立一个(临时的)认证连接,在该连接之上可以交换凭证。交换的凭证还不是连接网络的最终凭证,事实上,交换的凭证只是一个connector(连接器)。Connector会在DPP协议的最后一阶段中确定真实的网络密钥。也就是说连接器会被用来执行Diffe-Hellman交换来建立PMK,然后PMK会被用来访问网络。

3.非认证加密

WPA3的第3个特征是通过单独数据加密的方式来开放网络中增强了用户隐私,这就是开放网络的非认证加密。WPA3应该是支持OWE(Opportunistic Wireless Encryption )。在实践中,被动攻击者只能嗅探、监控流量,而不能读取客户端的流量。但主动攻击者仍然可以通过创建虚假AP的方式,诱骗受害者连接到虚假AP上,然后读取连接的客户端的所有流量。

值得注意的是搭建一个WPA2网络,然后共享密码给用户并不能阻止被动攻击者解密所有流量。这是因为只要攻击者获取了客户端连接到WPA2网络的握手,就可以将握手融合到公共密码中来解密客户端和AP之间的所有帧。对于主动攻击者可以搭建一个有相同名称和密码是WPA2网络,然后连接到AP,这样攻击者就可以拦截和读取所有的流量了。

OWE的好处就是可以防止被动攻击,但攻击者可以发起主动攻击来拦截流量。OWE的一个缺点是目前没有一个机制在第一次使用的时候就信任AP。相比而言,第一次连接到SSH服务器时,是可以信任服务器的公钥的,这就可以防止攻击者未来拦截流量。因为OWE没有第一次使用就信任某个特定AP的选项。所以即使之前就连接过某个特定AP,攻击者仍然可以搭建虚假AP然后诱骗用户连接。

从技术的角度讲,OWE握手用Diffe-Hellman密钥交换协商了一个新的PMK。握手被封装在(re)association请求和相应帧中的Information Elements (IEs)中。最后生成的PMK被用于4次握手中,用来协商和安装帧加密密钥。

4.增加Session Key大小

WPA3提供的第4个改进就是增加的session key大小,准确的说,参考了Commercial National Security Algorithms (CNSA) suite。也就是说WPA3支持256位密钥的AES-GCM和384位曲线的椭圆曲线加密。SHA2家族的SHA384也可以使用,任何应用的RSA密钥必须至少是3072位。总的来说,结果是保证了192位的安全性,因为这是384位椭圆曲线和SHA384的有效强度。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141858.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pstack 安装linux_Linux下pstack的实现

    pstack 安装linux_Linux下pstack的实现Linux下有时候我们需要知道一个进程在做什么,比如说程序不正常的时候,他到底在干吗?最直接的方法就是打印出他所有线程的调用栈,这样我们从栈再配合程序代码就知道程序在干吗了。Linux下这个工具叫做pstack.使用方法是#pstackUsage:pstack当然这个被调查的程序需要有符号信息。比较雷人的是这个程序竟然是个shell脚本,核心实现是gdb的threadapplyal…

    2025年11月17日
    4
  • 国外的大龄程序员在干什么工作_为什么程序员年龄大了没人要

    国外的大龄程序员在干什么工作_为什么程序员年龄大了没人要在Quora有个帖子:我今年35岁了,是不是太老了,没法加入Google,Facebook,Microsoft或者Apple了?下面的回复让人叹为观止,我摘录几个:萨特南·辛格Google软件工程师(2017–present)不,我在51岁的时候加入了Google,我们团队还有几个比我年长的人!他们都是非常卓越的软件工程师,一生都在编程,并且获得了被认为非…

    2025年11月8日
    2
  • 常用硬件知识点总结

    常用硬件知识点总结1、GPIO的8种工作模式①浮空输入:一般多用与外部按键输入。IO的电平状态是不确定的,完全由外部输入决定。输入引脚上任何噪声都会改变输入段检测到的电平。②带上拉输入:内接上拉电阻输入,当输入引脚悬空时读到的是1。③带下拉输入:内接下拉电阻输入,当输入引脚悬空时读到的是0。④模拟输入:应用ADC模拟输入⑤推挽输出:推挽电路是两个参数相同的三极管或MOSFET,以推…

    2022年7月22日
    9
  • docker 镜像构建_dockerfile指定镜像名称

    docker 镜像构建_dockerfile指定镜像名称前言如果我们已经安装了一个python3的环境,如果另一台机器也需要安装同样的环境又要敲一遍,很麻烦,这里可以配置Dockerfile文件,让其自动安装,类似shell脚本Dockerfile编写

    2022年7月31日
    56
  • insert into 语句的四种写法

    insert into 语句的四种写法方式1、INSERTINTOt1(field1,field2)VALUE(v001,v002);明确只插入一条Value方式2、INSERTINTOt1(field1,field2)VALUES(v101,v102),(v201,v202),(v301,v302),(v401,v402);在插入批量数据时方式2优于方式1.方式3.1、…

    2022年7月15日
    15
  • sklearn库主要模块功能简介

    sklearn库主要模块功能简介数据科学系列:sklearn库主要模块功能简介01sklearn简介sklearn,全称scikit-learn,是python中的机器学习库,建立在numpy、scipy、matplotlib等数据科学包的基础之上,涵盖了机器学习中的样例数据、数据预处理、模型验证、特征选择、分类、回归、聚类、降维等几乎所有环节,功能十分强大,目前sklearn版本是0.23。与深度学习库存在pytorch、TensorFlow等多种框架可选不同,sklearn是python中传统机器学习的首选库,不存在其他竞争

    2022年10月18日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号