1. 程式人生 > >域使用者登入過程

域使用者登入過程

登入到域的驗證過程,對於不同的驗證協議也有不同的驗證方法。如果域控制器是Windows NT 4.0,那麼使用的是NTLM驗證協議,其驗證過程和前面的“登入到本機的過程”差不多,區別就在於驗證賬號的工作不是在本地SAM資料庫中進行,而是在域控制器中進行;而對於Windows 2000和Windows 2003域控制器來說,使用的一般為更安全可靠的Kerberos V5協議。通過這種協議登入到域,要向域控制器證明自己的域賬號有效,使用者需先申請允許請求該域的TGS(Ticket-Granting Service--票據授予服務)。獲准之後,使用者就會為所要登入的計算機申請一個會話票據,最後還需申請允許進入那臺計算機的本地系統服務。


  其過程如下:
  1.使用者首先按Ctrl+Alt+Del組合鍵。
  2.Winlogon檢測到使用者按下SAS鍵,就呼叫GINA,由GINA顯示登入對話方塊,以便使用者輸入賬號和密碼。
  3.使用者選擇所要登入的域和填寫賬號與密碼,確定後,GINA將使用者輸入的資訊傳送給LSA進行驗證。
  4.在使用者登入到本機的情況下,LSA將請求傳送給Kerberos驗證程式包。通過雜湊演算法,根據使用者資訊生成一個金鑰,並將金鑰儲存在證書快取區中。
  5.Kerberos驗證程式向KDC(Key Distribution Center--金鑰分配中心)傳送一個包含使用者身份資訊和驗證預處理資料的驗證服務請求,其中包含使用者證書和雜湊演算法加密時間的標記。 

  6.KDC接收到資料後,利用自己的金鑰對請求中的時間標記進行解密,通過解密的時間標記是否正確,就可以判斷使用者是否有效。 
  7.如果使用者有效,KDC將向用戶傳送一個TGT(Ticket-Granting Ticket--票據授予票據)。該TGT(AS_REP)將使用者的金鑰進行解密,其中包含會話金鑰、該會話金鑰指向的使用者名稱稱、該票據的最大生命期以及其他一些可能需要的資料和設定等。使用者所申請的票據在KDC的金鑰中被加密,並附著在AS_REP中。在TGT的授權資料部分包含使用者賬號的SID以及該使用者所屬的全域性組和通用組的SID。注意,返回到LSA的SID包含使用者的訪問令牌。票據的最大生命期是由域策略決定的。如果票據在活動的會話中超過期限,使用者就必須申請新的票據。

  8.當用戶試圖訪問資源時,客戶系統使用TGT從域控制器上的Kerberos TGS請求服務票據(TGS_REQ)。然後TGS將服務票據(TGS_REP)傳送給客戶。該服務票據是使用伺服器的金鑰進行加密的。同時,SID被Kerberos服務從TGT複製到所有的Kerberos服務包含的子序列服務票據中。
  9.客戶將票據直接提交到需要訪問的網路服務上,通過服務票據就能證明使用者的標識和針對該服務的許可權,以及服務對應使用者的標識。