有人可以总结一下为什么在 Kerberos 中需要领域以及该概念的优势。
我正在努力将我知道/开始理解的所有内容隔离为一些明确定义的修改点。我的研究只是发现了如此深入的文章,几乎无法理解它。我明白他们是什么。我知道使用它们意味着数据是分布式的,因此在系统发生故障时是有利的,并且更容易管理许多小领域而不是一个巨大的领域。
提前致谢
有人可以总结一下为什么在 Kerberos 中需要领域以及该概念的优势。
我正在努力将我知道/开始理解的所有内容隔离为一些明确定义的修改点。我的研究只是发现了如此深入的文章,几乎无法理解它。我明白他们是什么。我知道使用它们意味着数据是分布式的,因此在系统发生故障时是有利的,并且更容易管理许多小领域而不是一个巨大的领域。
提前致谢
“领域”的明确概念允许 Kerberos 系统的扩展和联合。想象两组 A 和 B 开始独立使用 Kerberos。每个都有一个完全独立的 Kerberos 系统或领域:一组连接到公共 Kerberos 身份验证服务的安全主体(用户和软件服务),允许它们相互进行身份验证。
现在,这些团体想要一起工作;假设 B 有一个 Web 服务器,它希望允许对 A 的成员进行经过身份验证的访问。这带来了一个实际问题:两个 Kerberos 系统不能互操作。为了允许身份验证,当 Web 服务器已经在领域 B 中具有身份时,他们必须将 Web 服务器加入到领域 A,或者 A 中的每个用户也必须加入 B(通过在 B 中获取新的主体名称,使用新密码,多次验证并根据他们想要访问的内容在身份之间切换)。一团糟。
对此的解决方案是联合:组 B 决定信任 A 对其自己用户的标识,而不是要求他们独立向 B 注册。这是通过向 A 提供一个密钥来实现的,该密钥允许其 Kerberos 系统直接在 B 中颁发良好的凭据领域。这称为单向领域信任(B 信任 A)。B Web 服务器可以区分不同组中的用户,因为领域明确地出现在主体名称中:user@A 与 user@B。
为了帮助扩展方面,Kerberos 5 自动支持分层领域信任。如果您有三个领域 FOO、A.FOO 和 B.FOO,FOO 信任 A.FOO,而 B.FOO 信任 FOO,则 user@A.FOO 可以在 B.FOO 中对服务进行身份验证,而无需领域管理员在 A.FOO 和 B.FOO 之间建立直接信任:Kerberos 会自动跟随信任关系上下。
领域只是安全主体的虚拟集合。SASL 使用相同的概念。例如,在 Windows 中,域是 Kerberos 领域。根据您的情况,一个大领域是有意义的。链接领域需要它们之间的双向信任。对您来说意味着更多的管理开销。你有什么实际问题?