Kerberos 原理簡介

Kerberos 是非常出名的密鑰分配協議,同時也兼具了鑑別協議的功能,也是一個 KDC(Key Distribution Center,密鑰分配中心)。Kerberos 採用 AES 進行加密,所以安全性更高。

Kerberos 的工作原理

其核心思想是這樣的:和我們平時生活一樣,當我需要到社區中心蓋一些章的時候,社區中心往往需要你提供一個證明,證明你是你,這樣的證明通常你需要找派出所去開具。所以這個 AS 就像是派出所,而 TGS 就像是社區中心。
在這裏插入圖片描述

關鍵術語介紹

AS(Authentication Server):鑑別服務器,用於驗證用戶身份
TGS(Ticket-Granting Server):票據授予服務器,用於提供兩個用戶之間身份的憑證
KA:AK_A:這是 A 自己的密鑰
KS:ATGSK_S:這是 A 與 TGS 通信用的會話密鑰
KTG:TGSK_{TG}:這是 TGS 自己的密鑰
T:T:時間戳
KB:BK_B:這是 B 自己的密鑰
KAB:ABK_{AB}:這是 A 與 B 通信用的會話密鑰

具體流程

  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 之間已經獲得了雙方通信的密鑰了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章