什么是 Kerberos?
- IAM 词汇表
- 什么是 Kerberos?
Kerberos 是一种使用数字“票证”系统来验证用户或主机身份的电脑网络身份验证协议。 它使用密钥加密和受信任的第三方来验证用户身份和验证客户端-服务器应用。
Kerberos 协议最初于 1988 年由麻省理工学院 (MIT) 开发,以便学校安全地对网络用户进行身份验证,并授权他们访问存储和数据库等特定资源。当时,电脑网络使用以明文形式传输的用户 ID 和密码对用户进行身份验证。这使威胁行为者能够拦截用户凭据,并使用它们来破坏麻省理工学院的网络。
Kerberos 使可信主机能够通过不受信任的网络(尤其是互联网)进行通信,而无需以明文形式传输或存储密码。此外,Kerberos 允许用户仅使用一个密码即可访问多个系统,这是单点登录 (SSO) 技术的早期版本。
Kerberos 的用途是什么?
Kerberos 是当今使用最广泛的网络身份验证协议之一。它经常用于在大型企业网络中支持 SSO,是 Windows 的默认身份验证方法,在 Windows Active Directory (AD) 中发挥了不可或缺的作用。Kerberos 实现亦可在 Apple OS、FreeBSD、UNIX 和 Linux 中使用。
在使用 Kerberos 时票证的用途是什么?
票证是 Kerberos 身份验证协议的核心。
Kerberos 这个名称来自希腊神话。Kerberos,亦称为 Cerberus,是一只三头犬,守卫着通往死亡世界的大门。这个名称指的是 Kerberos 协议的三个“头”:客户端、服务器和发放 Kerberos “票证”的 Kerberos 密钥分发中心 (KDC)。
Kerberos “票证”是一种数字证书,由身份验证服务器颁发并使用服务器密钥加密,使主机能够以安全的方式相互证明自己的身份。这被称为相互身份验证。
对最终用户而言,Kerberos 票证的请求和授予是透明的。当客户端收到 Kerberos 身份验证票证时,它会将票证以及用于验证客户端身份的其他信息返回给服务器。然后,服务器颁发 Kerberos 服务票证和会话密钥,从而完成该会话的授权过程。所有 Kerberos 票证均带有时间戳、有时间限制且特定于会话,从而最大限度地降低威胁行为者使用泄露票证来访问系统的风险。
Kerberos 协议的工作原理是什么?
以下是对 Kerberos 协议实际运行的非常简化的描述:
- 当客户端从 KDC 身份验证服务器请求身份验证票证或票证授予票证 (TGT) 时,Kerberos 客户端身份验证流程即开始。由于此初始请求未包含敏感信息,因此是以明文形式发送。
- KDC 在其数据库中查找客户端。如果 KDC 找到客户端,它将发回一个加密的 TGT 和会话密钥。否则,进程将停止,客户端将被拒绝访问。
- 通过身份验证后,客户端使用 TGT 向票证授予服务 (TGS) 请求服务票证。
- 如果 TGS 可以完成对客户端的身份验证,它会向客户端发送凭据和票证以访问所请求的服务。此票证存储在最终用户的设备上。
- 客户端使用其票证来请求访问应用服务器。应用服务器对请求进行身份验证后,客户端即可访问服务器。
Kerberos 协议有什么优势?
Kerberos 是一种成熟、强大的身份验证协议,已集成至所有流行的操作系统中,并支持现代分布式计算环境。它特别适用于 SSO 部署,提供的后端技术可确保最终用户获得流畅的体验,同时支持基于角色的访问控制 (RBAC) 和对数字资源的最低特权访问。
Kerberos 会被黑客入侵吗?
由于 Kerberos 是一项广泛使用、已有数十年历史的技术,因此威胁行为者已经找到了入侵它的方法。常见的 Kerberos 网络攻击包括:
- 票证传递攻击,即威胁行为者拦截并重复使用发送给经过身份验证的用户或来自该用户的票证。
- 金票攻击,亦称为 DC 影子攻击,是指威胁行为者获得所需的访问权限以设置自己的 Windows 域控制器。这使他们能够创建伪造的特权凭据,从而授予他们对网络资源的无限制访问权限。
- 撞库攻击,其中威胁行为者试图入侵用户密码。这些攻击通常针对 KDC 身份验证服务器或票证授予服务。
然而,虽然没有任何技术是 100% 不可破解,但如果配置和维护得当,Kerberos 是相当安全的。为了确保您的 Kerberos 部署安全,请务必保持 Kerberos 更新,并确保您的最终用户都使用以多步验证 (MFA) 支持的高强度唯一密码。