IEEE 802.1X是IEEE(国际电子电器工程师协会)制定的基于端口的网络接入控制(Port-Based Access Control)标准。尽管它起源于无线局域网标准IEEE 802.11的安全需求,但现在更多应用于有线局域网环境。
总体结构
一个基于802.1X的认证系统一般包括三个实体组成部分:申请者(Supplicant)、验证者(Authenticator)、认证服务器(Authentication)。申请者(Supplicant)一般是指接入到局域网中的一台端系统,比如PC。验证者(Authenticator)一般是局域网的边缘设备,比如边缘交换机或无线接入访问(AP)设备。认证服务器(Authentication Server)为验证者提供用户认证服务,保存用户的认证信息。
申请者系统上一般安装有一个客户端软件,目前Windows XP以上版本的操作系统本身都支持802.1X的软件。然而由于许多网络设备厂商对802.1X的实现有所不同,他们都有自己的客户端软件。Linux操作系统可以选择一个开放源代码的802.1X客户端软件Open1X。
在申请者和验证者之间一般使用EAP(Extensible Authentication Protocol)交换认证信息。在身份认证通过之前,只有验证者直接受申请者的EAP请求消息,只有通过身份认证以后,验证者(比如交换机)端口才会逻辑上打开。
验证者和认证服务器一般使用RADIUS协议来进行身份认证消息的传输。事实上,验证者只是在申请者和认证服务器之间透明的传递身份认证信息。Free RADIUS 是目前广泛应用的、免费的认证服务器软件。
认证信息交换流程
以基于EAP-MD5认证方法为例,三个实体之间信息交换的流程如图1所示。在认证开始之前,客户端的任何流量都不能通过交换机,但是EAP信息除外。
图1:802.1X 三个实体之间认证信息交换流程
1.验证者(如交换机)要求申请者出示ID;
2.申请者出示自己的用户ID,验证者透明地传给后台认证服务器;
3.认证服务器发出一个challenge(不妨理解为一个随机数),验证者透明地传给客户端;
4.申请者根据用户输入的口令和challenge计算响应的一次性口令OTP,比如可能是一个MD5值,由验证者传递给认证服务器;
5.认证服务器收到申请者的响应之后,计算与自己的计算结果是否匹配,然后把寄过发给验证者和申请者。
6.如果验证失败,则验证者的逻辑端口依然保持关闭;如果成功,则验证者打开逻辑端口,申请者可以正常通信,直到发送退出(LOGOFF)消息后逻辑端口再次关闭。
从以上分析可以看出,802.1X基于端口的认证方式可以实现细粒度的访问控制,可以在网络边缘彻底拒绝非授权用户对网络资源的访问。在服务器端,可以记录每个用户上网使用的IP地址、交换机端口号、登录/退出时间等等,对网络非法行为或异常行为的追查也有很大作用。
基于802.1X的端口认证系统中,申请者可以通过EAP协议上传的信息不只是身份认证信息,除了用户的ID以外,还包括MAC地址、IP地址、端系统的安全状态(如操作系统补丁版本、防病毒软件更新日期)等等。同时,通过认证服务器传递给验证者(交换机)的也可以不限于认证结果,还可以包括通过服务器下达的配置信息,如配置交换机端口所属的VLAN等等。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。