Kerberos 凭证缓存的“keyblock”部分的用途是什么

Kerberos 凭证缓存的“keyblock”部分的用途是什么

MIT Kerberos 的文档解释了这里凭证缓存文件的格式。它基本上包括:

  • 标题
  • 有关 REALM 和用户的信息
  • A键块
  • 关于机票到期的信息
  • 授权数据
  • 门票本身

我弄清楚了大部分组件的用途,但仍然不明白键块是。它是使用 Kerberos 进行身份验证所必需的一些加密 blob。我一直在查阅文档和许多其他资源以了解这一点,但找不到明确的答案。它可能是加密的时间戳,以避免重放攻击,也可能是校验和。但我不确定。

有人知道这个区块的用途是什么吗?它编码了什么样的信息?

答案1

密钥块是保存密钥的块!您链接的页面上的抽象符号可以很好地告诉您字节数和二进制结构等信息,但对于了解它们为什么是这样的却不太好。

文件类型凭证缓存由3部分组成:

  1. 标头
  2. 默认主体
  3. 凭证顺序

我们感兴趣的是凭证的格式。凭证的一个成员是键块你想了解的。让我们来看看文档的另一部分。在这里我们可以看到序列化以生成 ccache 的结构(有点神奇)。我们可以看到 keyblock 包含“会话加密密钥信息”。

键块不是加密数据,它是用于加密数据的密钥(即用户会话密钥)。如果你想知道其中编码了什么样的信息,你可以查看其成员它由3部分组成:是什么类型的密钥、密钥的长度以及密钥材料本身。

要了解更多信息,你一定要看看代码。你似乎正在尝试反转 ccache 格式,为什么要重新发明轮子呢。还有一些GNU 文档我想你会觉得它很有用。

相关内容