Kerberos 原理简介

Kerberos 是非常出名的密钥分配协议,同时也兼具了鉴别协议的功能,也是一个 KDC(Key Distribution Center,密钥分配中心)。Kerberos 采用 AES 进行加密,所以安全性更高。

Kerberos 的工作原理

其核心思想是这样的:和我们平时生活一样,当我需要到社区中心盖一些章的时候,社区中心往往需要你提供一个证明,证明你是你,这样的证明通常你需要找派出所去开具。所以这个 AS 就像是派出所,而 TGS 就像是社区中心。
Kerberos 原理简介_第1张图片

关键术语介绍

AS(Authentication Server):鉴别服务器,用于验证用户身份
TGS(Ticket-Granting Server):票据授予服务器,用于提供两个用户之间身份的凭证
K A : 这 是 A 自 己 的 密 钥 K_A:这是 A 自己的密钥 KA:A
K S : 这 是 A 与 T G S 通 信 用 的 会 话 密 钥 K_S:这是 A 与 TGS 通信用的会话密钥 KS:ATGS
K T G : 这 是 T G S 自 己 的 密 钥 K_{TG}:这是 TGS 自己的密钥 KTG:TGS
T : 时 间 戳 T:时间戳 T:
K B : 这 是 B 自 己 的 密 钥 K_B:这是 B 自己的密钥 KB:B
K A B : 这 是 A 与 B 通 信 用 的 会 话 密 钥 K_{AB}:这是 A 与 B 通信用的会话密钥 KAB:AB

具体流程

  1. 首先,A 向 AS 发送明文,这段明文证明 A 是 A,因为 AS 提前对 A 的信息进行了备案的,所以 AS 能够验证 A 的信息。
  2. AS 验证了 A 是 A ,然后用 A 的密钥加密,给 A 发送了 A 与 TGS 的会话密钥 K_AS 和 用于给 TGS 验证 A 身份的 A,K_S,并且对叫 A 提供给 TGS 的验证信息进行了 K_TG 的加密,这样 A 是无法解密的,只能当 A 传递给 TGS 的时候,TGS 进行解密验证
  3. 接下来 A 向 TGS 发出了两段信息,一个是用他们的会话密钥加密的时间戳,时间戳用于防止重放攻击,另一个是刚才的票据
  4. 当 TGS 验证了票据后,TGS 给 A 发送了用于 B 验证 A 的票据,以及 B 的信息和 A,B 之间的加密密钥
  5. 接下来 A 给 B 传递了一个时间戳,和一个给 B 的票据
  6. B 验证之后,返回一个时间戳+1

经过上面的步骤,可以看出 A , B 之间已经获得了双方通信的密钥了

你可能感兴趣的:(密码学,kerberos)