龙空技术网

​dot1x认证是如何阻止客户端连接网络的?

网工班主任 113

前言:

今天我们对“win10阻止应用程序联网”大致比较关切,我们都需要了解一些“win10阻止应用程序联网”的相关知识。那么小编也在网上汇集了一些对于“win10阻止应用程序联网””的相关资讯,希望兄弟们能喜欢,同学们一起来学习一下吧!

端口(Port)启用dot1x认证,该端口在逻辑上会有两个虚拟端口:

Uncontrolled PortControlled Port

在用户没有成功认证之前,只有Uncontrolled Port处于unblocked状态。所谓unblocked状态,就是自由通行的意思。Uncontrolled Port处于blocked状态,禁止任何流量通行。

但是不要高兴太早,尽管Uncontrolled Port处于自由出入状态,但是它只允许二层报文的通行,EAP(Extended Authentication Protocol)的通行,其它的报文一律拒绝。DHCP、ARP、DNS、IP统统拒绝出入。

读者可能发现一个bug,既然EAP可以自由出入,而IP报文拒绝出入,难道EAP报文不是封装在IP报文里的?

是的,此处应该有掌声。凡是能够提出这个问题的读者,都应该得到掌声。

这里的EAP协议,准确地说应该是EAPoL(Extended Authentication Protocol over LAN),即EAP报文封装在二层帧头里。

如果二层是有线以太网,那么就封装在Ethernet II 或者802.3。如果二层是无线局域网,那么就封装在802.11。

本文开头的端口(Port)有可能是物理端口,比如交换机端口,看得见摸得着的硬件端口

也有可能是软件端口,比如无线client与AP association 之后,会给client分配一个Station ID,并创建一个软件端口

无论是交换机的硬件端口还是AP的软件端口,对于802.1x来说,都是端口。

接下来假设client连接的无线AP并开启802.1x认证。

当client在完成与AP的Probe、Authentication、Association交互(全是二层报文)之后。此时尽管Client已经绑定到AP上,但是只能发送二层帧,无法通过DHCP获得IP地址,应该Controlled Port处于blocked状态。

1于是,AP发送一个EAP Identity报文给Client。

2 Client回应identity报文并提供自己的身份信息(ID)。

3 当AP收到报文2,会将报文里嵌入的“EAP”子报文提取出来,并将“EAP”封装在IP/UDP/Radius(Diameter)/ EAP发给后台Authentication Server(Clearpass etc..)

4 AS提取报文3的“EAP”,得到用户的identity ID。根据identity ID预先配置得到认证方式(EAP Method),是EAP-mschapv2 还是EAP-TLS、还是EAP-GTC etc.

5 无论认证方式是啥,接下来的认证通信是在Client与AS之间直接对话。但是由于Client由于还没有IP地址,不能和AS跨网段通信,所以两口子之间的直接对话,必须依赖第三者,即这里AP(灯泡)双向Relay。

6 如果用户的认证方式是EAP-TLS,Client需要验证AS的证书,AS也要验证Client的证书。双方认证彼此证书成功。认证就大功告成了。此时AS完全可以给AP下一道命令“access accept ”,然后AP就可以unblock “controlled port”。用户的DHCP就可以自由通行了,可以拿到IP地址上网了。想法很美好,但是如何加密无线传输的用户数据报文?

难道DHCP报文不需要加密?

既然要加密,那Key呢?

第二次掌声,送给能够提出这个问题的读者。

回到step 6隐含了一个重要的步骤,一般802.1x学习停留在表面的同学,会忽略这个步骤。

既然step 6是一个TLS安全会话,会在Client与AS之间自动协商(Key Exchange)一个Master Key,简称MK

这个MK目前只有两个人知道,一个是Client,另外一个就是AS。

可是AP却不知道。

读者可能很好奇,为什么AP要知道MK?

因为EAP成功认证之后,Client会与AP使用4-way handshake协商Key,这个Key就用来加密无线数据报文。

但是AP需要拥有MK才能与client 协商Key。

怎么办?

很简单,只要AS将MK加密传输给AP即可。

既然双方都拥有相同的MK,自然可以推导出Key。

在4-way成功握手之后,AP的“Controlled Port”被打开,用户数据报文(IP)可以自由出入,其中包括DHCP报文。

用户使用DHCP报文成功获得IP参数,就可以上网了。

当然任何认证都有一个有效期,一旦有效期定时器超时而没有成功再认证,用户的“Controlled Port”又会被blocked,用户只有成功认证才能继续上网。

作者|车小胖谈网络|公众号

标签: #win10阻止应用程序联网 #windows阻止应用联网