Kerberos TGT更新

时间:2018-01-03 20:57:07

标签: authentication kerberos

我在更新TGT时的理解是新密钥是使用用户密码(或派生)加密的,以便他们可以解密它。但这意味着必须将密码存储在内存中才能使用新的TGT。

我的问题是:

  1. 我的理解错了吗?是否可以使用旧的TGT密钥加密新的TGT密钥?
  2. 如果密码存储在内存中(因此不再提示用户)为什么要创建可更新的TGT而不只是获得新的TGT?

1 个答案:

答案 0 :(得分:0)

请允许我纠正您对此的理解。 Kerberos的工作原理是将密钥嵌入到票证中,票证有两种类型,TGT和服务票证(ST)。实际密码不存储在内存中,也不会放入票证中。加密机制使用密码的推导加上一些额外的项目来防止人员处于中间并重放攻击。

  1. 新的TGT未使用旧的TGT密钥加密。这是因为部分加密利用时间戳,当然总是会改变。因此,旧的TGT一旦到期就会失效,或者用户请求新的TGT。此外,TGT既不是用用户密码加密的,也不是简单的加密。 TGT使用时间戳和KDC的主密钥加密,后者只有KDC知道。用户无法解密TGT。但是通过拥有它,用户证明他是他所说的知识,因为当他第一次请求TGT时,他已经通过发送一个基本上是他的密码,时间戳和一些哈希的验证器证明了他自己的身份。其他项目(如IP地址)。
  2. 密码永远不会存储在内存中,默认情况下TGT可以更新。仅当已发出TGT的帐户即将过期或已被禁用时,该帐户的用户才能获得新的TGT。重要的是要意识到无缝单点登录体验的一部分意味着TGT默认是可更新的。虽然TGT更新了#34;但它实际上是一个全新的TGT。可更新标志只是意味着为该用户获得新的TGT是可以的。如果您查看此网络跟踪,您将看到它是一张新票证。最后,由于密码的哈希值从不存储在内存中,因此唯一可以理解确认/验证除用户之外的此哈希值的实体是KDC。
  3. 作为仅供参考,我还建议您修改帖子并添加“身份验证”。标签,以提供更广泛的受众。

    How Kerberos works
    Diagram pictured above taken courtesy of computerworld.com

    参考文献:
    Kerberos: An Authentication Service for Computer Networks
    Kerberos Authentication Protocol

相关问题