CAS 中的 Kerberos 服务票证 (ST) 有何意义?

What is the point of the Kerberos Service Ticket (ST) in CAS?

在 CAS 中,您有票证授予票证 (TGT) 和服务票证 (ST)。如果您已经拥有 TGT,我不明白为什么还需要 ST。您可以简单地验证 TGT 和 return 为 TGT 所有者向客户端授权的绿灯。

那么为什么我们需要在名为 ST 的 TGT 旁边加一张票?

在 Kerberos 世界中,服务票证 (ST) 提供对应用程序服务的访问,例如某些服务器上的 HTTP 或 SSH 服务 运行。此类示例中的实际 HTTP 或 SSH 服务被视为受保护资源 - 您必须通过提供 Kerberos 服务票证向该服务证明您的身份。现在,让我们退后一步。为了从 KDC 获得任何服务票证,您必须拥有 TGT。 TGT 是 Kerberos 客户端向 KDC 证明其身份以获取 ST 的机制,而 ST 是 Kerberos 客户端向目标资源(应用程序服务器)证明其身份的机制。应用程序服务器不验证 Kerberos 客户端的 TGT,它们验证 ST。 Kerberos 客户端可以是用户、计算机,甚至是服务。虽然 Kerberos 可移植到任何总体身份验证框架体系结构,但它的设计是为了在内部网络内部而不是在 Web 上使用。参考:Kerberos: An Authentication Service for Computer Networks

我怀疑这个 2-fold 门票生成过程是一种手段:

  • 刷新身份验证,无需重复输入凭据(弱)

所以 TGT 很像 JWT 中的刷新令牌。