网络安全知识:什么是Kerberos?

admin 2023年1月31日12:02:20评论39 views字数 6740阅读22分28秒阅读模式

网络安全知识:什么是Kerberos?

网络犯罪是当今生活中一个不幸的事实,无论我们谈论的是个人消费者还是整个商业世界。没有公司或组织是安全的,问题不会很快好转。专家预测,到 2025 年,网络犯罪给世界造成的损失将达到 25 万亿美元似乎这还不够糟糕,《福布斯》预测网络犯罪分子将对移动设备构成越来越大的风险,而移动设备是当今许多人使用的设备。

这些预测以及许多其他预测都指向了严酷的现实,即网络犯罪将继续存在,而且问题只会变得更糟。因此,数字世界渴望找到并采用新的策略来加强网络安全。

Kerberos 是如何工作的以及 Kerberos 身份验证的解释

网络犯罪是当今生活中一个不幸的事实,无论我们谈论的是个人消费者还是整个商业世界。没有公司或组织是安全的,问题不会很快好转。专家预测,到 2025 年,网络犯罪给世界造成的损失将达到 25 万亿美似乎这还不够糟糕,《福布斯》预测网络犯罪分子将对移动设备构成越来越大的风险,而移动设备是当今许多人使用的设备。

这些预测以及许多其他预测都指向了严酷的现实,即网络犯罪将继续存在,而且问题只会变得更糟。因此,数字世界渴望找到并采用新的策略来加强网络安全。

今天,我们正在研究 Kerberos 身份验证协议。让我们拉开帷幕,熟悉一下这个有效的网络协议。

让我们从了解什么是 Kerberos 及其工作原理开始。

什么是 Kerberos及如何工作?

Kerberos 是一种计算机网络安全协议,可在不受信任的网络(如 Internet)中对两个或多个受信任主机之间的服务请求进行身份验证。它使用密钥密码术和受信任的第三方来验证客户端-服务器应用程序和验证用户的身份。

Kerberos 最初由麻省理工学院 (MIT) 在 80 年代后期为 Project Athena 开发,现在是 Microsoft Windows 使用的默认授权技术。Kerberos 实现也适用于其他操作系统,例如 Apple OS、FreeBSD、UNIX 和Linux

Microsoft 在 Windows 2000 中推出了它的 Kerberos 版本,它已成为网站和不同平台上单点登录实施的首选协议。Kerberos 联盟Kerberos 作为一个开源项目进行维护。

该协议的名称来源于希腊神话中传说中的三头犬 Kerberos(也称为 Cerberus),它是冥界入口的犬类守护者。Kerberos 有一条蛇尾巴,脾气特别坏,尽管有一个明显的例外,但它是一个非常有用的守护者。

但在协议的情况下,Kerberos 的三个负责人分别代表客户端、服务器和密钥分发中心 (KDC)。后者作为可信的第三方认证服务。

使用 Kerberos 的用户、机器和服务仅依赖于 KDC,它作为一个提供两个功能的进程工作:身份验证和票证授予。KDC“门票”向各方提供身份验证,允许节点安全地验证其身份。Kerberos 身份验证过程采用传统的共享秘密密码术,可防止通过网络传输的数据包被读取或更改,并保护消息免受窃听和重放(或回放)攻击。

现在我们已经了解了什么是 Kerberos,接下来让我们了解 Kerberos 的用途。

Kerberos 的用途是什么?

尽管 Kerberos 在数字世界中无处不在,但它在依赖可靠审计和身份验证功能的安全系统中大量使用。Kerberos 用于 Posix 身份验证、Active Directory、NFS 和 Samba。它也是 SSH、POP 和 SMTP 的替代身份验证系统。

Kerberos 身份验证协议有什么作用?

MIT 为一个名为 Athena 的项目开发了这个协议。它的名字来源于希腊神话中守护地狱的哈迪斯的三头犬。他们之所以选择这个名字,是因为 Kerberos 协议代表了以下三件事:

  • 客户

  • 网络资源(应用服务器)

  • 密钥分发中心 (KDC)

通过这三个组件,Kerberos 可以在不受信任的网络上启用受信任的主机身份验证。Kerberos 确保只有授权用户才能访问网络资源。此外,它还提供 AAA 安全性:身份验证、授权和计费。  

MIT 开发人员开发了 Kerberos 来安全地向他们所需的系统验证他们自己。但是 Kerberos 也授权了用户。Kerberos 的发展发生在大多数系统传输未加密密码的时候。这意味着黑客可以获得未经授权的访问。因此,Kerberos 的开发是迫在眉睫的。 

它的设计师是 SP Miller、BC Neuman、JI Schiller 和 JH Saltzer。

在 Kerberos 中,KDC 授予票据。这些允许不同的主机证明他们的身份。此外,开发人员还打算进行支持授权的 Kerberos 身份验证。这意味着经过 Kerberos 身份验证的客户端也可以访问。 

Kerberos 身份验证的好处

Kerberos 为任何网络安全设置带来了许多优势。它的优点包括:

  • 有效的访问控制:Kerberos 为用户提供了一个单一的点来跟踪登录和安全策略的实施。

  • 密钥票证的有限生命周期:每个 Kerberos 票证都有一个时间戳、生命周期数据和由管理员控制的身份验证持续时间。

  • 相互认证:业务系统和用户可以相互认证。

  • 可重用身份验证:Kerberos 用户身份验证是可重用和持久的,要求每个用户仅通过系统验证一次。只要门票有效,用户就不必为了身份验证而不断输入个人信息。

  • 强大而多样的安全措施:Kerberos 安全认证协议采用密码学、多重密钥和第三方授权,打造强大、安全的防御。密码不会通过网络发送,所有密钥都经过加密

作为了解什么是 Kerberos 的学习流程的一部分,让我们检查一下 Kerberos 协议流程。

Kerberos 对象概念和术语

Kerberos 的大多数目标都与密码管理有关。它确保密码不会通过网络传输。它们不会在客户端系统上;系统会在使用后立即丢弃它们。存储时密码不应采用纯文本形式。并且每个会话只能使用一个密码。 

此外,所有身份验证信息都将位于中央服务器中。这意味着

  • 管理员可以限制来自中央服务器的任何客户端的访问。 

  • 一个用户密码可以访问所有服务。 

  • 保护用户信息变得不那么复杂,因为您只需保护一台服务器。 

在 Kerberos 中,所有实体都必须根据提示相互验证。

以下实体使用 Kerberos 协议:

  • Kerberos Principals:它们代表分配给票证的唯一 ID。它与大多数用户的用户 ID 相同。Kerberos 使用以下信息标识主体:

    • 对于用户:是用户名;对于主机:主机这个词。对于服务,委托人是服务的名称。 

    • 指定主机名的可选标识符

    • Kerberos 服务器在其中运行的 Kerberos 领域的名称。

  • Kerberos 应用程序服务器:它们提供对客户端所需资源的访问。 

  • Kerberos KDC:该实体提供对资源的访问,例如终端仿真和远程计算。 

  1. Kerberos 数据库:这个数据库有每个主体的记录。它是 Kerberos 的集中存储库,包含客户端及其访问权限的标识。 

  2. Kerberos 身份验证服务:此服务为客户端授予票证授予票证 (TGT)。

  3. Kerberos 票证授予服务:此服务根据 TGT 对客户端进行身份验证。

身份验证后,用户将获得身份验证票证。客户端可以使用认证票证获取访问应用服务的票证。 

什么是 Kerberos:协议流概述

下面更详细地介绍了 Kerberos 身份验证的全部内容。我们还将通过将其分解为核心组件来了解它的工作原理。

以下是典型 Kerberos 工作流程中涉及的主要实体:

  • 客户端:客户端代表用户并为服务请求发起通信

  • 服务器:服务器托管用户要访问的服务

  • 身份验证服务器 (AS):AS 执行所需的客户端身份验证。如果身份验证成功,AS 会向客户端颁发一张名为 TGT(Ticket Granting Ticket)的票证。此票证向其他服务器保证客户端已通过身份验证

  • 密钥分发中心 (KDC):在 Kerberos 环境中,身份验证服务器在逻辑上分为三个部分:数据库 (db)、身份验证服务器 (AS) 和票证授予服务器 (TGS)。这三个部分依次存在于称为密钥分发中心的单个服务器中

  • Ticket Granting Server (TGS):TGS是一个应用服务器,将服务票作为服务发行


现在让我们分解协议流程。

首先,Kerberos 流程涉及三个关键密钥。客户端/用户、TGS 和与 AS 共享的服务器都有唯一的密钥。

  • 客户端/用户:从用户密码派生的哈希值

  • TGS 密钥:用于确定 TGS 的密码哈希

  • 服务器密钥:用于确定提供服务的服务器的密码哈希。

协议流程包括以下步骤:

第 1 步:初始客户端身份验证请求。用户向身份验证服务器 (AS) 请求票证授予票证 (TGT)。此请求包括客户端 ID。

第 2 步:KDC 验证客户端的凭据。AS 检查数据库中的客户端和 TGS 的可用性。如果 AS 找到这两个值,它会使用用户的密码哈希生成一个客户端/用户密钥。

然后 AS 计算 TGS 密钥并创建一个由客户端/用户密钥加密的会话密钥 (SK1)。然后 AS 生成包含客户端 ID、客户端网络地址、时间戳、生命周期和 SK1 的 TGT。然后 TGS 密钥加密票证。

第三步:客户端解密消息。客户端使用客户端/用户密钥解密消息并提取 SK1 和 TGT,生成验证客户端 TGS 的身份验证器。

第四步:客户端使用TGT请求访问。客户端通过将提取的 TGT 和创建的验证器发送到 TGS 来向提供服务的服务器请求票证。

第 5 步:KDC 为文件服务器创建一个票证。然后 TGS 使用 TGS 密钥解密从客户端收到的 TGT 并提取 SK1。TGS 解密身份验证器并检查它是否与客户端 ID 和客户端网络地址相匹配。TGS 还使用提取的时间戳来确保 TGT 没有过期。

如果该过程成功执行所有检查,则 KDC 会生成一个在客户端和目标服务器之间共享的服务会话密钥 (SK2)。

最后,KDC 创建一个包含客户端 ID、客户端网络地址、时间戳和 SK2 的服务票证。然后使用从数据库获得的服务器密钥对该票证进行加密。客户端收到包含服务票证和 SK2 的消息,所有消息均使用 SK1 加密。

第六步:客户端使用文件票据进行认证。客户端使用 SK1 解密消息并提取 SK2。此过程生成一个包含客户端网络地址、客户端 ID 和时间戳的新身份验证器,使用 SK2 加密,并将它和服务票证发送到目标服务器。

第七步:目标服务器接收解密鉴权目标服务器使用服务器的密钥解密服务票据并提取 SK2。服务器使用 SK2 解密身份验证器,执行检查以确保来自身份验证器的客户端 ID 和客户端网络地址与服务票证相匹配。服务器还检查服务票证是否过期。

一旦满足检查条件,目标服务器就会向客户端发送一条消息,验证客户端和服务器是否已相互验证。用户现在可以参与安全会话。

Kerberos 身份验证协议如何工作?

您可以在下面看到 Kerberos 身份验证协议如何工作的粗略版本:

  • 身份验证服务器请求:客户端向 KDC 请求身份验证。此身份验证请求将采用纯文本形式。 

  • 身份验证服务器响应:如果客户端存在于数据库中,则 KDC 发送 TGT 和会话密钥。如果客户端不在数据库中,则身份验证失败。  

  • 服务票证请求:客户端请求服务票证以及 KDC 先前发送的 TGT。 

  • 服务票据响应:KDC 发送使用会话密钥加密的票据。客户端可以使用 KDC 先前发送的会话密钥来解密服务票证。

  • 应用服务器请求:客户端使用服务票证向应用服务器请求访问。

  • 应用服务器响应:应用服务器对客户端进行身份验证。它发送一张票证,授予对该特定服务的访问权限。 

服务票据有特定的到期时间。您可以使用同一张会话票证访问服务,直到它过期为止。Kerberos 票证的默认生命周期为 600 分钟。 

Kerberos 与其他网络身份验证协议

除了 Kerberos 之外,还有其他身份验证协议;你可以在下面阅读它们。 

Kerberos 与 Microsoft 新技术 LAN Manager (NTLM)

Microsoft 的 NTLM 是 Windows 以前使用的技术。从 Windows 2000 开始,所有版本都使用 Kerberos。此外,NTLM 使用质询-响应身份验证。在这里,服务器提出问题,客户端必须回答。 

Kerberos 与轻量级目录访问协议 (LDAP)

使用 LDAP,您可以维护有关用户的信息。此外,您可以在同一个网络上找到 Kerberos 和 LDAP:LDAP 提供授权服务,Kerberos 进行身份验证。 

Kerberos 与远程身份验证拨入用户服务 (RADIUS)

它的目标是允许拨入用户远程访问 Internet 服务提供商。但是,网络服务将它与 Kerberos 一起用于记帐和身份验证。 

Kerberos 安全吗?

“什么是 Kerberos?”这个问题的答案了,可能想知道它是否安全。 

全世界的安全从业者都认为 Kerberos 是安全的。它具有强大的加密功能来保护数据。然而,安全研究人员几乎没有找到击败 Kerberos 的方法。 

  • 密钥传递攻击:攻击者使用客户的凭据冒充客户。 

  • 传递票证攻击:攻击者在 KDC 发送会话票证时使用票证。 

  • 金票攻击:攻击者使用 Windows 域控制器创建客户端凭据。  

Kerberos 会被黑客入侵吗?

没有任何安全措施是 100% 牢不可破的,Kerberos 也不例外。由于它已经存在了很长时间,多年来黑客一直有机会找到绕过它的方法,通常是伪造票证、反复尝试猜测密码(暴力/凭据填充)以及使用恶意软件来降低加密级别。

尽管如此,Keberos 仍然是当今可用的最佳安全访问协议。该协议足够灵活,可以采用更强大的加密算法来帮助对抗新威胁,如果用户采用良好的密码选择策略,您应该没问题!

Kerberos 过时了吗?

长寿并不自动意味着过时。尽管在某些情况下网络犯罪分子已经突破了 Kerberos(并且我们已经确定没有任何安全系统是 100% 坚不可摧的),但它仍在大量使用并享有良好的声誉。

  1. >>>等级保护<<<
  2. 开启等级保护之路:GB 17859网络安全等级保护上位标准
  3. 网络安全知识:什么是AAA(认证、授权和记账)?
  4. 网络安全等级保护:安全管理中心测评PPT
  5. 网络安全等级保护:等级保护测评过程要求PPT
  6. 网络安全等级保护:安全管理制度测评PPT
  7. 等级保护测评之安全物理环境测评PPT
  8. 网络安全等级保护:第三级网络安全设计技术要求整理汇总
  9. 网络安全等级保护:等级测评中的渗透测试应该如何做
  10. 网络安全等级保护:等级保护测评过程及各方责任
  11. 网络安全等级保护:政务计算机终端核心配置规范思维导图
  12. 网络安全等级保护:什么是等级保护?
  13. 网络安全等级保护:信息技术服务过程一般要求
  14. 闲话等级保护:网络安全等级保护基础标准(等保十大标准)下载
  15. 闲话等级保护:什么是网络安全等级保护工作的内涵?
  16. 闲话等级保护:网络产品和服务安全通用要求之基本级安全通用要求
  17. 闲话等级保护:测评师能力要求思维导图
  18. 闲话等级保护:应急响应计划规范思维导图
  19. 闲话等级保护:浅谈应急响应与保障
  20. 闲话等级保护:如何做好网络总体安全规划
  21. 闲话等级保护:如何做好网络安全设计与实施
  22. 闲话等级保护:要做好网络安全运行与维护
  23. 闲话等级保护:人员离岗管理的参考实践
  24. 网络安全等级保护:浅谈物理位置选择测评项

  25. 信息安全服务与信息系统生命周期的对应关系
  26. >>>工控安全<<<
  27. 工业控制系统安全:信息安全防护指南
  28. 工业控制系统安全:工控系统信息安全分级规范思维导图
  29. 工业控制系统安全:DCS防护要求思维导图
  30. 工业控制系统安全:DCS管理要求思维导图
  31. 工业控制系统安全:DCS评估指南思维导图
  32. 工业控制安全:工业控制系统风险评估实施指南思维导图
  33. 工业控制系统安全:安全检查指南思维导图(内附下载链接)
  34. 工业控制系统安全:DCS风险与脆弱性检测要求思维导图
  35. >>>数据安全<<<
  36. 数据安全风险评估清单

  37. 成功执行数据安全风险评估的3个步骤

  38. 美国关键信息基础设施数据泄露的成本

  39. VMware 发布9.8分高危漏洞补丁

  40. 备份:网络和数据安全的最后一道防线

  41. 数据安全:数据安全能力成熟度模型

  42. 数据安全知识:什么是数据保护以及数据保护为何重要?

  43. 信息安全技术:健康医疗数据安全指南思维导图

  44. >>>供应链安全<<<

  45. 美国政府为客户发布软件供应链安全指南

  46. OpenSSF 采用微软内置的供应链安全框架

  47. 供应链安全指南:了解组织为何应关注供应链网络安全

  48. 供应链安全指南:确定组织中的关键参与者和评估风险

  49. 供应链安全指南:了解关心的内容并确定其优先级

  50. 供应链安全指南:为方法创建关键组件

  51. 供应链安全指南:将方法整合到现有供应商合同中

  52. 供应链安全指南:将方法应用于新的供应商关系

  53. 供应链安全指南:建立基础,持续改进。
  54. 思维导图:ICT供应链安全风险管理指南思维导图

  55. 英国的供应链网络安全评估
  56. >>>其他<<<

  57. 网络安全十大安全漏洞

  58. 网络安全等级保护:做等级保护不知道咋定级?来一份定级指南思维导图

  59. 网络安全等级保护:应急响应计划规范思维导图

  60. 安全从组织内部人员开始

  61. 影响2022 年网络安全的五个故事

  62. 2023年的4大网络风险以及如何应对

  63. 网络安全知识:物流业的网络安全

原文始发于微信公众号(祺印说信安):网络安全知识:什么是Kerberos?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月31日12:02:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网络安全知识:什么是Kerberos?https://cn-sec.com/archives/1530314.html

发表评论

匿名网友 填写信息