Active-Directory
Kerberos 共享密鑰創建
關於kerberos,我不完全了解三件事。
- 假設我們正在向 AD 域添加新伺服器。KDC 為該伺服器創建一個共享密鑰,該密鑰如何安全地發送到伺服器?
- 有一個使用者是 AD 域的成員。使用者有他的密鑰(密碼)並且他正在更改它 - 它如何安全地傳遞給 KDC 以更新它的數據庫?
- 由於每個 DC 可以(或可能必須)擁有 KDC,KDC 數據庫是否在每個 DC 之間複製?如果是,這是如何保證的?
AD 中的每個主體(使用者、機器、服務、信任對象)都有一個密碼,每個對像都有這個密碼的幾種不同雜湊類型(MD4、AES、DES 等)。散列值用作認證的對稱密鑰。身份驗證通常會生成用於傳輸加密的會話密鑰。
所以…
- 將設備加入域時,另一個帳戶用於設置安全通道。該安全通道允許設備送出自己的設備密碼。然後,當 KDC 要求時(通過過期視窗),設備會定期更改其密碼。
- 使用者通過正常身份驗證,生成會話密鑰。此會話密鑰對包含明文密碼的更改密碼請求進行加密。KDC 可以解密請求,因為它知道會話密鑰,並嘗試更改密碼,為帳戶生成各種散列。
- 通常是同步所有數據,但在某些情況下,例如只讀 DC,僅同步數據的一個子集。這主要只是數據庫複製的一個功能。每個 DC 都有它的機器機密,並向它的對等 DC 進行身份驗證。身份驗證生成一個會話密鑰,用於保護複製流量。