RADIUS协议原理及其在校园网中的应用
2010-08-11吴秋兵安徽财经大学现代教育技术中心安徽蚌埠233041
吴秋兵 (安徽财经大学现代教育技术中心,安徽蚌埠233041)
随着校园网络的发展,其安全问题也日益突出,如何让校园网络正常高效的运行,充分发挥其教学、管理和服务等功能,已成为不可忽视的问题。目前在校园网络建设中,首要问题就是如何对用户进行安全、高效的认证和访问控制。在传统认证方式中,如PPPOE和Web/Portal认证方式,对于校园网络中的用户数据包进行了繁琐的处理,从而造成了网络传输瓶颈;而通过增加其他网络设备来解决传输瓶颈,势必造成网络成本的提升,因此无法满足用户对网络安全性、高效性和低成本的要求。RADIUS是一种拨号入网用户认证协议标准,采用分布式的Client/Server结构完成密码的集中管理和其他身份认证功能,能够支持多种认证方式。RADIUS由于具有良好的安全性和可扩充性,广泛应用在各种需要认证的场合。为此,笔者对RADIUS协议原理及其在校园网中应用加以论述。
1 RADIUS协议
RADIUS协议分为认证和计费两部分,RADIUS是一种client/server模式的集中式系统,其将接入服务器 (NAS)作为客户端,将RADIUS软件运行的机器作为服务器,服务器上集中存放所有用户的资料 (如帐号名、口令等),因而无论用户连接到任何一个NAS都可以正常地认证计费[1]。NAS上要指定RADIUS服务器的IP地址,以找到相应的服务器;客户端与服务器之间通过设置相同的公用密钥来确保双方的相互信任关系,如果有未经RADIUS确认NAS将认证/计费数据包发送过来,RADIUS会将其丢弃掉。
用户将用户名、口令等信息发送给 NAS之后,NAS与 RADIUS之间通过 Access-Request、Access-Accept、Access-Reject三个数据包来完成认证与授权的工作。认证数据包中Attrbutes字段使用属性如表1所示。
用户通过认证后,从RADIUS服务器或DHCPSERVER取得IP地址,可以连接进入internet。NAS在收到 Access-Accept后,向RADIUS服务器发出Accounting-Request请求开始计费,RADIUS服务器收到后记录在本地,并返回一个Accounting-Reply进行确认。在NAS发出的Accounting-Request包中包含用户名、IP地址、流量等信息,RADIUS服务器通过处理本地的记录,可以计算出用户的使用费用。
表1 RADIUS认证协议属性列表
2 基于RADIUS构建校园网认证计费系统
2.1 认证计费现状
1)PPPOE[2]PPPOE是一种成熟的认证技术,具有完整的技术标准,不论在ADSL还是LAN接入环境中都得到了广泛应用。PPPOE具有良好的用户管理能力,不但能完成用户认证,还能够实现地址分配管理,并可实现MAC和VLAN等2层信息的用户绑定,安全性能较高,比较适合于大用户量的电信级运营管理模式。PPPOE认证方式的缺点是需要专门的客户端或系统自带的拨号器来进行拨号,使用组播等应用受到一定的限制。不能跨越3层网络设备,不太适合于校园网的组网环境。
2)WEB认证方式 WEB认证方式可直接应用浏览器作为认证客户端,是一种新兴的认证技术。WEB认证不需要安装任何客户端软件,并且可以跨越3层使用,因此具有较好的灵活性。但相对于PPPOE认证方式,WEB认证对用户的控制能力和安全性都比较差,容易遭受针对WEB服务的攻击,跨3层使用使得宽带接入服务器无法获得用户的2层信息进行绑定管理,经常出现IP地址冲突情况。
3)802.1x认证方式 802.1x协议是基于端口的访问控制协议,为2层协议,不需要达到3层,对设备的整体性能要求不高,可以降低建网成本。业务报文直接承载在2层报文之上,用户通过认证后,业务流和认证流实现分离,对后续的数据包处理没有特殊要求,对组播业务支持性好,对视频业务开展有很大的支持,在认证过程中,802.1x用封装帧到以太网中,效率相对较高。
2.2 基于RADIUS认证计费系统的构建
基于RADIUS认证协议的校园网宽带认证计费系统的体系结构一般由客户端、认证系统、认证服务器3部分组成。另外,可以架构一台DHCP服务器用于为通过认证的用户动态分配IP地址[3]。RADIUS认证、计费系统主要有认证、用户管理、计费3大功能模块。
1)认证 认证部分是核心功能,NAS服务器向RADIUS服务器提交账号和密码,RADIUS服务器在后台数据库中查找,如果用户名和密码正确,则认证成功。
2)用户管理 该部分主要是对上网用户各种信息进行存储,并且提供一个WEB界面给上网用户修改密码和信息查询。
3)计费 针对学校的特殊情况,对部分用户实施包月计费,上网用户交费后,管理员直接转换用户的状态。
2.3 数据库平台的设计
在windows2000server系统平台的基础上架设SQLSERVER2000数据库服务器。数据库中建立了大量数据表用来记录、保存用户的详细信息以及用户使用和费用情况。数据库中有接入控制表、帐务流水表、上网记录及费用、账号模块表、接入控制属性表、账号相关联服务表、用户卡批次信息表、充值卡信息表、充值卡表、充值卡收入登帐表、充值卡批次信息表 、系统配置表、黑名单、管理员表、接入交换机表、用户在线表、缴费提示条件表、用户缴费记录表、操作权限列表、计费册列表、注册用户表、用户表、接入控制属性列表、服务属性列表。以表T_ACCTRECORD(上网纪录及费用表)为例,该表详细记录用户上网记录信息,如表3所示。
表3 数据库T_ACCTRECORD表字段概况
2.4 NAS客户端配置实现
同时,在接入层必须选择支持802.1x设备作为认证计费系统的客户端 (NAS),并在NAS做如下配置:
3 RADIUS认证计费过程分析
3.1 数据包格式分析
认证过程中客户端和认证服务器之间传送的信息均为以太网帧格式,每一帧均包含如下头信息:01 80C2000003AABBCCDDEEFF888E01010000…… ,前6个字节为目标地址,之后6个字节是源地址,这里假定为AABBCCDDEEFF;第13、14个字节是协议类型,802.1x对应的值为88 8E;第15个字节是协议版本号;16字节是帧类型;第17、18字节为帧的长度,是指头信息之后 (从第19字节开始)的有效数据的长度。
3.2 认证过程
用户开机后,通过客户端软件发起请求。如果某台验证设备能处理数据包,就会向客户端发送响应包并要求用户提供合法的身份标识,如用户名、密码。客户端收到验证设备的响应后,会提供身份标识给验证设备。验证设备把认证流转发给RADIUS服务器进行认证。如果认证通过,验证系统的受控逻辑端口将被打开。客户端软件发起DHCP请求,经验证设备转发给DHCPSERVER。DHCPSERVER为用户分配IP地址。DHCPSERVER分配的地址信息返回给认证系统,认证系统记录用户的相关信息,如MAC、IP地址等信息,并建立访问策略,以限制用户的访问权限。并向认证服务器发送计费信息,开始对用户计费。如果用户要下网,可以通过客户端软件发起LogOff过程,认证设备检测到该数据包后,会通知RADIUS服务器停止计费,并删除用户的相关信息,关闭受控逻辑端口。
4 结 语
通过分析RADIUS协议的基本原理,阐述了基于RADIUS协议认证的全过程。802.1x认证技术能够比较好地解决现阶段所面临的用户身份认证和应用终端的安全性问题,增强了网络安全性。但该系统本身的很多功能有待扩展和加强,有必要进一步与其他先进的网络安全技术融合,才能发挥更大作用。
[1]王志毅,刘俊芳.基于RADIUS协议的校园网计费系统设计 [J].高等函授学报 (自然科学版),2003,(5):51~54.
[2]徐霖洲,丘海明.PPPOE原理、应用及改进建议 [J].中山大学学报 (自然科学版),2002,(6):111~113.
[3]王军号,陆奎.RADIUS在AAA系统中的应用研究 [J].计算机技术与发展,2009,(7):199~201