Wlan——STA接入无线网络的流程以及STA如何通过802.1x接入网络

目录

STA接入网络的流程

STA通过802.1x接入网络的流程

无线关联

用户接入认证

认证初始化

建立TLS通道

 通道内对无线用户进行认证

生成加密密钥

STA获取地址

无线用户认证下线和解关联


STA接入网络的流程

STA接入网络的流程主要有

1、STA关联无线信号(扫描、链路认证、关联)

2、对STA进行接入认证(WPA/WPA2-PSK、WPA/WPA2-802.1x、WEP认证)

3、通过加密算法对后续的数据报文进行加密(WEP、TKIP、CCMP算法)

4、STA通过DHCP获取地址,进行上网

5、STA进行认证下线

6、STA解除信号关联

STA通过802.1x接入网络的流程

802.1x理论以及802.1x有线接入流程

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

Wlan认证与加密算法

Wlan安全——认证与加密方式(WPA和WPA2)_静下心来敲木鱼的博客-CSDN博客

802.1X认证过程  通过(PEAP-EAP-MS-CHAPv2认证方式进行认证)

1、STA关联无线信号

2、对STA进行PEAP认证

主要分为三个阶段:认证初始化、建立TLS通道、通道内对无线用户进行认证

3、生产数据加密的密钥

生成密钥的材料是由802.1x认证之后的Radius认证成功的那个报文中提取出来的

4、STA就可以获取地址,进行网络访问

数据通过动态密钥密钥结合TKIP/CCMP加密算法进行加密和完整性校验

5、用户进行认证下线

6、无线解关联

PEAP简述

PEAP本身不指定认证方法,仅仅只是在请求方和认证服务器之间建立TLS加密通道

在此TLS隧道中使用EAP的其它认证方法(EAP-MS-CHAPv2)对用户进行认证

CHAPv2为双向认证,CHAP为单向认证

不过,此方式需要认证服务器申请数字证书作为自己的身份校验凭证,请求方安装CA根证书来校验服务器身份的合法性

无线关联

无线关联主要分为三个部分

扫描:分为主动扫描和被动被动扫描(针对于STA而言)

链路认证:有不认证和WEP认证;此处的认证一定会通过,只是证明自身是个无线设备)

关联:终端和AP协商参数,发送连接请求,进入接入认证

用户接入认证

认证初始化

认证客户端为STA,接入设备为AC,认证服务器为Radius服务器

  1. 客户端发送认证接入请求
  2. 接入设备要求用户提供用户名(封装在EPOL-Packet中)
  3. 客户端发送用户名给接入设备(封装在EPOL-Packet中)
  4. 接入设备将此报文封装在Radius报文中发送给认证服务器

认证服务器收到用户名之后,接下来服务器就会发起TLS通道建立请求

建立TLS通道

  1. 服务器决定使用PEAP进行用户的接入认证,发起建立TLS通道隧道的请求(接入交换机将Radius报文解封装,然后封装EPOL发送给用户)
  2. 用户收到之后,会发送一个Client hello报文;包含自己的TLS版本、以及自身支持的加密集,去协商使用哪一种加密算法加密TLS隧道,还会携带随机数(用于后面生成加密隧道的密钥)(接入交换机将EPOL报文解封装,然后封装Radius发送给服务器)
  3. Radius服务器会选择双方能够支持的最好的加密算法进行隧道加密;然后检查TLS版本是否支持并生成随机数(TLS版本不支持会认证失败);然后发送一个Server hello报文,包含自己的TLS版本的服务器证书、随机数、选择的加密算法发给用户(用户通过证书校验服务器)
  4. 终端收到之后会校验服务器的证书是否合法,校验成功后会生成随机密钥串(和随机数一样也是用于生成加密的密钥),然后使用服务器证书的公钥为随机密钥串加密,发给服务器
  5. 服务器通过私钥解密,得到随机密钥串;然后服务器根据随机密钥串、终端随机数、服务器随机数结合之前协商的算法去计算出TLS隧道使用的加密密钥;然后告诉终端使用此加密算法和密钥
  6. 终端同意后后对其回应,TLS通道建立成功

服务器证书的作用

1、终端校验证书的合法性

2、合法性通过之后,用于终端通过证书公钥加密自己随机生成的密钥串

注意事项

Windows7只支持公有证书的校验,如果服务器使用私有证书或者证书过期,则Windows7可能会校验失败

可以在Windows取消证书校验,或把服务器的证书换为公有证书

 通道内对无线用户进行认证

通过采用CHAPv2的方式进行对用户进行认证(双向认证)

紫色 服务器认证用户  蓝色用户认证服务器

  1. 服务器去请求用户的用户名
  2. 用户将用户名提交给服务器
  3. 服务器生成16字节随机数发给终端
  4. 终端收到后,本身也生成随机数,然后利用两个随机数、用户名、此用户名对应的密码计算出一个24字节的密文,将此密文和自己生成的16字节随机数发给服务器
  5. 服务器收到客户端的随机数后,根据两个随机数,服务器上配置的用户名和对应的密码生成24字节密文;将其与收到的密文做对比,如果一致则说明用户认证通过了,服务器认证用户是合法的;此时用户还需要认证服务器是否合法,因此服务器把之前计算出来的24字节密文再进行计算(2者的随机数、用户名、密码对此密文计算)发给客户端
  6. 客户端收到此密文后,同样对之前加密了的24字节密文再此进行计算,将其结果与接收到的密文对比,两边一致则服务器的认证通过;发送认证通过报文给服务器
  7. 服务器收到后发送EAP认证成功报文;其中包含了MPPE密钥(微软的点对点加密,里面含PMK可以生成PKT数据加密密钥)

根据需要进行计费(认证通过之后计费)

生成加密密钥

这个阶段交互的报文都加密了

利用MPPE中的PMK与AC做4次握手生成对应的PTK(通过交互EAPOL-KEY报文实现)

然后将对应的PTK设置到对应的网卡,去做数据的加解密

STA获取地址

STA通过DHCP请求IP地址,DHCP报文没有加密

后续获取到地址后的上网报文是被加密了的(通过生成的加密密钥结合TKIP/CCMP算法进行数据加密)

无线用户认证下线和解关联

无线用户撤销DHCP的地址,然后解除Radius的计费,并下线

猜你喜欢

转载自blog.csdn.net/m0_49864110/article/details/132320544