这可能是一些基本的东西,但我找不到一个特定的声明。 为什么不能KDCauthentication,然后直接提供服务票证。 是关于安全还是性能呢还是其他的东西? 由于用户在每次请求服务时都没有login,所以他们可能会长时间保持login状态,因此看起来并不那么繁忙。 为什么他们必须分开?
当您最初获得一张票(通过向KDC申请一张票),您将得到一张TGT或票证授予票。 然后用于联系票证授予服务器来请求应用程序或其他票据。
在我亲身体验过的每个系统中,KDC和TGS都是同一台机器,实际上是同一个应用程序。 但是,我的经验100%来自于开源的MIT和Heimdal服务。 在这种情况下,再次以我的经验,这两个服务都是在同一个二进制文件中执行的。
谢谢你们指出KDC大多只是一台机器。 我做了一些更多的阅读,我发现为什么协议是必要的。 我之前提到的是可能的。 由于AS和TGS使用相同的数据库,因此AS可以提供服务票据,但是它仅用于只需要一个服务的用户(但打破了Single Sign-On)。 我不明白TGT是让人login的东西。
此外,TGS提供的服务票据必须在两分钟内交付给应用程序服务器。 TGT的寿命更长,可以重播
感谢这里的完美教程
这是为了让冗余,我相信 – 理论上你可以有一堆TGS和一堆KDC(因为他们有不同的工作量),虽然我从来没有看到每个KDC不是一个TGS,反之亦然。