3.4. KRB_SAFE 交换
概述
KRB_SAFE 消息为主体之间交换的应用数据提供完整性保护。它不提供机密性 - 数据以明文发送,但受密钥校验和保护。
目的
KRB_SAFE 用于以下情况:
- 需要完整性保护
- 不需要机密性
- 期望比加密更低的开销
消息结构
KRB_SAFE 包含:
- 用户数据(明文)
- 时间戳(用于重放检测)
- 序列号(可选)
- 发送者和接收者地址(可选)
- 密钥校验和(提供完整性)
KRB_SAFE 消息的生成
发送者:
- 构造包含用户数据的消息
- 添加时间戳和可选序列号
- 计算整个消息的密钥校验和
- 传输带有校验和的消息
KRB_SAFE 消息的接收
接收者:
- 使用共享密钥重新计算校验和
- 将计算的校验和与接收的校验和进行比较
- 验证时间戳(重放保护)
- 如果使用则检查序列号
- 根据验证结果接受或拒绝消息
安全属性
- 完整性: 密钥校验和防止篡改
- 重放保护: 时间戳和序列号
- 无机密性: 数据以明文传输
参考
完整技术细节请参阅 RFC 4120 第 3.4 节。