文章目录
- 一、前言
- 二、重点概念
- 16. Kerberos
- 场景:
- 17. Kerberos(两个密钥)
- 18. Kerberos 架构图
- 19. Kerberos 操作概述
- 20. 步骤1:客户端请求...
- 21. 步骤2:AS响应...
- 22. 步骤3:票据授予请求
- 23. 步骤4:票据授予响应
- 24. 步骤5:客户端请求(服务器)
- 25. 步骤6:服务器响应(客户端)
- 26. Kerberos协议 V4
- 27. Kerberos领域(Realm)
- 28. 跨领域认证
- 29. 跨领域协议步骤
- 30. Kerberos V4的局限性
- 31. 如何理解协议?
- 32. Kerberos V5协议
- 33. Kerberos V5中的一些符号
- 34. Kerberos V5中的时间和其他参数
- 35. Kerberos协议 V4(最重要的部分)
一、前言
二、重点概念
16. Kerberos
- Kerberos 这个名字来源于希腊神话中守护冥界大门的三头犬。
- 它是由麻省理工学院(MIT)在阿西娜项目(Project Athena)中开发的一种认证服务。
场景:
-
用户在一个开放的分布式环境中使用工作站,需要能够访问位于不同位置的服务器上的服务。系统采用了分布式的客户机/服务器架构。
-
服务器应当只为授权用户提供服务,并且应当能够对请求进行认证。
-
Kerberos 是一个示例,用于展示认证与授权基础设施(AAI)。Kerberos 有三种类型的服务器:
- Kerberos 认证服务器(AS):一个中央的可信认证服务器,为整个系统签发长时间有效的票据(tickets)。
- 票据授予服务器(TGS):签发短时间有效的票据。
- 服务服务器(S):提供各种服务。
17. Kerberos(两个密钥)
- KA:A的私密密钥。
- KA,B:A和B之间的会话密钥。
- 我们需要使用随机数(nonce)进行认证。
- 我们还需要添加一个生命周期来控制票据的有效性。
18. Kerberos 架构图
(此处是一个Kerberos架构的示意图)
19. Kerberos 操作概述
-
每个用户登录会话一次:
- C → AS:
IDC
,IDtgs
- AS → C:
E(KC, Kc,tgs)
,Tickettgs
- C → AS:
-
每种服务类型一次:
3. C → TGS:IDC
,IDv
,Tickettgs
,Authc,tgs
4. TGS → C:E(Kc,tgs, Kc,v)
,Ticketv
-
每个服务会话一次:
5. C → V:IDC
,Ticketv
,Authc,v
20. 步骤1:客户端请求…
-
C → AS:
IDC
,IDtgs
,TS1
- 一旦用户在客户端(C)上通过身份验证,客户端代表用户向认证服务器发送请求:
-
请求包含一个时间戳(
TS1
)和两个身份标识:IDC
:通知AS用户的身份。IDtgs
:通知AS所需的票据授予服务(TGS)。
-
可能存在多个TGS。
-
- 一旦用户在客户端(C)上通过身份验证,客户端代表用户向认证服务器发送请求:
21. 步骤2:AS响应…
-
AS → C:
EKc[Kc,tgs, IDtgs, TS2, Lifetime2, Tickettgs]
- 生成一个会话密钥
Kc,tgs
,用于与指定的票据授予服务器(IDtgs
)进行安全通信。 - 指定一个时间戳(
TS2
- 生成一个会话密钥