什么是密钥表?

What is a keytab exactly?

我试图了解 Kerberos 的工作原理,因此遇到了这个名为 Keytab 的文件,我认为它用于对 KDC 服务器进行身份验证。

就像 kerberos 领域中的每个用户和服务(比如 Hadoop)都有一个服务主体,是否每个用户和服务都有一个密钥表文件?

此外,使用 keytab 的身份验证是否适用于对称密钥加密或 public-私钥?

为了回答你的两个问题,每个用户和服务都不需要密钥表文件,密钥表使用对称密钥加密。

我将根据我对如何在使用 Active Directory 作为目录服务的 Windows 和非 Windows 系统的混合网络中使用密钥表的理解进行更多解释。如果目录服.同样,在企业网络中,每个用户和服务都不需要密钥表文件。

Keytabs 是加密文件,包含服务的表示及其存在于目录服务中的长期密钥(Samson 称之为密码)。在 Active Directory 领域中,密钥表对于受 Kerberos 协议保护的非 Windows 平台 上的服务 运行 特别有用。

Keytabs 用于

  1. 将入站 AD 用户的 Kerberos 服务票证解密到服务
  2. 或向网络上的另一服务验证服务本身。

第 2 点特别有用,因为正如 Samson 所说,服务无法手动输入密码来验证自身,因此将长期密钥编码到文件中很有用。这就是为什么 keytab 文件本身很敏感,需要保护的原因。

有关密钥表的其他深入信息,您可以在此处阅读有关密钥表的更多信息:Kerberos Keytabs – Explained

我经常根据我在这个论坛看到的问题回去编辑它。