Kerberos認證原理詳解
Kerberos解決什麼問題
“Kerberos 服務”是一種客戶機/伺服器體系結構,用於在網路上提供安全事務。該服務 可提供功能強大的使用者驗證以及完整性和保密性。通過驗證,可保證網路事務的傳送 者和接收者的身份真實。
kerberos工作原理
Kerberos認證主要分為兩個部分:允許進行後續驗證的初始驗證以及所有後續驗證自身。
具體怎麼理解呢?我們可以將生活中的護照申請比喻成第一階段的初始驗證,而我們去辦理簽證比喻成第二階段的驗證。我們如果要去辦理外國簽證,我們需要先去辦理護照,而一旦護照辦理成功了,我們就可以直接去辦理簽證了,而我們的護照會有時間限制,同樣我們的初始驗證階段也可以設定失效日期,一旦初始驗證階段日期失效,則需要重新申請驗證方可進行第二階段的後續驗證。
用幾個圖來理解一下這兩個階段
1.允許進行後續驗證的初始驗證
由圖可知,通過第一階段,客戶機會從KDC(Key Distribution Center–金鑰分發中心)獲取允許其獲取服務票證的TGT(Ticket-Granting-Ticket–也就是後續所說的Ticket票證),同時開始了Kerberos會話。
2.後續Kerberos驗證
由上圖可知,這個階段會真正的進行kerberos服務的驗證了,客戶機將第一階段獲取到的TGT傳送給KDC,同時告訴KDC他想獲取那個服務的票證,KDC會驗證客戶機傳送的TGT,如果該TGT是合法的,則會將伺服器票證傳送給客戶機,然後客戶機使用KDC發回的伺服器票證向伺服器進行驗證,同時伺服器也傳送客戶端發過來的TGT向KDC進行驗證,如果驗證成功,則會允許客戶機進行登入並操作。對客戶機的TGT發將此處的伺服器可以是Kerberos的不同服務了,如ftp,telnet等。
注意:在上述的原理講述中,我們會涉及兩個不同的TGT,一個TGT是允許獲取後續服務的TGT,另一個是用於登入不同伺服器時用於驗證的TGT。只要允許獲取後續服務的TGT沒失效,則可直接進行第二階段獲取用於登入伺服器的驗證TGT。
相關術語
名稱 | 詳解 |
---|---|
Ticket | 也叫票證授予票證或者票據,TGT(ticket-granting ticket),票證是一種資訊包,用於將使用者身份安全地傳遞到伺服器或服務 |
KDC | Key Distribution Center–金鑰分發中心,主要負責頒發憑證 |
principal | 也叫Kerberos主體,每張票證都以主體名稱標識。主體名稱可以標識使用者或服務,主體名稱分為三個部分:主名稱、例項和領域,如joe/admin@ENG.EXAMPLE.COM |
Realm | 也叫領域,是定義屬於同一主 KDC 的一組系統的邏輯網路,類似於域 |
票證生命週期
每當主體獲取包括票證授予票證 (ticket-granting ticket, TGT) 在內的票證時,都會將票證的生命週期設定為以下生命週期值中的最小值:
如圖所示,票證的生命週期是 kinit 命令、使用者主體、站點預設值和票證授予者允許的最小值:
相關文章
- Kerberos身份認證方案ROS
- kerberos 認證流程-理解ROS
- 網路身份認證——Kerberos配置及認證ROS
- Ambari啟用Kerberos認證ROS
- kerberos認證協議愛情故事ROS協議
- 域滲透之初識Kerberos認證過程ROS
- Oracle OS認證與口令檔案認證詳解Oracle
- Windows安全認證是如何進行的?[Kerberos篇]WindowsROS
- 透過Kerberos認證訪問Oracle11gROSOracle
- java通過kerberos認證連線hdfs並寫數JavaROS
- OAuth 2.0 授權認證詳解OAuth
- squid 配置詳解+認證(轉)UI
- 【LINUX】怎樣配置 NFSv4 with kerberos 自動認證LinuxNFSROS
- Laravel 認證原理及完全自定義認證Laravel
- SpringSecurity認證流程原始碼詳解SpringGse原始碼
- Java Api Consumer 連線啟用Kerberos認證的KafkaJavaAPIROSKafka
- Django(65)jwt認證原理DjangoJWT
- Django之使用者認證模組詳解Django
- SpringSecurity認證和授權流程詳解SpringGse
- 域滲透 | kerberos認證及過程中產生的攻擊ROS
- 在 SSH 中使用 RSA 和 DSA 認證(詳解)
- 這就是Kerberos的工作原理(轉)ROS
- SSH公鑰私鑰認證原理
- 瞭解JWT認證JWT
- Java身份證實名認證介面解鎖認證新速度Java
- Spring Boot 基於 SCRAM 認證整合 Kafka 的詳解Spring BootKafka
- WebApi身份認證解決方案(1):Basic基礎認證WebAPI
- 深入Spring Security-獲取認證機制核心原理講解Spring
- 「Adobe國際認證」關於 Photoshop 圖層詳解
- 【ASP.NET Core】執行原理(3):認證ASP.NET
- GoPlay 原理詳解Go
- GCD 原理詳解GC
- 雙因素認證解決方案
- 深入Spring Security魔幻山谷-獲取認證機制核心原理講解(新版)Spring
- HTTP使用BASIC認證的原理及實現方法HTTP
- kerberosROS
- Webpack Tapable原理詳解Web
- Java CAS 原理詳解Java