什么是keytab?

问题描述:

我想了解Kerberos是如何工作的,所以遇到这个名为Keytab的文件,我相信这个文件用于KDC服务器的身份验证。什么是keytab?

就像kerberos领域中的每个用户和服务(称为Hadoop)都有一个服务主体,每个用户和服务都有一个keytab文件吗?

另外,使用密钥表进行身份验证可以使用对称密钥密码术还是公私钥?

+0

https://web.mit.edu/kerberos/krb5-1.15/doc/basic/keytab_def.html plus https://web.mit.edu/kerberos/krb5-1.15/doc/admin/conf_files/kdc_conf支持加密类型的.html#加密类型。 –

+0

用户在认证时可以输入他/她的密码。服务不能。因此需要将密码保存在文件中。参看https://docs.google.com/presentation/d/13ZOkGCbryhv8BgBbvJG5AwZNnkTd-hyth5x7Tj5zhp0/edit#slide=id.p27第15页(如果您想在Hadoop中熟悉Kerberos,整个演示文稿是必读内容世界)。 –

要回答您的两个问题,每个用户和服务都不需要密钥表文件,密钥表使用对称密钥密码术。我将根据我的理解,对使用Active Directory作为目录服务的Windows和非Windows系统的混合网络中如何使用keytabs进行说明。如果目录服务是AD以外的最受欢迎的目录服务,那么我不太了解如何使用密钥表,但我想象的概念将完全相同,因为它都基于Kerberos 。同样,在企业网络中,每个用户和服务都不需要keytab文件。密钥标签是密码文件,其中包含服务及其长期密钥(Samson称为密码)的表示,因为它存在于目录服务中。在Active Directory域中,keytabs对于在受Kerberos协议保护的非Windows平台上运行的服务特别有用。 Keytabs用于(1)将入站AD用户的Kerberos服务票证解密到服务中,或者(2)将服务本身认证到网络上的其他服务。第2点特别有用,因为正如Samson所说,服务不能手动输入密码来验证自己,所以长期密钥被有用地编码到文件中。这就是为什么keytab文件本身很敏感并需要保护。有关keytabs的更多深入信息,可以在这里阅读关于keytabs的更多信息:Kerberos Keytabs – Explained。我经常回过头来根据我在这个论坛看到的问题进行编辑。

+0

非常感谢!那么,keytab文件的格式是什么? – ak0817

+0

您不需要担心,因为密钥表创建语法为您构建密钥表。如果您在创建密钥表后以任何方式修改密钥表,按照我的经验,您将使其失效并且不再有效。我的文章详细讨论了keytab的语法和格式。我刚刚根据你在这篇文章中提出的问题编辑并添加了一些额外的细节。但是,我已经回答了你的两个原始问题。 –

+0

嗨;如果我们回答了您的问题,请将其标记为会将其验证给社区中的其他人;否则,请告诉我们,如果有的话。 –