一、概述
1、AAA的概念
AAA指的是Authentication(鉴别),Authorization(授权),Accounting(计费)。自网络(特别是互联网)诞生以来,认证、授权以及计费体制(AAA)就成为其运营的基础,它形成了经典的网络访问控制的安全框架。网络中各类资源的使用,需要由认证、授权和计费进行管理,对于一个网络系统来讲,AAA机制的实施,确保了网络的安全正常运营;确保了网络资源的有效使用,确保了网络效益的合理产生。
AAA 是一个三步走的网络安全管理机制,用于控制用户对网络资源的访问、使用并跟踪其使用情况。其中:
鉴别(Authentication)指用户在使用网络系统中的资源时对用户身份的确认。这一过程,通过与用户的交互获得身份信息(诸如用户名-口令组合、生物特征获得等),然后提交给认证服务器(也称AAA服务器);认证服务器对身份信息与存储在数据库里的用户信息进行核对处理,然后根据处理结果确认用户身份是否正确。例如,用户访问某网站需要先登录,需要填写用户名和密码等信息,便是一个鉴别过程。
授权(Authorization)是指网络系统授权用户以特定的方式使用其资源,这一过程指定了被认证的用户在接入网络后能够使用的业务和拥有的权限,如授予的IP地址等。仍以用户访问网站为例,认证通过的合法用户,其访问的业务权限则是用户在注册时的会员级别所确立的。
计费(Accounting)是指网络系统收集、记录用户对网络资源的使用情况,以便向用户收取资源使用费用,或者用于审计等目的。以互联网接入业务供应商ISP为例,用户的网络接入使用情况可以按流量或者时间被准确记录下来。
在GB/T 5271.8-2001《信息技术 词汇 第8部分 安全》中给出了认证、授权和计费的定义,具体列于下表1-1-1中。AAA是一个严格的“先认证,后授权,再计费”的流程链,三者一起实现了网络系统对特定用户的网络资源使用情况的准确记录。没有成功的认证,就谈不上授权;授权决定了可访问的范围;计费则全程记录和测量。在一定程度上有效地保障了合法用户的权益,又能有效地保障网络系统安全可靠地运行。下表1-1-2是对AAA的更详细的解读。
表 1-1-1:GB/T 5271.8-2001标准中关于认证、授权和计费的定义
表 1-1-2:AAA概念的详细的解读
2、AAA的发展
起初,AAA的发展起源于早期的“终端访问控制器控制系统(TACACS,Terminal Access Controller Access-Control System)协议”(RFC 927),它应是AAA的雏形,1984年起用于美国军事研究机构的在MILNET中实现身份验证自动化。后经相关厂商的改造扩展,产生了TACACS+(RFC 1492),TACACS+还实现了认证、授权和计费流程的相互独立,并且认证和授权可以在不同的服务器上进行,这无疑有助于管理员对用户进行精细管理和控制。
而后,随着互联网早期的发展,为了拨号用户上网进行认证和计费,形成了AAA的新的发展阶段。经相关厂商参照TACACS进行研究,在1991年一家叫Livingston的公司提出了一个冠名为RADIUS(Remote Authentication Dial In User Service,远程认证拨号用户服务)的建议,1992年秋天,IETF的NASREQ工作组成立,随之提交了RADIUS作为草案;很快RADIUS成为事实上的网络接入标准(RFC2058、RFC2138和RFC2865等),几乎所有的网络接入服务器厂商均实现了该协议。
接着,为了适应网络的进一步发展(如IMS网络(3G系统)、移动互联网(4G/5G)系统、云网等的产生出现),IETF又制定了Diameter协议(RFC 3588、RFC 6733等),它是对RADIUS协议的改进(插曲:之所以命名为Diameter,是因为Diameter直译为“直径”,而RADIUS直译为“半径”,寓意为Diameter协议是对RADIUS协议的扩展升级),形成新一阶段的AAA机制,旨在解决RADIUS协议在可靠性、扩展性及安全性方面的不足,以满足新型网络AAA机制的需求(注意:下表1-2-1揭示了IP移动网络对AAA机制的新需求)。
表 1-2-1:IP移动网络对AAA机制的新需求
上述三个协议的诞生背景和发展历程,构建一个清晰地展示AAA技术的演进过程时间线。它们主要是围绕解决网络访问控制的核心问题,并逐步形成标准化框架的过程。下表1-2-2展示了AAA技术的发展脉络。而AAA的发展与变迁自始至终都吸引着网络营运者的目光,因为它考虑到了不同网络融合以及互联网本身的发展。
表 1-2-2:AAA技术的发展脉络
二、AAA的关键技术
AAA(认证/授权/计费)作为网络安全访问控制的核心框架,其关键技术主要围绕三大核心功能的实现机制、协议选择、部署架构以及实际应用展开。
1、三大关键功能
三大核心功能即上述提到的鉴别(Authentication)、授权(Authorization)和计费(Accounting)。这是一个实现过程,即“先认证,后授权,再计费”。从而安全地实现网络的技能与价值,这是用户享受使用网络的必要过程和必经流程(详见下图2-1-1)。
图 2-1-1:AAA的实现过程
给予这个流程的工作机理,它涉及到了三个实体:用户(Client)、网络接入设备(NAS,Network Access Server)和AAA服务器,它们的构成如下图2-1-2所示。网络接入设备(NAS)可以包括路由器、交换机、防火墙、VPN网关、无线AP等,作为AAA的客户端,接收用户请求并转发至服务器。AAA服务器运行相关协议(RADIUS等协议),存储用户信息与策略,处理AAA请求。
图 2-1-2:AAA的实体构成
2、关键协议
目前,AAA机制的实现协议主要是上述提到的发展过程中的三个协议:TACACS+、RADIUS协议和Diameter协议。虽然它们看似具有迭代的关系,但它们各自仍有其所应用的场景。下表2-2-1列出了三个协议特性的简单比较。
表 2-2-1:实现AAA机制的三个协议特性的简单比较
RADIUS协议目前是AAA机制的流行协议,得到了广泛的应用,属于标准协议。最初为拨号网络设计,现已扩展到所有网络的接入场景。由IETF RFC 2865等标准定义:客户端/服务器(C/S)模型;使用UDP协议(端口1812认证/授权(将认证和授权过程捆绑在一起)、1813计费);仅对密码进行加密,报文其它部分不加密(存在一定安全风险);等等。下表2-2-2简述了RADIUS协议的工作原理过程。
表 2-2-2:RADIUS协议的工作原理过程简述
欲详细了解RADIUS协议介绍的请进入。
TACACS+协议主要在企业网络设备管理(如管理员登录交换机)中流行,属于私有协议。起初为美国军用网络设计称为TACACS,后经Cisco公司扩展改造称为TACACS+(注:华为公司也对TACACS进行了扩展称为HWTACACS)。它使用TCP协议(端口49),将认证、授权、计费三个过程完全分离,架构更模块化、灵活;对整个报文主体进行加密,安全性更高;更精细的命令级授权(如,允许管理员执行 show 命令,但不允许执行 reload 命令);等等。
欲详细了解TACACS协议介绍的请进入。
Diameter协议是AAA机制的新一代协议,由RADIUS协议演进而来或称其增强版,旨在解决RADIUS在复杂现代网络(如4G/5G移动网络、IMS等)中的局限性。由RFC 3588、RFC 6733等标准所规范:使用TCP或SCTP协议,支持故障转移和可靠性传输;内置对安全(TLS/IPsec)的强制支持;更强的扩展性,通过定义新的“应用”来支持各种服务(如移动IP、VoIP);支持对等体间的直接通信,而不仅是客户端/服务器模式;等等。
欲详细了解Diameter协议介绍的请进入。
三、AAA机制的现代应用场景
AAA机制除广泛用于常规的网络接入控制外,还可应用多种现代网络服务与场景:
1、云与零信任网络
在云原生和零信任架构中,AAA原则依然是核心,但实现方式更加动态和上下文驱动。认证(Authentication)广泛使用SAML、OIDC、OAuth 2.0等联合身份认证协议,实现单点登录(SSO)。授权(Authorization)使用ABAC模型和策略引擎(如Open Policy Agent)变得更流行,能够根据实时上下文(设备健康状态、地理位置、行为基线)进行动态授权决策。计费(Accounting)将所有访问日志被集中收集到SIEM系统或云日志服务中,用于实时威胁检测和合规审计。
2、微服务与API安全
服务间的API调用也需要AAA。认证/授权常用API密钥、JWT令牌,并通过OAuth 2.0的客户端凭证等模式进行权限管理。计费对API调用次数、数据量进行计量,是SaaS和云API服务计费的基础。
3、物联网
海量物联网设备接入网络,需要轻量级的AAA方案。它将使用基于证书的认证(如TLS双向认证)或轻量级协议(如MQTT over TLS)。授权需控制设备能发布/订阅哪些主题,能访问哪些数据。
从传统的RADIUS/TACACS+到现代的零信任与云原生架构,AAA的核心思想始终未变,但其技术实现不断演进,以适应更复杂、更动态、更分布式的新环境。理解AAA是理解和设计任何网络访问控制系统的基础。
欲进一步了解IPsec介绍的请进入。