《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于角色理論的RBAC96模型改進
基于角色理論的RBAC96模型改進
2016年微型機與應用第16期
郭冬升,,徐建良
中國海洋大學 信息科學與工程學院,,山東 青島 266100
摘要: 在分析RBAC96模型的基礎上,從角色概念及角色間關系的角度分析其不明確之處,;通過角色理論中的可計算角色模型,改進RBAC96模型,,使其具有更好的擴展性
Abstract:
Key words :

  郭冬升,,徐建良
  (中國海洋大學 信息科學與工程學院,,山東 青島 266100)

       摘要:在分析RBAC96模型的基礎上,,從角色概念及角色間關系的角度分析其不明確之處;通過角色理論中的可計算角色模型,,改進RBAC96模型,,使其具有更好的擴展性。
  關鍵詞:RBAC,;角色理論,;模型改進 

0引言
  隨著信息管理系統(tǒng)面向多用戶,、多應用的發(fā)展,用戶可以訪問的數(shù)據(jù)和功能資源機構日益復雜,,規(guī)模日益龐大,。資源的安全性成為一個重要且亟待解決的問題?;诮巧脑L問控制方法(RoleBased Access Control,RBAC)是當前較為有效的資源訪問控制方法,,在各類信息系統(tǒng)中有著廣泛的應用。然而傳統(tǒng)RBAC模型對于角色的概念模型思考過少,,不同信息系統(tǒng)對于RBAC的實現(xiàn)方案也不盡相同,,若將傳統(tǒng)RBAC模型應用于不同的信息系統(tǒng)中,需要增強傳統(tǒng)RBAC模型的普適性,。
  本文首先對訪問控制和RBAC模型的基本概念和思想進行探討,,之后詳細分析RBAC96模型[1]中的不明確處;第2節(jié)介紹角色理論,,并基于角色模型改進RBAC96模型,;第3節(jié)對上述部分加以總結。
1訪問控制與RBAC模型
  訪問控制源于美國國防部資助的研究項目,,后演化成為現(xiàn)在的訪問控制技術,。顧名思義,訪問控制技術是實現(xiàn)訪問者(主體)與資源(客體)之間存在的訪問策略的一項技術,,主體只有成功通過訪問控制機制設下的關卡,,才可獲取特定的客體。訪問控制策略應該滿足下述最基本三個方面的控制:
 ?。?)機密性控制:保證客體資源不被非法的讀取,。
  (2)完整性控制:保證客體資源不被非法地增加,、刪除,、改寫,從而保證資源的一致完整性,。
 ?。?)有效性控制:保證客體資源不被非法訪問主體使用和破壞。
  對如今越來越復雜的信息系統(tǒng)而言,,很多情況下使用單一的訪問控制方法已經無法完全保證信息的安全,。因此,實現(xiàn)訪問控制方法必須結合其他技術,,RBAC由此而生,,它結合數(shù)據(jù)完整性、數(shù)據(jù)機密性、身份驗證,、安全審計等技術,,已成為目前廣為流行的訪問控制方法。
  1.1RBAC簡介
  RBAC模型于1992年由美國國家標準與技術研究院(National Institute of Standards and Technology)組織開發(fā),,它是一種基于角色的信息訪問控制方法[2],。
  在使用RBAC模型的信息系統(tǒng)中,系統(tǒng)不會直接對主體進行訪問控制,,而是判別該主體所承擔的角色,,通過角色的不同權限,最終確定該主體是否可以最終獲取客體資源,。因此,,RBAC將主體與客體之間的關系通過角色進行了分隔,每個角色在此相當于主體的一個集合,,自然,,一個主體可以同時對應多個角色,每種角色也可由多個主體進行承擔,?;诮巧脑L問控制方法,可以很簡便地完成授權管理,、賦予最小特權,、根據(jù)工作進行分級、責任獨立,、文件分級等工作,。在RBAC中,角色的靈活變更可以使得原先主體與客體之間的復雜關系變得簡便,。
  RBAC的本質是在用戶與權限之間建立一個靈活的橋梁,。通過用戶角色分配(UA)及角色權限分配(PA),實現(xiàn)角色橋梁的搭建,,如圖1所示[3],。

圖像 001.png

  在RBAC中,主要有四個實體:用戶(User),、角色(Role),、權限(Permission)、會話(Session),。
  (1)用戶:前文中的主體,,資源的訪問者,。一般而言,用戶就是人,但是隨著計算機的發(fā)展,,也可以是一些智能程序,。
  (2)角色:可以執(zhí)行特定任務或被指定擁有一定工作職能的工作頭銜,。它代表一種權利和責任,,它根據(jù)具體的業(yè)務場景來進行劃分。
 ?。?)權限:表示用戶對資源的操作許可,,與具體的系統(tǒng)應用有關,每條權限通常代表不同的資源,。
 ?。?)會話:即某用戶與角色之間的映射關系,一個用戶一般情況下?lián)碛幸粋€或多個角色,,因此該映射是一對一或一對多的關聯(lián)關系,。用戶需要在會話中完成某個角色的激活工作,每一個會話都與某個用戶關聯(lián),,每個用戶因其可能同時具有多個角色,,因此可同時關聯(lián)多個會話。
  除了給定的四個基本實體,,還需要定義以下概念:
 ?。?)權限分配(Permission Assignment,PA):角色與權限之間的多對多關系的映射,。
 ?。?)用戶分配角色(User Assignment,UA):用戶與角色之間的多對多關系的映射,。
 ?。?)角色層次(Role Hierarchy,RH):角色與角色之間存在的等級或繼承關系體現(xiàn),。
 ?。?)約束條件(Constraints):判別在模型中各個操作是否被允許。
  1.2RBAC96模型
  Gerorge Mason教授SANDHU R S于1996年對基本RBAC模型進行改進,,提出了 RBAC96模型,,并在之后的時間里很快成為了使用最為廣泛的訪問控制模型。
  RBAC0,、RBAC1,、RBAC2和RBAC3四個模型共同組成RBAC96模型族。其中RBAC0是其他模型的基礎模型,,其核心即是前文中介紹的角色作為用戶與權限的關聯(lián)橋梁,。RBAC1在RBAC0的基礎上,,引入了角色與角色之間的關系,根據(jù)現(xiàn)實人類社會的組織構造,,其將角色之間的關系以角色的層級來表示,,不同層級的角色通過權限繼承的關系描述,即上層角色擁有其父角色的所有權限,。RBAC2即角色限制模型,,其在RBAC0的基礎上,在會話,、角色分配,、權限分配等各個過程中,根據(jù)實際業(yè)務需求,,添加各種限制,。
  圖2RBAC96內各子模型關系可以看出,RBAC1與RBAC2是相互獨立的模型,,其在RBAC0模型的基礎上,,從不同方面對基礎模型進行了擴展。結合RBAC1與RBAC2構成一個新的統(tǒng)一模型RBAC3,,自然統(tǒng)一模型也具有RBAC0的所有特點,。這幾個模型共同組成了RBAC96模型族,如圖2所示,。

圖像 002.png

圖像 003.png

  圖3為RBAC3概念示意圖,,該模型聚合了RBAC0、RBAC1與RBAC2三個模型,。

2角色理論與RBAC96改進模型
  2.1角色理論
  
2.1.1角色的概念
  角色的概念無處不在,,它常常被認為是一種類型或是屬性,角色與一般的自然類型概念不同[4],。
  角色具有非常強的上下文依賴性,。比如某個人在學校內擔任教師的角色,而在家中擔任丈夫的角色,,因此對于同一人來講,,在不同上下文環(huán)境中,可能扮演不同的角色,,上下文在角色的描述中占據(jù)非常重要的位置,。
  在這里給出角色的一個非正規(guī)定義:角色是在某個上下文環(huán)境中被某個實體扮演的實體。
  角色具有以下特點[5]:
 ?。?)角色可以被扮演和停止扮演,,是動態(tài)的概念;
 ?。?)角色的定義必須依靠外部的一些其他概念,;
 ?。?)角色依賴于定義它的上下文環(huán)境;
 ?。?)一個實體可以扮演多個角色;
 ?。?)一個實體可以多次扮演一個角色類型,,如一個人多次扮演學生角色;
 ?。?)一個角色可以扮演另一種角色,,如美國公民角色可以扮演美國總統(tǒng)的角色;
 ?。?)一個角色可以同時被多個實體所扮演,;
  (8)角色與所依賴的上下文的關系可能穩(wěn)定也可能不穩(wěn)定,,如教師在睡覺時仍然是教師,,而行人在睡覺時即不再是行人。
  2.1.2角色模型簡述
  舉一個教師角色的例子來說明此模式:“在X高中,,張三扮演了A教師角色,,因此成為了A教師”,在類的層次上,,可以泛化為“在學校里,,某人可以扮演教師,因此成為教師”,。圖4所示為這種關系的描述,。

圖像 004.png  

  從圖4和舉例描述中,可以發(fā)現(xiàn)幾個重要的元素:
 ?。?)上下文:包含一系列的事物,,但可以看為整體的類。
 ?。?)角色概念:其實例可以被別的實體在某個上下文中扮演,。
  (3)角色擁有者:是一種依賴實體的類,,角色扮演者和角色概念實例組合的抽象,。它是整個角色模型的核心。
 ?。?)潛在扮演者:指可以扮演角色概念實例的一類事物,。
  (5)角色扮演事物:在實例層扮演角色的實體
  上面的例子進一步可泛化為“在上下文中,,潛在扮演者可以扮演角色概念,,因此成為角色擁有者”,。在此模型中,傳統(tǒng)的角色扮演者被分為二部分:一是概念層的潛在扮演者,,一是實例層的被扮演事物,。傳統(tǒng)的角色扮演關系被分為兩種:一個是概念的可扮演,另一個是實例層的已扮演,。傳統(tǒng)的角色被分為兩種:角色概念和角色擁有者,,傳統(tǒng)的角色概念隱藏了這兩者的區(qū)別,正是產生概念混亂的原因,。角色擁有者不允許直接實例化,,因為它依賴于實體,角色擁有者的類和實例之間是用虛線箭頭連接的,,表示繼承關系,,而不是實線箭頭的實例化。此模型中,,一個角色概念即使不被扮演,,也可以存在實例層,因為它只依賴于它的上下文,,而不是扮演者,。
  2.1.3角色分類
  按照依賴的上下文不同,可將角色分為多個類別,,最主要的有三個:關系角色,、組織角色和過程角色。關系角色依賴于關系,,如丈夫和妻子,;組織角色依賴于某社會組織,如信息學院院長,;過程角色依賴于某個過程,,如項目審核人。在信息系統(tǒng)中,,管理的角色主要包括組織角色和過程角色兩類[6],。
  2.2基于角色理論的RBAC96模型改進
  
2.2.1引入上下文環(huán)境
  對于同一個角色,不同扮演者扮演時其權限往往是不同的,。譬如張三和李四都扮演“項目負責人”角色,,維護自己負責的項目,顯然他們所能獲取的數(shù)據(jù)權限局限于自己的項目,;再譬如“部門負責人”角色,,不同部門的負責人顯然權限有所區(qū)別。因此對角色來講,,其依賴的上下文具有非常重要的意義,,角色概念與其上下文環(huán)境的組合更加適合承擔用戶與權限之間的橋梁,。新角色包括兩部分,角色概念和上下文,。譬如“信息學院院長”角色,,其包括角色概念“院長”和上下文環(huán)境“信息學院”兩部分,二者組合到一起可更加清晰地表現(xiàn)用戶承擔的角色,。
  2.2.2權限的分析
  RBAC模型只涉及用戶,、角色與權限,沒有對權限作進一步的思考,,其實權限如何定位往往決定著整個系統(tǒng)在訪問控制上所能做到的程度。本小節(jié)主要討論權限粒度問題以及角色權限分配過程(PA),。權限的描述可以分為兩個組成部分:資源與操作,,每一條權限即是兩者的組合。如“項目”為某一資源,,“添加”為某一操作,,則二者的組合即為“添加項目”這一權限。
  信息系統(tǒng)中的權限可分為三個部分:界面,、功能,、數(shù)據(jù),三者相輔相成,。例如“某項目負責人登錄科技處管理系統(tǒng)查看項目信息”這一事件,,便涉及界面、功能及數(shù)據(jù)三個部分,。首先,,界面為該專家提供操作接口,其次該專家可以通過系統(tǒng)執(zhí)行“查看項目”功能,,最后獲取項目數(shù)據(jù),。如何使用權限記錄來描述這三者是一個亟待解決的問題。按照權限為資源與操作的組成模式,,上文“某項目負責人登錄科技處管理系統(tǒng)查看項目信息”的情況,,可簡單描述為權限“查看項目”,其中“查看”為操作,,“項目”為資源,。可見,,這類簡單的權限可以與數(shù)據(jù)庫中的數(shù)據(jù)操作相一致,,操作對應數(shù)據(jù)庫的增刪改查操作,數(shù)據(jù)對應數(shù)據(jù)庫表,,如此可以在系統(tǒng)中將權限關聯(lián)至數(shù)據(jù)庫操作,,非常方便地實現(xiàn)訪問控制,,這種方案便是將權限粒度定位到數(shù)據(jù)庫表的操作級別。然而對于某些權限,,這種做法卻是不合適的,,如“信息學院院長審核某項目立項”這種情況,院長的審核操作可能改動項目信息,、添加審核記錄等,,如果沿用數(shù)據(jù)庫操作粒度的權限,描述這類權限顯然很不方便,。
  由此可以考慮另一種權限粒度劃分方案:根據(jù)系統(tǒng)業(yè)務劃分,。如“信息學院院長審核某項目立項”簡單描述為“審核立項”,然而在實現(xiàn)這種粗粒度的權限描述中,,因為其與實際業(yè)務的緊耦合性,,需要將訪問控制方法在業(yè)務層做處理,這對于系統(tǒng)的維護,、擴展都是一個不小的負擔,。
  對于信息系統(tǒng)而言,權限的粒度直接決定著訪問控制復雜度,。對于網絡信息系統(tǒng),,比較適中的方案是將訪問控制方法置于通信層,這便需要對系統(tǒng)權限做詳細的分析,,在粗粒度和細粒度的權限描述中尋求一個權限描述的合適位置,。
  角色權限分配過程分為靜態(tài)與動態(tài)兩個過程,靜態(tài)過程為提前完成的角色概念與權限之間的關聯(lián),,動態(tài)過程將上下文引入至權限中,,以確定權限操作的對象。圖5所示為角色權限分配過程,。

圖像 005.png

  RBAC1角色分級模型本質上是角色之間普遍存在的繼承關系的體現(xiàn),;RBAC2限制模型對于角色的限制也體現(xiàn)了角色之間的關系,如互斥,,對于不同復雜度的信息系統(tǒng),,所需要的限制也有所不同。改進模型將RBAC1與RBAC2融合在一體,,體現(xiàn)了角色之間的繼承與互斥關系,。
  2.2.4改進的RBAC模型
  圖6所示為改進的RBAC模型。在改進模型中引入上下文環(huán)境,,作為角色的一個重要組成部分,;將權限分

圖像 006.png

  配過程分為靜態(tài)和動態(tài)兩類;將角色分級泛化為角色關系,簡化RBAC3中的約束模型,,僅在角色關系中體現(xiàn),。事實上每個信息系統(tǒng)都有獨自的約束要求,本文的改進模型沒有將其在模型中表示,?;诮巧碚摰腞BAC改進模型去掉描述不詳?shù)腞BAC2限制模型,在角色的概念上做了一定的補充,。這樣,,既簡化了RBAC96模型,又提高了其普適性,。
3結束語
  本文在角色理論的基礎上,,對RBAC96模型中的角色和權限部分進行了擴展,并簡化了RBAC3模型中的約束部分,,使其具有良好的可擴展性,。
  參考文獻
  [1] SANDHU R S, COYNE E J, FEINSTEIN H L, et al. Rolebased access control models[J]. Computer, 1996, 29(2):3847.
 ?。?] 賈曉輝, 韓玉民. 基于任務的RBAC模型設計與應用[J]. 微型機與應用, 2014,33(2):7881.
 ?。?] 楊靜, 季新生, 劉彩霞. 基于角色訪問控制的HSS數(shù)據(jù)庫越權訪問防護[J]. 電子技術應用, 2011, 37(4):145148.
 ?。?] MIZOGUCHI R, SUNAGAWA E, KOZAKI K, et al. The model of roles within an ontology development tool: Hozo[J]. Applied Ontology, 2007, 2(2):159179.
  [5] 熊晶. 海洋生態(tài)本體的建模方法研究及應用[D]. 青島:中國海洋大學, 2010.
 ?。?] 江利萍, 張再躍. 社會群體角色本體建模及其公理獲?。跩]. 計算機工程, 2012, 38(10):4144.

此內容為AET網站原創(chuàng),未經授權禁止轉載,。