跳到主要内容

5.7. KRB_PRIV 消息规范

5.7. KRB_PRIV Message Specification​

本节规定了一种消息的格式,应用(客户端或服务器)的任一方都可使用该消息,以安全且保密地向其对端发送消息。它假定此前已经交换过会话密钥(例如,通过使用 KRB_AP_REQ/KRB_AP_REP 消息)。

5.7.1. KRB_PRIV Definition​

KRB_PRIV 消息包含使用会话密钥(Session Key)加密的用户数据。消息字段如下:

   KRB-PRIV        ::= [APPLICATION 21] SEQUENCE {
pvno [0] INTEGER (5),
msg-type [1] INTEGER (21),
-- NOTE: there is no [2] tag
enc-part [3] EncryptedData -- EncKrbPrivPart
}
   EncKrbPrivPart  ::= [APPLICATION 28] SEQUENCE {
user-data [0] OCTET STRING,
timestamp [1] KerberosTime OPTIONAL,
usec [2] Microseconds OPTIONAL,
seq-number [3] UInt32 OPTIONAL,
s-address [4] HostAddress -- sender's addr --,
r-address [5] HostAddress OPTIONAL -- recip's addr
}

pvno 和 msg-type

这两个字段已在第 5.4.1 节中说明。其中 msg-type 的值为

KRB_PRIV。

enc-part

此字段保存 EncKrbPrivPart 序列的编码,该序列使用会话密钥加密,密钥用途取值为 13。

此加密编码用于 KRB-PRIV 消息的 enc-part 字段。

user-data、timestamp、usec、s-address 和 r-address

这些字段已在第 5.6.1 节中说明。

seq-number

此字段已在第 5.3.2 节中说明。