0Pricing
Cryptology Academy · 课时

Kerberos 架构与票据流程

追踪完整的 Kerberos 流程:AS 请求、TGT 签发、服务票据和双向身份验证

Kerberos 架构与票据流程 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

Kerberos 的起源

Kerberos 于 20 世纪 80 年代由 MIT 作为 Athena 项目的一部分开发,用于为分布式计算环境提供安全的网络认证。它以守卫冥界的三头犬命名,通过受信任的第三方——密钥分发中心——为客户端和服务提供相互认证。

密钥分发中心的组件

KDC 包含两个逻辑组件:认证服务(AS)和票据授予服务(TGS)。在 Microsoft Active Directory 中,二者都运行在域控制器上。AS 负责初始登录并签发票据授予票据(TGT)。TGS 负责签发用于访问特定服务的服务票据。

第 1 步:AS-REQ(初始认证)

客户端首先向认证服务发送 AS-REQ,以开始认证。现代 Kerberos 要求预认证:客户端使用其长期密钥(由密码派生)加密时间戳,以证明自己知道密码。这可以防止攻击者针对未受保护的 AS-REQ 消息发起离线字典攻击。

第 2 步:AS-REP(签发 TGT)

AS 验证预认证数据,并回复包含票据授予票据(TGT)的 AS-REP。TGT 使用 krbtgt 账户的长期密钥加密,客户端无法解密;会话密钥则使用客户端的长期密钥加密。客户端只能解密属于自己的部分,从而获得 TGS 会话密钥。

第 3 步:TGS-REQ(请求服务访问)

当客户端希望访问某项服务时,会向票据授予服务发送 TGS-REQ,其中包含 TGT(作为身份凭证)以及使用 TGS 会话密钥加密的认证器。TGS 使用 krbtgt 密钥解密 TGT,以验证客户端的身份。

第 4 步:TGS-REP(签发服务票据)

TGS 会回复一个使用目标服务长期密钥加密的服务票据,以及一个使用客户端密钥加密的新会话密钥。客户端无法读取服务票据的内容,只能读取为其加密的那部分。该服务票据向服务证明客户端的身份。

第 5 步:AP-REQ(访问服务)

客户端向目标服务发送 AP-REQ,其中包含服务票据,以及使用服务会话密钥加密的新认证器。服务使用自己的长期密钥解密服务票据,验证认证器,并对客户端进行认证。密码永远不会发送给服务。

Kerberos 领域与跨领域信任

Kerberos 领域是由单个 KDC 管理的行政域。不同领域的 KDC 之间通过共享领域间密钥建立跨领域认证。当领域 A 中的客户端访问领域 B 中的服务时,领域 A 的 KDC 会签发转介票据,客户端再将其提交给领域 B 的 KDC。

票据有效期与续期

Kerberos 票据具有配置的有效期(TGT 通常为 10 小时),有效期过后票据会失效,并且需要重新认证。TGT 也可以配置为可续期,使客户端能够在不重新输入凭据的情况下向 KDC 请求新的 TGT,但不能超过最大的可续期有效期。

长期密钥与会话密钥

Kerberos 使用两类密钥。长期密钥由账户密码派生,只用于加密认证消息的部分内容。会话密钥会为每次认证交换重新协商,并用于实际的通信会话。即使会话密钥遭到泄露,也不会暴露长期密钥。

Kerberos 的安全属性

Kerberos 提供相互认证(客户端和服务双方都会经过验证)、重放保护(通过时间戳和认证器实现),以及各个会话的前向保密性。在正常运行期间,KDC 不会暴露长期密钥。其主要信任假设是 KDC 本身没有遭到入侵。

Kerberos 票据类型检查

票据授予票据(TGT)在 Kerberos 中有什么作用?

课程回顾:Kerberos 票据流程

Kerberos 使用包含 AS 和 TGS 组件的 KDC。登录会生成 TGT(AS-REQ/AS-REP)。访问服务需要将 TGT 交换为服务票据(TGS-REQ/TGS-REP)。服务票据会提交给目标服务(AP-REQ)。只有 KDC 和相应的服务能够读取票据。领域通过领域间信任支持跨域认证。

常见问题解答

「Kerberos 架构与票据流程」课时是免费的吗?

是的 — 「Kerberos 架构与票据流程」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「Kerberos 架构与票据流程」这节课中我会学到什么?

追踪完整的 Kerberos 流程:AS 请求、TGT 签发、服务票据和双向身份验证 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「Kerberos 架构与票据流程」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Kerberos 架构与票据流程
  2. Active Directory 与 Kerberos 集成
  3. Kerberos 攻击技术:Kerberoasting 与黄金票据
  4. 现代身份:SAML、OIDC 与混合方案
← 返回 Cryptology Academy