RADIUS协议
协议概述
RADIUS(Remote Authentication Dial In User Service)协议是在IETF的RFC2865和2866中定义的。RADIUS 是基于 UDP 的一种客户机/服务器协议。RADIUS客户机是网络访问服务器,它通常是一个路由器、交换机或无线访问点。RADIUS服务器通常是在UNIX或Windows 2000服务器上运行的一个监护程序。RADIUS 协议的认证端口是1812 ,计费端口是1813。
RADIUS协议的主要特点
概括的来说,RADIUS 的主要特点如下:
1、 客户/服务模式(Client/Server)
RADIUS是一种C/S结构的协议,它的客户端最初就是网络接入服务器NAS(Network Access Server),运行在任何硬件上的RADIUS客户端软件都可以成为RADIUS的客户端。客户端的任务是把用户信息(用户名,口令等)传递给指定的RADIUS服务器,并负责执行返回的响应。
RADIUS服务器负责接收用户的连接请求,对用户身份进行认证,并为客户端返回所有为用户提供服务所必须的配置信息。
一个RADIUS服务器可以为其他的RADIUS Server或其他种类认证服务器担当代理。2、网络安全客户端和RADIUS服务器之间的交互经过了共享保密字的认证。另外,为了避免某些人在不安全的网络上监听获取用户密码的可能性,在客户端和RADIUS服务器之间的任何用户密码都是被加密后传输的。
3、 灵活的认证机制
RADIUS服务器可以采用多种方式来鉴别用户的合法性。当用户提供了用户名和密码后,RADIUS服务器可以支持点对点的PAP认证(PPP PAP)、点对点的CHAP认证(PPP CHAP)、UNIX的登录操作(UNIX Login)和其他认证机制。
4. 扩展协议
所有的交互都包括可变长度的属性字段。为满足实际需要,用户可以加入新的属性值。新属性的值可以在不中断已存在协议执行的前提下自行定义新的属性。
RADIUS的工作过程
RADIUS协议旨在简化认证流程。其典型认证授权工作过程是:
1、用户输入用户名、密码等信息到客户端或连接到NAS。
2、客户端或NAS产生一个“接入请求(Access-Request)”报文到RADIUS服务器,其中包括用户名、口令、客户端(NAS)ID 和用户访问端口的ID。口令经过MD5算法进行加密。
3、RADIUS服务器对用户进行认证。
4、若认证成功,RADIUS服务器向客户端或NAS发送允许接入包(Access-Accept),否则发送拒绝加接入包(Access-Reject)。
5、若客户端或NAS接收到允许接入包,则为用户建立连接,对用户进行授权和提供服务,并转入6;若接收到拒绝接入包,则拒绝用户的连接请求,结束协商过程。
6、客户端或NAS发送计费请求包给RADIUS服务器。
7、RADIUS服务器接收到计费请求包后开始计费,并向客户端或NAS回送开始计费响应包;
8、用户断开连接,客户端或NAS发送停止计费包给RADIUS服务器。
9、RADIUS服务器接收到停止计费包后停止计费,并向客户端或NAS回送停止计费响应包,完成该用户一次计费,记录计费信息。