熊厚仁 陳性元 張 斌 杜學(xué)繪
通過(guò)引入角色的概念,基于角色的訪問(wèn)控制模型(Role-Based Access Control, RBAC)[1]中用戶不是直接與權(quán)限相關(guān)聯(lián),而是將權(quán)限賦予角色,通過(guò)為用戶分配合適的角色從而獲得指定權(quán)限,極大地降低了授權(quán)管理復(fù)雜度,并具有策略中立、強(qiáng)擴(kuò)展性、易于管理等特點(diǎn),更適用于現(xiàn)代信息系統(tǒng)。自提出以來(lái),RBAC得到了廣泛的研究和應(yīng)用,包括RBAC管理模型ARBAC研究[2]、基于時(shí)間和空間的RBAC研究[3,4]、RBAC中的職責(zé)分離約束研究[5]及結(jié)合其它約束研究[6]、基于工作流的 RBAC研究[7]、基于 RBAC的委托研究[8]、RBAC與信任管理結(jié)合的研究[9],跨域訪問(wèn)控制研究[10],角色工程研究[11]及圍繞RBAC展開(kāi)安全性分析研究[12,13]等。以上研究根據(jù)實(shí)際應(yīng)用需要對(duì)經(jīng)典RBAC進(jìn)行改進(jìn)或擴(kuò)展,從而滿足不同應(yīng)用環(huán)境的特定需求。
現(xiàn)有針對(duì) RBAC模型的應(yīng)用及研究繼承了RBAC的諸多優(yōu)點(diǎn),但仍存在一些適應(yīng)性、安全性及復(fù)雜度等方面的問(wèn)題,具體表現(xiàn)為:
(1)傳統(tǒng)角色概念不能同時(shí)滿足組織層面和應(yīng)用層面的訪問(wèn)控制需求。RBAC模型中的授權(quán)管理包括用戶授權(quán)(user-role assignment)和角色授權(quán)(role-permission assignment)。在實(shí)際系統(tǒng)中,人員信息和資源信息往往交給不同人員管理,分別由人事部門和信息管理部門負(fù)責(zé)。在較大規(guī)模的組織或企業(yè)中,很難找到既熟知人員的職責(zé)分工,又熟悉應(yīng)用系統(tǒng)業(yè)務(wù)流程的管理人員?,F(xiàn)有研究中,RBAC模型單一的角色設(shè)置不符合現(xiàn)實(shí)世界的真實(shí)情況,其適用性較低。文獻(xiàn)[14]提出將角色劃分為職能角色和任務(wù)角色的思想以解決以上問(wèn)題,但該方案用于具有多個(gè)相似組織的大型分布式系統(tǒng)時(shí)易帶來(lái)角色和權(quán)限數(shù)量過(guò)多等問(wèn)題。
(2)在由多個(gè)相似組織組成的大型分布式網(wǎng)絡(luò)中,現(xiàn)有研究存在角色、權(quán)限數(shù)量過(guò)大和冗余等不足,易導(dǎo)致權(quán)限分配繁瑣、管理復(fù)雜等問(wèn)題。分布式網(wǎng)絡(luò)呈現(xiàn)多域、動(dòng)態(tài)等特點(diǎn),由多個(gè)具有組織結(jié)構(gòu)特點(diǎn)的域構(gòu)成,且每個(gè)域都采用RBAC模型時(shí),需要為每個(gè)域定義相應(yīng)的角色及權(quán)限,不僅容易造成角色和權(quán)限冗余,也帶來(lái)了較大的管理復(fù)雜度,特別是增加了跨域訪問(wèn)控制的難度和復(fù)雜性。文獻(xiàn)[15]在 RBAC的基礎(chǔ)上引入組織的概念以解決該問(wèn)題,但存在單一角色設(shè)置及私有權(quán)限得不到有效保護(hù)的問(wèn)題。
(3)現(xiàn)有研究大多將權(quán)限視為一個(gè)整體,主要集中于用戶權(quán)限分配、權(quán)限約束的管理,忽視了資源的重要性,或者未對(duì)面向RBAC的授權(quán)管理中的資源、資源操作及權(quán)限分配的管理進(jìn)行深入具體的描述,或者其資源管理不具有通用性和可擴(kuò)展性。
針對(duì)以上問(wèn)題,本文對(duì)文獻(xiàn)[14]提出的雙層角色進(jìn)行延伸,在文獻(xiàn)[15]引入的基于組織和角色的訪問(wèn)控制的基礎(chǔ)上,將雙層角色與組織相結(jié)合,提出支持資源管理的基于雙層角色和組織的可擴(kuò)展訪問(wèn)控制模型(Scalable Access Control Model Based on Double-Tier Role and Organization, SDTROBAC),解決現(xiàn)有研究中存在的角色設(shè)置單一使得適應(yīng)性差、存在角色或權(quán)限冗余、資源管理得不到足夠重視等問(wèn)題。
RBAC中用戶授權(quán)和角色授權(quán)部分的管理由不同管理員完成。若角色與組織架構(gòu)中的職能分工對(duì)應(yīng),用戶授權(quán)工作比較直觀方便,但角色授權(quán)工作就非常復(fù)雜;若角色按照應(yīng)用系統(tǒng)內(nèi)的業(yè)務(wù)劃分制定,則角色授權(quán)工作可以由應(yīng)用系統(tǒng)管理員完成,但用戶授權(quán)則會(huì)變得比較繁瑣。將授權(quán)管理工作按照組織層面和應(yīng)用層面進(jìn)行區(qū)分,可以極大地降低管理負(fù)擔(dān)和復(fù)雜度。通過(guò)將角色概念進(jìn)行拆分,提出基于角色區(qū)分的雙層角色架構(gòu):在組織層面,按照組織架構(gòu)中用戶的職責(zé)分工情況,設(shè)置職能角色;在應(yīng)用層面,按照應(yīng)用系統(tǒng)內(nèi)的業(yè)務(wù)劃分和資源屬性,設(shè)置任務(wù)角色,如圖1所示。
圖1 基于職能角色和任務(wù)角色的雙層角色架構(gòu)
與RBAC中的角色層次類似,兩種角色均具有角色層次結(jié)構(gòu)及與之對(duì)應(yīng)的角色樹。其中任務(wù)角色直接與權(quán)限相關(guān)聯(lián),是權(quán)限的集合,其層次結(jié)構(gòu)能夠體現(xiàn)權(quán)限的繼承關(guān)系;職能角色樹中上下級(jí)節(jié)點(diǎn)之間是部門間的層次關(guān)系和崗位對(duì)部門的隸屬關(guān)系,沒(méi)有權(quán)限繼承關(guān)系。
通過(guò)引入組織的概念,將雙層角色和組織相結(jié)合,并對(duì)權(quán)限概念加以擴(kuò)展,改進(jìn)經(jīng)典RBAC模型,提出支持資源管理的基于雙層角色和組織的可擴(kuò)展訪問(wèn)控制模型SDTR-OBAC,如圖2所示。
SDTR-OBAC模型的主要思想是:將傳統(tǒng)的角色概念劃分為職能角色和任務(wù)角色,解決傳統(tǒng)角色概念不能同時(shí)滿足組織層面和應(yīng)用層面需求及適應(yīng)性差的問(wèn)題;引入組織的概念,代表進(jìn)行協(xié)作的各個(gè)域,并將分配給用戶的角色擴(kuò)展為組織-職能角色二元組,將與權(quán)限關(guān)聯(lián)的角色擴(kuò)展為組織-任務(wù)角色二元組,通過(guò)組織-職能角色和組織-任務(wù)角色間的映射關(guān)系建立用戶與權(quán)限之間的關(guān)聯(lián),解決由大量相似組織或域構(gòu)成的分布式環(huán)境下角色、權(quán)限過(guò)多或冗余問(wèn)題;經(jīng)典RBAC模型中由操作和資源構(gòu)成的權(quán)限擴(kuò)展為由操作和資源類型構(gòu)成的二元組,提高角色授權(quán)管理效率;對(duì)職能角色、任務(wù)角色分別定義不同的繼承關(guān)系,解決下層角色的敏感權(quán)限得不到有效保護(hù)的問(wèn)題;分析描述了針對(duì)資源、操作和權(quán)限等的管理,解決現(xiàn)有研究缺乏面向授權(quán)管理的資源管理的問(wèn)題;引入職責(zé)分離約束、勢(shì)約束等授權(quán)管理安全約束,對(duì)權(quán)限繼承、用戶角色分配、角色權(quán)限分配和角色映射關(guān)系等問(wèn)題進(jìn)行限制,提高授權(quán)管理的安全性。
圖2 基于雙層角色和組織的可擴(kuò)展訪問(wèn)控制模型SDTR-OBAC
本文采用集合論和一階邏輯分別對(duì)模型的元素、關(guān)系、函數(shù)和約束進(jìn)行形式化定義。
3.2.1 模型元素與關(guān)系
定義1 模型元素
(1)U, S, Op, Res:與經(jīng)典RBAC定義相同,分別表示用戶、會(huì)話、操作和資源的集合。
(2)O:組織集合,代表構(gòu)成分布式系統(tǒng)的各個(gè)域;R:角色集合,包含職能角色FR和任務(wù)角色TR,即R = F R ∪ T R ; ResT:資源類型集合。
(3)OFR, OTR:分別表示組織-職能角色集合和組織-任務(wù)角色集合,ofr∈OFR和otr∈OTR是由組織分別與職能角色和任務(wù)角色構(gòu)成的二元組,即ofr=(o,fr),otr=(o,tr),其中fr∈FR, tr∈TR。
(4)P:權(quán)限,對(duì)經(jīng)典RBAC中權(quán)限的概念進(jìn)行擴(kuò)展,權(quán)限 p ∈ P 是由操作和資源類型構(gòu)成的二元組,即 p =(op,rt),其中op∈Op, rt∈ResT。
(5)C:約束,對(duì)用戶與組織-職能角色分配、組織-職能角色與組織-任務(wù)角色映射、組織-任務(wù)角色的權(quán)限分配、組織層次關(guān)系、角色層次關(guān)系等進(jìn)行限制,主要包括職責(zé)分離約束SoD,勢(shì)約束Cardinality等。
定義2 模型關(guān)系
(1)UOFR ? U × O × F R :多對(duì)多的用戶與組織-職能角色分配關(guān)系,類似于經(jīng)典RBAC中的UA;US?U×S:用戶與會(huì)話關(guān)系,用戶可激活多個(gè)會(huì)話,但一個(gè)會(huì)話只能屬于一個(gè)用戶;SOFR?S×O×F R:會(huì)話與組織-職能角色對(duì)之間的多對(duì)多映射關(guān)系;OTRP ? O × T R× P :組織-任務(wù)角色與權(quán)限映射關(guān)系,類似于經(jīng)典RBAC中的PA。
(2)OFR ? O× F R,OTR?O×TR,ORes?O×R es:分別表示多對(duì)多的組織與職能角色、組織與任務(wù)角色、組織與資源之間的關(guān)聯(lián)關(guān)系。
(3)FRTR ? FR× T R,OFROTR? OFR× O TR:分別表示多對(duì)多的職能角色與任務(wù)角色映射關(guān)系和多對(duì)多的組織-職能角色與組織-任務(wù)角色映射關(guān)系。OFROTR主要由組織之間的信任關(guān)系和FRTR決定,若兩個(gè)組織 o1,o2間的信任關(guān)系表示為 o1?o2,則 OFROTR={ ((o1,fr), (o2,tr))|(o1,fr)∈ O FR ∧(o2,tr)∈ O TR ∧ o1?o2∧(fr, tr)∈FRTR }。
(4)OpResT ? Op× R esT , PResT? P × R esT,POp?P× O p, ResTRes? R esT× R es:分別表示操作與資源類型關(guān)聯(lián)關(guān)系、權(quán)限和資源類型的關(guān)聯(lián)關(guān)系、權(quán)限和操作的關(guān)聯(lián)關(guān)系和資源與資源類型的隸屬關(guān)系。
(5)OH?O×O:組織層次關(guān)系,指組織之間的上下級(jí)隸屬關(guān)系和管理關(guān)系,具有自反性、反對(duì)稱性和可傳遞性,是偏序關(guān)系,兩個(gè)組織 o1∈ O ,o2∈ O 間的層次關(guān)系定義為 ( o1, o2)∈ O H ,表示o1≤o2。
(6)RH?R×R:角色層次關(guān)系,與經(jīng)典RBAC相同,包含職能角色層次關(guān)系FRH ? F R × F R和任務(wù)角色層次關(guān)系TRH ? T R × T R,即RH = FRH∪ T RH。與組織層次關(guān)系OH類似,角色層次關(guān)系RH也具有自反性、反對(duì)稱性和傳遞性,是偏序關(guān)系。為了保護(hù)下層角色的敏感權(quán)限,兩類角色采取不同的繼承策略,即職能角色層次中不存在權(quán)限繼承和用戶繼承關(guān)系,上下級(jí)角色間只存在管理關(guān)系,即 ( fr1, fr2)∈FRH表示為fr1≤fr2;而任務(wù)角色層次中存在權(quán)限繼承但不存在職能角色繼承,即(tr1, tr2)∈TRH表示為tr1≤tr2。
(7)OFRH ? O FR× O FR:組織-職能角色層次關(guān)系,依賴于組織層次關(guān)系和職能角色層次關(guān)系,是偏序關(guān)系,即 (o fr1, ofr2)∈ O FRH或 o fr1≤ofr2當(dāng)且僅當(dāng) o1≤o2∧fr1≤fr2,其中ofr1=(o1, fr1), ofr2=(o2, fr2) 。
(8)OTRH ? O TR× O TR:組織-任務(wù)角色層次關(guān)系,依賴于組織層次關(guān)系和任務(wù)角色層次關(guān)系,是偏序關(guān)系,即 (o tr1, otr2)∈ O TRH或 o tr1≤otr2當(dāng)且 僅 當(dāng) o1≤o2∧tr1≤tr2, 其 中otr1=(o1,tr1),ofr2= ( o2, tr2) 。
(9)ResH ? R es× R es:資源層次關(guān)系,主要指資源間的包含關(guān)系,是偏序關(guān)系, (r e1, re2)∈ResH表示 r e1≤re2;ResTH? R esT× R esT:資源類型層次關(guān)系,是資源類型間的包含關(guān)系,是偏序關(guān)系,(rt1, rt2)∈ R esTH 表示 r t1≤rt2; OpH?Op×Op:操作層次關(guān)系,主要指操作間的蘊(yùn)含關(guān)系,如讀寫操作蘊(yùn)含只讀操作,是偏序關(guān)系, (o p1, op2)∈OpH表示 o p1≤op2。
(10)PH?P×P:權(quán)限層次關(guān)系,由操作蘊(yùn)含關(guān)系和資源類型包含關(guān)系決定,是偏序關(guān)系,即(p1, p2)∈ P H 或p1≤p2當(dāng)且僅 當(dāng)op1≤op2∧rt1≤ r t2,其中 p1= ( op1,rt1), p2= ( op2,rt2)。
其中,“≤”和“≤”的區(qū)別為前者不存在權(quán)限繼承和用戶繼承關(guān)系,而后者存在權(quán)限繼承關(guān)系。
3.2.2 模型函數(shù)
定義 3 模型函數(shù) 模型包含與以上關(guān)系對(duì)應(yīng)的相關(guān)函數(shù),限于篇幅,主要給出以下關(guān)鍵函數(shù)。
(1)user: S→U:會(huì)話到用戶的映射,通過(guò)該函數(shù)查找與會(huì)話s關(guān)聯(lián)的用戶u。
(2)re s types: Res→2ResT:資源到其所屬資源類型集合的映射,某具體資源可屬于多種資源類型。
(3)re s orgs: Res→2O:資源到其所隸屬的組織集合的映射,資源可隸屬于多個(gè)組織。
(4)assigned_orgs-trole: OFR→2OTR:組織-職能角色到組織-任務(wù)角色集合的映射,可為某組織-職能角色對(duì)映射多個(gè)組織-任務(wù)角色對(duì)。
(5)a ss igned_orgs-frole:U→2OFR:用戶到為其分配的組織-職能角色集合的映射,形式化表示為
(6)a ss igned_users: OFR→2U:組織-職能角色到用戶集合的映射,形式化表示為:assigned_users(o,fr))= {u |(u,( o, fr))∈ U OFR}。
(7)a ct ive_orgs-frole: S→2OFR:會(huì)話到其可用的組織-職能角色集合的映射,形式化表示為:active_orgs-role(s)? assigned_orgs-frole(user(s))。
(8)a ss igned_privilege: OTR→2P:組織-任務(wù)角色到權(quán)限集合的映射,包含直接分配的權(quán)限和繼承而來(lái)的權(quán)限,形式化描述為:assigned_privilege(o, tr)={p ∈ P |?t r' ≤ tr ∧ ?o' ≤ o ∧ ((o', t r' ),p)∈ O TRP}。
(9)can_access(U,S,Op,Res):用于判斷某用戶是否可通過(guò)激活會(huì)話對(duì)資源執(zhí)行特定的操作。can_access(u, s, op,re)= t rue表示用戶u可通過(guò)激活會(huì)話s對(duì)資源re執(zhí)行op操作。can_access(u,s,op,re)=true成立當(dāng)且僅當(dāng)下式成立:u=user(s) ∧ ( o, fr)∈ a ctive_orgs-frole(s) ∧ (? o ' ≤ o , o'∈resorgs(re))∧ (?( o ' ', t r)≤ assigned_orgs-trole(o',fr) ∧(?op', o p ≤op ') ∧ (? r t,restype(re)≤ rt)∧ ( op',rt) ∈assigned_privilege(o'',tr)) 。
3.2.3 安全約束
定義 4 模型約束 約束是模型中用于限制UOFR,OFROTR, OTRP和RH等關(guān)系的重要內(nèi)容,本文主要給出UOFR和OFROTR的約束,其他如OTRP,RH等的約束可類似定義,主要考慮職責(zé)分離約束SoD和勢(shì)約束Cardinality。
為了職責(zé)分離約束和勢(shì)約束進(jìn)行定義,引入通配符“?”和“*”表示組織O中任意一個(gè)組織o和O中不同的兩個(gè)或多個(gè)組織,則可對(duì)職責(zé)分離約束和勢(shì)約束進(jìn)行如下形式化定義。
職責(zé)分離約束SoD:S o D? ( 2RO+× N)。其中,RO+?R×O+; O+=O∪{?,*},N是一個(gè)自然數(shù)集且滿足 ?(ro,n)∈ SoD, |ro|≥n≥2, n∈N。
職責(zé)分離約束(ro,n)∈ S oD表示不能將n個(gè)或更多存在互斥關(guān)系的組織-角色對(duì)ro指派給某用戶。
通配符“?”和“*”的區(qū)別是:“?”指組織 O中的相同組織,而“*”則指組織 O中的任意不同取值。當(dāng)只有一種取值時(shí),“?”和“*”具有相同的含義。
勢(shì)約束Cardinality:cardinality:RO+→ N ,其中RO+?R× O+, O+=O∪ { ?, *},N是一個(gè)自然數(shù) 集 合 , ?( r, o ) ∈ R O+,|assigned_users((r, o ))|≤cardinality((r, o))。
勢(shì)約束 n =cardinality((r, o )) 表示能被指派組織o中角色r的用戶數(shù)量是 n =cardinality((r, o))。
當(dāng)(o, r)∈ OTR時(shí),assigned_users((r, o))指經(jīng)組織-職能角色映射獲得組織-任務(wù)角色的用戶。通配符“?”和“*”與職責(zé)分離約束SoD中定義相同。因?yàn)閯?shì)約束中只有一種取值,因此在勢(shì)約束中,“?”和“*”沒(méi)有區(qū)別。例如,cardinality((r, ?))= 1 0與cardinality((r, *))= 1 0的含義是相同的,表示能夠獲得任意組織o中角色r的最大用戶數(shù)量是10。
3.2.4 授權(quán)管理操作
定義5 授權(quán)管理操作 模型包含3類32種授權(quán)管理操作,分別為添加、刪除用戶,添加、刪除職能角色,添加、刪除任務(wù)角色,添加、刪除組織,添加、刪除操作,添加、刪除資源類型,添加、刪除資源,創(chuàng)建、刪除靜態(tài)互斥組織-職能角色集,創(chuàng)建動(dòng)態(tài)互斥組織-職能角色集,創(chuàng)建靜態(tài)互斥組織-任務(wù)角色集,創(chuàng)建動(dòng)態(tài)互斥組織-任務(wù)角色集,添加、刪除約束等24種系統(tǒng)要素管理操作;為用戶分配、撤銷組織-職能角色,創(chuàng)建、撤銷組織-職能角色與組織-任務(wù)角色的映射關(guān)系,為組織-任務(wù)角色分配、撤銷權(quán)限等6種權(quán)限授予與撤銷操作;創(chuàng)建、結(jié)束會(huì)話2種用戶訪問(wèn)行為管理操作。
限于篇幅,本文不對(duì)授權(quán)管理操作展開(kāi)詳細(xì)描述。
本節(jié)主要對(duì) SDTR-OBAC模型的表達(dá)能力和復(fù)雜度進(jìn)行分析。
表達(dá)能力是評(píng)價(jià)訪問(wèn)控制模型優(yōu)劣的一個(gè)重要指標(biāo),通過(guò)采用構(gòu)造模型系統(tǒng)的方法及以下定理分析模型的表達(dá)能力,證明模型具有與經(jīng)典RBAC相同的表達(dá)能力。
引理1 任何基于經(jīng)典RBAC的系統(tǒng)均可采用基于SDTR-OBAC的系統(tǒng)實(shí)現(xiàn)。
證明 給定任一經(jīng)典RBAC (U,S,R,RH,Op,=Res,P,UA,PA,user),構(gòu)造一個(gè)SDTR - O BAC =(U',S', R ', R H',FR,FRH,TR,TRH,O,OH,OFR,OFRH,OTR,OTRH,OFROTF,Op',OpH,ResT,ResTH,Res',ResH,P',PH,UOFR,OTRP,user',restypes,resorgs),其中:
(1)U',S',R',RH',Op',Res'和user'與 RBAC中的U,S,R,RH,Op,Res和user相同。
(2)對(duì)于組織 O ,定義O = { o| o =resorgs(rsi),i = 1 ,2,… , n },即RBAC中的所有資源屬于同一個(gè)組織。
(3)對(duì)于FR和TR,定義R = F R = T R且RH=FRH = T RH,與 RBAC相同;對(duì)于OFR,OTR,定義OFR = O TR = O R = { (o, r) |o ∈ O ,r∈R};對(duì)于 ?( o, r )∈ O R,定義((o, r) ,(o, r) )∈ O RH且ORH = OFRH=OTRH;對(duì)于OFROTF及 ?(o, r)∈ O R ,由于OFR = O TR = O R,定義((o, r ) ,(o, r ))∈OFROTF。
(4)對(duì)于資源類型ResT,定義ResT = {rti|rti=restypes(rei),i = 1 ,2,… , n };對(duì)于 ?rei∈ R es 和?r ti∈ R esT ,分別定義 (rei, rei)∈ R esH和 (rti, rti)∈ R esTH 。
(5)對(duì) 于 ? o pi∈ O p, 定 義 (opi, opi)∈ O pH ;P' ? O p× R esT,對(duì)于 RBAC 中的任一(op,rei)∈ P ,定義(op,rti)∈ P',其中rti=restypes(rei);對(duì)于 ?( op,rti) ∈ P ',定義 ((op,rti),(op,rti) )∈ P H 。
(6)UOFR?U'×OFR,對(duì)于RBAC中的?(u,r)∈ U A, 定 義 (u,( o, r))∈ UOFR;OTRP?OTR×P ',對(duì)于RBAC中的 ?(r, p) = ( r ,(op,rei))∈ PA,定義((o, r ) ,(op,rti))∈ O TRP。
由此可見(jiàn),基于經(jīng)典RBAC的系統(tǒng)可通過(guò)構(gòu)造基于SDTR-OABC的系統(tǒng)實(shí)現(xiàn)。 證畢
引理2 基于SDTR-OBAC的系統(tǒng)可通過(guò)基于經(jīng)典RBAC的系統(tǒng)實(shí)現(xiàn)。
證明 對(duì)于任一SDTR - O BAC = (U,S,R,RH,FR,FRH,TR,TRH,O,OH,OFR,OFRH,OTR,OTRH,OFROTF,Op,OpH,ResT,ResTH,Res,ResH, P, PH,UOFR,OTRP,user,restypes,resorgs), 構(gòu) 造 經(jīng) 典RBAC = (U',S', R ', R H', O p', R es', P ', U A', P A', u ser'),其中:
(1)U',S',Op',Res'和user'與 SDTR-OBAC 中的U,S,Op,Res和user相同。
(2)對(duì)于 SDTR-OBAC 中的 ? oi∈O, ? oj∈O ,? f rk∈F R,? t rl∈T R和 ? ((oi, frk) ,(oj, trl))∈OFROTF,定義角色rik∈R',即SDTR-OBAC模型中的每個(gè)組織-角色對(duì)映射關(guān)系根據(jù)組織-職能角色對(duì)(oi, frk)定義成RBAC模型中單獨(dú)的角色。
(3)對(duì)于OH?O×O,RH?R×R和OFRH?OFR×OFR, 定 義RH' = {(rik,rjl)|(rk, rl)∈ R H ∧(oi, oj)∈ O H∧((oi, frk) ,(oj, frl))∈ O FRH}。
(4)對(duì)于 P ? O p× R esT 及 ? ( opi, rtj)∈ P ,定義P' = P ' ∪ { (opi, rej) |restypes(rej) = r tj}。
(5)對(duì) 于 UOFR ? U × O FR 及 ?(u,( oi, frk)) ∈UOFR, ? ((oi, frk) ,(oj, trl))∈ OFROTF,定義 (u, rik)∈ U A。
(6)對(duì) 于 OTRP ? O TR× P 及 ? ((oj, trl) ,(opm,rtn))∈ O TRP ,? ((oi, frk) ,(oj, trl))∈ OFROTF ,定義PA' = P A' ∪ { (rik,(opm, ren) |restypes(ren) =rtn)}。
可見(jiàn),基于經(jīng)典SDTR-OBAC的系統(tǒng)可通過(guò)構(gòu)造基于RBAC的系統(tǒng)實(shí)現(xiàn)。 證畢
定理1 SDTR-OBAC模型具有與RBAC相同的表達(dá)能力。
證明 引理1說(shuō)明SDTR-OBAC模型的表達(dá)能力比RBAC強(qiáng);引理2說(shuō)明RBAC的表達(dá)能力比SDTR-OBAC強(qiáng)。因此,根據(jù)引理1和引理2可知,SDTR-OBAC模型與 RBAC模型具有相同的表達(dá)能力。 證畢
RBAC通過(guò)在用戶和權(quán)限之間引入角色極大地降低了授權(quán)管理的負(fù)擔(dān)和操作復(fù)雜度,但在由多個(gè)組織或域構(gòu)成的大型分布式網(wǎng)絡(luò)環(huán)境下,其優(yōu)勢(shì)就不再明顯。SDTR-OBAC通過(guò)引入組織的概念并將其與角色相結(jié)合,可在RBAC的基礎(chǔ)上進(jìn)一步降低復(fù)雜度,特別適合用于具有多個(gè)相似組織或域的分布式環(huán)境。
在分析SDTR-OBAC模型的操作復(fù)雜度之前,先定義以下同構(gòu)度的概念。
定義 6 同構(gòu)度 給定一個(gè) SDTR-OBAC 模型,定義以下概念。
(1)對(duì)于 oi,oj∈ O ,r ∈ R ,R = F R ∪ T R ,當(dāng)且僅當(dāng) (oi, r) ∈ O R ∧ ( oj, r )∈ O R時(shí),oi與 oj對(duì)于r是同構(gòu)的,記為: oi≡roj;對(duì)于oi,oj∈O ,Rc?R,R = FR∪TR,當(dāng)且僅當(dāng) ?r∈Rc,(oi, r)∈OR∧( oj, r )∈ O R時(shí), oi與 oj對(duì)于集合Rc是同構(gòu)的,即對(duì)于任意 r ∈ R c,oi與 oj是同構(gòu)的,記為:oi≡Rcoj。
(2)c o mpatible_O*:2Rc→2O該函數(shù)將某個(gè)角色集Rc映射到對(duì)于該角色集同構(gòu)的所有組織的集合,形式化表示為:對(duì)于Rc?R,R= F R∪TR且 Rc≠ ? ,compatible_O*(Rc)={o | ? r ∈Rc,(o, r )∈OR},特別地,定義compatible_O*(?)=?;若 1<|compatible_O*(Rc)|< | O|, 則 稱SDTROBAC模型對(duì)于Rc是部分同構(gòu)的,記為Rc-部分同構(gòu);若compatible_O*(Rc)= O ,則稱SDTR-OBAC模型對(duì)于Rc是完全同構(gòu)的,記為Rc-完全同構(gòu);若|compatible_O*(Rc)|= 1 ,則稱 SDTR-OBAC 模型對(duì)于Rc是異構(gòu)的,記為Rc-異構(gòu)。
(3)同構(gòu)度 h index: 2Rc→[0,1]將角色集映射到區(qū)間[0,1]中某個(gè)實(shí)數(shù)的函數(shù),形式化表示為:hindex(Rc)= |compatible_O*(Rc)|/|O|。
同構(gòu)度函數(shù)hindex(Rc)用于衡量SDTR-OBAC模型系統(tǒng)中多個(gè)組織對(duì)于某特定角色集的同構(gòu)程度,即該角色集在這些組織中的相似程度。若SDTR-OBAC模型是Rc-完全同構(gòu)的,則hindex(Rc)= 1;若 SDTR-OBAC 模型是Rc-異構(gòu)的,則hindex(Rc)= 1 /|O|;若SDTR-OBAC模型是Rc-部分同構(gòu)的,則1/|O|< hindex(Rc)< 1 。
根據(jù)以上同構(gòu)度的定義,可得出hindex(R)的以下兩個(gè)性質(zhì)。
定理 2 對(duì)于角色集R中任意兩個(gè)非空子集Rc1, R c2,若 R c1?Rc2,則hindex(Rc1)≥ hindex(Rc2)。
證明 給定條件 R c1≠?, R c1?Rc2, ?r∈Rc1?r∈Rc2。
對(duì) 于 ?o ∈ c ompatible_O*(Rc2) ? ?r∈ R c2,(o, r) ∈ O R ? ?r ∈ R c1,(o, r) ∈ O R ? o ∈compatible_O*(Rc1)。即 c ompatible_O*(Rc2)中的任一組織o也 是 c ompatible_O*(Rc1)中 的 元 素 , 因 此|compatible_O*(Rc2)|≤ | compatible_O*(Rc1)|,從 而 hindex(Rc1)= |compatible_O*(Rc1)|/|O|≥|compatible_O*(Rc2)|/|O|=index(Rc2)。 證畢
定理3 若SDTR-OBAC模型是Rc-完全同構(gòu)的,則對(duì)于Rc中的所有非空子集,SDTR-OBAC模型也是完全同構(gòu)的。
證明 根據(jù)同構(gòu)度的定義,模型是Rc-完全同構(gòu)的,則compatible_O*(Rc)= O ,從而hindex(Rc)=|compatible_O*(Rc)|/|O|= 1 。
從 定 理 2可 知 , ? R c' ? R c ∧ R c'≠ ? , 則hindex(Rc' )≥ h index(Rc)= 1 成 立 , 根 據(jù) 定 義 ,hindex(Rc')≤ 1 。
從而可得hindex(Rc')= 1 ,則compatible_O*(Rc')= O ,即模型是Rc-完全同構(gòu)的。 證畢
基于以上定義,將SDTR-OBAC與經(jīng)典RBAC進(jìn)行對(duì)比分析。SDTR-OBAC與RBAC中角色數(shù)量的關(guān)系可描述為 | Rc|RBAC=O |×[1 + (|Rc|SDTR-OBAC- 1 )× h index(Rc)],則對(duì)于完全同構(gòu)的系統(tǒng),由于hindex(R)= 1 , 從 而 |R|RBAC= | O|×[1+(|R|SDTR-OBAC-1 )× 1 ]=| O|× | R|SDTR-OBAC,即經(jīng)典RBAC中所需的角色數(shù)量是完全同構(gòu)的 SDTROBAC模型中角色數(shù)量的|O|倍;對(duì)于異構(gòu)系統(tǒng),由于 hindex(R)= 1 /|O|,|O|= 1 ,從而 | R|RBAC=|O|×[ 1 + ( |R|SDTR-OBAC- 1 )× 1 ]= | R|SDTR-OBAC,即異構(gòu)系統(tǒng)中RBAC和SDTR-OBAC所需角色數(shù)量相同。
因此,應(yīng)用于同構(gòu)系統(tǒng)中,與RBAC相比,在保持其靈活、易于管理等優(yōu)點(diǎn)的同時(shí),SDTR-OBAC模型所需角色數(shù)量將明顯減少,特別是在由多個(gè)具有相似業(yè)務(wù)功能的組織構(gòu)成的大型分布式系統(tǒng)中,SDTR-OBAC模型的優(yōu)勢(shì)是顯而易見(jiàn)的。但當(dāng)系統(tǒng)中所有組織均沒(méi)有相似的業(yè)務(wù)功能時(shí),由于引入了組織的概念且角色被劃分成職能角色和任務(wù)角色,使用SDTR-OBAC將增加額外的管理負(fù)擔(dān)。
下面通過(guò)實(shí)例說(shuō)明本文模型的合理性和有效性。假設(shè)有一公司com,其包含 3個(gè)子公司 c om1,com2, c om3; 6類職能角色:總經(jīng)理 fr1,業(yè)務(wù)經(jīng)理fr2,主管 fr3,會(huì)計(jì) fr4,出納 fr5及其他普通職員 fr6;4個(gè)任務(wù)角色:系統(tǒng)管理員 t r1,普通管理員 t r2,高級(jí)用戶 t r3,普通用戶 t r4;公司向所有人員提供了一個(gè)公司業(yè)務(wù)處理系統(tǒng),包含3種類型資源:數(shù)據(jù)庫(kù)類資源DB, Web服務(wù)類資源WS,網(wǎng)站類資源WB,相應(yīng)類型的資源分別包括 d b11, d b12, d b13, w s21,ws22, w s23, w b31, w b32, w b33, w b34; 5類操作:更新u,下載d,瀏覽b,查詢q,調(diào)用i。討論該公司用戶li, wang, liu, zhang, zhao進(jìn)行授權(quán)和訪問(wèn)控制的過(guò)程。
該實(shí)例中,部分關(guān)鍵的元素,關(guān)系和函數(shù)定義
如下:資源 R es={db11, db12, db13, ws21, ws22, ws23, wb31,wb32,wb33,wb34};權(quán)限 P ={ p1, p2, p3, p4, p5, p6, p7, p8,p9,p10} ={(u, D B),(u, WS),(u, W B),(d , WB),(b,WS),(b, W B),(q, DB),(q, WS),(q, WB),(i, W S)};用戶-角色關(guān) 系 UOFR={(li,com,fr1),(wang,com,fr2) ,(liu,com1,fr3),(zhang,com3, fr6),(zhao, c om2,fr5)};角色-權(quán)限關(guān)系OTRP={(com1, tr1, p1) ,(com3, tr1, p3) ,(com2, tr1, p2),(com1, tr2, p7) ,(com3, t r2, p8) ,(com2, tr2, p9) ,(com2, tr3,
p4),(com3, tr3, p5) ,(com3, tr3, p10) ,(com2, tr4, p6)};職能角色-任務(wù)角色關(guān)系: F RTR={(fr1, tr1) ,(fr2, tr2) ,(fr3,tr3) ,(fr4, tr4) ,(fr5, tr4) ,(fr6, tr4); 組 織 層 次 關(guān) 系 OH={(com,com1),(com,com2),(com,com3)};職能角色層次 關(guān) 系 FRH={(fr1,fr2) ,(fr2,fr3) ,(fr3,fr4) ,(fr3,fr5) ,(fr3,fr6)};任務(wù)角色層次關(guān)系 T RH={(tr1, tr2) ,(tr2, tr3),(tr3, tr4)} ;資源層次關(guān)系 R esH={(db11, db12) (db12,db13) ,(ws21, ws22) ,(ws22, ws23) ,(wb31, wb32) ,(wb32, wb33),(wb33, wb34)};權(quán)限層次關(guān)系 P H = {(p1, p7) ,(p2, p8),(p8, p10) ,(p10, p5) ,(p3, p4) ,(p4, p9) ,(p9, p6)};資源類型與 組 織 關(guān) 系 r esorgs(DB)={com1},resorgs(WS)={com3}, resorgs(WB)={com2} ; 職 責(zé) 分 離 約 束SoD = {({(fr4, *),(fr5,*)},2)};勢(shì)約束:cardinality((fr1,*))= 1 ,c ardinality(tr1,*))= 1 。
該 5個(gè)用戶分別提出以下訪問(wèn)請(qǐng)求: q1=can_access(li,s1, u, db13),q2=can_access(wang,s2, d,wb33),q3= can_access(liu,s3, i, w s23),q4=can_access(zhang,s4, i, w s21) , q5=can_access(zhao,s5, b,wb32) ,對(duì)這些訪問(wèn)請(qǐng)求進(jìn)行判決。根據(jù)模型定義可分析得出 q1= t rue,q2= t rue , q3= f alse , q4= f alse,q5= t rue,即li, wang, zhao的訪問(wèn)合法,允許訪問(wèn);liu和zhang的請(qǐng)求非法,拒絕訪問(wèn)。
以上實(shí)例可以看出,本文提出的SDTR-OBAC模型是合理的,可行的,可有效應(yīng)用于多個(gè)組織中用戶請(qǐng)求訪問(wèn)特定資源的授權(quán)管理和訪問(wèn)控制。以上實(shí)例涉及4個(gè)具有相似業(yè)務(wù)需求的組織,每個(gè)組織包含6個(gè)職能角色,4個(gè)任務(wù)角色和3類資源。為滿足訪問(wèn)控制需求,應(yīng)用本文所提模型時(shí),以上實(shí)例僅需10個(gè)角色,10個(gè)權(quán)限即可實(shí)現(xiàn)。然而,若采用經(jīng)典RBAC,所需的角色數(shù)為24,權(quán)限總數(shù)為34??梢?jiàn),經(jīng)典RBAC所需的角色數(shù)和權(quán)限數(shù)比SDTR-OBAC模型多。
授權(quán)與訪問(wèn)控制是繼身份認(rèn)證后興起的又一重要信息安全技術(shù)。RBAC以其靈活、便于管理和策略中立等優(yōu)點(diǎn)成為解決授權(quán)與訪問(wèn)控制問(wèn)題的研究熱點(diǎn)并取得了很多研究成果,但仍存在傳統(tǒng)角色設(shè)置單一使得適應(yīng)性較差、下級(jí)角色的私有權(quán)限難以得到有效保護(hù)、易帶來(lái)角色或權(quán)限冗余及對(duì)資源管理關(guān)注不夠等問(wèn)題。針對(duì)這些問(wèn)題,本文提出支持資源管理的基于雙層角色和組織的訪問(wèn)控制模型并進(jìn)行形式化定義。將傳統(tǒng)角色劃分為職能角色和任務(wù)角色,提出基于角色區(qū)分的雙層角色架構(gòu),提高模型的適應(yīng)性,并對(duì)兩種角色分別定義不同的繼承策略,解決下級(jí)角色的私有權(quán)限難以得到有效保護(hù)問(wèn)題;引入具有域思想的組織的概念并與雙層角色相結(jié)合,解決由大型分布式系統(tǒng)中易存在的角色、權(quán)限冗余問(wèn)題;對(duì)資源、資源操作和權(quán)限等進(jìn)行分析,將授權(quán)管理和資源管理相結(jié)合,解決現(xiàn)有研究缺乏面向授權(quán)管理的資源管理的問(wèn)題;將經(jīng)典RBAC中權(quán)限的概念擴(kuò)展為操作和資源類型構(gòu)成的二元組,提高授權(quán)管理效率。從表達(dá)能力、復(fù)雜度兩個(gè)方面分析了模型的特點(diǎn),表明該模型不僅保留了RBAC的特點(diǎn)與優(yōu)勢(shì),且比RBAC具有較低的復(fù)雜度和較高的效率和適應(yīng)性。下一步的工作是對(duì)模型的安全性進(jìn)行分析證明。
[1] ANSI. 2004. American national standard for information technology-role based access control[S]. ANSI INCITS 359,2004.
[2] Gofman M I and Yang Ping. Effecient policy analysis for evolving administrative role based access control[J].International Journal of Software Informatics, 2014, 8(1):95-131.
[3] Liu Meng and Wang Xuan. Alternative representation of periodic constraint on role enabling in TRBAC and GTRBAC[J]. Journal of Computational Information Systems,2013, 9(24): 9909-9918.
[4] Abdunabi R, Al-Lail M, Ray I, et al.. Specification, validation,and enforcement of a generalized spatio-temporal role-based access control model[J]. IEEE Systems Journal, 2013, 7(3):501-515.
[5] Muhammad Asif-habib. Mutually exclusive permissions in RBAC[J]. International Journal of Internet Technology and Secured Transactions, 2012, 4: 207-220.
[6] Ma Li, Zhou Yan-jie, and Duan Wei. Extended RBAC model with task-constraint rules[C]. Proceedings of 8th Future Information Technology: Lecture Notes in Electrical Engineering, Gwangju, Korea, 2014, 276: 245-250.
[7] Zu Xiang-rong, Liu Lian-zhong, and Bai Yan. A role and task-based workflow dynamic authorization modeling and enforcement mechanism[C]. The 1st International Conference on Information Science and Engineering (ICISE2009),Nanjing, China, 2009: 1593-1596.
[8] Sohr K, Kuhlmann M, and Gogolla M. Comprehensive two-level analysis of role-based delegation and revocation policies with UML and OCL[J]. Information and Software Technology, 2012, 54(12): 1396-1417.
[9] Liu Xin-xin and Tang Shao-hua. Analysis of role-based trust management policy using description logics[J]. Journal of Computational Information Systems, 2012, 8(13): 5445-5452.
[10] Unal D and Caglayan M U. A formal role-based access control model for security policies in multi-domain mobile networks[J]. Computer Networks, 2013, 57(1): 330-350.
[11] Zhang Da-na, Ramamohanarao K, Zhang Rui, et al.. Efficient graph based approach to large scale role engineering[J].Transactions on Data Privacy, 2014, 7(1): 1-26.
[12] Ranise S, Truong A, and Armando A. Scalable and precise automated analysis of administrative temporal role-based access control[C]. SACMAT’14, London, Ontario, Canada,2014: 103-114.
[13] 崔鴻飛. ARBAC 權(quán)限泄漏分析及改進(jìn)[D]. [碩士論文], 天津大學(xué), 2012.Cui Hong-fei. Analysis of permission leakage in ARBAC and improvement[D]. [Master dissertation], Tianjin University,2012.
[14] 任志宇, 陳性元, 單棣斌. 基于雙層角色映射的跨域授權(quán)管理模型[J]. 計(jì)算機(jī)應(yīng)用, 2013, 33(9): 2511-2515.Ren Zhi-yu, Chen Xing-yuan, and Shan Di-bin. Cross-domain authorization management model based on two-tier role mapping[J]. Joumal of Computer Applications, 2013, 33(9):2511-2515.
[15] Zhang Zhi-xiong. Scalable role & organization based control and its administration[D]. [Ph.D. dissertation], George Mason University, 2008.