羅霄峰 楊興春 胡勇
摘 要:針對多數(shù)據(jù)類型區(qū)間決策圖(MIDD)方法不能正確表示、處理屬性的重要性標(biāo)記特性,以及表示、處理責(zé)任及忠告等不清晰,造成節(jié)點表示不一致并增加了處理的復(fù)雜性等問題,對MIDD方法進(jìn)行改進(jìn)和擴(kuò)展。首先,將MIDD的以實體屬性為單位的圖節(jié)點修改為以元素為單位的圖節(jié)點,精準(zhǔn)地表示基于屬性的訪問控制元素,使原來不能正確處理重要標(biāo)志的問題得以解決;然后,將責(zé)任及忠告作為元素,用節(jié)點表示出來;最后,把規(guī)則和策略的組合算法加到?jīng)Q策節(jié)點中,以便在策略決策點(PDP)對訪問請求進(jìn)行決策時使用。分析結(jié)果表明,改進(jìn)方法與原方法的時空復(fù)雜度相當(dāng)。兩種方法的對比仿真實驗結(jié)果表明,在每個屬性只有1個附屬屬性時(最一般的應(yīng)用情況),兩種方法每個訪問請求的平均決策時間差異的數(shù)量級僅在0.01μs。驗證了復(fù)雜度分析的正確性,說明兩種方法的性能相當(dāng)。附屬屬性個數(shù)仿真實驗表明,即使1個屬性有10個附屬屬性(實際應(yīng)用中十分稀少),兩種方法的平均決策時間差異也在相同的數(shù)量級。改進(jìn)方法不但保證了原方法的正確性、一致性和方便性,更將其使用范圍從可擴(kuò)展訪問控制標(biāo)記語言(XACML)策略擴(kuò)展到一般的基于屬性的訪問控制策略。
關(guān)鍵詞:訪問控制; 基于屬性的訪問控制; 信息安全; 安全策略; 可擴(kuò)展訪問控制標(biāo)記語言(XACML)
中圖分類號: TP309; TP391文獻(xiàn)標(biāo)志碼:A
Improved decision diagram for attribute-based access control policy
evaluation and management
LUO Xiaofeng1, YANG Xingchun1*, HU Yong2
(1. Department of Computer Science and Technology, Sichuan Police College, Luzhou Sichuan 64600, China;
2. Cyberspace Security College, Sichuan University, Chengdu Sichuan 610065, China)
Abstract: The Multi-data-type Interval Decision Diagram (MIDD) approach express and deal with the critical marks of attribute incorrectly, while express and deal with the obligations and advices ambiguously, resulting in the inconformity of node expression and the increase of processing complexity. Aiming at these problems, some improvements and expansions were proposed. Firstly, the graph nodes in MIDD with entity attribute as the unit were converted to the nodes with element as the unit, so that the elements of attribute-based access control policy were able to be represented accurately, and the problem of dealing with the critical marks was solved. Secondly, the obligations and advices were employed as elements, and were expressed by nodes. Finally, the combining algorithm of rule and policy was added to the decision nodes, so that the Policy Decision Point (PDP) was able to use it to make decision on access requests. The analysis results show that the spatio-temporal complexity of the proposed approach is similar to that of the original approach. The result of the two approaches comparative simulation show that when each attribute has only one subsidiary attribute (the most general application situation), the average decision time difference per access request of the two approaches is at 0.01μs level. It proves the correctness of the complexity analysis, indicating the performances of the two approaches are similar. Simulation on the number of subsidiary attributes showed that, even with 10 subsidiary attributes (very rare in practical applications), the average decision time difference of the two approaches is at the same order of magnitude. The proposed approach not only ensures the correctness, consistency and convenience of the original approach, but also extends its application scope from eXtensible Access Control Markup Language (XACML) policy to general attribute-based access control policies.
Key words: Access Control (AC); Attribute-Based Access Control (ABAC); information security; security policy; eXtensible Access Control Markup Language (XACML)
0 引言
隨著信息技術(shù)的發(fā)展與廣泛應(yīng)用,特別是云計算技術(shù)、物聯(lián)網(wǎng)的發(fā)展和大數(shù)據(jù)應(yīng)用的推廣,信息獲取、信息存儲、信息傳輸和信息處理等領(lǐng)域中的信息安全保障問題更加迫切和嚴(yán)峻。而訪問控制是最基本的安全保障技術(shù)之一,一直得到學(xué)術(shù)界和工程應(yīng)用開發(fā)的重視[1-4]。
訪問控制策略的研究涉及諸多方面。其中,策略表示、授權(quán)決策和管理是最基本的。訪問控制策略表示的精確性和授權(quán)決策的效率是必須考慮的重要因素。
訪問控制策略的表示方法可以分為三類:自然語言(類自然語言)、形式化(邏輯)和圖(Diagrams)??蓴U(kuò)展訪問控制標(biāo)記語言(eXtensible Access Control Markup Language, XACML)是自然語言(類自然語言)表示的最好例子[5]。美國國家標(biāo)準(zhǔn)定義的下一代訪問控制(Next Generation Access Control, NGAC)則是采用形式化表示訪問控制策略的例子[3,6-7]。
用圖來表示訪問控制策略具有形象、直觀等優(yōu)點,工程界和技術(shù)界對其情有獨鐘。當(dāng)前,最具代表性的是Ngo等[8]提出的多數(shù)據(jù)類型區(qū)間決策圖(Multi-data-type Interval Decision Diagram, MIDD)。多數(shù)據(jù)類型區(qū)間決策圖利用數(shù)據(jù)區(qū)間劃分匯聚的決策圖來管理XACML策略,效果較好;但是,在準(zhǔn)確、精細(xì)地表示、評估和管理XACML策略方面,尚存在缺陷和不足。例如,表示策略變量屬性是否重要的標(biāo)志,在MIDD中最終會丟失。要應(yīng)用于普遍的基于屬性的訪問控制(Attribute-Based Access Control, ABAC)時,更需要作進(jìn)一步工作。
針對MIDD的缺陷和不足進(jìn)行改進(jìn),本文將首先用一個訪問控制策略例來演示MIDD的缺陷,分析原因;然后給出解決辦法,即從屬性的角度重新定義描述基本屬性的屬性,并將這些屬性也用圖節(jié)點表示。這樣處理,可以準(zhǔn)確、精細(xì)地表示XACML及一般ABAC策略中的元素,從而更好地保障對XACML和一般ABAC訪問控制策略的評估和管理,以及授權(quán)決策的效率。
1 問題的提出
對資源,特別是敏感資源的訪問控制和管理持續(xù)了幾十年,極具挑戰(zhàn)性[1]。ABAC是訪問控制技術(shù)發(fā)展的里程碑[1,9]。ABAC并不是BLP(Bell-La Padula model)或基于角色的訪問控制(Role-Based Access Control, RBAC)那樣的具體模型,而是一種邏輯模型。訪問控制中涉及主體(Subjects)、客體(Objects)、權(quán)限(Rights)和環(huán)境(Environment)。這些實體(Entities)都用自己的屬性(Attributes)來描述。ABAC提供的基于屬性方法能適應(yīng)各種訪問控制策略并簡化訪問控制管理。ABAC很有潛力。據(jù)Gartner調(diào)查,在2014 年,把ABAC作為主要機(jī)制來保護(hù)重要資產(chǎn)的企業(yè)只有5%。Gartner預(yù)計,到2020 年,70% 的企業(yè)將這樣做[10]?,F(xiàn)在看來,可能要超過此估計[3]。
在訪問控制策略表示方面,XACML現(xiàn)在是最有影響的訪問控制策略表示語言,當(dāng)然,其作用不僅是表示策略而已。新興的、基于關(guān)系和體系結(jié)構(gòu)的標(biāo)準(zhǔn)NGAC也是旨在表達(dá)和執(zhí)行訪問控制策略。XACML和NGAC提供了不同的方法來表示ABAC。
用圖方法進(jìn)行訪問控制策略、特別是XACML訪問控制策略的表示、授權(quán)決策和管理等方面的研究很多。最具代表性的概述如下。
多端二叉決策圖(Multi-Terminal Binary Decision Diagram, MTBDD)[11]被Fisler等[12]使用在Margrave項目中實現(xiàn)了XACML邏輯。
Liu等[13]提出的XEngine通過把每一個屬性值映射為數(shù)字值,并應(yīng)用“第一個可用(first-applicable)”的策略組合算法,把策略樹變換成一種平坦結(jié)構(gòu),提高了決策效率。Ros等[14]采用匹配樹和組合樹來提高決策效率。文獻(xiàn)[15-16]則按照不同的原則重新排序組織策略和規(guī)則,提高了效率。Rao等[17]提出精細(xì)集成代數(shù)(Fine-grained Integration Algebra, FIA),并基于MTBDD利用FIA生成實際的XACML集成策略。但是,F(xiàn)IA無法區(qū)分不同域操作對象(target)和規(guī)則(rule)評估之間的差別,以及表示所有不確定值(Indeterminate values)。此外,包括文獻(xiàn)[15]在內(nèi),現(xiàn)有的相關(guān)研究也未能很好解決策略評估效能問題,包括重要屬性(又稱關(guān)鍵元素)評估的處理問題等[8]。
迄今為止,用圖來表示訪問控制策略最好的是多數(shù)據(jù)類型區(qū)間決策圖,在分析XACML標(biāo)準(zhǔn)背后隱藏的邏輯基礎(chǔ)上提出的MIDD方法。MIDD的數(shù)據(jù)結(jié)構(gòu)和操作符可以將訪問控制策略轉(zhuǎn)換為策略樹,在保持原有語義的同時,提高了評估性能。
MIDD方法包含XACML邏輯分析及實現(xiàn)機(jī)制,支持XACML連續(xù)數(shù)據(jù)類型、復(fù)雜的比較組合算法、語義正確性、差錯處理和重要屬性設(shè)置等大部分特征。
但是,MIDD方法仍存在一些問題。仍以文獻(xiàn)[8]所用訪問策略示例進(jìn)行說明。此策略的簡化表示如下。程序前
Policy{id:P1;combine_algo:po;
target:{(vol≥100)∧(vol≤500)};
children:{R1,R2}
}
Rule{id:R1;effect:Permit;
target:{
[(100≤vol≤150)∧(12≤time≤17)∧(3≤price≤4)]∨
[(300≤vol≤500)∧(1≤price≤2)]∨
[(100≤vol≤500)∧(6≤time≤9)∧(1≤price≤2)]
};
obligations: {O1,Permit}
}
Rule{id:R2;effect:Deny;
target:{
[(vol=100)∧(time=17)]∨
[(100≤ vol ≤300)∧(time=9)]∨
[(vol=500)∧(time≥12)]
};
obligations: {O2,Deny}
}程序后
規(guī)則R1中有一項vol(volume屬性)用下劃線標(biāo)識,表明是重要屬性。其余的vol,以及所有time屬性和price屬性都沒有下劃線,表明都不是重要屬性。文獻(xiàn)[8]的圖3是規(guī)則R1對象(target)的3個子target的MIDD圖。其中,文獻(xiàn)[8]中圖3(左圖)對應(yīng)于:
100≤vol≤150∧12≤time≤17∧3≤price≤4(1)
文獻(xiàn)[8]中圖3 (中間圖)對應(yīng)于:
300≤vol≤500∧1≤price≤2(2)
文獻(xiàn)[8]中圖3 (右圖)對應(yīng)于:
100≤vol≤150∧6≤time≤9∧1≤price≤2(3)
MIDD用帶狀態(tài)值的節(jié)點來表示是否用下劃線標(biāo)識的變量。文獻(xiàn)[8]中圖3(左圖)的節(jié)點vol(IN),表示vol是重要屬性;圖3(中間圖)和(右圖)節(jié)點vol(F),表示vol不是重要屬性。文獻(xiàn)[8]的圖4(左圖)是R1的對象的MIDD圖,此圖中節(jié)點為vol(F),已經(jīng)丟掉了文獻(xiàn)[8]圖3(左圖)中的重要屬性信息。
實際上,XACML策略中還有其他一些元素需要處理。
問題1 重要屬性的附屬屬性MustBePresent如何表示?
XACML的重要屬性用附屬屬性MustBePresent=“True”標(biāo)識出來,以便管理該屬性缺失時的處理。策略決策點(Policy Decision Point, PDP)在處理訪問請求時,當(dāng)一個策略或規(guī)則要求的某個屬性在訪問請求中不存在時,如果MustBePresent=“True”,則該缺失屬性的值為“Indeterminate”;否則(MustBePresent=“False”,或沒有MustBePresent),該缺失屬性的值為空(empty bag)[12]。按照前面vol的處理方法,只能把MustBePresent作為節(jié)點的狀態(tài)值來處理。
問題2 難以表示XACML定義的訪問控制策略和規(guī)則集的組合算法(combining-algorithm),以及正確使用責(zé)任(obligation)及忠告(advice)。
XACML策略中,有責(zé)任和忠告,它們常常包含在Effect里。文獻(xiàn)[8]將責(zé)任和忠告放在擴(kuò)展的MIDD(eXpanded-MIDD, X-MIDD)葉節(jié)點中,不但表示復(fù)雜,處理也復(fù)雜,并將可選的責(zé)任和忠告強(qiáng)加在了所有的決策中。
問題3 MIDD方法只是針對XACML策略的,需要推廣應(yīng)用到一般的ABAC,包括經(jīng)過文獻(xiàn)[18]所述預(yù)處理的XACML。例如,已經(jīng)得到業(yè)界重視的NGAC中有禁律(Prohibitions),涉及三種禁止關(guān)系:user-deny、user attribute-deny和process-deny[19]。如果使用MIDD方法,也難以表示出來。
從屬性角度看,無論是訪問控制策略示例中說明vol重要性的標(biāo)志,或是XACML的附屬屬性MustBePresent,以及NGAC中的禁律關(guān)系等,都是某種屬性。XACML的obligation及advice,也是屬性。本文在文獻(xiàn)[8]基礎(chǔ)上,通過擴(kuò)展屬性的概念來克服MIDD方法的不足。
下面的討論,除非特別說明,將適用于一般ABAC。
2 基本概念
2.1 ABAC
ABAC是一類模型的統(tǒng)稱。它們按照規(guī)則評估以屬性(主體和客體實體、操作以及環(huán)境等)表示的請求實現(xiàn)主體對客體的訪問控制[1,9]。
技術(shù)上有兩種表示ABAC策略的方式 [19-20]。最常見的是通過對屬性值使用具有謂詞的邏輯操作(例如,AND、OR、≥、≠)表達(dá)式來定義授權(quán)策略。XACML就屬于這一類技術(shù)。另一種是通過枚舉涉及關(guān)系的配置來表達(dá)訪問控制策略。NGAC就屬于這一類。
不失一般性,下面的討論,主要針對第一種技術(shù)表示的ABAC,因為第二種方式表達(dá)的決策原則上是可以轉(zhuǎn)換成第一種方式表達(dá)的。
2.2 一些概念的說明
ABAC的實體用屬性來描述。屬性,又稱為特征,通過屬性名值對來表示。這里的值實際是區(qū)間劃分。所謂元素,則是最基本的名值對單位。
定義1 附屬屬性。
在一個屬性描述中用來補(bǔ)充描述該屬性、而自身不再被描述的元素,稱為該屬性的附屬屬性。被附屬屬性補(bǔ)充描述的屬性稱為附屬屬性的主屬性。
根據(jù)此定義,訪問策略示例中說明vol重要性的下劃線, 以及XACML的MustBePresent等,都是附屬屬性。
1)連續(xù)數(shù)據(jù)類型i的全部有序域用集Di來表示。
Di可以是任何元素值集。例如,ABAC中的主體屬性、客體屬性、環(huán)境屬性等,以及XACML中的target屬性、condition屬性等。屬性值可以是數(shù)值(整型,浮點數(shù))、時間、字串、邏輯值等。
利用Di,一個訪問請求X可以表示為:
X=D1×D2×…×Dn(4)
2)集VM表示匹配元素評估結(jié)果值集。
傳統(tǒng)訪問控制的結(jié)果值集是二值邏輯,VM:={T,F(xiàn)}。此處T表示True(即匹配);F表示False(即不匹配)。XACML的VM:={T,F(xiàn),IN},IN表示Indeterminate(即無法確定)。
匹配元素評估f可以表示為:
f:D1×D2×…×Dn→VM(5)
3)邏輯決策結(jié)果集表示成E:= {P,D}。此處P表示準(zhǔn)許(Permit);D表示拒絕(Deny)。
4)集VR是規(guī)則、策略和策略集元素的決策結(jié)果集。
傳統(tǒng)訪問控制的VR:={P,D}。
ABAC的VR:={{P,D,N,INP,IND,INPD}∪{OA,}}。此處P表示準(zhǔn)許(Permit);D表示拒絕(Deny);N表示不可用(NotApplicable);INP 表示無法確定,可能評估為準(zhǔn)許而不是拒絕;IND 表示無法確定,可能評估為拒絕而不是準(zhǔn)許;INPD 表示無法確定,可能評估為準(zhǔn)許,也可能評估為拒絕。OA表示責(zé)任及忠告列表,則表示空。{OA,}作為VR的一部分,擴(kuò)展了文獻(xiàn)[8]的結(jié)果。
規(guī)則、決策和策略集元素決策f可以表示為:
f:D1×D2×…×Dn→VR(6)
定義2數(shù)據(jù)區(qū)間。
域Di中的一個值范圍IDi稱為一個數(shù)據(jù)區(qū)間。
數(shù)據(jù)區(qū)間可能是一個點,也可能是由兩個終端點組成的范圍。在兩個終端點時,根據(jù)端點值是否包含在內(nèi),可能是全開、全閉,或半開、半閉的區(qū)間。
定義3 區(qū)間劃分[8]。
域Di中區(qū)間劃分P是該域的一個不相交區(qū)間集。即:
p={IDi:Ii,Jj∈P,i≠j,Ii∩Ij=}
定義4 覆蓋。
對于一個給定域Di,如果劃分集P(Di)={P1,P2,…,Pn}滿足:
Di=∪p∈P(Di)(∪II∈p)
則稱P(Di)是域Di的一個覆蓋。
如果P(Di)是無相交區(qū)間的覆蓋,即:
i, j∈{ 1,n} ,i≠j:pi? ∩pj =
則P(Di)稱為不相交覆蓋。
定義5簡約的區(qū)間劃分[8]。
在覆蓋相同數(shù)據(jù)范圍的區(qū)間劃分中具有最少區(qū)間數(shù)的區(qū)間劃分稱為簡約的區(qū)間劃分。
本文后面部分如無說明,均采用文獻(xiàn)[8]定義的符號。
3 本文改進(jìn)的決策圖方法
本文改進(jìn)方法基本思想是將以實體屬性為單位的MIDD和X-MIDD圖節(jié)點改進(jìn)為以元素為單位。訪問策略例子中說明vol的重要屬性標(biāo)志,XACML中的MustBePresent、obligation和advice,以及NGAC中的user-deny、user attribute-deny和process-deny等都是元素,都可以成為節(jié)點。
3.1 改進(jìn)的決策圖
定義6改進(jìn)的MIDD。
改進(jìn)的MIDD(improved MIDD, iMIDD)是式(5)的有根、有向無循環(huán)圖表示:
1)iMIDD的外節(jié)點包含值T,表示True或Matched。外節(jié)點也稱為T-葉節(jié)點。
2)iMIDD的每個內(nèi)節(jié)點是一個元組(x,C)。其中:x是節(jié)點變量;C是元組(ed,c)型數(shù)組,ed為一條輸出邊,c為ed的下節(jié)點。下節(jié)點c可以是內(nèi)節(jié)點,也可以是外節(jié)點。
對訪問策略示例的策略而言,改進(jìn)的方法將100≤vol≤150處理為(100≤vol ≤150∧vol.flag=True),其相應(yīng)的iMIDD見圖1。對比文獻(xiàn)[8]的圖4(左圖),圖1完全保留了R1中vol的重要屬性信息。而100≤ vol ≤150等效于100≤ vol ≤150∧vol.flag=False。通常,vol.flag=False則可以省略。
顯然,iMIDD比MIDD簡潔,一致性好。
定義7 改進(jìn)的X-MIDD。
改進(jìn)的X-MIDD(improved X-MIDD, iX-MIDD)是式(6)的有根、有向無循環(huán)圖表示:
1)iX-MIDD的外節(jié)點是一個元組(e,ca)。其中,e∈{P,D},是規(guī)則或策略的結(jié)果(Effect);ca是規(guī)則集或策略組合算法。外節(jié)點又稱為決策葉節(jié)點。
2)iX-MIDD的每個內(nèi)節(jié)點是一個元組(x,C)。其中:x是節(jié)點變量;C是元組(ed,c)數(shù)組。c為ed的下節(jié)點,可能是內(nèi)節(jié)點,也可能是外節(jié)點。ed為一條輸出邊,其值p是上節(jié)點變量的一個簡約的區(qū)間劃分。
文獻(xiàn)[8]將責(zé)任和忠告放入X-MIDD節(jié)點中,而iX-MIDD將其作為節(jié)點對待。后者的好處是,形成iX-MIDD時,不需要像文獻(xiàn)[8]的算法4那樣,每個節(jié)點都要記錄和處理責(zé)任與忠告信息。
訪問策略示例對應(yīng)的iX-MIDD見圖2。從圖2可以看到,責(zé)任和忠告作為一個元素節(jié)點處理,組合算法也可以按照元素處理原則進(jìn)行處理。此處把它放在外節(jié)點,是因為形成訪問控制策略集合的iX-MIDD過程中已經(jīng)使用了它(見3.2節(jié))。把它保留在外節(jié)點,可便于PDP使用。
同文獻(xiàn)[8]方法相比,本文提出的改進(jìn)方法(iMIDD方法)比MIDD和X-MIDD更簡單,規(guī)范且擴(kuò)展性好,表達(dá)策略更精細(xì)、更準(zhǔn)確。文獻(xiàn)[18]方法把屬性的重要性標(biāo)記與值綁定在一起,沒有本文的解決方法通用,同時也沒有處理責(zé)任和忠告。
3.2 iMIDD方法的使用
XACML是用屬性值邏輯式定義授權(quán)策略,用iMIDD和iX-MIDD處理邏輯式很方便。為描述方便,更主要的是為便于與文獻(xiàn)[8]對比,本節(jié)仍以XACML策略來說明iMIDD方法的使用。
XACML策略可以表示為訪問控制策略樹。策略樹是一個不被其他策略集包含的策略集,該策略集與它直接包含的策略構(gòu)成樹的第1層(又稱根層),其直接子策略集直接包含的策略構(gòu)成樹的第2層。以此類推,最后一個不間斷的子策略集所在層次加1就是樹的層次。
可以使用iMIDD方法對式(4)形式的訪問請求進(jìn)行評估,包括是否匹配策略要求,以及決策是否批準(zhǔn)該請求。
本節(jié)下面的討論假定XACML策略樹已經(jīng)過文獻(xiàn)[21]所述的預(yù)處理,且target元素用iMIDD表示,Policy用iX-MIDD表示。
3.2.1 iMIDD評估
從iMIDD根節(jié)點開始,通過處理式(4)請求X:
1)對于每個標(biāo)準(zhǔn)內(nèi)節(jié)點(xi,C):
①如果X的xi值滿足xi∈ed.p,則選擇ed的下節(jié)點C.c。此處C.ed.p為數(shù)組C的邊成員ed的區(qū)間劃分p,C.c是該ed的下節(jié)點;
②當(dāng)xi ∈X 時,返回F。
2)對于每個內(nèi)節(jié)點(xi,C),選擇該ed的下節(jié)點c。
3)如果ed下節(jié)點c達(dá)到T-葉節(jié)點,則返回T;否則,返回1)。
3.2.2 iX-MIDD評估
用iX-MIDD對式(1)的請求X進(jìn)行判斷,決定是否準(zhǔn)許。處理從iX-MIDD的根開始,主要規(guī)則如下:
1)對于每個標(biāo)準(zhǔn)內(nèi)節(jié)點(xi,C):
①如果X的xi值滿足xi∈ed.p,則選擇ed的下節(jié)點C.c。此處C.ed.p為數(shù)組C的邊成員ed的區(qū)間劃分p,C.c是該ed的下節(jié)點;
②當(dāng)xi ∈X時, 返回(N,,)。
2)對于每個內(nèi)節(jié)點(xi,C),仍然選擇該ed的下節(jié)點c。
3)對于責(zé)任和忠告內(nèi)節(jié)點(xi,C),則記錄下來責(zé)任和忠告列表OAlist,仍然選擇該ed的下節(jié)點c。
4)如果ed下節(jié)點c達(dá)到?jīng)Q策葉節(jié)點,則根據(jù)其前節(jié)點是否為責(zé)任和忠告內(nèi)節(jié)點,分別返回(e,ca,OAlist)或(e,ca,);否則,返回1)。
3.2.3 iMIDD轉(zhuǎn)換為iX-MIDD
為了進(jìn)行規(guī)則評估,需要將iMIDD轉(zhuǎn)換為iX-MIDD。轉(zhuǎn)換步驟如下:
第1步 利用文獻(xiàn)[8]的區(qū)間并操作∧ (Intersect),合并規(guī)則中全部元素的iMIDD。
第2步 用內(nèi)節(jié)點(OA,C) 和決策葉節(jié)點(e,ca)代替T-葉節(jié)點。其中:OA是義務(wù)和忠告列表內(nèi)節(jié)點變量;C是元組(ed,c)數(shù)組,ed為值為OAlist的輸出邊,c為ed的下節(jié)點決策葉節(jié)點(e,ca);e∈{P,D},是規(guī)則或決策結(jié)果(Effect);ca是組合算法。
其他管理應(yīng)用,如策略測試、比較、逆請求等,iX-MIDD也完全可以實現(xiàn),限于篇幅,這里不再介紹。
4 兩種方法分析比較
4.1 復(fù)雜度分析
MIDD的層次取決于Target的變量數(shù)。這里的變量,就是屬性。iMIDD的層次不但與Target的變量數(shù)有關(guān),也與屬性所附加的元素有關(guān)。極端情況下,設(shè)Target的變量個數(shù)為n,每個Target的變量的屬性附加元素個數(shù)為k,Target的n個變量至少組成一個“與(and)”邏輯式。因此,MIDD的最大層數(shù)m=n+1,iMIDD的最大層數(shù)mi=n×k+n+1。此處的1是T-葉節(jié)點層。
類似地,可以得到X-MIDD的最大層數(shù)x=n+1,iX-MIDD的最大層數(shù)xi=n×k+n+2。此處加2,是責(zé)任和忠告內(nèi)節(jié)點層加上決策節(jié)點層。
隨著層數(shù)增加,節(jié)點數(shù)會增加,但不會很快。這是因為附加元素是內(nèi)節(jié)點,其(xi,C)中的數(shù)組通常只會有一條連接下節(jié)點的邊。
文獻(xiàn)[8]分析發(fā)現(xiàn),即使在最壞情況下,X-MIDD空間復(fù)雜度也與決策規(guī)模、決策樹高度以及目的表達(dá)式的邏輯式復(fù)雜度均無關(guān)。因為iX-MIDD的層數(shù)和節(jié)點數(shù)增加了,上述結(jié)論不完全適合于iX-MIDD。但是,如前所述,由于節(jié)點數(shù)增加不快,可以預(yù)計:iX-MIDD空間復(fù)雜度與決策的關(guān)系,與X-MIDD相差不會太大。
可以用類似的方法分析時間復(fù)雜度。MIDD和iMIDD,以及X-MIDD和iX-MIDD,各自也會有些區(qū)別,但總體上它們的時間復(fù)雜度也相差不大。
鑒于復(fù)雜度區(qū)別不大,可以預(yù)計:它們的性能也不會相差太大。
4.2 仿真實驗
文獻(xiàn)[8]作者已經(jīng)將MIDD方法與文獻(xiàn)[13-14]方法等進(jìn)行了分析比較,并將他們自己的實現(xiàn)與用標(biāo)準(zhǔn)Suns XACML(SunXACML engine) 的實現(xiàn)進(jìn)行了性能比較[8],采用了3個XACML策略數(shù)據(jù)集:GEYSERS、continue-a和synthetic-360。其中,GEYSERS策略是在GEYSERS項目中實際使用的策略,包含3個決策層次、6個策略集、7個決策、33個規(guī)則、3個屬性。從性能比較實驗結(jié)果得出,MIDD方法的性能優(yōu)于標(biāo)準(zhǔn)SunXACML engine方法的性能(見文獻(xiàn)[8]的圖7和圖8)。
鑒于此,不失代表性,本文使用擴(kuò)展的GEYSERS策略,即在文獻(xiàn)[8]研究基礎(chǔ)上, GEYSERS增加3個屬性,每個屬性又增加附屬屬性;此外還增加了責(zé)任和忠告。用它們進(jìn)行兩個對比實驗:1)X-MIDD與iX-MIDD比較,1個附屬屬性(最一般的應(yīng)用情況也只有1個附屬屬性);2)iX-MIDD自比,附屬屬性數(shù)影響的比較。
實驗用計算機(jī)的配置是:Intel CPU 2.20GHz處理器, 8GB內(nèi)存,操作系統(tǒng)是64位Windows 7家庭普通版,并安裝了更新服務(wù)包Service Park 1。
仿真實驗用C++編程。實驗主要比較決策處理,不包括預(yù)處理,因為預(yù)處理是一次性的。由于XACML沒有定義處理MustBePresent之類的處理方法,仿真處理中也只將節(jié)點信息記錄下來,以備PDP處理需要。
為減少偏差,每次實驗設(shè)計128萬個訪問請求案例,覆蓋決策的全部路徑。其中:64萬個匹配全部可能路徑,以及64萬個不匹配。上述過程,重復(fù)20遍,最后得到每個訪問請求平均決策時間及標(biāo)準(zhǔn)差。實驗中關(guān)閉了一切可以關(guān)閉的后臺程序,以減少Windows系統(tǒng)后臺程序影響。
X-MIDD與iX-MIDD訪問請求決策結(jié)果對比如表1所示。實驗結(jié)果表明,1個附屬屬性時,iX-MIDD與X-MIDD性能相當(dāng)。
表格(有表名)表1 X-MIDD與iX-MIDD訪問請求決策結(jié)果對比
Tab. 1 Result comparison of X-MIDD and iX-MIDD in
request access decision experiment
算法平均用時/μs標(biāo)準(zhǔn)差/μsX-MIDD0.9410.016iX-MIDD0.9710.017
iX-MIDD附屬屬性個數(shù)影響結(jié)果如表2所示。實驗結(jié)果表明,決策時間并不隨附屬屬性增加而線性增大。附屬屬性數(shù)對iX-MIDD性能影響很小,可以不考慮,雖然略有波動,但其差異的數(shù)量級在0.01μs,完全不會影響決策效率。實驗中附屬屬性個數(shù)沒有超過10,因為實際應(yīng)用中附屬屬性個數(shù)不會太多,更不可能每個主屬性都有附屬屬性。
表格(有表名)表2 iX-MIDD附屬屬性數(shù)影響結(jié)果
Tab. 2 Effect result of subsidiary attribute number on iX-MIDD
附屬屬性數(shù)平均用時/μs標(biāo)準(zhǔn)差/μs10.9740.01720.9740.01730.9700.01740.9710.02050.9730.01960.9810.01670.9710.01780.9690.01790.9500.015100.9710.017
5 結(jié)語
針對MIDD方法不能正確表示、處理屬性的重要性標(biāo)記特性,以及表示、處理責(zé)任及忠告等不清晰,造成節(jié)點表示不一致并增加了處理的復(fù)雜性等問題,本文首先擴(kuò)展了屬性的概念,提出以元素為節(jié)點的思想,將附屬屬性也用節(jié)點來表示。因此,MustBePresent之類的元素都可以用節(jié)點來表示,不僅解決了MIDD方法在表示它們時存在的問題,也克服了XACML的局限,可適用于一般ABAC,使一個屬性在附加多個附屬屬性時也能正確表示和處理。這種表示使圖節(jié)點概念一致性好,能精確、完整地表示ABAC策略。
接著,將此概念和方法,應(yīng)用于責(zé)任和忠告的表示,也克服了MIDD方法表示責(zé)任和忠告的不一致問題。MIDD方法中責(zé)任和忠告的表示既包含于決策節(jié)點、又包含在與決策節(jié)點直接連接的內(nèi)節(jié)點中[8]。
最后,將組合算法增加到?jīng)Q策節(jié)點,保留了訪問控制策略中決策使用的算法信息,以備PDP等需要。按照元素節(jié)點的概念,算法也可以獨立為節(jié)點。在本文中將它包含在了決策節(jié)點中。
實驗結(jié)果表明,在每個變量有一個附屬屬性時,關(guān)于每個訪問控制請求的平均決策時間,iMIDD方法與MIDD方法的結(jié)果相當(dāng)(差異僅在0.01μs數(shù)量級)。對iMIDD來說,實驗結(jié)果還表明,增加附屬屬性個數(shù)并不影響訪問請求決策時間。iMIDD方法完全可以應(yīng)用于實際的訪問控制中。
下一步計劃將改進(jìn)的決策圖應(yīng)用于NGAC策略。研究中還發(fā)現(xiàn),變量順序?qū)D復(fù)雜度有影響,將進(jìn)一步分析以找出規(guī)律,進(jìn)一步提高決策效率。
參考文獻(xiàn) (References)
[1]羅霄峰,王文賢,羅萬伯.訪問控制技術(shù)現(xiàn)狀及展望[J].信息網(wǎng)絡(luò)安全,2016(12):19-27.(LUO X F, WANG W X, LUO W B. The retrospect and prospect of access control technology [J]. Netinfo Security, 2016(12): 19-27.)
[2]BELTRAN V, SKARMETA A F. Overview of device access control in the IoT and its challenges [J]. IEEE Communications Magazine, 2019, 57(1): 154-160.
[3]KOLLURU K K, PANIAGUA C, VAN DEVENTER J, et al. An AAA solution for securing industrial IoT devices using next generation access control [C]// Proceedings of the 2018 IEEE Industrial Cyber-Physical Systems. Piscataway: IEEE, 2018: 737-742.
[4]GUO H, MEAMARI E, SHEN C-C. Multi-authority attribute-based access control with smart contract [C]// Proceedings of the 2019 International Conference on Blockchain Technology. New York: ACM, 2019: 6-11.
[5]OASIS. eXtensible Access Control Markup Language (XACML) version 3.0 plus errata 01 [EB/OL]. [2019-01-06]. http://docs.oasis-open.org/xacml/3.0/errata01/os/xacml-3.0-core-spec-errata01-os-complete.pdf.
[6]International Committee for Information Technology Standards. For information technology — next generation access control-functional architecture: INCITS 499-2018 [S]. New York: American National Standards Institute, 2018.http://www.doc88.com/p-6116489402019.html
[7]International Committee for Information Technology Standards. For information technology — next generation access control-generic operations and data structures: INCITS 526-2016 [S]. New York: American National Standards Institute, 2016.
[8]NGO C, DEMCHENKO Y, de LAAT C. Decision diagrams for XACML policy evaluation and management [J]. Computers and Security, 2015, 49: 1-16.
[9]房梁,殷麗華,郭云川,等.基于屬性的訪問控制關(guān)鍵技術(shù)研究綜述[J].計算機(jī)學(xué)報,2017,40(7):1680-1698.(FANG L, YIN L H, GUO Y C, et al. A survey of key technologies in attribute-based access control scheme [J]. Chinese Journal of Computers, 2017, 40(7): 1680-1698.)
[10]KAVANAGH K, CONTU R. Market trends: cloud-based security services market, worldwide, 2014 [EB/OL]. [2019-02-08]. https://www.gartner.com/en/documents/2607617/market-trends-cloud-based-security-services-market-world.
[11]FUJITA M, MCGEER P C, YANG J C-Y. Multi-terminal binary decision diagrams: an efficient data structure for matrix representation [J]. Formal Methods in System Design, 1997, 10(2/3): 149-169.
[12]FISLER K, KRISHNAMURTHI S, MEYEROVICH L A, et al. Verification and change-impact analysis of access-control policies [C]// Proceedings of the 27th International Conference on Software Engineering. New York: ACM, 2005: 196-205.
[13]LIU A X, CHEN F, HWANG J, et al. Designing fast and scalable XACML policy evaluation engines [J]. IEEE Transactions on Computers, 2011, 60(12): 1802-1817.
[14]ROS S P, LISCHKA M, MRMOL F G. Graph-based XACML evaluation [C]// Proceedings of the 17th ACM Symposium on Access Control Models and Technologies. New York: ACM, 2012: 83-92.
[15]MAROUF S, SHEHAB M, SQUICCIARINI A, et al. Adaptive reordering and clustering-based framework for efficient XACML policy evaluation [J]. IEEE Transactions on Services Computing, 2011, 4(4): 300-313.
[16]戚湧,陳俊,李千目.一種基于重排序的XACML策略評估優(yōu)化方法[J].南京理工大學(xué)學(xué)報(自然科學(xué)版),2015,39(2):187-193.(QI Y, CHEN J, LI Q M. XACML policy evaluation optimization method based on reordering [J]. Journal of Nanjing University of Science and Technology (Natural Science Edition), 2015, 39(2): 187-193.)
[17]RAO P, LIN D, BERTINO E, et al. Fine-grained integration of access control policies [J]. Computers and Security, 2011, 30(2/3): 91-107.
[18]羅霄峰,羅萬伯.改進(jìn)的安全策略評價管理決策圖[J].四川大學(xué)學(xué)報(工程科學(xué)版),2016,48(4):123-128,210.(LUO X F, LUO W B. Improved decision diagrams for security policy evaluation and management [J]. Journal of Sichuan University (Engineering Science Edition), 2016, 48(4): 123-128, 210.)
[19]BISWAS P, SANDHU R, KRISHNAN R. Label-based access control: an ABAC model with enumerated authorization policy [C]// Proceedings of the 2016 ACM International Workshop on Attribute Based Access Control. New York: ACM, 2016: 1-12.
[20]GUPTA M, PATWA F, SANDHU R. An attribute-based access control model for secure big data processing in Hadoop ecosystem [C]// Proceedings of the 3rd ACM Workshop on Attribute-Based Access Control. New York: ACM, 2018: 13-24.
[21]羅霄峰,羅萬伯.基于iX-MIDD的XACML安全策略評估[J].通信技術(shù),2016,49(5):627-631.(LUO X F, LUO W B. XACML policy evaluation based on iX-MIDD [J]. Communications Technology, 2016, 49(5): 627-631.)
This work is partially supported by the Scientific Research Project of Sichuan Department of Education (17ZB0262), the Science and Technology Support Program of Sichuan (2019YFS0068).
LUO Xiaofeng, born in 1974, Ph. D., senior engineer. His research interests include information security, big data.
YANG Xingchun, born in 1975, Ph. D., associate professor. His research interests include information security, information and communication engineering.
HU Yong, born in 1973, Ph. D., associate professor. His research interests include information system security.
收稿日期:2019-04-12;修回日期:2019-08-21;錄用日期:2019-08-21。
基金項目:四川省教育廳教育科研課題(17ZB0262);四川省科技支撐計劃項目(2019YFS0068)。
作者簡介:羅霄峰(1974—),男,四川大竹人,高級工程師,博士,主要研究方向:信息安全、大數(shù)據(jù); 楊興春(1975—),男,四川瀘州人,副教授,博士,主要研究方向:信息安全、信息與通信工程; 胡勇(1973—) ,男,四川射洪人,博士,副教授,主要研究方向:信息系統(tǒng)安全。
文章編號:1001-9081(2019)12-3569-06DOI:10.11772/j.issn.1001-9081.2019040603