AAA的概念
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称。它提供对用户进行认证、授权和计费三种安全功能。具体如下:
a、认证(Authentication):认证用户是否可以获得访问权,确定哪些用户可以访问网络。
b、授权(Authorization):授权用户可以使用哪些服务。
c、计费(Accounting):记录用户使用网络资源的情况。
AAA一般采用客户/服务器结构,客户端运行于被管理的资源侧,服务器上则集中存放用户信息。这种结构既具有良好的可扩展性,又便于用户信息的集中管理。计费网关主要使用aaa中的认证功能对终端用户进行认证管理。
Radius 协议
Radius 是RemoteAuthentication Dial-in UserService(远程认证拨号用户服务)的简称,作为一种分布式的客户机/服务器系统,能提供aaa功能。RADIUS原来的初衷是用来管理使用串口和调制解调器的大量分散用户。radius技术可以保护网络不受未授权访问的干扰,常被用在既要求较高安全性、又要求维持远程用户访问的各种网络环境中。
Radius服务包括三个组成部分:
a、协议:rfc2865、2866 协议基于udp/ip 层定义了radius 帧格式及消息传输机制,并定义了1812作为认证端口,1813作为计费端口。
b、服务器:radius 服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。
c、客户端:位于拨号访问服务器NAS(network access server)侧,可以遍布整个网络。
radius基于客户/服务器模型,NAS(如路由器)作为Radius 客户端,负责传输用户信息到指定的radius服务器,然后根据从服务器返回的信息进行相应处理(如接入/挂断用户)。radius服务器负责接收用户连接请求,认证用户,然后给nas返回所有需要的信息。
radius 服务器通常要维护三个数据库:
第一个数据库“users”用于存储用户信息(如用户名、口令以及使用的协议、ip 地址等配置);
第二个数据库“clients”用于存储radius客户端的信息(如共享密钥);
第三个数据库“dictionary”存储的信息用于解释radius 协议中的属性和属性值的含义。
radius基本工作原理:
当RADIUS系统启动后,如果用户想要通过与NAS(PSTN环境下的拨号接入服务器或以太网环境下带接入功能的以太网交换机)建立连接从而获得访问其它网络的权利或取得使用某些网络资源的权利时,NAS,也就是RADIUS客户端将把用户的认证、授权和计费请求传递给RADIUS服务器。
RADIUS服务器上有一个用户数据库,其中包含了所有的用户认证和网络服务访问信息。RADIUS服务器将在接收到NAS传来的用户请求后,通过对用户数据库的查找、更新,完成相应的认证、授权和计费工作,并把用户所需的配置信息和计费统计数据返回给NAS——在这里,NAS起到了控制接入用户及对应连接的作用,而RADIUS协议则规定了NAS与RADIUS服务器之间如何传递用户配置信息和计费信息。
由于RADIUS协议简单明确,可扩充,因此得到了广泛应用,包括普通电话上网、ADSL上网、小区宽带上网、IP电话、VPDN(VirtualPrivate Dialup Networks,基于拨号用户的虚拟专用拨号网业务)、移动电话预付费等业务。