目录
终端认证技术
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 开放系统认证(Open System Authentication)
不对站点身份进行认证的认证方式;没有做认证
通过2个认证报文进行交互(认证请求、认证应答)
适用于开放性场景,对安全性要求不高
WEP 共享密钥认证(Shared Key Autheentication)
通过判断对方是否掌握相同的密钥来确定对方的身份是否合法
具体的认证过程在此文章的Wlan安全标准讲解
PSK认证(Pre-shared key)
PSK主要是个人用户进行认证
要求在STA侧预先配置Key,AP通过4次握手Key协商协议来验证STA侧Key的合法性
具体的认证流程在此文章的Wlan安全标准有讲解(此认证会生成动态加密密钥)
PPSK中小型企业认证(每个用户一个密码) 配置的密钥有数量限制
每个终端一个密钥,在AP设备上提前去生成一些密钥,然后把密钥告诉终端,终端连接上无线信号的时候就会把MAC地址这些域密钥做绑定
一个密钥与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认证(Web认证)
采用浏览器输入域名重定向到Portal界面进行用户认证
Portal认证讲解_portal web认证_静下心来敲木鱼的博客-CSDN博客
主要有无线终端使用的加密技术主要有WEB加密、TKIP加密、CCMP加密
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加密技术--是WAP标准中的加密算法(WPA由WiFi联盟定义)
WEP的升级版,采用动态密钥,对于每个数据帧都生成一个密钥去加密
也是使用RC4来保证数据的机密性;不过密钥由WEP的104位增加到128位,加密IV的长度由24位增加到了48位
采用MIC来保证数据的完整性,比CRC32更可靠
具体如何加密和校验不做讲解,只讲解如何生成动态密钥,在此文章的Wlan安全标准讲解
CCMP加密技术--WPA2标准
WPA2是Wifi联盟定义出来的WPA的第二个版本
CCMP称为计数器模式密码块链消息完整码协议
也是动态生成密钥,采用AES的加密算法进行加密,通过CCM实现数据完整性校验
具体如何加密和校验不做讲解,只讲解如何生成动态密钥,在此文章的Wlan安全标准讲解
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生成加密密钥进行报文的数据加密
无线的安全标准主要由三个
WEP标准(传统标准)
WPA标准
WAP2标准(也可以称为RSN)
其中WEP标准只支持WEP方式的认证和加密
WAP标准支持PSK和802.1x的认证,但是只支持TKIP的加密方式,
WPA2支持PSK和802.1x的认证,支持CCMP(AES)、TKIP两种加密方式
通过4个认证报文进行交互
认证请求、明文质询消息、密文质询消息、认证结果
报文交互过程
- STA发送认证请求
- AP收到后,生成明文质询信息,发送给STA;明文质询信息可以看成是随机数
- STA对明文质询进行加密发给AP(加密方式是采用无线用户本身设置的静态WEP密钥去做加密)
- AP同样也对明文质询进行加密(加密使用的是AP上已经设置好的静态WEP的密钥);将加密结果与STA发来的结果做对比,然后返回认证结果
缺陷
可以通过空口抓包抓到AP生成的随机数和STA加密后的密文,然后就可以推导出密钥;不是很安全
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认证阶段--对用户认证并生成加密密钥,用于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来完成
Wlan安全——认证与加密方式(WPA/WPA2)_静下心来敲木鱼的博客-CSDN博客