无线局域网中RADIUS协议的分析和设计
息:服务器返回给用户的授权等配置信息,如服务类型,会话时间等。
(3) 计费信息:存放与计费有关的各种统计信息。如:上网时间、计费费率、用户
的历次上网的数据流量和费用、用户帐户余额等。
(4) 管理员信息:网络管理员的ID号和口令、管理员的权限。
(5) NAS信息:RADIUS服务器所属的各NAS纪录。包括各NAS的ID号、与
RADIUS服务器的共享密码等。
(6) 日志信息:保存用户上网的历史记录、网络管理员的登录及操作纪录。
3.5认证端各部分的实现:
操作系统:RADIUS服务器和NAS均采用Linux(Red Hat 9.0,内核Linux-2.4.20-8)作为操作系统。
(1) NAS:
用Apache和Tomcat构建一个支持JSP的Web服务器,这样申请者可以通过Web页面来提交登录信息。服务器管理程序主要是处理系统管理员的信息,用QT3.0完成用户界面。RADIUS客户端程序(C语言实现)将用户或系统管理员提交的消息封装成RADIUS包,并通过相应的端口转发给RADIUS服务器。
(2) 数据库:
采用MySQL数据库来实现,MySQL是一个多用户、多线程SQL数据库服务器。它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。Red Hat 9.0中自带有MySQL服务,将服务启动即可。我们可以将RADIUS服务器与SQL数据库相连,建立用户数据库和计费数据库,对用户信息和计费信息进行有效的管理。
(3) RADIUS服务器 :
采用freeradius-0.9.0来搭建RADIUS服务器,实现RADIUS协议,并使用RADIUS服务器的EAP-Identity认证方式(即:RADIUS服务器对申请者的用户名和口令进行认证)。另外,实现时,在freeradius的源码中添加了数据库处理模块以及服务器管理程序处理模块。
freeradius支持访问SQL数据库,首先需要建立RADIUS数据库(以MySQL为例:mysql -uroot -prootpass radius db_mysql.sql),建立后的数据库会包含如下一些表项:radcheck:用于指明用户的认证方式;radgroupcheck:将用户分组进行管理,指明各组的属性,如限定有些用户组默认的认证结果就是Accept或Reject;radgroupreply:对各用户组设定回应的属性;usergroup:指明用户与组的关系;radacct:存放与计费有关的各种统计信息。我们还可以添加一些我们所需的其他表项。
4 结束语
RADIUS协议最初作为拨号网络中协议,由于它易于管理、可扩展性好等特点,而逐渐被广泛使用,成为多种网络的认证、授权和计费的协议。但RADIUS协议仍然存在诸如:基于Response Authenticatior对共享密钥的攻击、基于User-Password属性对用户密码的攻击等安全缺陷。这些都有待于作进一步的研究和完善。
- Amazon Kindle 2全球无线版——拆解&深度分析(04-09)
- 基于SPCE061A的射频读写器信号分析系统设计(08-26)
- 安捷伦与美国海军签手持式频谱分析仪大合同(12-01)
- 基于频谱分析来的RF功率和寄生噪声辐射限制(07-25)
- 矢量网络分析仪在移动网络建设和维护中的应用(12-05)
- 安捷伦保持业界50GHz最高噪声测量精度(12-10)