RADIUS 协议基础 |
发布: 2011-08-17 21:25 |
RADIUS(Remote Authentication Dial In User Service)协议最初是由 Livingston 公司提出的,原先的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议。RADIUS 认证要用到基于挑战/应答(Challenge/Response)的认证方式。 RADIUS 是一种 C/S 结构的协议,它的客户端最初就是 NAS(Net Access Server)服务器,现在任何运行 RADIUS 客户端软件的计算机都可以成为 RADIUS 的客户端。RADIUS 协议认证机制灵活,可以采用 PAP、CHAP 或者 Unix 登录认证等多种方式。RADIUS 是一种可扩展的协议,它进行的全部工作都是基于 Attribute-Length-Value 的向量进行的。 RADIUS 的基本工作原理是用户接入 NAS,NAS 向 RADIUS 服务器使用 Access-Require 数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过 MD5 加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS 服务器对用户名和密码的合法性进行检验,必要时可以提出一个 Challenge,要求进一步对用户认证,也可以对 NAS 进行类似的认证;如果合法,给 NAS 返回 Access-Accept 数据包,允许用户进行下一步工作,否则返回 Access-Reject数据包,拒绝用户访问;如果允许访问,NAS 向 RADIUS 服务器提出计费请求 Account-Require,RADIUS 服务器响应 Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。 RADIUS 服务器和 NAS 服务器通过 UDP 协议进行通信,RADIUS 服务器的 1812 端口负责认证,1813 端口负责计费工作。采用 UDP 的基本考虑是因为 NAS 和 RADIUS 服务器大多在同一个局域网中,使用 UDP 更加快捷方便。 RADIUS 协议还规定了重传机制。如果 NAS 向某个 RADIUS 服务器提交请求没有收到返回信息,那么可以要求备份 RADIUS 服务器重传。由于有多个备份 RADIUS 服务器,因此 NAS 进行重传的时候,可以采用轮询的方法。如果备份 RADIUS 服务器的密钥和以前 RADIUS 服务器的密钥不同,则需要重新进行认证。 RADIUS 协议应用范围很广,包括普通电话、上网业务计费,对 VPN 的支持可以使不同的拨入服务器的用户具有不同权限。 越来越多的软件开始内置RADIUS协议,以方便和各种业务系统对接,如ERP、OA、VPN等,随着这些软件对安全性要求的日益增高,一部分软硬件开始采用双因素方式进行认证,静态密码 + 动态密码(动态令牌/短信密码)形式,那些支持RADIUS协议的ERP、OA、VPN,在无需对客户端做任何修改情况下就能很好整合动态密码,增强系统身份认证安全。 |
原文: http://qtchina.tk/?q=node/589 |
Powered by zexport
|