AAA协议

关注
义项:网络认证授权计费协议
AAA协议

AAA协议是网络接入与运营中承担认证(Authentication)、授权(Authorization)和计费(Accounting)三项功能的协议总称,它把用户身份核验、权限下发和资源用量记录集中到统一的服务器体系中完成[1]。互联网工程任务组(IETF)在1998年成立AAA工作组并发布RFC 2989等需求文档,为这类协议确立了评估标准[2]。RADIUS是目前部署最广的AAA协议,Diameter则是为弥补其不足而设计的新一代协议[3]。

百科 图文
目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

AAA协议是网络系统中用于完成认证、授权和计费三类功能的一组协议的统称。认证指在使用网络资源时对用户身份作出确认,授权指决定被认证的用户可以以何种方式使用哪些资源,计费则指收集和记录用户对网络资源的占用情况,用于收费或审计[3]。三者共同实现对特定用户资源使用情况的准确记录,既保障合法用户的权益,也保障网络系统安全可靠地运行[3]。

国际电信联盟在ITU-T Y.2703建议书中把这三项功能表述为:认证用于在最终用户获准接入网络前验证其身份,授权用于界定其应享有的特权和业务,计费则提供衡量资源消耗的手段[1]。按该建议书的描述,AAA业务系统由AAA服务器和AAA客户机两部分构成,服务器可访问用户资料与配置数据,并与置于网元上的客户机及路由器通信,从而以分布式方式提供AAA业务[1]。

原理

主流AAA协议采用客户端-服务器模型。以RADIUS为例,网络接入服务器(NAS)充当客户端,负责把用户信息传递给指定的RADIUS服务器,再根据返回的响应决定是否放行[4]。服务器接收连接请求、验证用户身份,并返回客户端交付业务所需的配置信息[4]。客户端与服务器之间通过共享密钥相互认证,该密钥不在网络上传输;用户口令在传输时经过加密处理[4]。

RADIUS的全部交互都由可变长度的「属性-长度-值」三元组组成,新增属性值不会影响已有的协议实现,这种设计使其具备可扩展性[4]。其报文头部依次包含类型码、标识码、报文总长和16字节的验证码,验证码用于证明发送方未被伪造、内容未被篡改,标识码由客户端设定并被服务器原样回抄,以便客户端将响应与先前的请求对应起来[5]。

Diameter作为对等协议,任一节点都可以发起请求。它把认证、授权、计费三项功能完全分开,通过属性值对(AVP)承载数据,并支持能力协商、错误通知以及代理、中继和重定向等消息转发方式,可为用户会话和计费提供基础服务[6]。

发展历程

RADIUS由Livingston公司于1991年开发,最初面向拨号用户的认证与计费,后被IEEE 802相关标准与IETF标准采纳[7]。其认证与授权部分定义于RFC 2865,计费部分由RFC 2866描述,两份RFC均于2000年6月发布[4]。RADIUS不限定于某家企业的知识产权,逐渐成为互联网AAA领域事实上的国际标准,并被广泛部署在企业无线网络、虚拟专用网和互联网服务提供商基础设施中[8]。

互联网工程任务组于1998年设立AAA工作组,着手为网络接入制定认证、授权与计费的需求与评估标准,其工作建立在早期接入厂商的实践之上[9]。2000年11月发布的RFC 2989汇总了来自NASREQ、ROAMOPS和移动IP等工作组的需求,从可扩展性、故障倒换、客户端与服务器双向认证、实时计费等方面给出AAA协议的评估准则[2]。

为解决RADIUS在复杂网络下的局限,Diameter被提出并被AAA工作组确认为新一代AAA协议。2003年9月,Diameter基础协议成为标准,其编号先为RFC 3588,后由RFC 6733取代[10]。该协议提供AAA基础规范并包含计费支持,可通过新增命令或属性值对扩展出移动IPv4、网络接入等应用[10]。

应用

AAA协议最典型的场景是接入控制:用户或设备提出接入请求,AAA客户机请求AAA服务器完成认证,服务器验证凭证后转入授权流程,再把允许接入的信息逐级返回[1]。用户与网络、业务连接之后,每个AAA客户机都会通知其AAA服务器有关用户资源耗费的信息,以便服务器汇总该用户的计费数据[1]。

在运营商网络中,RADIUS用于宽带用户认证,如数字用户线、光纤和固定无线场景下PPPoE与IPoE会话的建立,也用于企业及公共无线保真热点的802.1X接入控制、移动虚拟网络运营的接入管理以及虚拟专用网远程接入[11]。Diameter则成为4G/LTE核心网的信令协议,承担移动管理实体与归属用户服务器之间的认证与签约数据交互、策略与计费控制以及在线计费等功能,在5G非独立组网和4G与5G互通的网关中仍有使用[11]。

除上述两者外,终端访问控制器访问控制系统增强版(TACACS+)也提供类似的AAA功能,但它把三项功能拆分为独立的协议交互,主要面向网络设备管理人员的身份验证,而非接入网络的用户[8]。

局限

RADIUS在设计上存在若干结构性弱点。它不为响应之外的报文提供完整性保护,不支持逐包机密性,代理、重定向和中继的行为未被标准化定义,因而缺乏代理链的标准规范[12]。该协议也不允许服务器主动发起消息,因此无法实现按需认证和非请求式断开连接,同时不支持错误消息与能力协商,属性的强制与非强制标志也未定义[12]。

RADIUS运行于UDP之上,可靠性因实现而异,计费报文丢失可能导致收入损失;协议本身未定义标准的故障倒换机制,计费重放保护被假定由服务器承担而非由协议提供[12]。其服务器名称和地址需在客户端手工配置,带来管理负担,也容易诱发共享密钥的重复使用[12]。

Diameter虽然在可靠性、漫游、服务质量协商和会话状态管理上有所增强,但RFC 6733同时指出,并不存在能普遍满足所有应用的通用AAA协议,新应用的设计者必须在使用前弄清自身的需求[10]。RFC 2989所列的可扩展性要求也说明,此类协议须能支撑数以百万计的用户和数以万计的同时请求,以及在故障时切换到备用服务器的机制,这些都属于协议必须满足而非可选的能力[2]。

参见

  • RADIUS —— 目前部署最广泛的AAA协议,认证与授权定义于RFC 2865,计费由RFC 2866描述

  • Diameter —— 为弥补RADIUS不足而设计的新一代AAA协议,基础协议编号为RFC 6733

  • TACACS+ —— 同为AAA协议的实现,将三项功能拆分为独立交互,主要用于网络设备管理

  • 互联网工程任务组 —— 设立AAA工作组并制定RFC 2989等AAA需求与评估标准的标准化组织

  • 网络接入服务器 —— 在AAA体系中通常充当客户端,代表用户向AAA服务器发起认证与计费请求

参考资料

  1. dologin_pub [引用日期2026-10-14]
  2. Criteria for Evaluating AAA Protocols for Network Access [引用日期2026-10-14]
  3. CN1809072A(PDF) [引用日期2026-10-14]
  4. rfc2865 [引用日期2026-10-14]
  5. 远端用户拨入验证服务 [引用日期2026-10-14]
  6. rfc3588 [引用日期2026-10-14]
  7. epfl.ch 上的网页 [引用日期2026-10-14]
  8. Access protocols | IEEE Technology Navigator [引用日期2026-10-14]
  9. centralized-authentication-services-bill-stackpole [引用日期2026-10-14]
  10. rfc6733 - A.1. This Document [引用日期2026-10-14]
  11. alepo.com 上的网页 [引用日期2026-10-14]
  12. AAA Part II [引用日期2026-10-14]
词条评价
词条统计

浏览次数:3 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-13T21:51:09Z

历史版本

本条目引用的词条
RADIUS Diameter TACACS+ 互联网工程任务组 网络接入服务器