本文设计了一个基于IEEE 802.1X并与LDAP(Lightwigh Directory Access Protocol)即轻量级目录访问协议结合使用的计费系统的实现方案。与目前常用计费系统中存在的问题相对照,该计费系统的设计目标是:统一身份认证、认证与计费分离、提供更高的安全性,在保证系统具备足够的安全性和较高效率的基础上,使之易于扩展,易于管理。
本系统的主要部分采用的是基于C技术的C/S体系结构,在浏览器端的查询及管理中采用的是基于JSP(Java Server Page)的B/S体系结构。使用基于LDAP的访问控制技术能够完全适应这个环境,它使整个开发过程得到极大简化,系统的安全管理更加方便,也使系统在安全得到保证的情况下,运行效率大幅提高。
LDAP技术在网络计费中应用的优势
LDAP(Lightwigh Directory Access Protocol)即轻量级目录访问协议是在本文中所要用到的一项重要技术,是用来访问存储在信息目录中的信息的协议。LDAP服务器是用来处理查询和更新LDAP目录内信息的,LDAP目录也是一种重点在于优化数据读取性能的数据库。
LDAP的目录服务基于客户/服务器模型,即用户向服务器发出请求,由服务器予以响应,其工作原理如图1所示。
图1 LDAP的工作原理
LDAP协议及时解决了统一身份认证的问题。用户只要申请一个账号,就能使用所有相应的网络服务,并简化了管理工作。在计费系统中各个子系统都遵从同一目录访问标准,能与同一目录服务交互,就可将其认证、权限信息统一保管于该目录服务器中,从而实现统一认证,用户只使用一个用户名、密码,便可对所有的服务进行权限许可的访问。
LDAP服务器存储用户的信息,如用户名、密码、IP地址等。对于固定IP用户,不需要到LDAP服务器进行认证,直接使用路由器采集数据,生成日志文件后,摘取必要的信息存入数据库即可。对于拨号入网的用户,原来的RADIUS(Remote Authentication Dial In User Service远程验证拨号用户服务)服务器不再用作校验入网用户身份,只负责采集流量数据,将有用的数据写入数据库中,同时起到拨号连接的作用。
网络用户访问Internet时,需要通过防火墙进行认证,防火墙若支持LDAP,作为一个LDAP Client,要向LDAP Server进行认证,即用户上网时,防火墙要求用户出示Username、Password,用户将这些信息发送到防火墙,防火墙又将这些信息发送到目录服务器,要求LDAP服务器进行比较,LDAP服务器返回比较结果,防火墙根据LDAP服务器返回的结果确定是否让用户通过。
基于IEEE 802.1X的认证
IEEE的全称是电气电子工程师学会(The Institute of Electricaland Electronics Engineers,Inc),是世界上最大的专业技术学会,属非盈利机构。
IEEE 802局域网/城域网标准化委员会(IEEE 802 LAN/MAN Standards Committee)的任务是制定对应于OSI参考模型中物理层和链路层的标准。
1.IEEE 802.1X认证的优点
简洁高效:纯以太网技术内核,保持IP网络无连接特性,去除冗余昂贵的多业务网关设备,消除网络认证计费瓶颈和单点故障,易于支持多业务。
轻易实现:可在普通L3、L2、IPDSLAM上实现,网络综合造价成本低。
安全可靠:在二层网络上实现用户认证,结合MAC、端口、账户和密码等,绑定技术具有很高的安全性。
行业标准:IEEE标准,微软操作系统内置支持。
易于运营:控制流和业务流完全分离,易于实现多业务运营,少量改造传统包月制等单一收费制网络即可升级成运营级网络。
2.IEEE 802.1X在身份认证中的安全问题
IEEE 802.1X认证是基于端口的认证,不是单指物理端口,而是包含有物理端口、MAC、VLAN、IP等识别用户或用户群的标识。它可以灵活地根据应用情况及业务要求,针对用户类型,选择端口形式进行控制,且是在二层网络上实现用户认证,可以通过设备实现MAC、端口、账户和密码等绑定技术,具有较高的安全性。
对于假冒MAC地址的情况
可以在IEEE 802认证、授权功能的交换机上通过“IP+MAC”的绑定来阻止假冒MAC地址的用户非法访问。
当假冒者和合法用户分属于交换机两个不同的物理端口,则假冒者即使知道合法用户的MAC地址,但由于该MAC地址不在同一物理端口,假冒者仍无法进入网络系统。对于这种情况,可以在交换机上实现更为严格的“IP+MAC+端口”的绑定。
对于假冒IP地址的情况
由于IEEE 802.1X采用了基于二层的认证方式,因此,当采用动态地址分配方案时,只有用户认证通过后,才能够分配到IP网络地址。对于静态地址分配策略,如果假冒了IP地址,而没有能够通过认证,也不会与正在使用该地址的合法用户发生地址冲突。
如果用户能够通过认证,但假冒了其他用户的IP地址,则通过在认证交换机上采用“IP+MAC”绑定的方式来控制用户的访问接入。这使得假冒用户无法进行正常的业务通信,从而达到防止IP地址被篡改、假冒的目的。
基于IEEE 802.1X的计费系统的设计
1.网络计费系统的总体结构
通过分析计费系统的几种基本方式和传统的认证方法,结合该项目,应用IEEE 802.1X进行创新,设计出功能更强大,更安全的网络计费系统。
(1)网络计费系统的总体结构
系统由以下几部分构成:原始数据采集子系统、支持IEEE802.1X的网络设备、RADIUS服务器、LDAP服务器及用户IEEE802.1X客户端、用户查询、Web管理服务器。网络计费系统总体结构如图2所示。
图2 网络计费系统总体结构
计费系统各部分的功能简述如下:
原始数据采集子系统:本系统中研究的上网方式主要包括拨号上网和固定IP上网,还有对邮件的单独计费等,针对这几种不同的上网服务有不同的数据收集方法。
IEEE 802.1X服务器:包括两部分,支持IEEE 802.1X协议的网络设备和RADIUS服务器,用于对上网用户的访问进行认证控制。
IEEE 802.1X客户端:注册用户可借此连接到网络上。
LDAP服务器:将合法用户的基本信息,如用户名、密码等存储在LDAP服务器中,对用户的身份认证从RADIUS服务器中分离出来,单独到LDAP服务器认证。
Web管理服务器:注册用户可以通过Web方式对自己的上网记录进行查询;管理员通过Web管理服务器对注册用户的上网情况进行统计和管理。
(2)网络计费系统的总体结构设计思路
采用IEEE 802.1X协议对用户访问进行控制
从总体结构图上可以看到,在系统中有两处用到了IEEE 802.1X协议:用户通过IEEE 802.1X客户端发出认证请求到支持IEEE 802.1X的网络设备上进行认证,以请求入网。Windows XP操作系统自带IEEE 802.1X认证的功能。
这种设计的好处是业务与认证相分离,提高效率,消除了传统的网络瓶颈,并可对突发的病毒攻击及时封锁,有很强的安全性。
采用LDAP服务器存储用户信息
采用LDAP数据主要有三方面考虑。一是因为LDAP是一种通用服务器,便于其他服务器访问,实现不同上网方式进行统一身份认证的功能;二是LDAP的查询性能相对要高于通用的关系型数据库,一般情况下,其查询效率要高于普通关系型数据库一个数量级,而在服务控制的实施过程中,所有对LDAP的访问都是查询性质的,也采用LDAP;三是LDAP服务器有很完善的安全措施,方便保护重要的授权数据。
身份认证独立和统一化
用拨号方式上网一般都采用“账号+密码”方式。固定IP上网为了防止恶意用户盗用IP现象的发生,也采用了“账号+密码”的方式对用户进行限制,单独计费的电子邮件管理中的身份认证也与拨号上网相类似。
对于各种各样的网络服务,传统方式是进行单独认证管理,这样不仅用户需要记住各种各样的用户名和密码,使用不同网络服务时要进行不同的认证;对于管理员来说,如果一个用户要分别进行不同的维护,则必须开始两个账户,撤消某个用户相关的网络服务也得进行类似操作。
采用LDAP身份认证之后,可以将用户的各种网络服务需要进行的认证都指向LDAP服务器,进行统一认证,即用户只要注册一次就可以分别使用不同的网络服务,也可以进行统一管理,实现了身份认证的独立和统一化。
2.网络计费系统的设计
计费系统流程
(1)用户首先在管理员处通过C/S方式或者B/S注册登记自己的账号和密码,这些用户相关的信息存储在LDAP服务器中,同时还可以在LDAP中记录用户所请求的网络服务。管理员将用户状态设定为开通。
(2)用户在带有IEEE802.1X协议认证的客户端发出网络服务请求,有以下几种形式:可以通过专用的客户端软件手动发出请求;也可以采用WindowsXP操作系统中自带的IEEE802.1X认证发出请求。
(3)发出请求后,查询网络上能处理EAPOL数据包的设备,即具有IEEE 802.1X协议功能的网络设备,认证数据报文从验证设备的非受控端口通过EAP协议将认证数据报文转发到RADIUS服务器认证,RADIUS服务器将认证的动作指向LDAP服务器所在的IP端口,与事先注册的用户资料进行比较,认证后返回值,如果不成功,则打开网络设备的受控端口。
(4)客户端软件发起DHCP请求,经认证设备发到DHCP服务器,并得到一个IP地址,建立动态的ACL访问列表。
(5)RADIUS服务器记录用户连接成功的信息,将上网记录写入数据库以便计费。
(6)用户发出断线请求后,认证设备检测到此类数据包,则通知RADIUS服务器停止计费,并删除用户的相关信息(如IP、MAC等),关闭网络设备的受控端口。如果用户非正常断线,验证设备在发起多次检测后,自动认为用户已经下线,向RADIUS服务器发出停止计费的信息。
系统设计
(1)客户端系统设计
客户端为任何接入LAN设备,只需要客户端支持EAPOL协议即可。为了支持IEEE 802.1X,WindowsXP提供了一种IEEE 802.1X客户装置,并增加了Windows RADIUS服务器IAS(Internet Authentication Server)以支持认证功能。
(2)认证系统设计
认证系统内部有受控端口和非受控端口。非受控端口始终处于双向连通状态,主要用来传递EAP协议包。受控端口可以配置为双向受控、输入受控两种方式,以适应不同的应用环境。
受控端口也可以通过网管配置为强制授权、强制非授权,在这种情况下就无需认证过程。
IEEE 802.1X支持受控端口授权状态的老化功能,而在重认证过程中受控可以继续保持“已授权”状态,除非重认证失败。
(3)认证服务器系统设计
在本系统中认证服务器采用拨入计费RADIUS,RADIUS是在NAS(Network Access Server,网络访问服务器)和集中存放认证信息的Radius服务器之间传输认证、授权和配置信息的协议。RADIUS以Client/Server模式工作,主要用来将用户信息传递给Server,Server则对用户进行认证,并返回用户的配置信息,为保证传输的安全性,在Client与Server之间传递的数据均以MD5方式加密。RADIUS Server端与Client端通信主要有认证、授权和计费三个部分,本系统中对RADIUS服务器作了相应的扩充和修改,增加了新的用户授权和认证模块。
(4)LDAP服务器设计
在系统中采用Netscape的LDAP服务器,可以和RADIUS服务器在同一台电脑上运行,也可以处于不同的主机上。在计费系统中各个子系统都遵从同一目录访问标准,能与同一目录服务交互,则可以将其认证、权限信息统一保管于该目录服务器中,从而实现统一认证,用户只使用一个用户名/密码,便可以对所有的服务进行权限许可的访问。
本文设计了一种基于IEEE 802.1X协议的LDAP网络计费系统,在体系结构上,该系统主要由客户端系统、认证系统、认证服务器系统和LDAP服务器组成。
与以往的网络计费系统不同的是,由于使用了具有IEEE 802.1X的网络设备,用户在上网过程中的认证数据报文与认证通过后上网过程中传输的数据报文分别通过不同的端口,即非受控端口和受控端口来完成传输。
用户的认证与控制由RADIUS服务器和交换机利用非受控端口共同完成,业务数据报文则直接承载在二层报文上通过受控端口进行交换,有效实现了业务与认证的分离,这个特性是对传统网络认证方式的一种革命性创新。
相关用户的访问控制信息均集中存储在LDAP服务器上,所有的认证都由RADIUS服务器指向LDAP服务器,由LDAP服务器完成。通过各个服务器之间的相互配合完成完整的网络计费功能。
其难点在于统一身份认证的设计与流程,以及具有IEEE 802.1X功能设备在计费系统中的应用。在整个计费流程中应使用具有IEEE 802.1X功能的设备,实现了业务与功能的分离,并且在B/S结构的管理部分中,浏览器端也同LDAP服务器连接,实现了身份认证真正的统一。
作者:张晓冬、张倩、赵育梅(北京邮电大学)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。