什麼是Kerberos?Kerberos如何工作以及Kerberos身份驗證?


你使用Microsoft Windows/Active Directory或Amazon Web Services (AWS)嗎?那麼你可能一直在不知不覺中使用Kerberos!

本文探討了什麼是Kerberos以及它是如何工作的。

Kerberos及其元件

Kerberos是一種用於計算機網路安全的安全或身份驗證協議。Kerberos由麻省理工學院在20世紀80年代為Athena專案開發,此後已應用於許多作業系統和網路。

Kerberos與三個參與者一起工作,並使用金鑰分發中心(KDC)作為客戶端和網際網路之間的第三方授權者/中間體。此路由器可防止對專用網路的訪問,並透過Kerberos的對稱金鑰加密進一步增強安全性。由於Active Directory域服務(ADDS)上的大多數域控制器(DC)/網路伺服器都需要並允許進行主機訪問身份驗證,因此Kerberos得到了廣泛的應用。

Kerberos身份驗證

在瞭解身份驗證過程之前,必須瞭解這三個參與者的功能。

  • 客戶端/使用者 – 客戶端代表使用者請求訪問,然後將其傳輸到應用程式伺服器(AS)。

  • 應用程式伺服器  託管使用者想要訪問的服務或資源。

  • 金鑰分發中心(KDC)  由三個子部分組成,分別處理身份驗證、授權和計費,即

    • 身份驗證伺服器(AS)

    • Kerberos資料庫(KDB)–儲存已驗證使用者的詳細資訊,例如ID和密碼。

    • 票據授予伺服器(TGS)–使用者和目標服務之間的連線連結。

Kerberos身份驗證工作流程

這些是Kerberos驗證連線的廣泛階段。

階段1 – 客戶端向KDC中的AS請求分配票據授予票據(TGT)。

階段2  AS執行使用者的憑據,例如使用者ID和網路地址。AS在集中式Kerberos資料庫中找到已驗證使用者的詳細資訊作為值。驗證值後,AS使用客戶端的密碼雜湊生成一個秘密客戶端金鑰,該金鑰由會話金鑰(SK1)加密,幷包含TGT(其中包含客戶端ID、域地址、時間戳、SK1和票據的生存期)。AS同時還會生成一個秘密TGS金鑰。

階段3 – 客戶端接收秘密使用者金鑰,解密TGT和SK1,並將身份驗證器傳送到TGS。

階段4  KDC使用TGS秘密金鑰解密並獲取TGT和SK1。TGS將身份驗證器與使用者憑據匹配,並驗證時間戳的有效性。如果一切正常,KDC將建立一個加密的服務票據,其中包含下一個會話金鑰(SK2)。SK2還發送到網路服務以驗證使用者的請求。

階段5  客戶端解密服務票據後,將收到SK2和身份驗證器。然後將其傳送到目標伺服器。

階段6  最後,目標伺服器使用SK2驗證所有客戶端詳細資訊和服務票據身份驗證器。目標伺服器向客戶端傳送訊息以確認相互身份驗證,從而授予安全連線。

Kerberos加密是如何發生的?

建立新帳戶時,您需要提供不同的使用者名稱和密碼。使用者名稱和Kerberos版本號組合在一起建立一個稱為“salt”的唯一字串,以最大限度地提高隨機性。秘密金鑰需要在客戶端和目標服務之間共享,當匹配時,即可訪問。

Kerberos的優缺點

以下是此協議的一些優點和缺點

優點

  • 單點登入和訪問控制− Kerberos只需要單點登入,之後續期不需要重複輸入資訊。單點登入對於使用者訪問和管理員(例如在企業中)更容易執行安全策略。

  • 相互/共享和可重用身份驗證− 使用者和服務相互驗證,因此雙方都能確保對方已獲驗證。

    此外,一旦使用者經過驗證,身份驗證在票據生命週期內是持久的,並且在此期間無需再次提供個人資訊。

  • 簡單的透明性− 只維護客戶端名稱和時間戳的簡單日誌,以便輕鬆進行稽核和確保透明性。

  • 通用的安全系統− Kerberos在其安全機制中使用了多種防護功能。這些功能包括加密、每個實體的加密秘密金鑰和第三方身份驗證(多因素身份驗證)。密碼永遠不會儲存或透過網路傳送,只使用密碼雜湊,這使得模擬變得更加困難。

  • 受限票據生命週期− TGS發行的票據僅在特定時間段內有效,之後管理員將取消對目標伺服器的所有訪問嘗試。

缺點

  • 嚴格的同步− 客戶端、KDC和主機站點必須在相同的時間和日期可用並配置,以防止票據生命週期過期。Kerberos確實提供了大約5分鐘的時間餘量,之後由於中繼攻擊,必須重複此過程。

  • 叢集託管− 同時訪問多個域需要同時複製伺服器,否則所有訪問請求都會失敗。每個客戶端/裝置和網路伺服器都需要其自己的主機名和秘密金鑰作為識別符號。重疊或重複會導致登入問題。

  • 集中式系統− Kerberos是一個集中式協議,因此單點攻擊可以關閉整個系統,這使得輔助/備份身份驗證機制成為必要。

  • 節點相容性− 所有裝置、網路服務和作業系統都必須與Kerberos相容。雙方都必須能夠讀取和解析NetBIOS和DNS地址,因為這些是最常用的Kerberos SPN,並且它們需要訪問處理Kerberos流量的TCP和UDP 88埠。

結論

在可預見的未來,Kerberos不會消失。它仍然可靠,並繼續有效地保護使用者免受未經授權的攻擊。儘管技術和網路犯罪有所發展,Kerberos 仍然存在至今。許多大型公司,如微軟和蘋果,在其作業系統中都內建了Kerberos。此外,每個作業系統都可以使用Kerberos作為其基礎身份驗證協議並自定義其軟體安全性。

更新於:2022年12月15日

1000+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.