3.2. 客户端/服务器认证交换
概述
客户端/服务器 (CS) 认证交换用于客户端希望使用从 TGS 获得的服务票据向应用服务器进行认证的情况。
消息流
- KRB_AP_REQ: 客户端向应用服务器发送认证请求
- 包含服务票据
- 包含认证器(使用会话密钥加密)
- KRB_AP_REP: 来自服务器的可选相互认证响应
KRB_AP_REQ 消息
组件
- 票据 (Ticket): 使用服务器长期密钥加密,包含:
- 客户端身份
- 会话密钥
- 有效期
- 认证器 (Authenticator): 使用会话密钥加密,包含:
- 客户端主体名称
- 时间戳
- 可选的子会话密钥
生成过程
客户端构造认证器并将其与票据打包以传输到应用服务器。
接收和验证
应用服务器:
- 使用其长期密钥解密票据
- 提取会话密钥
- 解密并验证认证器
- 检查时间戳以防止重放
KRB_AP_REP 消息
目的
提供相互认证 - 向客户端证明服务器拥有会话密钥。
生成
服务器创建使用会话密钥加密的回复,包含来自客户端认证器的时间戳。
接收
客户端验证时间戳以确认服务器拥有会话密钥。
使用加密密钥
认证成功后,会话密钥(或可选的子会话密钥)可用于:
- 加密后续消息
- 提供完整性保护
- 建立安全通道
参考
完整技术细节请参阅 RFC 4120 第 3.2 节。