随着Internet的发展,越来越多的应用通过网络得以实现,拨号用户、专线用户以及各种商用业务的发展使Internet面临许多挑战。如何安全、有效、可靠的保证计算机网络信息资源存取及用户如何以合法身份登陆、怎样授予相应的权限,又怎样记录用户做过什么的过程成为任何网络服务提供者需要考虑和解决的问题。正是基于此需求,AAA协议逐渐发展完善起来,成为很多网络设备解决该类问题的标准。
AAA即为Authentication(认证),Authorization(授权),Accounting(记费)。认证(Authentication)即辨别用户是谁的过程。通常该过程通过输入有效的用户名和密码实现; 授权( Authorization ):对完成认证过程的用户授予相应权限,解决他能做什么的问题。在一些身份认证的实现中,认证和授权是统一在一起的; 计帐( Accounting):统计用户做过什么的过程,用户使用的时间和费用。通常可以用用户占用系统时间、接受和发送的信息量来衡量。
一、 AAA的通常框架
AAA 通过Authentication,Authorization,Accounting集成控制了用户在自己特定角色特点所遵循的原则下如何访问多个网络及特定网络下的某个平台也及某种应用服务。通常意义上的AAA服务器都具有用户认证、授权处理用户请求以及收集用户使用情况的相关数据的功能。对一个服务提供商来说,这样的AAA服务器应该有一个应用型的特定模式的应用界面(接口),通过这个界面(接口)的服务必须通过授权。在实际使用中,AAA服务器都带有一个用户数据库(可以是某系统用户数据库或独立的数据库系统),这个数据库中含有用户的初始化信息,它可以反映合法的属性值以及每个用户所享有的权限。通过它和客户端软件的数据交流来实施相关操作。
Authentication通过终端用户的识别属性来判定它是否有进入网络的权限。终端用户一般需要提供一个用户名(该用户名在这个认证系统中应该是唯一的)和对应该用户名的口令。AAA服务器将用户提交的信息和储存在数据库的和用户想关联的信息比较,如果匹配成功的话该次登陆生效,否则拒绝用户请求。
当用户通过认证以后,Authorization就决定了该用户访问网络的全线范围及所享有何种服务。就有可能包括提供一个IP地址,或某种规则的滤镜以来确定那些应用和协议可以被支持。在AAA管理模式下Authentication和Authorization通常可以一起执行。
Accounting提供了收集用户使用网络资源情况信息的方法。通过该类数据的收集,可以提供网络审查、发展以及结构调整的一些依据。
如图显示AAA解决方案的各个组成部分。多个服务器可以共同被用来作为一个存储中心来存储和分发信息
NAS(网络访问服务器)有时可能是一台路由器,或一台终端服务器,或是另一台的主机。它主要作为一个网络的入口,在AAA服务器模式下承担是客户端的功能。一个AAA的工作过程可以分为如下几步:
1、终端用户给客户断(即NAS)设备发出需要和网络连接的请求。
2、NAS提示用户输入用户名和口令并收集和转发该信息给AAA服务器。
3、AAA服务器执行程序(和数据库信息匹配)后将结果返回给NAS,结果可能是接受、拒绝、或其他相关信息。
4、NAS将通知结果给终端用户。
二、 RADIUS
在实际使用中应用最广的是基于AAA针对远程用户认证的RADIUS协议.它具有以下属性:
1、 基于客户/服务器分布式操作模式。RADIUS客户断在主机环境下,通过网络和RADIUS服务器通讯,一个RADIUS服务器还可以作为其它的RADIUS服务器或另外模式的认证服务器的客户端代理。
2、 网络安全。在RADIUS服务器和客户断之间的通信安全通过一个共享的口令来保证,而这个口令从来不会通过网络传送。同时包含在RADIUS信息中的用户口令信息被加密。
3、 认证具有灵活性。采取多种认证机制,包括PAP和CHAP.
4、 属性/值队特征。在RADIUS协议下,当用户登陆进入网络时NAS提示用户输入用户名和口令,然后由NAS向服务器发送请求信息。在请求信息中可能还包括该用户的各种配置信息。称为属性值对。NAS的提议的属性值对由NAS的配置文件决定,安全服务器的响应属性值队有安全服务器的配置文件决定。如果NAS由于某原因无法执行安全服务器某一属性值队,那么它就不能执行对用户的认证。
这种结构具有开放、可伸缩性强等优点。安全服务器使用系统用户数据库或独立的数据库系统。这种集中的身份认证过程减少了系统的风险,该结构还具有开放、可伸缩性强等优点。
三、 TACACS+
另外一类支持AAA服务的协议是通过控制系统进行终端访问控制的TACACS+协议。它已经被Cisco设备和其它的许多终端服务器、路由器、NAS等设备所支持。
TACACS+也是基于个客户-服务器模式的AAA协议。它是由TACACS完善而成。它和RADIUS有很多相同之处,主要有以下几点差异:
1、 传送协议 TACACS+利用TCP传送而RADIUS基于UDP.
2、 包加密 TACACS+是整个包加密而RADIUS只加密用户口令。
3、 认证和授权 TACACS+允许认证和授权独立而RADIUS是使两者集成使用。
同样,在TACACS+协议中,由NAS提议的属性值对均为可选或强制;如果该属性值对为可选,则安全服务器可能提出另外一个属性值,如果该属性值对为强制性,则安全服务器不能改变该属性值亦为可选或强制;如果该属性一值对为强制,则NAS必须使用该属性一值;如果NAS不能同意使用该属性一值对,则只能拒绝用户的请求。
从上可以看出,TACACS+协议中认证和授权可以独立进行的。
转载自:《计算机世界》,作者:陕西省经济信息中心 蒋亚静