1. 引言
"The Terminal Access Controller Access-Control System Plus (TACACS+) Protocol" [RFC8907] 通过一个或多个集中式 TACACS+ 服务器, 为路由器, 网络访问服务器以及其他联网计算设备提供设备管理. 该协议在设备管理用例中为 TACACS+ 客户端提供认证 (authentication), 授权 (authorization) 和计费 (accounting) 服务 (AAA).
该协议承载的内容高度敏感, 需要安全传输来保护部署. 然而, TACACS+ 对 TACACS+ 服务器与客户端之间的连接和网络流量缺少有效的机密性 (confidentiality), 完整性 (integrity) 和认证能力. [RFC8907] Section 4.5 中描述的安全机制极其薄弱.
为解决这些缺陷, 本文档更新 TACACS+ 协议, 使其使用 TLS 1.3 认证和加密 [RFC8446], 并废止 TACACS+ 混淆机制的使用. TLS 1.3 及更高版本的成熟度使其成为 TACACS+ 协议的合适选择.
2. 技术定义
[RFC8907] Section 3 中定义的术语在此完全适用, 本文档不再重复. 本文档还使用以下术语.
混淆 (Obfuscation): TACACS+ 最初旨在包含一种保护其分组正文的机制. 该算法在 [RFC8907] Section 10.5.2 中被归类为混淆. 使用该术语是为了确保此算法不会被误认为是加密. 它不应被视为安全机制.
非 TLS 连接 (Non-TLS connection): 该术语指 [RFC8907] 中定义的连接. 它是不使用 TLS 的连接, 使用不安全的 TACACS+ 认证和混淆, 或者使用用于测试的非混淆选项. 众所周知的 TCP/IP 主机端口号 49 被指定为非 TLS 连接的默认端口.
TLS 连接 (TLS connection): TLS 连接是带有 TLS 认证和加密的 TCP/IP 连接, TACACS+ 使用该连接进行传输. TACACS+ 的 TLS 连接始终建立在一个 TACACS+ 客户端和一个 TACACS+ 服务器之间.
TLS TACACS+ 服务器 (TLS TACACS+ server): 本文档描述 [RFC8907] Section 3.2 中引入的 TACACS+ 服务器变体, 它使用 TLS 进行传输, 并进行一些相关的协议优化. 两种服务器变体都会响应 TACACS+ 流量, 但本文档特别将 TACACS+ 服务器, 无论是 TLS 还是非 TLS, 定义为绑定到特定 IP 地址或主机名上的特定端口号. 此定义在 TACACS+ 客户端配置环境中很重要, 可确保客户端将其流量定向到正确的 TACACS+ 服务器.
对等方 (Peer): 在 TACACS+ 连接的上下文中, TACACS+ 客户端或服务器的对等方是 TACACS+ 服务器或客户端. TACACS+ 连接的两端合称为对等方.
2.1. 规范性语言
当且仅当本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" 和 "OPTIONAL" 以此处所示的全大写形式出现时, 它们应按照 BCP 14 [RFC2119] [RFC8174] 中的说明进行解释.