如何在KDC和用戶(計算機)之間預共享主密鑰mk ?
如何在KDC和用戶(計算機)之間預共享主密鑰mk ?
2、KDC在接收到這個請求的時候,生成一個會話密鑰。為了保證這個會話密鑰僅僅限于發送請求的客戶端和它希望訪問的服務器知道,KDC會為這個會話密鑰生成兩個副本,分別被客戶端和服務器使用。然后從賬戶數據庫中提取客戶端和服務器的主密鑰分別對這兩個副本進行對稱加密。對于服務器,與會話密鑰一起被加密的還包含關于客戶端的一些信息,以便對發起連接請求的客戶端進行身份認證。3、通過上面的過程,客戶端實際上獲得了兩組信息:一個是通過自己主密鑰加密的會話密鑰;另一個是被Server的主密鑰加密的數據包,包含會話密鑰和關于自己的一些確認信息。在這個基礎上,我們再來看看服務器是如何對客戶端進行認證的。
導讀2、KDC在接收到這個請求的時候,生成一個會話密鑰。為了保證這個會話密鑰僅僅限于發送請求的客戶端和它希望訪問的服務器知道,KDC會為這個會話密鑰生成兩個副本,分別被客戶端和服務器使用。然后從賬戶數據庫中提取客戶端和服務器的主密鑰分別對這兩個副本進行對稱加密。對于服務器,與會話密鑰一起被加密的還包含關于客戶端的一些信息,以便對發起連接請求的客戶端進行身份認證。3、通過上面的過程,客戶端實際上獲得了兩組信息:一個是通過自己主密鑰加密的會話密鑰;另一個是被Server的主密鑰加密的數據包,包含會話密鑰和關于自己的一些確認信息。在這個基礎上,我們再來看看服務器是如何對客戶端進行認證的。
![](https://img.51dongshi.com/20240929/wz/18159175552.jpg)
1、首先客戶端向KDC發送一個會話密鑰申請。這個申請的內容可以簡單概括為”我是某客戶端,我需要個Session Key用于與某服務器通話“。2、KDC在接收到這個請求的時候,生成一個會話密鑰。為了保證這個會話密鑰僅僅限于發送請求的客戶端和它希望訪問的服務器知道,KDC會為這個會話密鑰生成兩個副本,分別被客戶端和服務器使用。然后從賬戶數據庫中提取客戶端和服務器的主密鑰分別對這兩個副本進行對稱加密。對于服務器,與會話密鑰一起被加密的還包含關于客戶端的一些信息,以便對發起連接請求的客戶端進行身份認證。3、通過上面的過程,客戶端實際上獲得了兩組信息:一個是通過自己主密鑰加密的會話密鑰;另一個是被Server的主密鑰加密的數據包,包含會話密鑰和關于自己的一些確認信息。在這個基礎上,我們再來看看服務器是如何對客戶端進行認證的。4、客戶端通過用自己的主密鑰對KDC加密的會話密鑰進行解密從而獲得會話密鑰,隨后創建認證符(Authenticator,包括客戶端信息和時間戳(Timestamp)),并用會話密鑰對其加密。最后連同從KDC獲得的、被服務器的主密鑰加密過的數據包(客戶端信息和會話密鑰)一并發送到服務器端。我們把通過服務器的主密鑰加密過的數據包稱為服務票證(Session Ticket)。5、當服務器接收到這兩組數據后,先使用它自己的主密鑰對服務票證進行解密,從而獲得會話密鑰。隨后使用該會話密鑰解密認證符,通過比較由客戶端發送來的認證符中的客戶端信息(Client Info)和服務票證中的客戶端信息實現對客戶端身份的驗證。
如何在KDC和用戶(計算機)之間預共享主密鑰mk ?
2、KDC在接收到這個請求的時候,生成一個會話密鑰。為了保證這個會話密鑰僅僅限于發送請求的客戶端和它希望訪問的服務器知道,KDC會為這個會話密鑰生成兩個副本,分別被客戶端和服務器使用。然后從賬戶數據庫中提取客戶端和服務器的主密鑰分別對這兩個副本進行對稱加密。對于服務器,與會話密鑰一起被加密的還包含關于客戶端的一些信息,以便對發起連接請求的客戶端進行身份認證。3、通過上面的過程,客戶端實際上獲得了兩組信息:一個是通過自己主密鑰加密的會話密鑰;另一個是被Server的主密鑰加密的數據包,包含會話密鑰和關于自己的一些確認信息。在這個基礎上,我們再來看看服務器是如何對客戶端進行認證的。
為你推薦