AAA协议介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方向Server->Client,如果Access-Request报文中存在
任何无法被接受的Attribute值(即认证失败),则传
输该类型报文
方向Client->Server,Client将用户信息传输到Server,
请求Server开始/住手计费,由该报文中的
Acct-Status-Type属性区分计费开始请求和计费结束
图1-1的AAA基本组网结构中有两台服务器,用户可以根据实际组网需求来决定认证、授权、计费功能分别由使用哪种协议类型的服务器来承担。例如,可以选择HWTACACS服务器实现认证和授权,RADIUS服务器实现计费。
这三种安全服务功能的具体作用如下:
l认证:确认远端访问用户的身份,判断访问者是否为合法的网络用户;
图2RADIUS服务器的组成
l“Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
l“Clients”:用于存储RADIUS客户端的信息(如接入设备的共享密钥、
IP地址等)。ห้องสมุดไป่ตู้
l“Dictionary”:用于存储RADIUS协议中的属性和属性值含义的信息。
安全和认证机制
请求
方向Server->Client,Server通知Client已经收到
Accounting-Request报文,并且已经正确记录计费信息
(2)Identifier域
长度为1个字节,用于匹配请求包和响应包,以及检测在一段时间内重发的请求包。类型一致的请求包和响应包的Identifier值相同。
长度为2个字节,表示RADIUS数据包(包括Code、Identifier、Length、Authenticator和Attribute)的长度,范围从20~4096。超过Length域的字节将作为填充字符被忽略。如果接收到的包的实际长度小于Length域的值时,则包会被丢弃。
AAA
AAA简介
AAA是Authentication、Authorization、Accounting(认证、授权、计费)的简称,是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。
AAA普通采用客户机/服务器结构,客户端运行于NAS(NetworkAccessServer,网络接入服务器)上,服务器上则集中管理用户信息。NAS对于用户来讲是服务器端,对于服务器来说是客户端。AAA的基本组网结构如图1。
ARAP-Zone-Access
(4)Authenticator域
长度为16个字节,用于验证RADIUS服务器的应答,此外还用于用户密码的加密。Authenticator包括两种类型:RequestAuthenticator和ResponseAuthenticator。
(5)Attribute域
不定长度,用于携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。
由Server判断是否接入该用户。该报文中必须包含
User-Name属性,可选包含NAS-IP-Address、
User-Password、NAS-Port等属性
方向Server->Client,如果Access-Request报文中的所
有Attribute值都可以接受(即认证通过),则传输该
类型报文
l授权:对不同用户赋予不同的权限,限制用户可以使用的服务。例如用户成功登录服务器后,管理员可以授权用户对服务器中的文件进行访问和打印操作;
l计费:记录用户使用网络服务中的所有操作,包括使用的服务类型、起始时间、数据流量等,它不仅是一种计费手段,也对网络安全起到了监视作用。固然,用户可以只使用AAA提供的一种或者两种安全服务。例如,公司仅仅想让员工在访问某些特定资源的时候进行身份认证,那末网络管理员只要配置认证服务器就可以了。但是若希翼对员工使用网络的情况进行记录,那末还需要配置计费服务器。如上所述,AAA是一种管理框架,它提供了授权部份实体去访问特定资源,同时可以记录这些实体操作行为的一种安全机制,因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。AAA可以通过多种协议来实现,目前设备支持基于RADIUS协议、HWTACACS协议或者LDAP协议来实现AAA,在实际应用中,最常使用RADIUS协议。RADIUS协议简介RADIUS(RemoteAuthenticationDial-InUserService,远程认证拨号用户服务)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。该协议定义了基于UDP的RADIUS帧格式及其消息传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入、ADSL接入。它通过认证授权来提供接入服务,通过计费来采集、记录用户对网络资源的使用。客户端/服务器模式
(9)用户结束访问网络资源。
RADIUS报文结构
RADIUS采用UDP报文来传输消息,通过定时器管理机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息的正确收发。RADIUS报文结构如图4所示。
图4RADIUS报文结构
各字段的解释如下:
(1)Code域
长度为1个字节,用于说明RADIUS报文的类型,如表1所示。
61
62
63
64
65
66
67
68
69
70
71
72
属性名称
Acct-Link-Count
Acct-Input-Gigawords
Acct-Output-Gigawords
(unassigned)
Event-Timestamp
(unassigned)
CHAP-Challenge
NAS-Port-Type
表1Code域的主要取值说明
Code
1
2
3
4
5
报文类型
Access-Request认证请
求包
Access-Accept认证接
受包
Access-Reject认证拒绝

Accounting-Request计
费请求包
Accounting-Response
计费响应包
报文说明
方向Client->Server,Client将用户信息传输到Server,
l客户端:RADIUS客户端普通位于NAS设备上,可以遍布整个网络,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
l服务器:RADIUS服务器普通运行在中心计算机或者工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS服务器通常要维护三个数据库,如图2所示:
属性编号
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
属性名称
Framed-Protocol
Framed-IP-Address
Framed-IP-Netmask
Framed-Routing
Filter-ID
Framed-MTU
Framed-Compression
Login-IP-Host
(3)RADIUS服务器对用户名和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受包(Access-Accept);如果认证失败,则返回认证拒绝包(Access-Reject)。由于RADIUS协议合并了认证和授权的过程,因此认证接受包中也包含了用户的授权信息。
(4)RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求包
(Accounting-Request)。
(5)RADIUS服务器返回计费开始响应包(Accounting-Response),并开始计费。
(6)用户开始访问网络资源;
(7)用户请求断开连接,RADIUS客户端向RADIUS服务器发送计费住手请求包(Accounting-Request)。
(8)RADIUS服务器返回计费结束响应包(Accounting-Response),并住手计费。
Login-Service
Login-TCP-Port
(unassigned)
Reply-Message
Callback-Number
Callback-ID
(unassigned)
Framed-Route
Framed-IPX-Network
State
Class
属性编

51
52
53
54
55
56-59
60
Port-Limit
Login-LAT-Port
Tunnel-Type
Tunnel-Medium-Type
Tunnel-Client-Endpoint
Tunnel-Server-Endpoint
Acct-Tunnel-Connection
Tunnel-Password
ARAP-Password
ARAP-Features
RADIUS的基本消息交互流程
用户、RADIUS客户端和RADIUS服务器之间的交互流程如图3所示。图3RADIUS的基本消息交互流程
消息交互流程如下:
(1)用户发起连接请求,向RADIUS客户端发送用户名和密码。
(2)RADIUS客户端根据获取的用户名和密码,向RADIUS服务器发送认证请求包(Access-Request),其中的密码在共享密钥的参预下由MD5算法进行加密处理。
RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参预来完成的,并且共享密钥不能通过网络来传输,增强了信息交互的安全性。此外,为防止用户密码在不安全的网络上传递时被窃取,在传输过程中对密码进行了加密。
RADIUS服务器支持多种方法来认证用户,如基于PPP的PAP、CHAP认证。另外,RADIUS服务器还可以为其它类型的认证服务器提供代理客户端的功能,向其提出认证请求。
图1AAA基本组网结构示意图
当用户想要通过某网络与NAS建立连接,从而获得访问其它网络的权利或者取得某些网络资源的权利时,NAS起到了验证用户或者对应连接的作用。NAS负责把用户的认证、授权、计费信息透传给服务器(RADIUS服务器或者HWTACACS服务器),RADIUS协议或者HWTACACS协议规定了NAS与服务器之间如何传递用户信息。
l类型(Type),1个字节,取值为1~255,用于表示属性的类型,表2
列出了RADIUS认证、授权、计费常用的属性。
l长度(Length),表示该属性(包括类型、长度和属性)的长度,单位为字节。
l属性值(Value),表示该属性的信息,其格式和内容由类型和长度决定,最大长度为253字节。
表2RADIUS属性
相关文档
最新文档