目录
终端认证技术
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个认证报文进行交互
认证请求、明文质询消息、密文质询消息、认证结果
报文交互过程
- STA发送认证请求
- AP收到后,生成明文质询信息,发送给STA;明文质询信息可以看成是随机数
- STA对明文质询进行加密发给AP(加密方式是采用无线用户本身设置的静态WEP密钥去做加密)
- AP同样也对明文质询进行加密(加密使用的是AP上已经设置好的静态WEP的密钥);将加密结果与STA发来的结果做对比,然后返回认证结果
缺陷
可以通过空口抓包抓到AP生成的随机数和STA加密后的密文,然后就可以推导出密钥;不是很安全
WEP加解密过程
WEP的加解密过程
Wep加密
ICV:CRC-32对明文数据进行校验得到的校验值
- 通过静态的WEP密钥再加IV(初始化向量)通过RC4流加密算法扩展成与明文的数据(包含数据与CRC-32对ICV)等长的密钥流
- 将此密钥流与(明文数据+ICV)进行异或得到加密数据
- 然后将加密数据加上之前随机生成的IV一起发送给认证端(为什么发送出去的加密数据要加上IV字段?防止相同数据加密后出现相同的密文,防止静态密钥被破解;还携带使用的key id信息)
Wep解密--具体终端和AP使用哪个密钥进行加密,通过终端发来的IV中Key ID字段决定
- 到达AP之后,IV是明文,AP将先将IV提取出来,将前3个字节与自身配置的静态密钥去做RC4算法形成密钥流
- 然后将加密的数据与自身形成的密钥流再做异或,还原出加密数据,此时还原出来的数据包含(明文数据+ICV)
- 此时AP对明文数据进行CRC-32循环校验再算出一个ICV,然后将两个进行对比;数据一致的话就说明数据没有被更改过,是完整的
WEP加解密的异或过程
异或:相加为1则为1,为非1则为0
加密:将数据(二进制表示)与密钥流(二进制表示)相加进行异或,得到加密数据
解密:将加密的数据与自身形成的密钥流相加,进行异或,得到数据
PSK认证以及生成动态密钥的工作原理
PSK认证阶段--对用户认证并生成加密密钥,用于CCMP/TKIP加密(不讲解TKIP和CCMP如何加密)
4个认证报文
报文交互流程
Anonce就是AP(认证端)产生的随机数
Snonce 就是终端(请求者)产生的随机数
- 当终端进行认证时,认证方发送自己产生的随机数给终端(明文)
- 终端收到此随机数后,自己也产生一个随机数Snonce;根据Snonce等材料生成了PMK和PTK(包含KCK、KEK、TK)密钥;然后发送自身产生的Snonce和通过KCK对报文做了完整性校验的MIC值
- AP收到Snonce后也根据自身的材料生成PMK,PTK(包含KCK、KEK、TK),然后利用KCK把终端发送过来的报文进行完整性校验,将结果与收到的MIC进行对比;如果MIC一致,就说明PMK一致的,就可以得出配置的WPA/WPA2认证密钥也是一样的;通过MIC值就可以验证密钥是否一致;认证通过后,认证方就回复终端,让终端安装PTK到网卡上,并发送加密的GTK密钥和对报文的完整性校验值(GTK的加密是使用PTK里面的KEK做加密的)
- 终端收到后也会对报文完整性校验,然后与收到的MIC做对比,如果一样则说明PMK一致,然后就会把PTK安装到网卡中,给认证方回应确认报文
- 后面的数据交互就是用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博客