資訊與網路安全技術:第 十三章 用戶認證系統 上一頁 |
13-6 集中式用戶認證
13-6-1 集中式認證簡介 『鑰匙分配中心』(Key Distribution Center, KDC)[74] 大多是使用於封閉性網路(或組織單位的網路)的應用系統之中,負責分配使用者的秘密鑰匙(Secret Key),所以使用者持有此秘密鑰匙才可以存取系統內的網路資源。為何需要 KDC 來分配鑰匙,這是值得深思的問題,我們分三個部分來介紹 KDC 的概念。 13-6-2 主機使用者的確認 『帳號/密碼』是一般伺服系統中認證使用者身份最基本的方法,如先前所介紹的,使用者利用密碼建立與伺服器之間的溝通,雙方身份確認的方法,是以共享密鑰為基礎。然而,就多個使用者而言,主機與每一使用者都必須建立一把獨立的共享密鑰,如此說來,主機本身必須維護多把的共享密鑰,而且每個使用者的資源存取權限不盡相同,主機通常需要建立一個『存取控制表』(Access Control List, ACL)(如圖 13-18 所示);其記錄方式又分兩種,一種是資源可讓那些使用者使用,另一種是使用者可存取那些資源,目前大多採用前者。有了 ACL 規劃使用者權限之後,就可以進一步記錄所有使用者存取資源的情形,如此便可達到『稽核』(Audit)的功能了。
圖 13-18 使用者與伺服器之間的共享密鑰 13-6-3 工作群組使用者的確認 除非使用者的數目非常多,否則主機對使用者的管理多半不會衍生特殊問題,但如果應用環境存在眾多伺服器(或主機)時,問題就不是那麼簡單了。基本上,使用者在每一個不同的伺服器上都必須建立帳號,才可以使用該伺服器的資源,相同的道理,每一個伺服器也必須建立一個ACL管理使用者,如此一來,多部伺服器與多個使用者便衍生許多帳戶管理上的困難,如圖 13-19 所示。
圖 13-19 多個伺服器與使用者的管理 基本上,我們會將工作性質相同的伺服器(或主機)組合成一個『工作群組』(Workgroup),方便使用者找尋所需要的資源所在之處,當然使用者必須在伺服器上建立帳戶始可存取。當系統環境還不是很複雜的情況下,管理者分別於各個伺服器上建立使用者帳戶尚可以承擔,當然還必須在每一伺服器上建立存取控制表。一旦系統環境變得很大的時候,系統管理就變得瑣碎且複雜,恐有賴其他機制來輔助始可行。 13-6-4 網域使用者的確認 我們可以發現,將工作性質相同的伺服器(或工作站)整合成一個工作群組,亦不能滿足大型應用系統的需求。如果,我們可以將工作性質相同的使用者與伺服器整合成一個群組,或許就能解決大部分的困難,這就是『網域』(Domain,Kerberos 稱為 Realm)的概念。在一個網域之下,它將工作性質相同的使用者與伺服器(與工作站)組合在一起,並給予一個網域名稱(Domain Name),每一網域內至少必須存在一部『網域控制台』(Domain Controller, DC),DC 管理該網域下所有使用者與電腦(伺服器或工作站)。每一使用者也必須在 DC 上建立一個『網域使用者』帳戶,才可以存取網域上的資源。基本上,DC 負責管理使用者帳戶,至於存取控制表的維護還是保存在各個伺服器上,所以DC 負責登入的工作,伺服器自己則管理存取控制,其運作程序如圖 13-20 中訊號號碼的次序。
圖 13-20 網域的概念 這樣一來,使用者的共享密鑰僅建立在與 DC 之間,而非在所有的伺服器上。當使用者與 DC 之間以某一種機制(單向或相互認證)確定身份之後,它便可以取得通往伺服器的『鑰匙』,再利用這把鑰匙與伺服器通訊,這就是『鑰匙分配中心』(Key Distribution Center, KDC)的概念。簡單的做法是,DC 確定使用者身份與所欲通訊對象之後,分別給予使用者與伺服器一把『會議鑰匙』(Session Key),他們之間再利用這把鑰匙來通訊。 13-6-5 網域控制台 – Win NT 圖 13-21 為 Windows NT 網域的認證程序(Windows 2000 已採用 Kerberos 系統)。使用者於工作站上輸入帳號與密碼要求登入網域(訊號 (1)、(2)),工作站與 DC 之間利用『盤問與回應』協定確定身份之後,DC 會給予一個『符記』(Token)給工作站(訊號 (3)),工作站取得符記後,便可通往所欲存取的伺服器(訊號 (4))。如此說來, DC 僅扮演著鑰匙分配中心(KDC)的功能,至於使用者如何登入 KDC?KDC 如何分配鑰匙?又使用者與伺服器如何共同確認 KDC 所分配的鑰匙?這些問題待下一節再說明。
圖 13-21 Windows NT 網域認證 |
翻轉工作室:粘添壽
資訊與網路安全技術
翻轉電子書系列:
|