任志宇,陳性元,馬軍強(qiáng)
(1.解放軍信息工程大學(xué)四院,鄭州450001;2.河南省信息安全重點(diǎn)實(shí)驗(yàn)室,鄭州450004; 3.數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,鄭州450001)
基于屬性的角色委派模型可達(dá)性推理方法研究
任志宇1,2,3,陳性元1,2,馬軍強(qiáng)1
(1.解放軍信息工程大學(xué)四院,鄭州450001;2.河南省信息安全重點(diǎn)實(shí)驗(yàn)室,鄭州450004; 3.數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,鄭州450001)
提出基于屬性的角色委派模型,通過(guò)引入屬性擴(kuò)展授權(quán)管理策略的表達(dá)能力,并采用描述邏輯定義模型的概念及其關(guān)系。為解決分布式環(huán)境下授權(quán)管理策略檢測(cè)困難的問(wèn)題,對(duì)模型的用戶-角色可達(dá)性問(wèn)題進(jìn)行定義和分析,采用SWRL描述推理規(guī)則,利用推理引擎實(shí)現(xiàn)用戶-角色可達(dá)性的自動(dòng)推理,并通過(guò)應(yīng)用實(shí)例對(duì)推理方法的正確性和可行性進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,針對(duì)某一策略進(jìn)行推理時(shí)所需的時(shí)間隨策略數(shù)量的增加上升平緩,因此,該推理方法適用于授權(quán)管理策略的自動(dòng)檢測(cè),可有效避免因策略執(zhí)行結(jié)果不直觀而引發(fā)的安全隱患,為授權(quán)管理模型的安全應(yīng)用提供支撐。
屬性;角色委派;可達(dá)性;推理;基于角色的訪問(wèn)控制;描述邏輯
ARBAC[1]等模型的推出將基于角色的訪問(wèn)控制(Role-based Access Control,RBAC)[2]推廣到大規(guī)模、分布式的環(huán)境中,但同時(shí)帶來(lái)了策略檢測(cè)困難等問(wèn)題。在分布式環(huán)境下,授權(quán)管理策略數(shù)量巨大,策略之間存在復(fù)雜的因果關(guān)系,不同的管理操作之間可能會(huì)相互作用,通過(guò)人工的方法很難理解大量策略執(zhí)行的效果,存在一定的安全隱患。因此,快速有效地檢測(cè)授權(quán)管理策略的正確性與一致性,對(duì)于授權(quán)管理模型的安全應(yīng)用至關(guān)重要。
授權(quán)策略的可達(dá)性問(wèn)題[3]主要分析是否存在某一狀態(tài),使得不可信用戶具有對(duì)指定資源的訪問(wèn)權(quán)限,其否定回答表示系統(tǒng)是安全的。針對(duì)ARBAC模型的可達(dá)性分析主要包括用戶-角色可達(dá)性分析、角色-權(quán)限可達(dá)性分析、用戶-權(quán)限可達(dá)性分析等。其中,用戶-角色可達(dá)性(下文簡(jiǎn)稱(chēng)U-R可達(dá)性)分析是目前的研究熱點(diǎn),U-R可達(dá)性分析回答了某位管理員是否可以將某角色委派給指定用戶,其他的可達(dá)性分析問(wèn)題可以采用相似的分析方法。U-R可達(dá)性分析目前已有較多的研究成果。例如,文獻(xiàn)[4-5]采用智能規(guī)劃技術(shù),文獻(xiàn)[6-7]采用圖靈機(jī),文獻(xiàn)[8]通過(guò)構(gòu)建可達(dá)性狀態(tài)圖,文獻(xiàn)[9]采用模型檢測(cè)的方法,這些文獻(xiàn)均以經(jīng)典ARBAC模型作為研究對(duì)象,通過(guò)預(yù)設(shè)一些約束條件,從不同角度給出了分析的方法。
本文對(duì)ARBAC97模型的子模型URA97進(jìn)行擴(kuò)展,提出基于屬性的角色委派模型,采用屬性表達(dá)式作為授權(quán)管理策略的先決條件。屬性的類(lèi)型可以多種多樣,用戶的角色成員關(guān)系可作為其中一類(lèi)屬性,因此,本文所提出的模型比傳統(tǒng)ARBAC模型更具有一般性,其策略具有更強(qiáng)的表達(dá)能力,而上述文獻(xiàn)中的方法不能直接應(yīng)用于基于屬性的角色委派模型。
在基于屬性的角色委派模型基礎(chǔ)上,本文對(duì)模型中的U-R可達(dá)性問(wèn)題展開(kāi)研究,采用描述邏輯[10]對(duì)模型的概念及其關(guān)系進(jìn)行定義,并對(duì)U-R可達(dá)性問(wèn)題進(jìn)行描述和分析,研究可達(dá)性分析問(wèn)題是否可轉(zhuǎn)換為對(duì)策略可達(dá)關(guān)系的分析,并給出證明。采用SWRL[11]描述可達(dá)性推理規(guī)則,利用Jess[12]推理引擎實(shí)現(xiàn)U-R可達(dá)性的自動(dòng)推理,通過(guò)實(shí)例對(duì)推理方法的可行性進(jìn)行驗(yàn)證,并進(jìn)行性能分析。
基于屬性的角色委派模型以ARBAC97模型的子模型URA97為基礎(chǔ),將can_assign和can_revoke策略進(jìn)行擴(kuò)展,以用戶所具有的屬性作為先決條件,并允許在執(zhí)行策略之后更新用戶的屬性,以滿足動(dòng)態(tài)授權(quán)的需求。
基于屬性的角色委派模型的策略表達(dá)如下:
(1)can_assign(ar,P,RT,AV),其中,ar表示管理角色;P為先決條件;RT表示能夠被委派的目標(biāo)角色集合;AV表示can_assign策略執(zhí)行后發(fā)生變化的屬性及屬性值。
(2)can_revoke(ar,RT,AV),其中,ar表示管理角色;RT表示可被撤銷(xiāo)的目標(biāo)角色集合;AV表示can_revoke策略執(zhí)行后發(fā)生變化的屬性及屬性值。
can_assign策略中的先決條件P由屬性表達(dá)式的合取式組成,形如ae1∧ae2∧…∧aen,對(duì)能夠授權(quán)的用戶范圍進(jìn)行規(guī)范。屬性表達(dá)式包含3部分,可表達(dá)為aθv。其中,a為屬性名;v為屬性值;θ為二元算子,用于對(duì)屬性值進(jìn)行比較。例如age≥25表示年齡不小于25歲。
屬性表達(dá)式的算子具有表達(dá)肯定與否定語(yǔ)義的能力,如表達(dá)式(hasrole≠Q(mào)E)表示用戶未被授予質(zhì)檢工程師,因此模型中不再區(qū)分肯定先決條件和否定先決條件。
為簡(jiǎn)化U-R可達(dá)性問(wèn)題,本文在分離管理約束的前提下討論可達(dá)性問(wèn)題,將角色分為管理角色和常規(guī)角色,要求管理角色只出現(xiàn)在 can_assign和can_revoke策略元組的第一部分。策略的執(zhí)行僅關(guān)注用戶與常規(guī)角色成員之間的關(guān)系變化,而不關(guān)心在操作執(zhí)行時(shí)由誰(shuí)來(lái)?yè)?dān)任管理員角色,因此,策略元組的第一部分可以省略。
本文針對(duì)U-R可達(dá)性問(wèn)題,采用描述邏輯表達(dá)模型中的概念及其關(guān)系,如圖1所示。
圖1 基于屬性的角色委派模型中的概念及其關(guān)系
定義1 模型包含以下概念:
(1)USER表示用戶,ROLE表示角色;
(2)AE表示屬性表達(dá)式,ATT表示屬性名,OPT表示屬性算子,AV表示屬性值;
(3)POLICY表示用戶-角色委派策略,包含2個(gè)子概念,CANASG和CANREV分別表示can_assign策略和can_revoke策略;
(4)STATE表示用戶的當(dāng)前狀態(tài),包含用戶所擁有的角色及當(dāng)前屬性值。
定義2 模型包含以下關(guān)系:
(1)BeIn:USER→STATE,表示用戶的當(dāng)前狀態(tài);
(2)StatehasRole:STATE→ROLE,表示在當(dāng)前狀態(tài)下用戶被授予了某角色;
(3)StatehasAV:STATE→AV,表示在當(dāng)前狀態(tài)下用戶具有某屬性值;
(4)AEhasATT:AE→ATT,表示屬性表達(dá)式中包含某屬性名;
(5)AEhasAV:AE→AV,表示屬性表達(dá)式中包含某屬性值;
(6)AEhasOPT:AE→OPT,表示屬性表達(dá)式中包含某算子;
(7)Satisfy:AV→AE,表示屬性值滿足屬性表達(dá)式;
(8)CanassignhasAE:CANASG → AE,表示CANASG策略以某屬性表達(dá)式作為先決條件;
(9)CanassignhasAV:CANASG → AV,表示CANASG策略中更新的屬性值;
(10)CanassignhasRole:CANASG→ROLE,表示CANASG策略中的角色;
(11)CanrevokehasAV:CANREV→AV,表示CANREV策略中的更新屬性值;
(12)CanrevokehasRole:CANREV→ROLE,表示CANREV策略將要撤銷(xiāo)的角色。
定義3 模型包含以下推導(dǎo)關(guān)系:
(1)Reachable:POLICY→POLICY,表示某一個(gè)策略對(duì)于另一個(gè)策略可達(dá),該關(guān)系具有傳遞性;
(2)TargetRoleofAV:AV→ROLE,表示從某屬性值開(kāi)始經(jīng)若干策略后可達(dá)的所有角色。
這2類(lèi)關(guān)系將在下文詳細(xì)介紹。
對(duì)于某個(gè)用戶,CANASG和CANREV策略將改變用戶所擁有的角色及用戶的屬性值,稱(chēng)之為狀態(tài)。策略執(zhí)行后,將使用戶從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)。
U-R可達(dá)性問(wèn)題可描述如下:給定一個(gè)用戶u,設(shè)初始狀態(tài)s0∈BeIn.u,問(wèn)從狀態(tài)s0開(kāi)始,是否存在一條策略序列p1,p2,…,pn∈POLICY,依次執(zhí)行上述策略,經(jīng)過(guò)狀態(tài)s0,s1,…,sn∈STATE,可使用戶獲得目標(biāo)角色rg,即rg∈StatehasRole.sn?
U-R可達(dá)性分析的狀態(tài)轉(zhuǎn)換圖如圖2所示。其中,s0為初始狀態(tài);sn為目標(biāo)狀態(tài)。
圖2 U-R可達(dá)性分析的狀態(tài)轉(zhuǎn)換圖
可達(dá)性分析主要關(guān)注用戶是否獲得目標(biāo)角色,規(guī)定sn之前的狀態(tài)均不包含rg,即獲得rg的第一個(gè)狀態(tài)即為目標(biāo)狀態(tài)。因此,路徑中最后一個(gè)策略為CANASG策略,且rg∈CanassignhasRole.pn。
定義4 當(dāng)策略序列p1,p2,…,pn∈POLICY滿足以下條件,則稱(chēng)p1,p2,…,pn為針對(duì)初始狀態(tài)s0及目標(biāo)狀態(tài)sn可達(dá)的策略序列:
(1)若pi∈CANASG(1≤i≤n),則Satisfy(?Statehas-AV.si-1, ?CanassignhasAE.pi), (?Canass-ignhasRole.pi∈ ?StatehasRole.si), (?CanassignhasAV.pi∈?StatehasAV.si)成立,即策略執(zhí)行之前的狀態(tài)所包含的屬性值滿足pi的先決條件,策略執(zhí)行之后的狀態(tài)包含策略所添加的角色以及更新后的屬性值;
(2)若pi∈CANREV(1≤i<n),則(?Canrevokehas-Role.pi∈?StatehasRole.si-1), (?CanrevokehasAV.pi∈?StatehasAV.si)成立,即策略執(zhí)行之前的狀態(tài)中包含策略將要撤銷(xiāo)的角色,策略執(zhí)行之后的狀態(tài)中包含策略更新后的屬性值。
在可達(dá)策略序列中,為了提高分析效率,縮短序列長(zhǎng)度,策略序列中每一條策略都應(yīng)有助于后續(xù)策略的有效執(zhí)行,與達(dá)到目標(biāo)狀態(tài)無(wú)關(guān)的策略不應(yīng)添加到可達(dá)策略序列中。具體來(lái)說(shuō),前一條策略添加的角色或更新的屬性值應(yīng)滿足下一條策略執(zhí)行的條件,策略之間存在遞進(jìn)關(guān)系,稱(chēng)之為可達(dá)關(guān)系。下面分3種情況討論CANASG策略之間的可達(dá)關(guān)系:
(1)若pi,pi+1∈CANASG,且Satisfy(?CanassignhasAV.pi,?CanassignhasAE.pi+1)成立,稱(chēng)pi,pi+1之間存在可達(dá)關(guān)系,可表達(dá)為Reachable(pi,pi+1);
(2)若pi,pi+2∈CANASG,pi+1∈CANREV,且(?Canre-vokehasRole.pi+1∈?CanassignhasRole. pi)),Satisfy( ?CanrevokehasAV.pi+1,?CanassignhasAE.pi+2)成立,則Reachable(pi,pi+2)成立;
(3)若Reachable(pi,pi+1),Reachable(pi+1,pi+2)成立,則Reachable(pi,pi+2)成立,策略之間的可達(dá)關(guān)系是可傳遞的。
當(dāng)策略序列中存在多個(gè)連續(xù)CANREV策略時(shí),如圖3所示。
圖3 策略序列示意圖
若pi,pi+1,…,pi+j∈CANASG,pi+j+1,pi+j+2,…,pi+j+m∈CANREV,pi+j+m+1∈CANASG,且Reachable(pi,pi+j),((CanrevokehasRole.pi+j+1∪…∪CanrevokehasRole.pi+j+m)∈(CanassignhasRole.pi∪…∪CanassignhasRole.pi+1)),Satisfy(?CanrevokehasAV. pi+j+m,?CanassignhasAE.pi+j+m+1),由于CANREV策略不判斷先決條件、不增加角色,因此序列中最后一個(gè)CANREV策略pi+j+m是真正“起作用”的策略,在pipi+1,…,pi+j中,一定存在一個(gè)CANASG策略pi+l,其中,l≤j,使 得 (?CanrevokehasRole.pi+j+m∈?CanassignhasRole.pi+l))成立?;谝陨戏治?在考查pi到pi+j+m+1的可達(dá)性問(wèn)題時(shí),上述策略序列與pi,pi+1,…,pi+j,pi+j+m,pi+j+m+1是等價(jià)的,因此,可得出Reachable(pi,pi+j+m+1)成立。
由于可達(dá)關(guān)系的可傳遞性,任意的開(kāi)始于CANREV策略的可達(dá)策略序列都可以歸為上述3種情況或其組合。
本文將初始狀態(tài)s0進(jìn)行轉(zhuǎn)換,使?fàn)顟B(tài)中只包含初始屬性值。轉(zhuǎn)換公式如下:
上式在初始狀態(tài)中刪去角色,替換成相應(yīng)的屬性值,替換方法是找到這些角色所對(duì)應(yīng)的CANREV策略,將這些策略包含的更新屬性值添加進(jìn)初始狀態(tài)中,形成狀態(tài)s′0。
定理 如果從s′0開(kāi)始,存在CANASG策略p′1,p′m,令Reachable(p′1,p′m)成立,且滿足:Satisfy(?StatehasAV.s′0,?CanassignhasAE.p′1),rg∈CanassignhasRole.p′m,則從s0到目標(biāo)角色rg可達(dá)。
證 明:由s0到s′0的 轉(zhuǎn) 換 公 式 可 知,?CanrevokehasAV.(?CanrevokehasRole-.?Statehas-Role.s0)∈s′0,若Satisfy(?StatehasAV.s′0,?CanassignhasAE.p′1),則一定存在CANREV策略pr,滿 足 ?CanrevokehasRole.pr∈s0,并 令Satisfy(?StatehasAV.pr,?CanassignhasAE.p′1)成立,也就是說(shuō)pr所撤銷(xiāo)的角色包含在s0中,同時(shí)pr更新后的屬性值滿足p′1的屬性表達(dá)式。因此,存在一條可達(dá)策略路徑pr,p′1,…,p′m,可從s0開(kāi)始,經(jīng)過(guò)狀態(tài)轉(zhuǎn)換,獲得目標(biāo)角色rg。證畢。
根據(jù)上述定理,當(dāng)考查初始狀態(tài)到目標(biāo)角色是否可達(dá)時(shí),可以轉(zhuǎn)換為對(duì)CANASG策略可達(dá)性的分析。
本文采用SWRL來(lái)表達(dá)推理規(guī)則。
規(guī)則1AV(?x)→Satisfy(?x,AE_null)
定義概念A(yù)E的實(shí)例AE_null,表示空屬性表達(dá)式,規(guī)則1規(guī)定任意屬性值均可滿足AE_null。
規(guī)則 2CANASG(?x)∧CANASG(?y)∧CanassignhasAV(?x,?v)∧CanassignhasAE(?y,?e)∧Satisfy(?v,?e)→Reachable(?x,?y)
假設(shè)CANASG策略x和y,若x的屬性值滿足y的屬性表達(dá)式,則稱(chēng)x到y(tǒng)可達(dá)。
規(guī)則 3CANASG(?x)∧CANASG(?y)∧CANREV(?z)∧CanassignhasRole(?x,?r)∧CanassignhasAE(?y,?e)∧CanrevokehasRole(?z,?r)∧CanrevokehasAV(?z,?v)∧Satisfy(?v,?e)→Reachable(?x,?y)
假設(shè)CANASG策略x和y,CANREV策略z,若策略x委派的角色,經(jīng)CANREV策略撤銷(xiāo)后,更新的屬性值v滿足策略y的屬性表達(dá)式,則稱(chēng)x到y(tǒng)可達(dá)。
規(guī)則 4CANASG(?x)∧CANASG(?y)∧CANASG(?z)∧Reachable(?x,?y)∧Reachable(?y,?z)→Reachable(?x,?z)
假設(shè)CANASG策略x,y和z,若x到y(tǒng)可達(dá),y到z可達(dá),則x到y(tǒng)可達(dá)。
規(guī)則2~規(guī)則4對(duì)應(yīng)于前面所分析的CANASG策略之間可達(dá)關(guān)系的3種情況。經(jīng)過(guò)這3條規(guī)則的推理,可推理出所有CANASG策略的可達(dá)關(guān)系。
規(guī)則5AV(?x)∧CANASG(?y)∧CANASG(?z)∧Reachable(?y,?z)∧CanassignhasAE(?y,?e)∧Satisfy(?x,?e)∧CanassignhasRole(?z,?a)→TargetRoleofAV(?x,?a)
規(guī)則5根據(jù)規(guī)則2~規(guī)則4得出的策略可達(dá)關(guān)系,推理從屬性值x開(kāi)始,通過(guò)所有可能的可達(dá)策略序列可獲得的所有角色。
本節(jié)首先通過(guò)應(yīng)用實(shí)例,分析推理方法的可行性。之后通過(guò)性能測(cè)試,對(duì)推理方法的性能進(jìn)行分析。
(1)應(yīng)用實(shí)例分析
設(shè)角色的集合為{SoftEng,QuaEng,Tra},分別表示軟件工程師、質(zhì)量工程師、實(shí)習(xí)生。
設(shè)屬性集合為{betrained,dep,hasrole,specialty},分別表示是否接受過(guò)培訓(xùn)、單位、已有角色和專(zhuān)業(yè)。
屬性betrained允許的屬性值集合為{true, false};dep允許的屬性值集合為 {EngDep,COM,…},分別表示工程部、公司等;hasrole允許的屬性值集合為角色集合;specialty允許的屬性值集合為{SE,SD,…},表示軟件工程、軟件開(kāi)發(fā)等。
設(shè)置如表1所示的策略(篇幅所限,只列出can_assign策略)。
表1 策略示例
假設(shè)工程部新員工Tom的專(zhuān)業(yè)為軟件開(kāi)發(fā)(specialty=SD),未經(jīng)過(guò)工程部的培訓(xùn)(betrained= false)??疾門(mén)om經(jīng)過(guò)以上策略,是否可被委派為工程部的軟件工程師。Tom當(dāng)前的屬性值不滿足UA2,不可直接被委派為軟件工程師,但其屬性值可滿足UA1,他可以先被授予實(shí)習(xí)生Tra,經(jīng)過(guò)實(shí)習(xí)后,屬性betrained為 true,可滿足UA2,但不可滿足UA3。經(jīng)過(guò)對(duì)以上策略推理,Tom到角色SoftEng是可達(dá)的,到角色QuaEng不可達(dá)。
(2)性能分析
性能分析實(shí)驗(yàn)采用本體工具protege3.4.7和推理引擎 Jess7.1。實(shí)驗(yàn)用機(jī)配置為:Intel Core i5-3230M 2.6 GHz,4 GB RAM,Win7操作系統(tǒng)。
實(shí)驗(yàn)設(shè)置5種屬性:a1~a5。每種屬性分別對(duì)應(yīng)10個(gè)表達(dá)式和10個(gè)屬性值,表達(dá)式用aeij表示,屬性值用vij表示,其中0≤i≤9,表示對(duì)應(yīng)的屬性編號(hào), 0≤i≤9,用于區(qū)分同一屬性中不同的表達(dá)式或?qū)傩灾怠?/p>
設(shè)屬性值與屬性表達(dá)式之間滿足Satisfy(aeij,vij)關(guān)系,即屬性值滿足與其屬性類(lèi)型相同且編號(hào)相同的屬性表達(dá)式,如Satisfy(ae11,v11),Satisfy(ae23,v23)。
實(shí)驗(yàn)1 設(shè)初始狀態(tài)為s0=({r3}),目標(biāo)角色rg=r7。表2列出實(shí)驗(yàn)中所用的策略實(shí)例,包含10條CANASG策略和10條CANREV策略,共20條。
表2 實(shí)驗(yàn)1中的策略實(shí)例
經(jīng)過(guò)規(guī)則2~規(guī)則4的推理,得到CANASG策略之間的可達(dá)關(guān)系,再經(jīng)過(guò)規(guī)則5的推理,得到如表3所示的結(jié)果,顯示了不同屬性值經(jīng)過(guò)推理后可獲得的角色集合。
表3 用例中targetRoleofAV關(guān)系推理結(jié)果
將s0轉(zhuǎn)換為s′0={v12},通過(guò)查詢表3中的結(jié)果可知,目標(biāo)角色r7是可達(dá)的??赡艿穆窂接衭r(r3)→ua(r3)→ua(r4)→ua(r5)→ua(r6)→ur(r6)→ua(r7)。對(duì)表3中的其余推理結(jié)果進(jìn)行驗(yàn)證,結(jié)果均正確。
實(shí)驗(yàn)2 對(duì)推理規(guī)則進(jìn)行性能分析。分別以20,40,60,80,100條策略為例進(jìn)行實(shí)驗(yàn),記錄不同策略數(shù)量條件下推理所需的時(shí)間,得到如圖4所示的實(shí)驗(yàn)結(jié)果。
圖4 不同策略數(shù)量所用推理時(shí)間
在圖4中,線1是對(duì)規(guī)則2~規(guī)則4進(jìn)行推理所需的時(shí)間,得到所有CANASG策略之間可達(dá)(Reachable)關(guān)系。線2是對(duì)規(guī)則5進(jìn)行推理所需的時(shí)間,推理出所有屬性值可達(dá)的角色(Target-RoleofAV)所需的時(shí)間。線3是對(duì)規(guī)則2~規(guī)則4進(jìn)行實(shí)例化后推理所需的時(shí)間,以u(píng)a(r3)為例,實(shí)例化之后,推理得到的結(jié)果是所有從ua(r3)開(kāi)始可達(dá)的策略。實(shí)例化后的策略如下:
規(guī)則2’CANASG(?x)∧CanassignhasAE(?x,?e)∧Satisfy(v12,?e)→Reachable(ua03,?x)
規(guī)則3’CANASG(?x)∧CANASG(?y)∧CANREV(?z)∧Reachable(ua03,?x)∧CanassignhasRole(?x,?r)∧CanassignhasAE(?y,?e) ∧CanrevokehasRole(?z,?r) ∧CanrevokehasAV(?z,?v)∧Satisfy(?v,?e)→Reachable(ua03,?y)
規(guī)則4’CANASG(?x)∧CANASG(?y)∧Reachable(ua03,?x)∧CanassignhasAV(?x,?v)∧CanassignhasAE(?y,?e)∧Satisfy(?v,?e)→Reachable(ua03,?y)
雖然線1隨策略數(shù)量的增加上升速度較快,但針對(duì)某一策略,推理所需的時(shí)間隨策略數(shù)量的增加上升平緩。因此,針對(duì)某一具體角色而進(jìn)行的可達(dá)性推理是可行的,該方法對(duì)于授權(quán)策略的檢測(cè)是實(shí)用的。
傳統(tǒng)的RBAC管理模型以用戶所擁有的角色作為先決條件,不能滿足多樣化授權(quán)管理策略的需要。本文提出基于屬性的角色委派模型,通過(guò)引入屬性,增強(qiáng)了授權(quán)管理策略的表達(dá)能力。在分布式環(huán)境下,授權(quán)管理策略數(shù)量巨大,策略之間相互關(guān)聯(lián)。尤其在引入屬性后,豐富的表達(dá)能力增加了策略分析的復(fù)雜度,策略執(zhí)行的結(jié)果難以通過(guò)直觀的方法實(shí)現(xiàn)推理分析,導(dǎo)致授權(quán)結(jié)果不可控,容易引發(fā)安全隱患。
本文對(duì)基于屬性的U-R可達(dá)性問(wèn)題進(jìn)行深入分析,設(shè)計(jì)了基于SWRL的推理規(guī)則,利用本體工具protégé和推理引擎Jess實(shí)現(xiàn)了授權(quán)管理策略的自動(dòng)推理。通過(guò)實(shí)例分析和性能分析驗(yàn)證了推理方法的正確性和可行性。本文為RBAC管理模型在分布式環(huán)境下存在的策略檢測(cè)困難問(wèn)題提供了一種有效的解決方法,由于屬性的涵義廣泛,基于屬性的授權(quán)管理策略可涵蓋經(jīng)典ARBAC策略,因此該方法對(duì)于經(jīng)典ARBAC同樣適用。下一步將對(duì)模型進(jìn)行擴(kuò)展,增強(qiáng)授權(quán)管理策略的表達(dá)能力,并研究更高效的推理方法。
[1] Sandhu R,Bhamidipati V,Munawer Q.The ARBAC97 Model for Role Based Administration of Roles[J].ACM Transactions on Information and System Security,1997, 2(1):105-135.
[2] Sandhu R S,Coyne E J,Feinstein H L,et al.Role-based Access Control Models[J].Computer,1996,29(2): 38-47.
[3] Li Ninghui,Tripunitara M V.Security Analysis in Rolebased AccessControl[J].ACM Transactionson Information and System Security,2006,9(4):391-420.
[4] Sasturkar A,Yang P,Stoller S D,et al.Policy Analysis for Administrative Role Based Access Control[C]// Proceedings of the 19th IEEE Workshop on Computer Security Foundations.Washington D.C.,USA:IEEE Computer Society,2006:124-138.
[5] 劉 強(qiáng),姜云飛,饒東寧.基于Graphplan的ARBAC策略安全分析方法[J].計(jì)算機(jī)學(xué)報(bào),2009,32(5): 910-921.
[6] 楊秋偉,洪 帆,楊木祥,等.基于角色訪問(wèn)控制管理模型的安全性分析[J].軟件學(xué)報(bào),2006,17(8): 1804-1810.
[7] Jha S,Li Ninghui,Tripunitara M,et al.Towards Formal Verification of Role-based Access Control Policies[J]. IEEE Transactions on Dependable and Secure Computing,2008,5(2):242-255.
[8] Stoller S D,Yang P,Ramakrishnan C R,et al.Efficient Policy Analysis for Administrative Role Based Access Contro[C]//Proceedings of 2007 ACM Conference on Computer and Communication Security.[S.l.]:ACM Press,2007:445-455.
[9] Silvio R,Anh T,Alessandro A.Boosting Model Checking to Analyse Large ARBAC Policies[C]//Proceedings of the 8th International Workshop on Security and Trust Management.Pisa,Italy:ACM Press,2012:273-288.
[10] Baader F,Calvanese D,McGuinness D,etal.The Description Logic Handbook:Theory,Implementation, and Applications[M].Cambridge,UK:Cambridge University Press,2003.
[11] Horrocks I,Patel-Schneider P F,Boley H,et al.SWRL: A Semantic Web Rule Language Combining OWL and RuleML[EB/OL].(2011-11-30).http://www.w3. org/Submission/SWRL/.
[12] OWLJessKB:A Semantic Web Reasoning Tool [EB/OL].(2010-04-25).http//edge.cs.drexel.edu/ assembilies/software/owliesskb/.
編輯 金胡考
Research on Reachability Reasoning Method for Attribute-based Role Assignment Model
REN Zhi-yu1,2,3,CHEN Xing-yuan1,2,MA Jun-qiang1
(1.The 4th Institute,PLA Information Engineering University,Zhengzhou 450001,China;
2.Henan Province Key Laboratory of Information Security,Zhengzhou 450004,China;
3.State Key Laboratory of Mathematical Engineering and Advanced Computing,Zhengzhou 450001,China)
By introducing attributes to provide richer semantics for Role-based Access Control(RBAC)management policy,the attribute-based role assignment model is proposed.It is formalized by description logic,including concepts and relations.In order to resolve the difficulty of privilge management policy detection in distributed environment,the userrole reachability analysis problem is defined and analyzed.The inference rules are described by SWRL,and imported into the inference engine to realize automated reasoning.Application example shows that the reasoning method is correct and feasible.Experimental result shows that the reasoning time rises slowly by the count of policy.So the reasoning method is practical for the automatic policy detection.It can avoid potential security problems,and offer a basis for the safe application of the privilge management model.
attribute;role assignment;reachability;reasoning;Role-based Access Control(RBAC);description logic
1000-3428(2014)09-0143-06
A
TP393.08
10.3969/j.issn.1000-3428.2014.09.029
國(guó)家“973”計(jì)劃基金資助項(xiàng)目(2011CB311801);河南省科技創(chuàng)新人才計(jì)劃基金資助項(xiàng)目(114200510001)。
任志宇(1974-),女,博士研究生,主研方向:信息安全,訪問(wèn)控制,授權(quán)管理;陳性元,教授、博士、博士生導(dǎo)師;馬軍強(qiáng),副教授。
2013-09-09
2013-10-11E-mail:zhiyu.ren@163.com