WPA3也不安全啦?WPA3-R3 H2E了解一下

一、背景

借用权威大佬的一句话,这一切都是妥协。

WPA2方法被称为Wi-Fi最先进的加密协议从2004年到2018年整整14个年头,但是这期间被各种花样攻击,各种被攻破。终于在2018年联盟推出了WPA3加密协议,协议一推出,各大媒体争相报道,被称为史上最安全的加密协议,一时间风头无二。谁料想,打脸来得很快,一年的时间里就被爆出存在缺陷,攻击方法还被挂在亚马逊网站上公开售卖。

不得已,2020年12月,Wi-Fi联盟推出了被称为WPA3 R3版本,其中提出了Hash to Element(H2E)作为生成PWE的最新方法,接下来让我们看看H2E具体是什么,为何说它要比它的前辈们更安全。

二、离线字典攻击破解WPA2

  我们先来回忆一下WPA2 四次握手的过程:


四次握手是WPA2 是STA和AP双方验证对方是否拥有正确密码并将密码转换成最终用于加密数据的TK的过程,首先是STA这边在收到AP的EAPOL 1后,利用AP发过来的Anoce和自己生成的Snoce加上双方的MAC地址,与PMK生成PTK,PTK是一串384bit的数字,这一串数字按照每128bit为限,分别是KCK,KEK和TK,KCK用于验证MIC值,KEK用于加密MIC值,TK则是双方验证通过后用于数据加密的最终秘钥。同理AP端也经过相似的步骤生成TK。

在相当长的一段时间里,得益于WPA2基于的AES加密原理,WPA2相当的安全。可惜,四次握手过程中除了PMK,其他用于计算PTK的所有参数(Anoce, Snoce, MAC1, MAC2)都是可以通过抓包得到的,并且由password推到PTK的所有数学方程都是公开的,那么我们如果能找到一种方法验证自己猜测的密码是正确的,那么我们就找到了密码。

从整个四次握手的过程来看,除了EAPOL-1以外,剩下的三帧数据都带有一个MIC值,这个MIC值是对数据包的完整性进行校验的,通过KEK加密,然后对端用计算得到的KCK进行校验,那么如果我们能够用一个密码经过一步步计算得到同样的MIC值,是不是就意味着就找到了正确的密码呢?

答案是肯定的,这也就是所谓的离线字典攻击的原理。通过记录整个四次握手,然后不断用字典库中的密码进行计算比对MIC值,直到计算出相同的MIC值,最终得到正确的密码。整个过程如下图所示:

由于大多数人都习惯使用有规律的密码方便记忆,并且随着密码库的不断升级,所以我们的密码被攻破的速度越来越快,而且被攻破的速度远远超过你的想象。

三、WPA3 SAE

为了解决WPA2遭受离线字典攻击的问题,IEEE802.11协议组在2018年推出了WPA3协议用于升级WPA2,其中SAE(Simultaneous authentication of equals)这个原本用于Mesh协议中的对等认证协议最终被确立用来由password产生PMK。SAE的好处是它所基于的数学原理,有不可逆性。让我们先来看看整个WPA3 SAE加密的流程是什么样的

WPA3相比于WPA2,生成PMK的方法发生了改变,需要先通过密码生成PWE,然后经过对等加密后才能生成PMK,接着进行四次握手,那么相比于WPA2生成PMK的方法,为什么WPA3会更安全呢,这一切都是因为非对称加密,椭圆曲线加密方程的数学性质决定的,关于椭圆曲线加密方程,大家可以自行上网百度,这里就不花太多时间了。

这里大家只需要知道一点结论,在椭圆曲线上可以找到两个点,满足P = k*G,我们可以通过k乘以G点,得到P点,但是即使我们知道P点和G点的坐标,但是却不能通过P/G得到k。即椭圆加密曲线满足加法和乘法,但是不满足减法和除法,这也就是我们整个SAE加密的数学理论。

就像我们上图所示的那样,PWE就是曲线上的G点,经过双方协商出来的K就是曲线上的另一个点P,其中u1v1就是的k,由于数学性质,决定u1v1很难被推算出来。这样攻击者只能通过不断的尝试密码,这样被攻破的时间也大大被加长。但是,通过整个流程我们之前在commit message中的v1和u1都是在每次协商的时候随机生成的,所以如果密码出错,再试下一次密码的时候,v1和u1又发生了变化,所以即便再尝试了n次后,好不容易找到了正确的密码,生成的TK和你想破解的用户的TK也会不一样,这样即便你缓存了所有的数据包,也解不出来。能解出来的数据包也只是之后的数据,这样也就保证了之前的数据,也就是所谓的前向保护。

三、Side Channel攻击破解PWE

虽然SAE的整个过程看起来没有什么可以下手的机会,但是百密一疏,把密码映射到椭圆曲线上过程却留下了可乘之机,即找到PWE点的过程是不够安全的。

我们先来看下把密码映射到椭圆曲线上的方法是怎么做的:

最初的WPA3方法寻找PWE的方法是通过不断进行hash(password || MAC1 || MAC2)来寻找PWE, 但是为了迷惑攻击者,需要固定进行40次,就是说如果PWE的x坐标在40次中提前被找到了,也会先被存起来,然后生成了一个随机值,然后用这个随机值替代password进行剩下的hash运算。

这个过程,就会发现用密码和随机值进行hash运算的时间会不同,这样就留给了黑客通过计算两者的时间差来寻找密码的过程。所以这也就是IETF组织一直没有用SAE作为任何正式的加密协议的原因。但是通过时间差来计算密码,这种事想想还是很难的,至少我到现在也没弄清楚这是个怎样的操作。所以,WPA3协议的制定者尽管在协议制定之初就收到了警告,但他也认为这是种只存在于理论上的攻击方式,依旧按照原方案进行了协议的制定。

所以这也就出现了协议被推出了一年后被打脸的情况。于是,H2E应运而生。

四、H2E

H2E是Hash to Element的缩写,即采用直接进行hash的方法找到PWE。虽然依然是在椭圆曲线上,但是椭圆曲线需要满足特定的条件,这个特定的方程被叫做SSWU

由于hash运算只进行一次,所以通过时间差进行攻击的路也被堵上了,目前看总算安全了。

五、总结

综合来看,我们的密码演变从WPA2开始到WPA3 R3,发生了不少变化:

WPA2: Password -> PMK -> PTK

WPA3 v1: Password -> PWE -> PMK -> PTK

WPA3 r3: Password -> PT -> PWE -> PMK -> PTK

虽然目前看,加密方法总算安全了,但是密码学从来都不是一个一成不变的学科,如果有一天新的攻击方法出现,那么我们的加密方法就又不得不升级了。

WPA3也不安全啦?WPA3-R3 H2E了解一下相关推荐

  1. WPA3也不安全啦?H2E了解一下

    一.背景 借用权威大佬的一句话,这一切都是妥协. WPA2方法被称为Wi-Fi最先进的加密协议从2004年到2018年整整14个年头,但是这期间被各种花样攻击,各种被攻破.终于在2018年联盟推出了W ...

  2. 【Hostapd support for WPA3 R3 Wi-Fi Security】

    概述 WiFi 联盟将从 2022 年 1 月开始强制要求 WPA3 R3 进行认证. 现有的 wpa_supplicant v2.9 和 hostapd v2.9 及以下版本不支持 WPA3-R3. ...

  3. 企业业务的 WPA3 安全性为啥如此重要?

    安全的无线连接是当今大多数业务连续性的重要要求,特别是对于企业和中小型企业而言,Wi-Fi 安全性至关重要,但也具有挑战性.过去使用Wi-Fi Protected Access II (WPA2)保护 ...

  4. WPA3 vs WPA2

    1. 背景 2017年10月份,有安全研究者公布了WPA2协议的一个弱点,会遭受到KRACK( Key Reinstallation AttaCK)攻击:攻击者可以获取STA和AP之间传输的数据,许多 ...

  5. WPA3 vs WPA2(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/leesphone/article/de ...

  6. 刚发现的 Wi-Fi 安全漏洞,可能危及全球所有设备!

    作者 | Carol 出品 | CSDN(ID:CSDNnews) 近日,纽约大学阿布扎比分校的安全研究员 Mathy Vanhoef (马蒂·范霍夫)发现了一组可能会影响到数百万设备的 Wi-Fi漏 ...

  7. 这个Wi-Fi安全漏洞偷跑了24年,可能危及全球所有设备!

    作者 | Carol 出品 | CSDN(ID:CSDNnews) 近日,纽约大学阿布扎比分校的安全研究员 Mathy Vanhoef (马蒂·范霍夫)发现了一组可能会影响到数百万设备的 Wi-Fi漏 ...

  8. 学一点Wi-Fi:WPA3 BP/OCV/SCV/PK/H2E/TD

    WFA在2020年底发布了WPA3标准的第三版,其中又提出了一些新的feature.这里结合之前的版本简单总结一下. 1. BP BP是Beacon Protection的缩写. 问:Beacon中的 ...

  9. 【QCM2150】WCN3680 WPA3 R3 4.2.3.17测试失败及问题解决方案

    **[现象]:**hostapd启动失败: 10-18 12:40:56.155 4018 4018 E hostapd : debug, set loglevel 10-18 12:40:56.17 ...

最新文章

  1. php实现项目的日志记录功能,tp5框架使用composer实现日志记录功能示例
  2. 简单快速的开发WEB应用, PHP 框架 Lemon 介绍
  3. git如何忽略已经提交的文件 (.gitignore文件无效)
  4. 一些计算机知识的总结(转)
  5. Python运维开发基础01-语法基础【转】
  6. 通过OWA修改密码,提示您输入的密码不符合最低安全要求
  7. 【bzoj4592】[Shoi2015]脑洞治疗仪
  8. 用jsp实现右导航窗格_手机导航如何投放到汽车中控屏?建议用这2种办法,轻松实现同屏...
  9. 基于深度学习的农作物病害检测
  10. JAVA大数——lightoj1024
  11. read.table--R语言
  12. C语言循环语句的用法——while循环
  13. 咖啡的合适温度(前缀和以及加减标记)
  14. mysql 经典错误解决方案 :Incorrect string value ‘xE6x95x85xE4xBAx8B...‘ for column
  15. 计算机蓝屏用故障卡,电脑蓝屏后一直卡在正在启动界面怎么处理
  16. Hadoop高可用安装
  17. 海绵城市工程_海绵城市工程案例详解—雨水调蓄池
  18. 计算机基础教程 试题,《计算机基础教程》考试试题及答案
  19. centos 关于“Error: Failed to download metadata for repo ‘appstream‘” 问题
  20. Baumer工业相机堡盟相机如何使用CameraExplorer软件查看相机图像相关参数如Binning像素合并、ROI图像剪切、PixelFormat像素格式功能等

热门文章

  1. oracle系统试算平衡表,oracle数据库中常用的系统表
  2. 工兵扛军旗游戏新玩法
  3. 利用AnyLogic软件搭建多智能体模型验证Lanchester方程线性律和平方律
  4. win11下30系列显卡配置anaconda虚拟环境cuda,cudnn,pytorch
  5. 一个可以免费下载表情包的小程序
  6. 2022年美赛D题思路分享+翻译
  7. 怎样判断路由器的好坏和选择路由器?
  8. canel-1.1.5 canal.deployer安装
  9. 显示隐藏Html元素(div等)
  10. 数字化改革是逼不得已,最后却帮我提高了20%生产效率