Kerberos
src: Kerberos - 知乎, lmu - IT Security
# Kerberos
- 以 Needham-Schroeder 为基础的可信第三方协议
- TTP: 由 Kerberos 服务器 和 票据授权服务器组成
- 为 TCP/IP 网络设计
- 使用对称加密
- 发生在一个 Kerberos 域中
- 缺点: 单点故障: 需要服务器保持可用; 需要时间同步
- RFC 4120
# 名词解释
- Principal:大致可以认为是 Kerberos 世界的用户名,用于标识身份
- AS(Authentication Server)= 认证服务器
- KDC(Key Distribution Center)= 密钥分发中心
- TGT(Ticket Granting Ticket)= 票据授权票据,票据的票据
- TGS(Ticket Granting Server)= 票据授权服务器
- SS(Service Server)= 特定服务提供端
- Client 向 AS(图上的KS) 请求服务, AS 检查用户是否在列表
- Client, Time, Adresse, Server (明文), 用户不发送密钥,而是 AS 在自己的数据库中查
- AS 发回 TGS
- 返回两条消息 $K_c[K_{c,tgs}], K_{tgs}[T_{c,tgs}]$
- 其中 $T_{c,tgs} = tgs, c, a, t, v, K_{c, tgs}$
- L
- 请求 Server Ticket
- s(要通信的server 地址), $K_{c, tgs}[A_{c,tgs}]$, $K_{tgs}[T_{c,tgs}]$
- $A_{c,tgs} = c, a,t$ (Authenticator)
- TGS 返回 Server Ticket
- $K_{c,tgs}[K_{c,s}], K_s[T_{c,s}]$
- $T_{c,s} = s, c, a, t, v, K_{c,s}$
- L
- 请求服务
- $K_{c,s}[A_{c,s}], K_s[T_{c,s}]$
- $A_{c,s} = c,a,t,key,seqNo$
- $T_{c,s} = s,c,a,t,v,K_{c,s}$
- Server Authentication
- $K_{c,s}[t,key,seqNo]$
- L
跨域 Kerberos 思路 Pasted image 20230224123236.png