为什么 Kerberos 需要票证授予服务器?

为什么 Kerberos 需要票证授予服务器?

这可能是一些基本问题,但我找不到确切的说法。为什么 KDC 不能进行身份验证然后直接提供服务票证。是出于安全性还是性能或其他原因?由于用户不会在每次请求服务时都登录,并且假设他们会长时间保持登录状态,因此 AS 似乎并不那么繁忙。为什么它们必须分开?

答案1

当您最初获得票证(通过向 KDC 申请票证)时,您会获得 TGT,即票证授予票证。然后,您可以使用它来联系票证授予服务器以申请应用程序或其他票证。

在我亲身体验过的每个系统中,KDC 和 TGS 都是同一台机器,实际上是同一个应用程序。但是,我 100% 的经验在于开源 MIT 和 Heimdal 服务。在这种情况下,再次根据我的经验,这两项服务都是在同一个二进制文件中执行的。

答案2

谢谢你们指出 KDC 基本上只是一台机器。我读了更多资料,发现了为什么它对于协议至关重要。我之前提到的是可能的。由于 AS 和 TGS 使用相同的数据库,AS 可以提供服务票据,但它用于只需要一项服务的用户(但它会破坏单点登录)。我不明白 TGT 是让人们保持登录状态的东西。

此外,TGS 提供的服务票证必须在两分钟内送达应用服务器。而 TGT 的生命周期更长,而且可以重放

感谢完美教程这里

答案3

我相信这是为了实现冗余 - 理论上你可以拥有一堆 TGS 和一堆 KDC(因为它们有不同的工作负载),尽管我从未见过每个 KDC 不是 TGS 且反之亦然的设置。

相关内容