Kerberos 身份验证如何工作?
已发表: 2022-10-12尽管 Kerberos 是一个后端系统,但它是如此无缝集成,以至于大多数用户或管理员都忽略了它的存在。
什么是 Kerberos,它是如何工作的?
如果您使用需要登录才能访问资源的电子邮件或其他在线服务,您很可能是通过 Kerberos 系统进行身份验证的。
称为 Kerberos 的安全身份验证机制可确保设备、系统和网络之间的安全通信。 其主要目标是保护您的数据和登录信息免受黑客攻击。

所有流行的操作系统都支持 Kerberos,包括 Microsoft Windows、Apple macOS、FreeBSD 和 Linux。
Kerberos 使用的五级安全模型包括相互身份验证和对称密钥加密。 验证一个人的身份使授权用户能够登录系统。
它结合了中央数据库和加密来确认用户和服务的合法性。 Kerberos 服务器首先对用户进行身份验证,然后才允许他们访问服务。 然后,如果他们成功通过身份验证,他们将获得一张票,他们可以用来访问该服务。
本质上,Kerberos 依靠“票证”来允许用户安全地相互通信。 Kerberos 协议使用密钥分发中心 (KDC) 在客户端和服务器之间建立通信。
使用 Kerberos 协议时,服务器会收到来自客户端的请求。 之后,服务器回复一个包含令牌的响应。 客户端然后向服务器和票据发出请求。
它是保证跨系统传输数据安全的重要方法。 它由麻省理工学院 (MIT) 于 1980 年开发,用于解决不安全的网络连接问题,现在已包含在许多不同的系统中。
在本文中,我们将详细介绍 Kerberos 的优势、实际应用、它的操作方式以及它的安全性。
Kerberos 身份验证的好处
在一个庞大的分布式计算环境中,由于称为 Kerberos 的网络身份验证协议,计算机系统可以安全地相互识别和通信。
使用密钥加密,Kerberos 旨在为客户端/服务器应用程序提供强大的身份验证。 该协议为应用安全奠定了基础,SSL/TLS 加密经常与其结合使用。
广泛使用的身份验证协议 Kerberos 提供了一些优势,可能使其对 SMB 和大公司更具吸引力。
首先,Kerberos 非常值得信赖。 它已经针对一些最复杂的攻击进行了测试,并证明对它们免疫。 此外,Kerberos 易于设置、使用和集成到多个系统中。
独特的好处
- Kerberos 使用的独特票务系统可实现更快的身份验证。
- 服务和客户端可以相互验证。
- 由于时间戳有限,身份验证周期特别安全。
- 满足现代分布式系统的要求
- 当票证时间戳仍然有效时可重复使用,Authenticity 可防止用户必须重新输入其登录信息才能访问其他资源。
- 多个密钥、第三方授权和加密技术提供一流的安全性。
Kerberos 的安全性如何?
我们已经看到 Kerberos 采用了安全的身份验证过程。 本节将探讨攻击者如何违反 Kerberos 安全性。

多年来,Kerberos 安全协议一直在使用:例如,自 Windows 2000 发布以来,Microsoft Windows 已将 Kerberos 设为标准身份验证机制。
Kerberos 身份验证服务使用密钥加密、密码术和受信任的第三方身份验证来成功保护传输过程中的敏感数据。
为了提高安全性,最新版本 Kerberos 5 使用高级加密标准 (AES) 来确保更安全的通信并避免数据入侵。
美国政府采用 AES 是因为它在保护其机密信息方面特别有效。
然而,有人认为没有平台是完全安全的,Kerberos 也不例外。 尽管 Kerberos 是最安全的,但企业必须不断检查其攻击面,以防止被黑客利用。
由于其广泛使用,黑客努力发现基础设施中的安全漏洞。
以下是一些可能发生的典型攻击:
- 金票攻击:这是最具破坏性的攻击。 在这次攻击中,攻击者使用 Kerberos 票证劫持了真正用户的密钥分发服务。 它主要针对具有用于访问控制权限的 Active Directory (AD) 的 Windows 环境。
- Silver Ticket Attack:伪造的服务身份验证票被称为银票。 黑客可以通过破译计算机帐户密码并利用它构造虚假身份验证票证来生成银票。
- 传递票证:通过生成虚假的 TGT,攻击者构造了一个虚假的会话密钥并将其呈现为合法凭证。
- 通过散列攻击:这种策略需要获取用户的 NTLM 密码散列,然后传输散列以进行 NTLM 身份验证。
- Kerberoasting:该攻击旨在通过滥用 Kerberos 协议为具有 servicePrincipalName (SPN) 值的 Active Directory 用户帐户(例如服务帐户)收集密码哈希。
Kerberos 风险缓解
以下缓解措施将有助于防止 Kerberos 攻击:

- 采用能够全天候监控网络并实时识别漏洞的现代软件。
- 最小权限:它指出只有那些用户、帐户和计算机进程才应该拥有他们完成工作所必需的访问权限。 通过这样做,将停止对服务器(主要是 KDC 服务器和其他域控制器)的未经授权的访问。
- 克服软件漏洞,包括零日漏洞。
- 运行本地安全授权子系统服务(LSASS)的保护模式:LSASS 托管各种插件,包括 NTLM 身份验证和 Kerberos,并负责为用户提供单点登录服务。
- 强身份验证:密码创建标准。 管理、本地和服务帐户的强密码。
- DOS(拒绝服务)攻击:通过使用身份验证请求使 KDC 过载,攻击者可以发起拒绝服务 (DoS) 攻击。 为了防止攻击和平衡负载,KDC 应该放置在防火墙后面,并且应该部署额外的冗余 KDC 冗余。
Kerberos 协议流中的步骤是什么?
Kerberos 体系结构主要由处理所有 Kerberos 操作的四个基本元素组成:
- 身份验证服务器 (AS): Kerberos 身份验证过程从身份验证服务器开始。 客户端必须首先使用用户名和密码登录到 AS 以建立其身份。 完成后,AS 将用户名发送给 KDC,然后 KDC 发出 TGT。
- 密钥分发中心 (KDC):它的工作是充当身份验证服务器 (AS) 和票证授予服务 (TGS) 之间的联络人,中继来自 AS 的消息并发布 TGT,随后将其传递给 TGS 进行加密。
- Ticket-Granting Ticket (TGT): TGT 是加密的,包含有关允许客户端访问哪些服务、授权访问多长时间以及用于通信的会话密钥的信息。
- Ticket Granting Service (TGS): TGS 是拥有 TGT 的客户与网络的各种服务之间的障碍。 然后,TGS 在验证服务器和客户端共享的 TGT 后建立会话密钥。
以下是 Kerberos 身份验证的逐步流程:
- 用户登录
- 客户端请求授予票证的服务器。
- 服务器检查用户名。
- 授权后退还客户的票。
- 客户端获取 TGS 会话密钥。
- 客户端请求服务器访问服务。
- 服务器检查服务。
- 服务器获取的TGS Session Key。
- 服务器创建服务会话密钥。
- 客户端接收服务会话密钥。
- 客户联系服务。
- 服务解密。
- 服务检查请求。
- 服务向客户端进行身份验证。
- 客户确认服务。
- 客户端和服务交互。
使用 Kerberos 的实际应用程序是什么?
在基于 Internet 的现代互联工作场所中,Kerberos 的价值要大得多,因为它在单点登录 (SSO) 方面表现出色。

Microsoft Windows 目前使用 Kerberos 身份验证作为其标准授权方法。 Apple OS、FreeBSD、UNIX 和 Linux 也支持 Kerberos。

此外,它已成为跨所有平台的网站和单点登录应用程序的规范。 Kerberos 提高了互联网及其用户的安全性,同时允许用户在不危及安全的情况下在线和在办公室执行更多任务。
流行的操作系统和软件程序已经包括 Kerberos,它已成为 IT 基础架构的重要组成部分。 它是 Microsoft Windows 的标准授权技术。
它使用强大的加密技术和第三方票证授权,使黑客更难访问公司网络。 组织可以通过 Kerberos 使用 Internet,而不必担心会危及他们的安全。
Kerberos 最著名的应用程序是 Microsoft Active Directory,它控制域并执行用户身份验证作为 Windows 2000 及更高版本中包含的标准目录服务。
苹果、美国国家航空航天局、谷歌、美国国防部和全国各地的机构都是比较知名的用户。
以下是一些具有内置或可访问 Kerberos 支持的系统示例:
- 亚马逊网络服务
- 谷歌云
- 惠普 Unix
- IBM 高级交互主管
- 微软天青
- Microsoft Windows 服务器和 AD
- 甲骨文
- OpenBSD
其他资源
预习 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() | Kerberos:权威指南:权威指南 | 23.74 美元 | 在亚马逊上购买 |
预习 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() | 身份验证和事务安全的实现:使用 Kerberos 的网络安全 | $48.00 | 在亚马逊上购买 |
预习 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() | 在 Linux 中快速配置 Openldap 和 Kerberos 并将 Linux 验证到 Active Directory | 5.17 美元 | 在亚马逊上购买 |
结论
用于保护客户端-服务器连接的最广泛使用的身份验证方法是 Kerberos。 Kerberos 是一种对称密钥身份验证机制,可提供数据完整性、机密性和相互用户身份验证。
它是 Microsoft Active Directory 的基础,并且已发展成为各种攻击者作为攻击目标的协议之一。
接下来,您可以查看用于监控 Active Directory 运行状况的工具。