Kerberos認證流程


開篇之前鄭重申明:本文是基於Artech 所介紹的Kerberos認證的來談談個人對Kerberos認證流程以及消息交互理解。如果您想深入了解,請點擊此處。如有理解不當的地方,還望賜教。

先介紹Kerberos中的幾個概念:

 

概念說明:
  1. AD:Active Directory
  2. Service Session Key :服務會話密鑰
  3. Logon Session Key :登錄會話密鑰
  4. KDC : Key Distribution Center
  5. KAS :Key Kerberos Authentication Service。它是KDC的一個服務
  6. TGS: Ticket Granting Service;它是KDC的一個服務
  7. Service Ticket :服務票據,通過TGS獲取,主要包括用戶信息與Service Session Key
  8. TGT: Ticket  Granting Ticket。通過KAS獲取,主要包括用戶信息與Logon Session Key
  9. Authenticator:交互雙方預先知曉的信息,通過它來對對方做認證

 

1、KDC整體結構圖 

 

 

2、Kerberos認證的流程:

 

流程說明:

 

  1. 客戶端通過KDC(Key Distribution Center)的KAS(Kerberos  Authentication Service )服務獲取TGT(Ticket Granting Ticket)。
  2. 通過TGT獲取ST(Service Ticket)
  3. 通過Service Ticket訪問服務資源 。

 

 

3、Client 與Server 之間的消息交互

1、客戶端發送消息到KDC的KAS服務一獲取TGT。

此消息交互如下圖:

 

說明:客戶端發送自己的明文用戶名、以及由自己密碼派生的密鑰加密后的Authenticator到KAS服務

KAS接收到客戶端發送過來的消息后處理流程如下: 

  

2、KAS 發送信息到Client

此過程消息交互如下圖:

 

客戶端接受到KAS的回復后做做如下流程處理:

3、客戶端發送消息到KDC(Key Distribution Center)的TGS(Ticket Granting Service)服務一獲取ST(Service Ticket)

 此過程消息交互如下圖:

 

此過程中TGS(Ticket Granting Service)對接收到的消息處理流程如下:

 

4、TGS服務返回消息給客戶端

  此過程消息交互如下圖:

 

客戶端接受到TGS回復后會有如下流程處理:

 

5、客戶端通過ST訪問服務器資源

 此過程消息交互如下圖: 

 

服務端接收到客戶端的消息以后會有如下流程處理:

 

6客戶端對服務器的認證

 此過程消息交互如下圖: 

 

客戶端對服務端的認證流程如下:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM