Kerberos工作流:一个简单示例

说明:内容来自《Hadoop安全-大数据平台隐私保护》,此处记录仅是便于快速回顾。

现在通过一个工作流示例,展示 Kerberos 大概是怎么工作的。首先定义所有出现的组件。
EXAMPLE.COM
  Kerberos 域。
Alice
  一个系统用户,其 UPN 为 [email protected]
myservice
  server1.example.com 上运行的一个服务,其 SPN 为myservice/[email protected]
kdc.example.com
  Kerberos 域 EXAMPLE.COM 的 KDC。

Alice 要想使用 myservice,需要向 myservice 提供一个有效的服务票据,具体方法如下所述(为了简便,此处省略部分细节)。

  1. Alice 需要获取一个 TGT。为此,她向 kdc.example.com 上的 AS发起一个请求,表明自己是主体 [email protected]
  2. AS 做出响应,为主体 [email protected] 提供一个使用密钥(密码)加密的 TGT。
  3. 接收到加密信息后,Alice 被提示输入主体 [email protected] 的正确密码,从而解密信息。
  4. 成功解密包含 TGT 的信息后,Alice 向 kdc.example.com 上的 TGS请求服务 myservice/[email protected] 的一个服务票据,并在请求中提供出 TGT 信息。
  5. TGS 对 TGT 进行验证,并提供给 Alice 一个使用主体myservice/[email protected] 的密钥加密的服务票据。
  6. Alice 现在将服务票据提供给 myservice,myservice 随后使用myservice/[email protected] 的密钥对其解密,并验证票据有效性。
  7. 由于 Alice 已经正确验证其身份,因此服务 myservice 允许其使用。

以上大致描述了 Kerberos 是如何工作的。显然,这是一个大大简化了的例子,很多底层的细节没有得到展示。图 4-1 展示了这个例子的序列图。

Kerberos工作流:一个简单示例_第1张图片

你可能感兴趣的:(大数据)