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

本文详细介绍了终端认证技术,包括WEP、PSK、802.1x与MAC认证,以及数据加密技术如WEP加密、TKIP和CCMP加密。讨论了无线网络的安全隐患,如未加密数据的易受攻击和非法AP接入。文章还概述了WPA和WPA2安全标准,以及加密工作原理和生成动态密钥的过程。
摘要由CSDN通过智能技术生成

目录

终端认证技术

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(后续讲解)

STA上线流程

Wlan——STA上线流程与802.11MAC帧讲解_静下心来敲木鱼的博客-
CSDN博客

终端认证技术

目前我们使用到的认证主要有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博客](https://blog.csdn.net/m0_49864110/article/details/129600876?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169215304116800226571094%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169215304116800226571094&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-129600876-null-
null.268%5Ev1%5Ekoosearch&utm_term=802.1x&spm=1018.2226.3001.4450
“802.1x认证和MAC认证讲解_静下心来敲木鱼的博客-CSDN博客”)

802.1x无线网络的认证流程

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

MAC 地址认证

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

认证的大致流程

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

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

缺陷

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

Portal认证

Portal 认证(Web认证)

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

[Portal认证讲解_portal web认证_静下心来敲木鱼的博客-
CSDN博客](https://blog.csdn.net/m0_49864110/article/details/129629456?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169215304116800226571094%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169215304116800226571094&biz_id=0&utm_medium=distribute.pc_search_result.none-
task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-4-129629456-null-
null.268%5Ev1%5Ekoosearch&utm_term=802.1x&spm=1018.2226.3001.4450
“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)进行异或得到加密数据

然后将加密数据加上之前随机生成的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. 当终端进行认证时,认证方发送自己产生的随机数给终端(明文)

终端收到此随机数后,自己也产生一个随机数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安全——认证与加密方式(WPA/WPA2)_静下心来敲木鱼的博客-
CSDN博客

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值