原文出處:http://technet.microsoft.com/zh-cn/library/cc771144(v=ws.10).aspx
以下方案有助於解釋如何使用 RODC 進行身份驗證過程。在此方案中:
- 用戶 Bob 想登錄名爲 BOB_WS 的工作站。
- 其中安裝 BOB_WS 工作站的子網由 RODC 提供服務。
- 允許 Bob 的用戶帳戶將憑據緩存在 RODC 上,但這些憑據尚未緩存。
- 允許 BOB_WS 計算機帳戶將憑據緩存在 RODC 上,但憑據尚未緩存。
Bob 嘗試登錄工作站 BOB_WS。首先,必須從域控制器中檢索 TGT。此方案中的 TGT 檢索過程如下圖所示。
- RODC 作爲分支機構的 KDC 播發。這意味着當 BOB_WS 搜索域控制器以對 Bob 的登錄請求進行身份驗證時,它可以找到 RODC 並將其用作 KDC。BOB_WS 的 Kerberos 身份驗證包準備 TGT 請求並將其發送給 RODC。
- RODC 收到來自 BOB_WS 的 TGT 請求。由於 RODC 不知道 Bob 帳戶的密碼,因此無法爲 Bob 創建 TGT。RODC 將此 TGT 請求轉發給可寫的 Windows Server 2008 域控制器。
- 可寫的 Windows Server 2008 域控制器對請求進行身份驗證。
- 然後將結果返回給 RODC。如果 Bob 提供正確的憑據,則結果爲 TGT。如果 Bob 的憑據驗證失敗,則結果爲錯誤消息。在此方案中,如果登錄時 Bob 輸入了有效的用戶名和密碼,則驗證成功。
- 可寫域控制器將 TGT 返回給 RODC 的同時,還將 Bob 帳戶的可分辨名稱(也稱爲 DN)添加到 RODC 計算機帳戶的 msDS-AuthenticatedToAccountList 屬性中。這將創建一條 Bob 已通過 RODC 的身份驗證的記錄。
- 然後 RODC 將結果傳遞給 BOB_WS。
- RODC 將 TGT 發送回 BOB_WS 之後,還會請求可寫域控制器將 Bob 的憑據複製到 Active Directory 數據庫的副本中。
- 當可寫域控制器收到將 Bob 的憑據複製到 RODC 的請求時,將檢查密碼複製策略,以確定是否允許 RODC 緩存 Bob 帳戶的憑據。
- 如果檢查指示可以緩存憑據,則可寫域控制器允許將 Bob 的帳戶憑據複製到 RODC。
- 在可寫域控制器發送 RODC 請求的憑據的同時,可寫域控制器會將 Bob 帳戶的可分辨名稱寫入 RODC 計算機帳戶的 msDS-RevealedList 屬性。這將創建一條 Bob 帳戶的憑據現在已緩存在 RODC 上的記錄。
- RODC 將 Bob 的憑據存儲在 Active Directory 數據庫中其用戶帳戶的相應屬性中。
此時:
- 可寫域控制器包含一條已允許將 Bob 的憑據複製到 RODC 的記錄。
- Bob 帳戶的憑據緩存在 RODC 上。
- Bob 具有可寫域控制器生成的 TGT。
下一步,Bob 必須獲得 BOB_WS 的服務票證才能對其進行操作,如下圖所示。
- BOB_WS 將 Bob 的服務票證請求發送給 RODC。該請求包含由可寫域控制器頒發的 TGT。
- RODC 不知道可寫域控制器通常使用的 krbtgt 帳戶的密碼;因此,它必須將服務票證請求轉發給可寫域控制器。但是 RODC 已緩存了 Bob 的憑據;因此,它可以滿足 Bob 的服務票證請求。因此,在可寫域控制器成功響應轉發的請求之後,RODC 向 BOB_WS 返回一條 Kerberos 錯誤消息而不是請求的服務票證。此錯誤消息指出 Bob 在服務票證請求中使用的 TGT 不再有效,因此必須頒發新的 TGT。
- 收到此錯誤消息之後,BOB_WS 丟棄可寫域控制器頒發的 TGT,並從 RODC 請求新的 TGT。
- RODC 已緩存了 Bob 的憑據,因此它準備一個 TGT 並用其自己的 krbtgt 帳戶的密碼對該 TGT 進行簽名。
- 然後 RODC 將此新的 TGT 發送回 BOB_WS。
- BOB_WS 再次將 Bob 的服務票證請求發送給 RODC。現在,服務票證請求包含由 RODC 頒發的 TGT。
- RODC 處理服務票證請求。由於它沒有緩存 BOB_WS 計算機帳戶憑據,因此它無法創建服務票證。它必須將服務票證請求轉發給某個可寫域控制器。
- 可寫域控制器收到來自 RODC 的服務票證請求。可寫域控制器:
- 驗證 TGT。(可寫的域控制器可以驗證 TGT,因爲它知道特定於 RODC 的 krbtgt 帳戶的密碼。)
- 確定密碼複製策略是否允許 RODC 緩存 Bob 帳戶的憑據。允許 RODC 僅爲允許將憑據緩存在其上的帳戶創建 TGT。
- 評估 Bob 帳戶的成員身份並準備服務票證的權限驗證證書 (PAC) 部分。它不使用由 RODC 準備的 TGT 的 PAC 部分。這樣可防止在 RODC 受到威脅以及向 TGT 的 PAC 部分放置虛假信息時提升權限。
- 可寫域控制器創建服務票證並將其發送回 RODC。
- 然後 RODC 將服務票證轉發給 BOB_WS。
- Bob 便可以開始在 BOB_WS 上工作。
- RODC 將服務票證發送回 BOB_WS 之後,還請求可寫域控制器將 BOB_WS 憑據複製到其 Active Directory 數據庫的副本。
- 當上遊域控制器收到將 BOB_WS 帳戶憑據複製到 RODC 的請求時,將檢查密碼複製策略,看是否允許 RODC 緩存 BOB_WS 帳戶的憑據。
- 如果可以緩存憑據,則可寫域控制器允許將 BOB_WS 帳戶憑據複製到 RODC。
- 在可寫域控制器發送 RODC 請求的憑據的同時,可寫域控制器將 BOB_WS 帳戶的可分辨名稱寫入 RODC 計算機帳戶的 msDS-RevealedList 屬性。這將創建一條 BOB_WS 的憑據現在已緩存在 RODC 上的記錄。
- RODC 將 BOB_WS 計算機的憑據存儲在 Active Directory 數據庫中其計算機帳戶的相應屬性中。
此時:
- Bob 已登錄 BOB_WS 工作站,並且他可以請求服務票證以訪問服務器上的資源,方法與他爲其自己的工作站請求服務票證的方法一樣。
- 如果 Bob 訪問的任何計算機允許將憑據緩存在 RODC 上,則在計算機處理服務票證請求時 RODC 將緩存憑據。
- RODC 緩存 BOB_WS 計算機帳戶的憑據。
- 可寫域控制器創建一條其已將 BOB_WS 計算機帳戶的憑據顯示給 RODC 的記錄。
在 Bob 下次嘗試登錄 BOB_WS 工作站時,RODC 無需聯繫可寫域控制器即可處理登錄請求,因爲它已緩存了 Bob 帳戶和 BOB_WS 帳戶的憑據,如下圖所示。
- RODC 作爲分支機構的 KDC 播發。這意味着當 BOB_WS 搜索域控制器以對 Bob 的登錄請求進行身份驗證時,它可以找到 RODC 並將其用作 KDC。BOB_WS 的 Kerberos 身份驗證包準備 TGT 請求並將其發送給 RODC。
- RODC 收到來自 BOB_WS 的 TGT 請求。由於 RODC 已經知道 Bob 帳戶的密碼,因此它可以爲 Bob 創建 TGT。RODC 在創建 TGT 時使用其自己的 krbtgt 帳戶。
- RODC 將 TGT 發送回 BOB_WS,並將 TGT 存儲在與 Bob 的登錄會話關聯的票證緩存中。
- 爲了能夠在 BOB_WS 上工作,Bob 需要服務票證來獲得訪問權限。BOB_WS 上的身份驗證包創建服務票證請求並將其發送給 RODC。BOB_WS 上的身份驗證包準備 TGT 請求並將其發送給 RODC。
- RODC 收到來自 BOB_WS 的服務票證請求,並且由於它已經知道 BOB_WS 計算機帳戶的密碼,因此它可以爲 Bob 創建服務票證以訪問 BOB_WS。RODC 在創建 TGT 時使用其自己的 krbtgt 帳戶。
- RODC 將服務票證發送回 BOB_WS,並將服務票證存儲在與 Bob 的登錄會話關聯的票證緩存中。
- Bob 便可以開始在 BOB_WS 上工作。