目录
什么是 Kerberos
Kerberos 是一种广泛应用于计算机网络中的身份认证协议,它基于对称密钥加密思想,核心目标是在不安全的网络中实现安全的身份验证。
Kerberos 由麻省理工学院(MIT)发明,广泛用于企业局域网、云服务、大数据平台等多种场合。
Kerberos 原理解析
Kerberos 通过 可信第三方(KDC) 实现身份认证,全程不会在网络上传输明文密码。其核心优势体现在:
- 基于对称密钥加密(如 AES,DES)
- 身份认证 & 授权票据分离
- 引入时间戳防止重放攻击
- 支持单点登录(SSO)
主要组件说明
| 角色 | 说明 |
|---|---|
| 用户/客户端 | 需要登录和访问服务的用户/主机 |
| 服务端 | 提供资源的服务器,如 HTTP、HDFS、邮箱等 |
| 认证服务器(AS) | 验证用户身份,分发初始票据 TGT(Ticket Granting Ticket) |
| 票据授权服务器(TGS) | 分发服务访问票据(Service Ticket) |
| KDC | 密钥发布中心,包括 AS 和 TGS |
Kerberos 认证完整流程
1. 用户认证(AS 阶段)
- 客户端向 AS 发送用户名
- AS 查询数据库,返回:
- 票据授权票(TGT,KDC 私钥加密,只有 TGS 能解)
- 会话密钥(用用户密码加密,只有用户能解开)
2. 获取服务票据(TGS 阶段)
- 客户端用解开的 Session Key 生成Authenticator(含时间戳)
- 用 TGT + Authenticator 申请服务票据
- TGS 校验,返回:
- 服务票据(Service Ticket,服务端密钥加密,只能服务端解开)
- 新会话密钥(用户和服务端通信用)
3. 服务访问(服务端阶段)
- 客户端向服务端提交 Service Ticket + Authenticator
- 服务端用自己的密钥解开 Service Ticket,校验 Authenticator
- 双向认证可选:服务端用新的 Session Key 返回带时间戳的数据,证明身份


2798

被折叠的 条评论
为什么被折叠?



