首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对密钥表文件使用kinit时会发生什么

对密钥表文件使用kinit时会发生什么
EN

Stack Overflow用户
提问于 2014-08-11 17:49:46
回答 1查看 27.2K关注 0票数 11

希望对kinit和keytab文件的使用有更多的了解。例如,如果我已经有一个为服务生成的密钥表文件(该服务通过ktpass -mapuser to someuseraccount注册到active directory )

代码语言:javascript
复制
ktab -k "mykeytab" -a <someprincipal>

当一个叫USERA的用户登录到Windows并使用这个keytab作为kinit的输入参数时,幕后到底发生了什么?

代码语言:javascript
复制
kinit -k -t "mykeytab" <someprincipal>

kinit是否为someprincipal或当前登录的USERA生成初始凭据?

希望你能澄清我的困惑。谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-12 07:11:57

这掩盖了许多重要的细节,但基本上您从KDC得到的都是一个加密的blob。

kerberos KDC不存储您的密码,而是一个密钥。当您在幕后向KDC请求票证以请求更多kerberos票证时,它会使用您的密钥对该票证进行加密。

如果您知道自己的密钥,就可以解密blob并使用它来访问其他服务。

当您使用密码启动时,kerberos使用"string to key“算法将您的密码转换为KDC使用的密钥。密钥表只是将密钥存储在本地文件中的手段。

因此,当您使用密钥表激活时,它将使用密钥表中的密钥来解密blob。就kerberos协议而言,使用keytab来激活和使用密码并没有什么区别。两者最终都使用相同的密钥来解密票证。

因此,在为kinit使用keytab之后,在keytab中就有了主体的kerberos票证。与kinit一起使用的keytab可以被认为是将密码存储在文件中。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25240416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档