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的有效强度。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm html注释快捷键_python一键注释

    pycharm html注释快捷键_python一键注释pycharm中同时注释多行代码快捷键:1、选中要注释的代码,然后Ctrl+’/’具体效果:importmatplotlib.pyplotaspltdata_dir=’D:/Python/neuralnetwork/CIFAR10-Guoqingxu/data/’BATCH_SIZE=2image_batch,label_batch=read_cifar10(data_d…

  • 如何申请试用Drone2Map?[通俗易懂]

    如何申请试用Drone2Map?[通俗易懂]介绍如何申请试用Drone2Map。

  • matlab中wavedec2函数,小波滤波器–wavedec2函数[通俗易懂]

    matlab中wavedec2函数,小波滤波器–wavedec2函数[通俗易懂]wavedec2函数:1.功能:实现图像(即二维信号)的多层分解.多层,即多尺度.2.格式:[c,s]=wavedec2(X,N,’wname’)[c,s]=wavedec2(X,N,Lo_D,Hi_D)(我不讨论它)3.参数说明:对图像X用wname小波基函数实现N层分解,这里的小波基函数应该根据实际情况选择,具体办法可以:db1、db2、……db45、haar.输出为c,s.c为各层分…

  • SXSSFWorkbook 转 InputStream「建议收藏」

    SXSSFWorkbook 转 InputStream「建议收藏」publicstaticInputStreamworkbookConvertorStream(SXSSFWorkbookworkbook){InputStreamin=null;try{//临时缓冲区ByteArrayOutputStreamout=newByteArrayOutputStream();…

  • murmurhash2算法python3版本

    murmurhash2算法python3版本在翻译加密代码时遇到这个murmurhash2算法了,网上找了几个现成的加密结果对不上,自己手动对照原加密翻译了一般python3版本的。#-*-coding:utf-8-*-#@Time:2021/8/2614:40#@Note:Pleasedonotusethisprogramforillegaluses.importctypesdefunsigned_right_shitf(num,bit):returnctypes.c

    2022年10月18日
  • 软件稳定性测试_兼容性测试

    软件稳定性测试_兼容性测试1 稳定性测试就测试系统的长期稳定运行能力。在系统运行过程中,对系统施压,观察系统的各种性能指标,以及服务器的指标。2 测试场景:模拟平常的压力,模拟实际中日常的用户数进行操作。数据库要存有一定的数据。3 稳定性测试是概率性的测试,就是说即使稳定性测试通过,也不能保证系统实际运行的时候不出问题。所以要尽可能的提高测试的可靠性。可以通过多次测试,延长测试时间,增大测试压力来提高测试的

发表回复

您的电子邮箱地址不会被公开。

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