小编Mis*_*sch的帖子

Kerberos:分离 AS 和 TGS

在 Kerberos 中,身份验证服务器 (AS) 和票证授予服务器 (TGS) 通常在同一台服务器上实现。这台机器称为密钥分发中心 (KDC)。

当然,在同一台物理机器上实现这些服务是有意义的,因为在中小型网络中,将这两种服务分开是多余的。另外,我有一个相对可靠的消息来源,它说(翻译):

TGS 和 AS 必须访问同一个 DB => 在不同的机器上实现 TGS 和 AS 没有多大意义

但是我没有看到必须在两者之间共享哪个数据库。

这是我的想法,我将如何分离 AS 和 TGS,没有共享数据库:

  • 由于AS和TGS是分开的,他们有不同的Master Secret
  • AS 有一个数据库,其中包含所有用户及其各自的主密钥(在用户登录时使用,用于加密会话密钥),以及 TGS 的主密钥(用于加密请求的 TGT)。
  • TGS 有一个数据库,它允许它确定允许哪个用户使用哪个服务(ACL、撤销列表等),以及一个数据库,其中包含所有服务及其各自的主机密(用于加密票证)。

当用户想要使用服务时(简化):

  • 在 AS 上进行身份验证
  • 获取使用 TGS Master Secret 加密的 Ticket Granting Ticket (TGT) 以及使用用户的主密钥加密的会话密钥。
  • 与 TGT 联系 TGS
  • 获取使用服务的主密钥加密的票证
  • 凭票联系服务

我是否遗漏了什么,或者将 AS 和 TGS 分开真的没有问题吗?

kerberos

9
推荐指数
1
解决办法
2480
查看次数

标签 统计

kerberos ×1