Wifi通信协议:WEP,WPA,WPA2,WPA3,WPS

前言

无线安全性是保护互联网安全的重要因素。连接到安全性低的无线网络可能会带来安全风险,包括数据泄露、账号被盗以及恶意软件的安装。因此,利用合适的Wi-Fi安全措施是非常重要的,了解WEP、WPA、WPA2和WPA3等各种无线加密标准的区别也是至关重要的。

WPA(Wi-Fi Protected Access)是用于保护无线网络连接的计算设备内部的安全标准。它由Wi-Fi联盟开发,用来替代原先的无线安全标准WEP(Wired Equivalent Privacy),并在数据加密和用户认证方面表现优越。自1990年代后期以来,Wi-Fi安全类型经历了许多演变和改进。

WEP

WEP是什么

由于无线网络通过电波传输数据,如果不采取安全措施,数据很容易被拦截。WEP(Wired Equivalent Privacy)是无线保护的最初尝试,1997年引入,旨在通过加密数据来增强无线网络的安全性。因为数据是加密的,即使无线数据被拦截,拦截者也无法识别数据,而在认证的网络系统上,可以识别并解密数据。这是因为网络上的设备使用相同的加密算法。

WEP使用16进制64位或128位密钥加密流量。密钥是静态的,所有流量都使用相同的密钥加密。使用WEP密钥,网络上的计算机可以隐藏消息内容,防止入侵者查看,加密的消息可以交换。使用此密钥,可以连接到安全的无线网络。

WEP协议原理

尽管现已被认为是不安全的,但理解WEP的原理有助于认识无线网络安全发展的历程。以下是WEP协议的基本原理:WEP使用对称加密算法RC4对数据进行加密。发送端和接收端使用相同的密钥来加密和解密数据。

初始化向量(IV):WEP引入了24位的初始化向量(IV),用于与密钥结合生成每个数据包的加密密钥。IV与WEP密钥(通常为40位或104位)组合,形成RC4流密码的密钥流。

数据包通信过程

  • 每个数据包在发送之前,首先计算校验和(Integrity Check Value, ICV),然后将数据包和ICV进行RC4加密。加密后的数据包与IV一起发送。
  • 接收端使用接收到的IV和预共享密钥生成相同的RC4密钥流,解密数据包并验证ICV,以确保数据的完整性。

加解密过程

  • 密钥流生成器使用预共享密钥和IV作为输入,生成一个伪随机密钥流。数据与ICV一起,通过RC4密钥流进行按位异或(XOR)运算,生成加密数据包。IV以明文形式附加在加密数据包的前面,发送给接收方。
  • 接收端从接收到的数据包中提取IV。使用提取的IV和预共享密钥生成相同的RC4密钥流。对加密数据进行按位异或运算,恢复原始数据和ICV。计算接收到的数据的ICV,并与解密得到的ICV进行比较。如果匹配,则数据包被认为是完整和有效的。
    在这里插入图片描述

黑客分析

WEP的主要目标之一是防止长期存在的中间人攻击。然而,尽管WEP标准进行了协议修订和密钥长度增加,但时间的推移暴露了其安全缺陷。随着计算能力的提高,网络犯罪分子能够更容易地利用这些缺陷进行漏洞攻击。

由于IV长度只有24位,可能出现重复使用的情况,这使得攻击者可以通过分析多个数据包之间的密钥流差异来破解密钥。

WEP通常使用静态预共享密钥,难以有效管理和更新,增加了密钥泄露的风险。

某些IV组合会导致RC4密钥流的某些字节易于预测,攻击者可以利用这些弱IV来破解密钥。

解决方案

由于WEP的这些安全缺陷,在2004年正式宣布退役WEP。Wi-Fi联盟和IEEE引入了更强的安全协议,包括WPA和WPA2。这些协议使用更强的加密算法(如AES),并引入了动态密钥管理等机制,大大提高了无线网络的安全性。接下来介绍目前最常用的WPA/WPA2协议


WPA

WPA是什么

随后,WPA(Wi-Fi Protected Access)于2003年推出,作为WEP的替代协议。WPA和WEP有相似之处,但改进了安全密钥的处理方式和用户认证方式。WEP向每个系统提供相同的密钥,而WPA使用TKIP(临时密钥完整性协议)动态更改系统使用的密钥,防止入侵者生成并使用加密密钥与安全网络匹配。TKIP加密标准后来被AES(高级加密标准)取代。

此外,WPA具备消息完整性检查功能,可以判断数据包是否被攻击者捕获或篡改。WPA使用的密钥是256位的,比WEP系统使用的64位或128位密钥更强大。尽管有这些改进,WPA的部分元素仍可能被利用,这促使WPA2的出现。

提到WPA,可能听说过“WPA密钥”这个术语。WPA密钥是用于连接无线网络的密码。任何使用网络的人都可以获得WPA密码。无线路由器上常常印有默认的WPA口令或密码。如果不知道路由器的密码,可以重置密码。

四路握手协议(4-Way Handshake)

这是 WiFi 身份认证的一个过程,如果你是hacker没有通过他的身份验证就不能加入他的局域网当中。所以我们就必须了解这个过程:

关键术语
- PSK(Pre-Shared Key, 预共享密钥):PSK 是预共享密钥,是用于验证 L2TP/IPSec 连接的 Unicode 字符串
- TKIP(临时密钥完整性协议):TKIP 是 WPA 的核心组件,用于解决 WEP 的密钥管理问题。TKIP 动态生成加密密钥,并在每个数据包发送前改变密钥。
- Nonce: 一个随机生成的值,只使用一次。
- PTK(Pairwise Transient Key, 成对临时密钥): 最终用于加密单播数据流的加密密钥。
- GTK (Group Temporal Key, 组临时密钥):最终用于加密广播和组播数据流的加密密钥。
- PMK(Pairwise Master Key, 成对主密钥):认证者用来生成组临时密钥(GTK)的密钥,通常是认证者生成的一组随机数。
- GTK(Group Transient Key,组临时密钥):由组主密钥(GMK)通过哈希运算生成,是用来保护广播和组播数据的密钥。
- MIC(message integrity code,消息完整性校验码)。针对一组需要保护的数据计算出的散列值,用来防止数据遭篡改。
- 802.1X 提供了基于端口的网络访问控制,确保只有经过认证的用户才能访问网络。
- EAP 是一个灵活的认证框架,支持多种认证方法(如证书、智能卡、用户名和密码等)。
工作流程
  1. 认证阶段:
    开放系统认证:客户端发送认证请求,接入点(AP)响应认证成功。
    802.1X 认证:客户端和认证服务器通过 EAP 进行相互认证。成功后,认证服务器生成会话密钥,并发送给客户端和 AP。

  2. 密钥交换阶段:用于建立 TKIP 密钥,并确保双方拥有相同的会话密钥。

    • 过程如下:

      1. AP 发送 ANonce(随机数)给客户端。
      2. 客户端生成 SNonce(随机数),并计算 PTK(Pairwise Transient Key),然后发送 SNonce 和 MIC 给 AP。
      3. AP 计算 PTK,并与客户端确认 MIC,发送 GTK(Group Temporal Key)和 MIC 给客户端。
      4. 客户端确认 MIC,并生成 GTK。

    在这里插入图片描述

  3. 数据加密和传输阶段:
    使用 RC4 流加密算法进行数据加密,结合 IV 和 TKIP 生成的密钥,确保每个数据包使用不同的 IV 唯一性。
    每个数据包附带 MIC,以保证数据完整性。

黑客分析

这里要说一下,别看前面的加密很复杂,但是个过程使用工具可以轻松破解,这里我不能教你破解,除非你想害我(想学)(◉3◉)。

WPA-PSK(Pre-Shared Key)破解
  • 暴力破解(Brute Force Attack):如果使用的预共享密钥(PSK)较短或简单,攻击者可以通过暴力破解或字典攻击获取密钥。
  • 捕获四路握手:攻击者可以使用工具(如Aircrack-ng、Wireshark)捕获四路握手包,然后离线进行暴力破解。
中间人攻击(MITM):
  • Evil Twin攻击(邪恶双子):攻击者创建一个伪造的接入点,诱使用户连接,从而截获用户的流量并窃取敏感信息。
  • KARMA攻击(密钥重装攻击):利用设备自动连接到已知网络的特性,创建伪造的网络名称,使得设备自动连接到攻击者的AP。
  • Deauth 攻击:
    Deauthentication Attack Detection(取消身份验证洪水攻击)他是无线网络拒绝服务的攻击一种形式的状态,攻击原理:一个 AP 连接了路由器在正常访问网络,这个时候 Hacker 利用自己电脑或者其他设备进行伪造取消身份认证的报文,路由器就会以为是 AP 发过来的需要和AP断开连接,已经连接的设备会自动断开。(我们在手机里面打开 WiFi 来寻找附近的 WiFi 时,其实不是你的手机在寻找 WiFi 而是路由器在根据 802.1x 帧寻找),一句话概括可以让你断网

后续就可以社工了,执行钓鱼攻击:创建仿冒的Wi-Fi登录页面,诱使用户输入密码。攻击者可以通过Evil Twin攻击或中间人攻击来实现这一点。

WPA2是什么

WPA2是2004年引入的WPA升级版。WPA2利用RSN(强健安全网络),以两种模式运行:

  • 个人模式或预共享密钥(WPA2-PSK) – 使用共享密码进行访问,通常用于家庭网络环境。
  • 企业模式(WPA2-EAP) – 顾名思义,适用于企业组织和商业用途。

这两种模式都使用CCMP(计数器模式密码块链接消息认证代码协议)。CCMP协议基于AES(高级加密标准)算法,具备消息认证和完整性验证功能。CCMP比WPA的TKIP(临时密钥完整性协议)更可靠和强大,使得攻击者更难识别模式。

然而,WPA2也有缺点。例如,它容易受到KRACK(密钥重装攻击)的攻击。KRACK利用WPA2的漏洞,攻击者可以通过伪装成克隆网络,使受害者连接到不安全的网络,从而解密小数据块,并聚合这些块解密加密密钥。然而,通过设备打补丁,WPA2仍被认为比WEP和WPA更安全。

现在大部分使用WPA/WPA2,他们的差异还是不太大的。


防御措施

为了防止上述攻击,以下是一些推荐的防御措施:

强密码:使用长度较长且复杂的预共享密钥(PSK),避免使用容易猜测的密码。禁用WPS:除非绝对必要,否则禁用WPS功能以防止PIN码破解攻击。定期更新固件:确保路由器和客户端设备的固件是最新的,以防止已知漏洞(如KRACK攻击)被利用。使用WPA3:尽快过渡到WPA3,它提供了更强的安全性和保护机制,如SAE和前向保密。网络监控和入侵检测: 使用无线入侵检测系统(WIDS)监控网络中的异常活动,及时发现和响应潜在的攻击。禁用TKIP: 确保网络配置仅使用AES-CCMP,不使用TKIP。

WPA3是什么

WPA3是WPA(Protected Access protocol)系列的第三代。WPA3于2018年由Wi-Fi联盟推出,针对个人和企业用户引入了以下新功能:

  • 数据的个别加密:在登录公共网络时,WPA3使用共享密码之外的过程来进行设备注册。WPA3通过Wi-Fi DPP(Device Provisioning Protocol)系统使用NFC(近场通信)标签或QR码来授权用户设备。此外,WPA3安全性使用GCMP-256加密,而不是以前使用的128位加密。

  • SAE(同等性同时认证)协议:SAE协议用于在网络设备连接到无线接入点时,执行安全握手,即使用户密码较弱,WPA3也通过Wi-Fi DPP实现高安全性的握手。

  • 增强对暴力破解攻击的防护:WPA3通过只允许用户进行一次密码猜测,来防止离线密码猜测。(这玩意黑客防不防的住不知道,输错密码的你小心他把你防了)。这意味着用户必须实际操作连接到Wi-Fi的设备,从而在猜测密码时必须在现场。由于WPA2没有包含公共开放网络的加密或隐私,因此暴力破解攻击是一大威胁。

自2019年起,WPA3设备开始广泛使用,并与使用WPA2协议的设备向后兼容。
了解您使用的Wi-Fi安全类型

了解Wi-Fi的加密类型对网络安全至关重要。与新协议相比,旧协议存在更多漏洞,更容易遭受黑客攻击。由于旧协议在设计后,黑客已完全掌握其攻击方法,而新协议修复了这些漏洞,因此被认为能够提供最佳的Wi-Fi安全性。但是新的技术还是需要时间来普及

Dragonblood攻击:

已知攻击和潜在漏洞,Dragonblood是一个已知的针对WPA3-SAE(Simultaneous Authentication of Equals)的漏洞,发现于2019年。

  • 原理:该攻击利用了WPA3中的侧信道信息泄漏和密码派生函数的缺陷。

  • 具体攻击方法:

    • 侧信道攻击:通过测量设备在处理不同密码时的时间或能量消耗,推测出可能的密码。
    • 字典攻击:利用密码派生函数的弱点,攻击者可以在特定条件下对WPA3-SAE进行离线字典攻击,从而猜测出用户密码。
    • 防范措施:厂商发布了固件更新,修补这些漏洞。确保所有设备都安装了最新的固件和安全补丁。

WPS

Wi-Fi Protected Setup(WPS)是一种简化无线网络安全配置的协议,旨在帮助用户轻松地为无线网络设置安全连接。尽管WPS简化了连接过程,但其设计中存在多个安全漏洞,使其成为攻击目标。

连接方法:PIN码方法,按钮方法,近场通信(NFC),USB方法

由于WPS的安全漏洞,强烈建议禁用WPS功能。大多数无线路由器允许用户在设置界面禁用WPS。不要只为了一时的方便,留下巨大的安全隐患。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/28108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战 | 基于YOLOv10的车辆追踪与测速实战【附源码+步骤详解】

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

【单片机毕业设计选题24008】-基于单片机的寝室系统设计

系统功能: 1. 采用STM32最小系统板控制,将采集到温湿度光照等传感器数据显示在OLED上 2. 通过离线语音模块开关灯,风扇,门。 3. 监测到MQ2烟雾后触发报警。 4. 语音&手动&定时控制窗帘。 5. 按键开启布防模式,布防后…

上位机图像处理和嵌入式模块部署(h750 mcu和usb虚拟串口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于mcu usb而言,大部分情况下,它和上位机之间的关系都是device的关系。一般usb,可以分成host和device。如果mc…

自动化测试git的使用

git是一款分布式的配置管理工具。本文主要讲git如何在自动化测试中安装,上传及拉取下载代码。 1 、git 介绍 每天早上到公司,从公司的git服务器上下载最新的代码,白天在最新的代码基础上,编写新的代码,下班时把“代码…

新能源汽车高压上电、高压下电逻辑分析

高压上电逻辑 新能源汽车的上电分为高压上电和低压上电,高压上电流程一般理解为高压件通电的过程,具体流程如下: 1、点火开关处于ON档时,仪表盘点亮,低压电接通。 2、VCU、BMS、MCU等控制模块依次被唤醒并开始进行自检…

解决JupyteNotebook打不开问题

问题:打开jupyternotebook出现黑色界面,马上闪退 步骤: 1、winr,cmd进入,conda activate yes 进入yes环境(后面是要下载新的jupyter notebook),我这里下载到了yes环境下 2、下载jupyter Note…

<Rust><iced>基于rust使用iced库构建GUI实例:图片的格式转换程序

前言 本专栏是Rust实例应用。 环境配置 平台:windows 软件:vscode 语言:rust 库:iced、iced_aw 概述 本文是专栏第二篇实例,是一个图像格式转换程序,基于rust图像处理库image以及文件处理库rfd。 UI演示&…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] URL拼接(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 URL拼接(100分) 🌍 评测功能需要订阅专栏后私信联系清隆解…

Python中的数据可视化:绘制三维线框图plot_wireframe()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 Python中的数据可视化: 绘制三维线框图 plot_wireframe() [太阳]选择题 在上面的代码中,plot_wireframe() 方法用于绘制什么类型的图形? import matplot…

[Algorithm][贪心][K次取反后最大化的数组和][身高排序][优势洗牌][最长回文串]详细讲解

目录 1.K 次取反后最大化的数组和1.题目链接2.算法原理详解3.代码实现 2.身高排序1.题目链接2.算法原理详解3.代码实现 3.优势洗牌1.题目链接2.算法思路详解3.代码实现 4.最长回文串1.题目链接2.代码实现 1.K 次取反后最大化的数组和 1.题目链接 K 次取反后最大化的数组和 2.…

Java课程设计:基于Javaweb的校园订餐系统

文章目录 一、项目介绍二、项目技术栈三、核心代码四、项目展示五、源码获取 一、项目介绍 在当今互联网高速发展的时代,大学校园内的学生生活正在发生着翻天覆地的变化。其中,校园内的餐饮服务无疑是亟需改革和创新的领域之一。 传统的校园食堂模式,往往存在就餐高峰时段拥挤…

DELL服务器插入新磁盘、创建虚拟磁盘、挂载磁盘步骤

文章目录 一、磁盘清理(可选,针对新硬盘是Foreign状态)1、进入VD Mgmt2、清理新硬盘配置 二、创建虚拟磁盘1、进入Device Settings2、创建虚拟磁盘 三、挂载磁盘到系统1、分区磁盘(注意实际磁盘的名称)2、格式化分区3、…

Java web应用性能分析之【prometheus+Grafana监控springboot服务和服务器监控】

Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 Java web应用性能分析之【java进程问题分析工具】-CSDN博客 Java web应用性能分析之【jvisualvm远程连接云服务器】-CSDN博客 Java web应用性能分析之【java进程问题分析定位】-CSDN博客 Java web应用性能分析之【…

【数学代码】幂

Hello!大家好,我是学霸小羊,今天来讲讲幂。 求几个相同因数的积的运算,叫做乘方,乘方的结果叫做幂。 a^n,读作 “ a的n次方 ” 或 “ a的n次方幂”,a叫做底数,n叫做指数。 对于底数、指数和幂…

Stm32超声波测距实验

一.任务需求 1. 采用stm32F103和HC-SR04超声波模块, 使用标准库或HAL库 定时器中断,完成1或2路的超声波障碍物测距功能。 2. 当前智能汽车上一般配置有12路超声波雷达,这些专用超声波雷达内置了MCU,直接输出数字化的测距结果&am…

【QT Creator软件】解决中文乱码问题

QT Creator软件解决中文乱码问题 问题描述:Qtcreator安装好后打印中文在控制台输出乱码 在网上也查找了修改编辑器的默认编码为UTF-8,但是仍然没有任何作用,于是有了以下的解决方案 原因剖析:因为项目的编码与控制台的编码不一致…

Windows10安装配置Docker客户端和WSL2与Hyper-V虚拟机

一、需求说明 需要在Windows系统中安装配置Docker的客户端,方便直接管理配置docker镜像容器内容。 二、Windows10安装Docker客户端步骤 2.1、下载安装Docker客户端 对于Windows 10以下的用户,推荐使用Docker Toolbox Windows安装文件:http://mirrors.aliyun.com/docker-…

16.大模型分布式训练框架 Microsoft DeepSpeed

微调、预训练显存对比占用 预训练LLaMA2-7B模型需要多少显存? 假设以bf16混合精度预训练 LLaMA2-7B模型,需要近120GB显存。即使A100/H100(80GB)单卡也无法支持。 为何比 QLoRA多了100GB?不妨展开计算下显存占用&…

给类设置serialVersionUID

第一步打开idea设置窗口(setting窗口默认快捷键CtrlAltS) 第二步搜索找到Inspections 第三步勾选主窗口中Java->Serializations issues->下的Serializable class without serialVersionUID’项 ,并点击“OK”确认 第四步鼠标选中要加…

DearLicy主题 | 小众化小清新风格的博客主题源码 | Typecho主题模版

DearLicy主题,一款小众化小清新风格的博客主题 主题支持Typecho所支持的所有版本PHP 简约、小众、优雅 安装教程 1.将主题上传至/usr/themes/文件夹下解压 2.后台进行启用 3.访问前台查看效果 源码下载:https://download.csdn.net/download/m0_6604…