当前位置: 首页 > news >正文

一文带你领略 WPA3-SAE 的 “安全感”

引入

WPA3-SAE也是针对四次握手的协议。

四次握手是 AP (authenticator) 和 (supplicant)进行四次信息交互,生成一个用于加密无线数据的秘钥。

这个过程发生在 WIFI 连接 的 过程。


为了更好的阐述 WPA3-SAE 的作用 和 凸显其优点。我们需要借助 WPA2-psk 来做对比。

先来简单阐述一下 WPA2-psk …

WPA / WPA2 中的四次握手

这是一次连接过程:

WPA认证

其中 四次 eapol key 属于四次握手的过程。
具体过程请参考: Wifi_认证 、关联 和 四次握手(WPA/WPA2)

注意:WPA 系列协议 描述的 不仅仅是 握手过程。

握手过程 采用的算法优点为:

  • 秘钥的生成具有隔离性
    • 不同的 STA 与 同一个 AP 不会生成相同的秘钥
    • 同一个 STA 连接 AP 的不同过程 也不会产生相同的秘钥
  • 预共享WIFI密码 PSK,使得 WIFI 网络有了不错的可控性

优点 可圈可点,但缺点也相对明显。

WPA2-psk 最大的问题就是 不在安全了!!

破解教程层出不穷,安全升级迫在眉睫。


WPA2-psk 的安全性

迫在眉睫:2017年10月,802.11协议中,沿用了 13年的 WPA2 加密协议 被完全破解了。

先理解 WPA2-psk 的简要过程:(四次握手)

WPA2-psk简约版
从这个过程中 我们看出:

  • 预共享 PSK 参与了生成 PTK 的计算
  • PTK 也负责了 对 PSK 的 验证
  • 双方都有随机数的产生,赋予了 PTK的不唯一性。

最终 由 PTK 负责后续 Data 数据的 加密

PTK的保密性 直接决定着 用户数据的安全性

由此可见,窥探者 除了 PSK 和 PTK 不能从空中抓到,其他参与计算的值都能抓到

PMK = SHA-1(ESSID + PSK)
PTK = PRF(PMK + ANonce + SNonce + Mac(AA) + Mac (SA))

SHA-1 和 PRF 这两个函数 是 公开的


攻击者 一旦抓到 4次握手的包,便能离线暴力破解 PSK

之后便可以利用PSK去生成 PTK,进而窥探 用户数据。

WPA2-psk 破解原理

核心:想办法抓到四次握手的包

大致分为一下几个步骤:

  • 明确 破解目标 AP 之后,针对某个已连接的 STA 伪造出一个 Deauthentication 帧扰乱现有 STA 与 目标AP 的连接
  • Deauthentication(取消身份验证帧)会让 目标AP 将当前 STA 从自己的关联表中踢出(也就是断开连接了)
  • AP 主动断开 STA 之后,会给 STA 发一个确认包,STA收到确认包之后 便会进行重连(毕竟不是 STA 自己真的想断开)
  • 触发重连之后,趁机 抓取四次握手的空口包,带回家分析。
  • 然后用字典法暴力破解

由此可见对 WPA2-PSK 的安全性已经支离破碎,对其的改进也是箭在弦上。


WPA3


WPA3-Personal 基于IEEE Std 802.11-2016 中定义的 SAE。

SAE 采用了“互联网工程任务组(IETF)”RFC7664 规范中定义的 “蜻蜓(Dragonfly)” 握手协议,将其应用于 Wi-Fi 网络以进行基于密码的身份验证。

针对 WPA2 的通病,WPA3 在各个场景下 都给出了不错的解决方案。

比如针对 WPA2-psk 的协议 ——WPA3-SAE 做了两点 具有革命性的优化。

  1. 针对暴力破解攻击的防护得到了提升。

    即使用户没有设置较为复杂的密码。

  2. 提供了正向加密,即使攻击者知道了PSK 也无法窥探用户的数据。

WPA3-Personal 的连接交互过程

WPA3-SAE
从上图我们能看出 与 WPA2 最明显的差别就是 认证过程

WPA3-SAE 的认证过程 变得繁琐了,从两帧变成了四帧

SAE 认证过程(Authentication)

WPA3-Personal 基于IEEE Std 802.11-2016 中定义的 SAE。SAE 采用了“互联网工程任务组(IETF)”RFC7664 规范中定义的 “蜻蜓(Dragonfly)” 握手协议,将其应用于 Wi-Fi 网络以进行基于密码的身份验证。

这个认证过程 会校验 PSK 的正确性,也会生成 PMK,供后续握手使用。

Authentication

上图只是WPA3-SAE的认证过程,但似乎这已经完成了信息的校验 和 秘钥关键元素的生成。

站在用户的角度,设备连接这两种协议(WPA2-personal 和 WPA3-SAE)的热点没有任何操作上的区别。

  • 都是要预先得知PSK(也就是AP密码)

那么让我们对比着 WPA2-personal 的“不安全”,来看看 WPA3-SAE 的“安全”。

详细阐述一下上图的过程:

  • 首先 STA 和 AP 都有预留的 PSK,并且兵分两路生成各自的产物。
  • 先通过ECC 对原始 PSK 进行映射。

    这算是第一层保护,如若攻击者不清楚 椭圆函数的参数,便无法进行下一步。

  • STA 生成随机数 rS ;AP 生成随机数 rA 。
  • STA 将 P · rS 传给 AP
  • Ap 将 P · rA 传给 STA

    " · " 这里的运算符不是 “乘法”,是一种特殊的算法,正因如此,WPA3 - SAE 才安全。

    • 这种算法 似乎遵循一定程度的“结合性”,但又不可逆。

      就是说 : P · rS 推不出 rS, 抓到包了也没用。但 P · rS · rA 在三个元素的顺序 不影响整体的结果。(妙啊!!!)

  • 后续就是进行一个 Hash 算法,再进行对比。当然在这个过程中也顺便生成了核心秘钥数据 (PMK)
  • 校验通过之后,双方用各自生成的 PMK 进行 “四次握手” 来生成用来给 Data 数据加密的 秘钥。

上述流程可以完美 “格挡” 传统的破解手法。

今天SAE先聊到这儿,后续有想到的在补充。

That’s all, thank you !!!

相关文章:

一文带你领略 WPA3-SAE 的 “安全感”

引入 WPA3-SAE也是针对四次握手的协议。 四次握手是 AP (authenticator) 和 (supplicant)进行四次信息交互,生成一个用于加密无线数据的秘钥。 这个过程发生在 WIFI 连接 的 过程。 为了更好的阐述 WPA3-SAE 的作用 …...

Python解题 - CSDN周赛第38期

又来拯救公主了。。。本期四道题还是都考过,而且后面两道问哥在以前写的题解里给出了详细的代码(当然是python版),直接复制粘贴就可以过了——尽管这样显得有失公允,考虑到以后还会出现重复的考题,所以现在…...

Android绘制——自定义view之onLayout

简介 在自定义view的时候,其实很简单,只需要知道3步骤: 测量——onMeasure():决定View的大小,关于此请阅读《Android自定义控件之onMeasure》布局——onLayout():决定View在ViewGroup中的位置绘制——onD…...

用Qt画一个温度计

示例1 以下是用Qt绘制一个简单的温度计的示例代码&#xff1a; #include <QPainter> #include <QWidget> #include <QApplication> class Thermometer : public QWidget { public:Thermometer(QWidget *parent 0); protected:void paintEvent(QPaintEvent …...

Java设计模式 04-建造者模式

建造者模式 一、 盖房项目需求 1)需要建房子&#xff1a;这一过程为打桩、砌墙、封顶 2)房子有各种各样的&#xff0c;比如普通房&#xff0c;高楼&#xff0c;别墅&#xff0c;各种房子的过程虽然一样&#xff0c;但是要求不要相同的. 3)请编写程序&#xff0c;完成需求. …...

安语未公告于2023年3月20日发布

因一些特殊原因&#xff0c;凡事都是有开始&#xff0c;高潮和结束三大过程&#xff0c;做出以下决定&#xff1a; 所有对 安语未文章 为之热爱、鞭策、奉献&#xff0c;和支持过的开发者&#xff1a; 注&#xff1a;所有资源以及资料都会正常下载和查看 如需联系&#xff1…...

进销存是什么?如何选择进销存系统?

什么是进销存&#xff1f;进销存软件概念起源于上世纪80年代&#xff0c;由于电算化的普及&#xff0c;计算机管理的推广&#xff0c;不少企业对于仓库货品的进货&#xff0c;存货&#xff0c;出货管理&#xff0c;有了强烈的需求&#xff0c;进销存软件的发展从此开始。 进入…...

基于BP神经网络的图像跟踪,基于BP神经网络的细胞追踪识别

目录 摘要 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络激活函数及公式 基于BP神经网络的细胞识别追踪 matab编程代码 效果 结果分析 展望 摘要 智能驾驶,智能出行是现代社会发展的趋势之一,其中,客量预测对智能出行至关重要,…...

Java面试总结篇

引用介绍 1.线程安全不安全的概念 ​ 线程安全: 指多个线程在执行同一段代码的时候采用加锁机制,使每次的执行结果和单线程执行的结果都是一样的,不存在执行程序时出现意外结果。 ​ 线程不安全: 是指不提供加锁机制保护,有可能出现多个线程先后更改数据造成所得到的数据是脏…...

100天精通Python(可视化篇)——第80天:matplotlib绘制不同种类炫酷柱状图代码实战(簇状、堆积、横向、百分比、3D柱状图)

文章目录0. 专栏导读1. 普通柱状图2. 簇状柱形图3. 堆积柱形图4. 横向柱状图5. 横向双向柱状图6. 百分比堆积柱形图7. 3D柱形图8. 3D堆积柱形图9. 3D百分比堆积柱形图0. 专栏导读 &#x1f3c6;&#x1f3c6;作者介绍&#xff1a;Python领域优质创作者、CSDN/华为云/阿里云/掘金…...

【Java】UDP网络编程

文章目录前言DatagramSocketDatagramPacket注意事项与区别代码演示前言 UDP&#xff08;user datagram protocol&#xff09;的中文叫用户数据报协议&#xff0c;属于传输层。 UDP是面向非连接的协议&#xff0c;它不与对方建立连接&#xff0c;而是直接把我要发的数据报发给对…...

Springboot源代码总结

前言 编写微服务,巩固知识 文章目录 前言springboot原理springboot启动流程SpringBoot自动配置底层源码解析自动配置到底配了什么?自动配置类条件注解Starter机制@ConditionalOnMissingBeanSpringBoot启动过程源码解析构造SpringApplication对象SpringBoot完整的配置优先级s…...

JVM监控搭建

文章目录JVM监控搭建整体架构JolokiaTelegrafInfluxdbGrafanaJVM监控搭建 整体架构 JVM 的各种内存信息&#xff0c;会通过 JMX 接口进行暴露。 Jolokia 组件负责把 JMX 信息翻译成容易读取的 HTTP 请求。Telegraf 组件作为一个通用的监控 agent&#xff0c;和 JVM 进程部署在…...

java中如何优化大量的if...else...

目录 策略模式&#xff08;Strategy Pattern&#xff09; 工厂模式&#xff08;Factory Pattern&#xff09; 映射表&#xff08;Map&#xff09; 数据驱动设计&#xff08;Data-Driven Design&#xff09; 策略模式&#xff08;Strategy Pattern&#xff09; 将每个条件分…...

24. linux系统基础

两个进程间想通讯&#xff0c;必须要通过内核&#xff0c;今天讲的信号其实本质也是讲进程间通讯的意思&#xff0c;那么你为什么可以在shell环境下&#xff0c;可以和一个进程发kill-9啊&#xff1f; shell是不是相当于一个进程&#xff1f;你自己运行的那个进程是不是也相当于…...

【C++】面试101,二叉搜索树的最近公共祖先,在二叉树中找到两个节点的最近公共祖先,序列化二叉树,重建二叉树,输出二叉树的右视图,组队竞赛,删除公共字符

目录 1.二叉搜索树的最近公共祖先 2.在二叉树中找到两个节点的最近公共祖先 3.序列化二叉树 4.重建二叉树 5.输出二叉树的右视图 6.组队竞赛 7.删除公共字符 1.二叉搜索树的最近公共祖先 这是一个简单的问题&#xff0c;因为是二叉搜索树&#xff08;有序&#xff09;&am…...

Java常见面试题及解答

Java常见面试题及解答1 面向对象的三个特征2 this&#xff0c;super关键字3 基础数据类型4 public、protected、default、private5 接口6 抽象类6.1 抽象类和接口的区别7 重载&#xff08;overload&#xff09;、重写&#xff08;override&#xff09;8 final、finalize、final…...

【Docker】镜像的原理定制化镜像

文章目录镜像是什么UnionFS&#xff08;联合文件系统&#xff09;Docker镜像加载原理制作本地镜像 docker commit -m"提交的描述信息" -a"作者" 容器ID 要创建的目标镜像名:[标签名]案例演示ubuntu安装vim本地镜像发布到阿里云本地镜像发布到阿里云流程将本…...

国内版的ChatGPT弯道超车的机会在哪里?

前言 从去年11月最后一天ChatGPT诞生&#xff0c;截至目前&#xff0c;ChatGPT的热度可谓是爆了。众所周知&#xff0c;ChatGPT是美国“开放人工智能研究中心”研发的聊天机器人程序&#xff0c;它是一个人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过学习和理解人…...

【字符串】

string1.char str[]类型fgets(s,10000,stdin) cin.getline(cin,10000) strlen(str)sizeof 求静态数组长度2.string类型getline(cin,a) cin.getline(cin,10000) str.lenth()str.size()cin 遇到空格就停止3.gets 函数char str[20];gets(str);4.puts 函数puts(str) 相当于 cout<…...

AI命理工具实测:主流大模型八字紫微能力对比及避坑指南

1. AI命理新风向&#xff1a;当大模型碰撞传统术数 最近身边刮起了一阵“AI命理”的热潮&#xff1a;做开发的朋友电脑里存着排盘工具包&#xff0c;运营岗的同事午休时在研究紫微斗数星曜含义&#xff0c;就连开策划会的间隙&#xff0c;都有人拿着AI输出的六爻结果讨论项目走…...

2025最权威的降AI率网站实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有的技术方案&#xff0c;其旨在减低文本人工智能生成特征&#xff0c;这就是降AIGC工具。它…...

3分钟搞定100个Excel文件:极速多表格查询工具让数据搜索效率提升30倍

3分钟搞定100个Excel文件&#xff1a;极速多表格查询工具让数据搜索效率提升30倍 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 你是否经历过这样的绝望时刻&#xff1f;当领导要求从20个Excel报表中…...

Monaco-Editor插件使用小坑

无法通过鼠标进行选中文本<div id"monacoEditor" class"monacoEditor"></div>外层添加了splinter拖拽组件&#xff0c;导致mousemove事件被拦截&#xff0c;给monaco-editor添加css&#xff1a;pointer-events&#xff1a;auto.monacoEditor .…...

AI 视频生成美女跳舞测评 | 顶级 Prompt实测版(Grok Imagine、Kling AI 3.0、Veo 3.1)

兄弟们&#xff0c;AI 视频生成已经卷到飞起了&#xff01;之前写小黄文靠grok&#xff0c;现在生成“美女舞蹈”视频也得靠它。 今天上手实测截至今天热门的3款视频生成工具&#xff0c;专攻“美女跳舞”这个高难度场景&#xff1a;动作流畅度、人物一致性、性感画面感、提示…...

Synthelix-Auto-Bot终极指南:10分钟掌握多钱包节点自动化管理

Synthelix-Auto-Bot终极指南&#xff1a;10分钟掌握多钱包节点自动化管理 【免费下载链接】Synthelix-Auto-Bot **Automated tool for managing Synthelix nodes across multiple wallets** 项目地址: https://gitcode.com/gh_mirrors/syn/Synthelix-Auto-Bot Synthelix…...

BilibiliDown:如何高效批量下载B站视频并实现离线收藏管理?

BilibiliDown&#xff1a;如何高效批量下载B站视频并实现离线收藏管理&#xff1f; 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.…...

3步打造B站高效体验:开源客户端的极致优化指南

3步打造B站高效体验&#xff1a;开源客户端的极致优化指南 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端&#xff0c;当然&#xff0c;是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP BiliBili-UWP作为一款开源客户端&#xff0c;专为Wi…...

新手零障碍入门:在免激活的快马平台完成你的第一个Python小游戏

作为一个刚接触编程的新手&#xff0c;我最近在InsCode(快马)平台上完成了人生第一个Python小游戏——猜数字。整个过程比想象中简单得多&#xff0c;特别适合像我这样零基础的小白入门。下面分享我的学习笔记&#xff0c;希望能帮到同样想尝试编程的朋友。 为什么选择猜数字游…...

FreeSWITCH 1.10.10 图形化部署实战 - 麒麟V10 SP3 X86/ARM双架构服务器安装与配置指南

1. FreeSWITCH与麒麟V10 SP3的完美组合 FreeSWITCH作为一款开源的软交换平台&#xff0c;在企业通信、呼叫中心、即时通讯等领域有着广泛应用。而麒麟V10 SP3作为国产操作系统的代表&#xff0c;在信创领域扮演着重要角色。将这两者结合起来&#xff0c;既能满足国产化需求&am…...