跳到主要内容

3.4. KRB_SAFE 交换

概述

KRB_SAFE 消息为主体之间交换的应用数据提供完整性保护。它不提供机密性 - 数据以明文发送,但受密钥校验和保护。

目的

KRB_SAFE 用于以下情况:

  • 需要完整性保护
  • 不需要机密性
  • 期望比加密更低的开销

消息结构

KRB_SAFE 包含:

  • 用户数据(明文)
  • 时间戳(用于重放检测)
  • 序列号(可选)
  • 发送者和接收者地址(可选)
  • 密钥校验和(提供完整性)

KRB_SAFE 消息的生成

发送者:

  1. 构造包含用户数据的消息
  2. 添加时间戳和可选序列号
  3. 计算整个消息的密钥校验和
  4. 传输带有校验和的消息

KRB_SAFE 消息的接收

接收者:

  1. 使用共享密钥重新计算校验和
  2. 将计算的校验和与接收的校验和进行比较
  3. 验证时间戳(重放保护)
  4. 如果使用则检查序列号
  5. 根据验证结果接受或拒绝消息

安全属性

  • 完整性: 密钥校验和防止篡改
  • 重放保护: 时间戳和序列号
  • 无机密性: 数据以明文传输

参考

完整技术细节请参阅 RFC 4120 第 3.4 节