dor*_*thy 6 windows kerberos active-directory jaas keytab
希望更多地了解kinit和keytab文件的使用.例如,如果我已经为服务生成了一个keytab文件(通过ktpass -mapuserto 注册到活动目录的服务someuseraccount)
ktab -k "mykeytab" -a <someprincipal>
Run Code Online (Sandbox Code Playgroud)
当用户调用USERA登录到Windows并使用此密钥表作为kinit的输入参数时,真正发生了什么?
kinit -k -t "mykeytab" <someprincipal>
Run Code Online (Sandbox Code Playgroud)
是否 为当前登录kinit生成初始凭据?someprincipalUSERA
希望你能清除我的这种困惑.谢谢
Fre*_*Dog 10
这掩盖了许多重要的细节,但基本上你从KDC得到的只是一个加密的blob.
kerberos KDC不会存储您的密码,而是存储密钥.如果您知道幕后发生的事情是您要求KDC索要更多kerberos门票,它会使用您的密钥加密该门票.
如果您知道密钥,则可以解密blob并使用它来访问其他服务.
当您使用密码进行kinit时,kerberos使用"字符串到密钥"算法将您的密码转换为KDC使用的密钥.密钥表只是将密钥存储在本地文件中的方法.
因此,当您使用密钥表进行kinit时,它会使用密钥表中的密钥来解密blob.就kerberos协议而言,使用keytab进行kinit和使用密码之间确实没有区别.两者最终都使用相同的密钥来解密票证.
因此,在使用keytab for kinit之后,您将在keytab中获得主体的kerberos票证.与kinit一起使用的密钥表可以被认为是在文件中存储密码.
| 归档时间: |
|
| 查看次数: |
12845 次 |
| 最近记录: |