Wlan安全——认证与加密方式(WPA/WPA2)

目录

终端认证技术

WEP认证

PSK认证

802.1x认证与MAC认证

Portal认证

数据加密技术

WEP加密

TKIP加密

CCMP加密

TKIP和CCMP生成密钥所需要的密钥信息

802.11安全标准

WEP共享密钥认证、加密工作原理

WEP共享密钥认证

WEP加解密过程

PSK认证以及生成动态密钥的工作原理

802.1x认证以及生成动态密钥的工作原理


无线网络存在的安全隐患

数据没有加密

无线数据是在空气中传播,任何个人都可以通过空口抓包网卡截获到数据,导致信息泄露

没有接入认证

所有终端都可以连接到无线信号,然后去访问有线网络,进行攻击

非法AP接入

STA连接到非法AP,数据被窃取

可以通过WIDS、WIPS来反制AP(后续讲解)

终端认证技术

目前我们使用到的认证主要有WEP认证、PSK认证、802.1x认证与MAC认证、Portal认证

WEP认证

WEP认证可以分为开放系统认证和共享密钥认证

WEP 开放系统认证(Open System Authentication)

不对站点身份进行认证的认证方式;没有做认证

通过2个认证报文进行交互(认证请求、认证应答)

适用于开放性场景,对安全性要求不高

WEP 共享密钥认证(Shared Key Autheentication)

通过判断对方是否掌握相同的密钥来确定对方的身份是否合法

具体的认证过程在此文章的Wlan安全标准讲解

PSK认证

PSK认证(Pre-shared key)

PSK主要是个人用户进行认证

要求在STA侧预先配置Key,AP通过4次握手Key协商协议来验证STA侧Key的合法性

具体的认证流程在此文章的Wlan安全标准有讲解(此认证会生成动态加密密钥)

PPSK中小型企业认证(每个用户一个密码)  配置的密钥有数量限制

每个终端一个密钥,在AP设备上提前去生成一些密钥,然后把密钥告诉终端,终端连接上无线信号的时候就会把MAC地址这些域密钥做绑定

一个密钥与MAC地址绑定之后,其余人就无法使用了

802.1x认证与MAC认证

802.1x认证(需要认证服务器-大型网络)

相对来说是比较安全的,通过用户名+密码的方式进行认证

支持802.3有线网络和802.1x无线网络

802.1x有线网络的认证流程

802.1x认证和MAC认证讲解_静下心来敲木鱼的博客-CSDN博客

802.1x无线网络的认证流程

在此文章的Wlan安全标准讲解(此认证会生成动态加密密钥)

MAC地址认证

通过Radius服务器进行MAC地址认证(在Radius服务器添加终端的MAC)

认证的大致流程

当MAC接入认证发现当前接入的客户端为未知客户端,会主动向Radius服务器发送认证请求

在Radius服务器完成对该用户的认证后,认证通过的用户可以访问无线网络

缺陷

当终端数量较多时,配置繁琐;由于终端的MAC也是可以更改的,所以存在一些安全隐患

Portal认证

Portal认证(Web认证)

采用浏览器输入域名重定向到Portal界面进行用户认证

Portal认证讲解_portal web认证_静下心来敲木鱼的博客-CSDN博客


数据加密技术

主要有无线终端使用的加密技术主要有WEB加密、TKIP加密、CCMP加密

WEP加密

WEP是无线等效保密技术的简称,对在两台设备间传输的无线数据做加密,并提供认证

WEP认证在上述已经讲解,现在主要做WEB加密的讲解

WEP加密技术--无线领域第一个安全协议

使用RC4流加密技术保证数据的机密性

使用CRC-32保证数据的完整性(循环冗余校验去校验数据的完整性)

采用静态密钥进行加密,如果被其它用户破解了,就可以使用此密钥破解数据

Wep的密钥的组成

Wep密钥由IV的前24bit和40/104位的静态密钥组成

IV一共4字节

IV前3个字节也就是24bit作为初始化向量,是随机生成的,IV越长越安全

后2bit的Key ID用来表示使用的是哪个密钥(因为在设置Wep静态密钥时,我们可以设置4个静态密钥,但是使用时只可以使用一个,使用哪个密钥就可以通过Key ID来区分)

静态wep密钥

WEP加密方式的静态密钥有40bit或者104bit,这个静态密钥就是我们自己设置的密钥

通过不同的单位表示:16进制就是10/26位,Ascii就是5/13位

具体的加解密过程在此文章的Wlan安全标准讲解(此认证会生成动态加密密钥)

TKIP加密

TKIP加密技术--是WAP标准中的加密算法(WPA由WiFi联盟定义)

 WEP的升级版,采用动态密钥,对于每个数据帧都生成一个密钥去加密

 也是使用RC4来保证数据的机密性;不过密钥由WEP的104位增加到128位,加密IV的长度由24位增加到了48位

 采用MIC来保证数据的完整性,比CRC32更可靠

具体如何加密和校验不做讲解,只讲解如何生成动态密钥,在此文章的Wlan安全标准讲解

CCMP加密

CCMP加密技术--WPA2标准

 WPA2是Wifi联盟定义出来的WPA的第二个版本

 CCMP称为计数器模式密码块链消息完整码协议

 也是动态生成密钥,采用AES的加密算法进行加密,通过CCM实现数据完整性校验

具体如何加密和校验不做讲解,只讲解如何生成动态密钥,在此文章的Wlan安全标准讲解

TKIP和CCMP生成密钥所需要的密钥信息

TKIP/CCMP生成密钥所需要使用到的密钥

PMK      成对主密钥,用于生成PTK的材料,不用于实际的数据加解密

PTK       成对临时密钥,实际的密钥,用于加解密数据

PTK又包含三个部分

       KCK        对EAPOL-KEY消息进行完整性校验产生MIC值

       KEK        EAPOL-KEY消息的加密密钥

       TK          普通数据的加密密钥

MIC KEY 用于后续数据报文的完整性校验(TKIP的PTK会多成一个密钥,用于对后续报文的完整性校验;CCMP不包含)

GMK       为组主密钥,用于生成GTK,而GTK主要用于组播和广播的加密

PTK用于单播报文的加密

PMK/PTK密钥的生成方式(目前主要有802.1x和PSK两种方式)

如果是802.1x认证之后进行数据加密,则是PMK是由MSK组会话密钥产生

       认证成功之后会在认证成功报文里面会携带MSK,然后生成PMK、PTK密钥

       然后通过交互EAPOL-KEY报文文成无线加密密钥的配置

通过PTK生成加密密钥进行报文的数据加密

如果是PSK认证之后进行数据加密,PMK就不是MSK组会话密钥产生的(具体交互过程在WPA安全标准讲解)

PMK/PTK生成所需的材料(WAP/WAP2密钥为PSK的认证密钥)

由SSID和我们配置的密钥去做哈希产生PMK的,然后通过PMK和STA的MAC等信息hash生成PTK

然后通过交互EAPOL-KEY报文交互完成无线加密密钥的配置

通过PTK生成加密密钥进行报文的数据加密


802.11安全标准

无线的安全标准主要由三个

WEP标准(传统标准)

WPA标准

WAP2标准(也可以称为RSN)

其中WEP标准只支持WEP方式的认证和加密

WAP标准支持PSK和802.1x的认证,但是只支持TKIP的加密方式,

WPA2支持PSK和802.1x的认证,支持CCMP(AES)、TKIP两种加密方式

WEP共享密钥认证、加密工作原理

WEP共享密钥认证

通过4个认证报文进行交互

       认证请求、明文质询消息、密文质询消息、认证结果

报文交互过程

  1. STA发送认证请求
  2. AP收到后,生成明文质询信息,发送给STA;明文质询信息可以看成是随机数
  3. STA对明文质询进行加密发给AP(加密方式是采用无线用户本身设置的静态WEP密钥去做加密)
  4. AP同样也对明文质询进行加密(加密使用的是AP上已经设置好的静态WEP的密钥);将加密结果与STA发来的结果做对比,然后返回认证结果

缺陷

可以通过空口抓包抓到AP生成的随机数和STA加密后的密文,然后就可以推导出密钥;不是很安全

WEP加解密过程

WEP的加解密过程

Wep加密

ICV:CRC-32对明文数据进行校验得到的校验值

  1. 通过静态的WEP密钥再加IV(初始化向量)通过RC4流加密算法扩展成与明文的数据(包含数据与CRC-32对ICV)等长的密钥流
  2. 将此密钥流与(明文数据+ICV)进行异或得到加密数据
  3. 然后将加密数据加上之前随机生成的IV一起发送给认证端(为什么发送出去的加密数据要加上IV字段?防止相同数据加密后出现相同的密文,防止静态密钥被破解;还携带使用的key id信息)

Wep解密--具体终端和AP使用哪个密钥进行加密,通过终端发来的IV中Key ID字段决定

  1. 到达AP之后,IV是明文,AP将先将IV提取出来,将前3个字节与自身配置的静态密钥去做RC4算法形成密钥流
  2. 然后将加密的数据与自身形成的密钥流再做异或,还原出加密数据,此时还原出来的数据包含(明文数据+ICV)
  3. 此时AP对明文数据进行CRC-32循环校验再算出一个ICV,然后将两个进行对比;数据一致的话就说明数据没有被更改过,是完整的

WEP加解密的异或过程

异或:相加为1则为1,为非1则为0

加密:将数据(二进制表示)与密钥流(二进制表示)相加进行异或,得到加密数据

解密:将加密的数据与自身形成的密钥流相加,进行异或,得到数据

PSK认证以及生成动态密钥的工作原理

PSK认证阶段--对用户认证并生成加密密钥,用于CCMP/TKIP加密(不讲解TKIP和CCMP如何加密)

4个认证报文

报文交互流程

Anonce就是AP(认证端)产生的随机数

Snonce 就是终端(请求者)产生的随机数

  1. 当终端进行认证时,认证方发送自己产生的随机数给终端(明文)
  2. 终端收到此随机数后,自己也产生一个随机数Snonce;根据Snonce等材料生成了PMK和PTK(包含KCK、KEK、TK)密钥;然后发送自身产生的Snonce和通过KCK对报文做了完整性校验的MIC值
  3. AP收到Snonce后也根据自身的材料生成PMK,PTK(包含KCK、KEK、TK),然后利用KCK把终端发送过来的报文进行完整性校验,将结果与收到的MIC进行对比;如果MIC一致,就说明PMK一致的,就可以得出配置的WPA/WPA2认证密钥也是一样的;通过MIC值就可以验证密钥是否一致认证通过后,认证方就回复终端,让终端安装PTK到网卡上,并发送加密的GTK密钥和对报文的完整性校验值(GTK的加密是使用PTK里面的KEK做加密的)
  4. 终端收到后也会对报文完整性校验,然后与收到的MIC做对比,如果一样则说明PMK一致,然后就会把PTK安装到网卡中,给认证方回应确认报文
  5. 后面的数据交互就是用PTK里面的TK做加密

注意事项

认证1/4握手失败:有可能是认证的密码错误,有可能是空口丢包错误

认证3/4握手失败:基本上就是空口丢包了

TKIP/CCMP加密和完整性校验(具体如何加密和校验不做讲解)

加密的密钥

TKIP和CCMP都通过PTK的密钥解决自身的算法进行加密

完整性校验算法

对于TKIP来说,生成PTK是还会生成MIC KEY,用户后续用户数据的完整性校验

对于CCMP来说,后续用户完整性校验通过CCM来完成

802.1x认证以及生成动态密钥的工作原理

Wlan——STA接入无线网络的流程以及STA如何通过802.1x接入网络_静下心来敲木鱼的博客-CSDN博客

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

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

相关文章

NLP文本匹配任务Text Matching [无监督训练]:SimCSE、ESimCSE、DiffCSE 项目实践

NLP文本匹配任务Text Matching [无监督训练]:SimCSE、ESimCSE、DiffCSE 项目实践 文本匹配多用于计算两个文本之间的相似度,该示例会基于 ESimCSE 实现一个无监督的文本匹配模型的训练流程。文本匹配多用于计算两段「自然文本」之间的「相似度」。 例如…

基于docker实现主从复制

1:实现主从复制这个过程我是趟过坑的,后面是自己动手搞了几遍都成功了以后才开始决定记录的,(所以有的截图和上下文对不上的,比如说docker容器的名字对应不上,大家就用自己的就好),打…

LeetCode 141.环形链表

文章目录 💡题目分析💡解题思路🔔接口源码💡深度思考❓思考1❓思考2 题目链接👉 LeetCode 141.环形链表👈 💡题目分析 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中…

antd5源码调试环境启动(MacOS)

将源码下载至本地 这里antd5 版本是5.8.3 $ git clone gitgithub.com:ant-design/ant-design.git $ cd ant-design $ npm install $ npm start前提:安装python3、node版本18.14.0(这是本人当前下载的版本) python3安装教程可参考:https://…

激光雷达 01 线数

一、线数 对于 360 旋转式和一维转镜式架构的激光雷达来说,有几组激光收发模块,垂直方向上就有几条线,被称为线数。这种情况下,线数就等同于激光雷达内部激光器的数量[参考]。 通俗来讲,线数越高,激光器的…

Linux学习之iptables的nat表

iptables -t nat 命令 规则链 规则是格式命令。 PREROUTING一般用于内网,用于目的地址转换。 POSTROUTING一般用于外网,用于源地址转换。 iptables -t nat -A PREROUTING -i eth0 -d 114.115.116.117 -p tcp --dport 80 -j DNAT --to-destination 10.0.0…

编程语言学习笔记-架构师和工程师的区别,PHP架构师之路

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结

目录 1、国产化系统概述 1.1、国产化操作系统与国产化CPU 1.2、国产化服务器操作系统 1.3、当前国产化系统的主流配置 2、视频解码花屏与卡顿问题 2.1、视频解码花屏 2.2、视频解码卡顿 2.3、关于I帧和P帧的说明 3、国产显卡处理速度慢导致图像卡顿问题 3.1、视频延…

SpringMVC-1-解密Spring MVC:构建优雅、灵活的Web应用的秘诀

今日目标 能够编写SpringMVC入门案例 了解SpringMVC原理 1. SpringMVC介绍 1.1 SpringMVC概述 思考:SpringMVC框架有什么优点? SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 优点 使用简单,开发便捷(相比于Servlet) 天…

机器学习算法之-逻辑回归(1)

什么是回归 回归树,随机森林的回归,无一例外他们都是区别于分类算法们,用来处理和预测连续型标签的算法。然而逻辑回归,是一种名为“回归”的线性分类器,其本质是由线性回归变化而来的,一种广泛使用于分类问…

56.linux 进程管理命令和用户管理命令

目录 一、进程管理命令 1.ps 2.pstree 3.kill 4.pkill 5.&后台运行程序 6.jobs 7.fg bg 8.top 二、用户管理命令 1.系统存储用户信息的文件 2.添加新用户 3.修改用户密码 4.删除用户 一、进程管理命令 1.ps 用于查看当前系统中运行的进程信息。它可以…

怎么开通Tik Tok海外娱乐公会呢?

TikTok作为全球知名的社交媒体平台,吸引了数亿用户的关注和参与。许多公司和个人渴望通过开通TikTok直播公会进入这一领域,以展示自己的创造力和吸引更多粉丝。然而,成为TikTok直播公会并非易事,需要满足一定的门槛和申请找cmxyci…