資源描述:
《net平臺下基于角色的訪問控制系統(tǒng)的設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Net平臺下基于角色的訪問控制系統(tǒng)的設(shè)計與實現(xiàn)摘要應(yīng)用soNormalstyle="TEXT-INDENT:21pt;mso-char-indent-count:2.0">計算機技術(shù)安全管理的范圍很廣,可以包括網(wǎng)絡(luò)安全性、數(shù)據(jù)安全性、操作系統(tǒng)安全性以及應(yīng)用程序安全性等。對一個多用戶商用應(yīng)用系統(tǒng)而言,系統(tǒng)的安全訪問控制是必須的,系統(tǒng)不僅要滿足功能性需求,還要滿足安全性需求。系統(tǒng)的安全訪問控制一般是通過用戶認證和用戶權(quán)限管理來實現(xiàn)。權(quán)限管理可簡單表述為:判斷“soNormalstyle="TEXT-INDENT:21pt">資源是應(yīng)用系統(tǒng)
2、中被管理、控制的對象,資源是權(quán)限管理的最小單位,資源的抽象要結(jié)合實際的需要確定粒度大小。權(quán)限是對具體資源的訪問許可。權(quán)限和資源密不可分,在這里,權(quán)限可以用一個二元組來表示(R,A),其中,R表示資源,A表示訪問方式。角色是指一個組織或任務(wù)中的工作或位置,它代表了一種資格、權(quán)利和責(zé)任。用戶就是一個可以獨立訪問應(yīng)用系統(tǒng)中的資源的主體。用戶在一般情況下是指應(yīng)用系的使用者。RBAC中只對角色分配資源的訪問權(quán)限,從另一個角度說,角色是權(quán)限的某種組合。用戶可以具有一個或多個角色,但不能直接對用戶分配權(quán)限。角色的權(quán)限相對穩(wěn)定,而用戶容易變化,RBA
3、C通過角色實現(xiàn)用戶與權(quán)限的分離,增加了權(quán)限分配和管理的方便性和靈活性。以上是RBAC的基本概念,下面結(jié)合soBodyTextIndent>各個通常的應(yīng)用軟件系統(tǒng)中,除了需進行安全訪問控制的資源各不相同外,其它如用戶及角色的管理,角色的權(quán)限分配等基本相同,如果能對不同應(yīng)用系統(tǒng)的資源抽象出相同的描述和訪問接口,自然就能實現(xiàn)一套通用的權(quán)限管理系統(tǒng)。3.1設(shè)計目標(biāo)與主要功能 系統(tǒng)的基本設(shè)計目標(biāo)是,通過統(tǒng)一定義的應(yīng)用系統(tǒng)資源樹接口定義,實現(xiàn)應(yīng)用系統(tǒng)無關(guān)的通用RBAC管理系統(tǒng),如圖1所示,應(yīng)用系統(tǒng)通過統(tǒng)一定義的資源及其訪問方式接口與權(quán)限管理系統(tǒng)
4、平臺進行交互。本系統(tǒng)主要有以下功能:Ø用戶管理:用戶的編輯、角色分配及用戶認證等;Ø角色管理:角色的編輯、權(quán)限分配等;Ø資源及權(quán)限管理:應(yīng)用系統(tǒng)資源及訪問方式以及權(quán)限的定義等;Ø安全訪問控制:判別登錄用戶是否具備對特定資源的訪問權(quán)限。資源接口權(quán)限管理系統(tǒng)權(quán)限分配角色分配角色管理用戶管理資源與權(quán)限管理應(yīng)用系統(tǒng)圖1 權(quán)限管理平臺體系結(jié)構(gòu)3.2應(yīng)用系統(tǒng)的資源資源是對應(yīng)用系統(tǒng)中要進行安全訪問控制的對象的抽象。依據(jù)應(yīng)用對象類別的不同,資源也相應(yīng)分為不同的資源類。3.2.1資源的唯一標(biāo)示本系
5、統(tǒng)設(shè)計采用64位的資源ID(ResourcEiD)來唯一標(biāo)示系統(tǒng)的一個資源對象。應(yīng)用系統(tǒng)需自定義一套完整的資源ID編碼規(guī)則,對要安全訪問控制的每一個對象,根據(jù)編碼規(guī)則可得出一個資源ID。資源ID推薦采用分層設(shè)計,如可分為三個層次:應(yīng)用模塊ID-對象類別ID-對象ID。由于可由應(yīng)用系統(tǒng)對象得到相應(yīng)的資源ID,本系統(tǒng)的數(shù)據(jù)庫中不再需要單獨建立資源與應(yīng)用系統(tǒng)對象的映射表,這是本系統(tǒng)設(shè)計的一個創(chuàng)新之處。3.2.2資源的訪問方式用戶對系統(tǒng)的不同資源通常有特定的訪問方式,如對文件的訪問方式有“讀”、“寫”、“執(zhí)行”等。這里將對資源訪問方式設(shè)計為可
6、以按位組合的枚舉量([FlagsAttribute]標(biāo)示),基本數(shù)據(jù)類型為32位整數(shù),即對一種資源總共可表示32種不同的訪問方式。每個枚舉值還帶有自定義的屬性(Attributes)。以下是文件的訪問方式枚舉量定義的示例代碼(C#):[FlagsAttribute]publicEnumFile_AccessMode{[DisNameAttribute(“讀”)]Read=0x01,[DisNameAttribute(“寫”)]soNormalstyle="MARGIN-LEFT:21pt;TEXT-INDENT:21.6pt;mso-
7、para-margin-left:2.0gd;mso-line-height-alt:0pt">[DisNameAttribute(“執(zhí)行”)]Execute,}由于訪問方式可以按位組合,組合訪問方式的表示被大大簡化。如對文件的“讀”與“寫”的組合訪問方式可以簡記為:File_AccessModem=File_AccessMode.Read
8、File_AccessMode.soNormalstyle="TEXT-INDENT:21pt;mso-char-indent-count:2.0">自定義屬性“DisNameAttribute”
9、給出枚舉值的顯示名稱,示例定義參見下面的代碼(C#):[AttributeUsage(AttributeTargets.All,Alloalstyle="mso-line-height-alt:0pt">publiccl