密钥分发中心

密钥分发中心 (KDC) 作为域服务实现。 它使用 Active Directory 作为其帐户数据库,并使用全局目录将引荐定向到其他域中的 KDC。

Kerberos 协议的其他实现一样,KDC 是一个提供两项服务的单个进程:

  • 身份验证服务 (AS)

    此服务 (TGT) 颁发票证授予票证,以连接到其自己的域或任何受信任域中的票证授予服务。 客户端必须从客户端帐户域中的身份验证服务请求 TGT,然后才能请求另一台计算机的票证。 身份验证服务返回目标计算机域中票证授予服务的 TGT。 TGT 可以重复使用,直到过期,但首次访问任何域的票证授予服务始终需要访问客户端帐户域中的身份验证服务。

  • Ticket-Granting服务 (TGS)

    此服务会颁发与其自己域中的计算机连接的票证。 当客户端想要访问计算机时,他们会联系目标计算机域中的票证授予服务,提供 TGT,并请求向计算机提供票证。 票证可以重复使用,直到过期,但首次访问任何计算机始终需要访问目标计算机的帐户域中的票证授予服务。

域的 KDC 与域的 Active Directory 一样位于域控制器上。 这两项服务都由域控制器的 本地安全机构 (LSA) 自动启动,并作为 LSA 过程的一部分运行。 两个服务都不能停止。 如果 KDC 对网络客户端不可用,则 Active Directory 也不可用,并且域控制器不再控制域。 系统通过允许每个域具有多个域控制器(所有对等方)来确保这些和其他域服务的可用性。 任何域控制器都可以接受发送到域 KDC 的身份验证请求和票证授予请求。

KDC 在任何域中使用 的安全主体 名称为“krbtgt”,由 RFC 4120 指定。 创建新域时,会自动创建此安全主体的帐户。 无法删除帐户,也不能更改名称。 在创建域期间,系统会自动将随机密码值分配给帐户。 KDC 帐户的密码用于派生用于加密和解密其颁发的 TGT 的加密密钥。 域信任帐户的密码用于派生加密引荐票证的领域间密钥。

域内 KDC 的所有实例都对安全主体“krbtgt”使用域帐户。 客户端通过包括服务的主体名称“krbtgt”和域名称,将消息寻址到域的 KDC。 这两个信息项也用于票证中,以标识发证机构。 有关名称窗体和寻址约定的信息,请参阅 RFC 4120