AAA (Authentication Authorization Accounting )是一种提供认证、授权和计费的技术。
认证( Authentication ):验证用户是否可以获得访问权,确定哪些用户可以访问网络。
授权( Authorization ):授权用户可以使用哪些服务。
计费( Accounting ):记录用户使用网络资源的情况。】
AAA 通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于集中管理用户信息。
1.认证
不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。
本地认证:将用户信息配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降 低成本,缺点是存储信息量受设备硬件条件限制。
远端认证:将用户信息配置在认证服务器上。支持通过 RADIUS(Remote Authentication Dial In User Service)协议或 HWTACACS(HuaWei Terminal Access Controller Access Control System)协议进行远端认证。
如果在一个认证方案中采用多种认证模式,将按照配置的顺序进行认证。当配置的认证方式是先远端认证后本地认证时,如果登录的帐号在远端服务器上没有创建,但是在本地是存在的,经过远端认证时,将被认为认证失败,不再转入本地认证。只有在远端认证服务器无响应时,才会转入本地认证。如果选用了不认证( none )或本地认证( local ),它必须作为最后一种认证模式。
2.授权
AAA 支持以下授权方式:
不授权:不对用户进行授权处理。
本地授权:根据网络接入服务器为本地用户账号配置的相关属性进行授权。
HWTACACS 授权:由 HWTACACS 服务器对用户进行授权。
if-authenticated 授权:如果用户通过了认证,而且使用的认证模式是本地或远端认证,则用户 授权通过。
RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能单独使用 RADIUS 进行授权。
如果在一个授权方案中使用多次授权,授权模式的执行顺序按照配置的先后,只有在当前授权模式没有响应时,才会尝试下一个授权模式,如果授权失败则将不会再进行授权。
3.计费
AAA 支持以下计费方式:
不计费:不对用户计费。
远端计费:支持通过 RADIUS 服务器或 HWTACACS 服务器进行远端计费。
RADIUS 协议
远程认证拨号用户服务 RADIUS(Remote Authentication Dial-In User Service)是一种分布式的、客 户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全 性、又允许远程用户访问的各种网络环境中。该协议定义了基于 UDP 的 RADIUS 帧格式及其消息 传输机制,并规定 UDP 端口 1812、1813 分别作为认证、计费端口。
RADIUS 最初仅是针对拨号用户的 AAA 协议,后来随着用户接入方式的多样化发展,RADIUS 也 适应多种用户接入方式,如以太网接入、ADSL 接入。它通过认证授权来提供接入服务,通过计费 来收集、记录用户对网络资源的使用。
RADIUS 服务器一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负 责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS 客户端一般位于网络接入服务器 NAS(Network Access Server)设备上,可以遍布整个网 络,负责传输用户信息到指定的 RADIUS 服务器,然后根据从服务器返回的信息进行相应处理(如 接受/拒绝用户接入)。
安全机制
RADIUS 客户端和 RADIUS 服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共 享密钥不能通过网络来传输,增强了信息交互的安全性。另外,为防止用户密码在不安全的网络上 传递时被窃取,在传输过程中对密码进行了加密。
HWTACACS 协议
HW 终端访问控制器控制系统协议 HWTACACS(Huawei Terminal Access Controller Access Control System)是在 TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与 RADIUS 协议 类似,采用客户端/服务器模式实现 NAS 与 HWTACACS 服务器之间的通信。
HWTACACS 协议主要用于点对点协议 PPP(Point-to-Point Protocol)和虚拟私有拨号网络 VPDN (Virtual Private Dial-up Network)接入用户及终端用户的认证、授权和计费。其典型应用是对需要 登录到设备上进行操作的终端用户进行认证、授权、计费。设备作为 HWTACACS 的客户端,将 用户名和密码发给 HWTACACS 服务器进行验证。用户验证通过并得到授权之后可以登录到设备 上进行操作。
HWTACACS 协议和 RADIUS 协议的比较
HWTACACS 协议与 RADIUS 协议都实现了认证、授权、计费的功能,它们有很多相似点:结构 上都采用客户端/服务器模式;都使用公共密钥对传输的用户信息进行加密;都有较好的灵活性和 可扩展性。
与 RADIUS 相比,HWTACACS 具有更加可靠的传输和加密特性,更加适合于安全控制。
部分内容节选自:百度文库:华为思科AAA认证解析
助教:马季