蘇 雪, 宋國新
(1.武漢鐵路職業(yè)技術學院,武漢 430205;2.華東理工大學信息科學與工程學院,上海 200237)
一種基于安全策略的云數(shù)據(jù)訪問控制優(yōu)化技術
蘇 雪1, 宋國新2
(1.武漢鐵路職業(yè)技術學院,武漢 430205;2.華東理工大學信息科學與工程學院,上海 200237)
云存儲安全給訪問控制技術帶來了新的挑戰(zhàn)。提出了一種基于安全策略的云數(shù)據(jù)訪問控制優(yōu)化方法,基本思想是利用數(shù)據(jù)關聯(lián)關系進行安全策略精化,基于屬性的安全策略中融合了角色和信譽特征。利用數(shù)據(jù)關聯(lián)關系對云數(shù)據(jù)進行細粒度劃分,得到相應的數(shù)據(jù)塊;對策略中的規(guī)則和數(shù)據(jù)塊進行匹配和沖突消除,得到精化的安全策略。理論分析和實驗結果表明,本文方法對于數(shù)據(jù)量大的云數(shù)據(jù)訪問控制具有較高的效率。
云存儲; 安全策略; 信譽; 訪問控制; 優(yōu)化
數(shù)據(jù)安全是云計算應用面臨的主要挑戰(zhàn)之一[1],訪問控制是數(shù)據(jù)安全和網(wǎng)絡通信安全的基本方法。以DAC,MAC,RBAC[2-3]為代表的訪問控制方法在操作系統(tǒng)、數(shù)據(jù)庫安全領域已經(jīng)得到廣泛應用,基于安全策略的訪問控制方法適合于網(wǎng)絡環(huán)境下托管數(shù)據(jù)的安全管理。XACML(eXtensible Access Control Markup Language) 是一種基于XML格式的訪問控制標準,被廣泛應用于網(wǎng)絡應用和網(wǎng)絡服務中[4]。XACML是一種層次化語言模型,它提供了策略集、策略和規(guī)則3種對象及對象之間的融合算法,用于仲裁安全規(guī)則之間的沖突并設定默認解決方案,從而保證訪問控制決策的一致性。
基于XACML的訪問控制研究已有大量成果。Hu等[5]提出了一種應用于Web訪問控制中基于邏輯的XACML策略管理機制,并對規(guī)則的沖突和冗余進行檢測和消除。Wang等[6]提出一種相關類型的策略優(yōu)化引擎,并對層次化的XACML利用樹狀圖分析和優(yōu)化。然而上述文獻并未充分考慮到策略的安全性,同時基于策略本身的優(yōu)化方法,效率依然取決于策略長度,并未從根本上優(yōu)化決策算法的復雜度。Pei等[7]提出了規(guī)則優(yōu)化方法,但策略中沒有考慮角色和信譽的因素。Said[8]提出了一個評估策略執(zhí)行效率的框架,并形式化地描述了XACML及策略相似性的度量方法。Bertolino等[9]對XACML的自動測試方法進行了研究,但對于具體的優(yōu)化方式并未給出可行性方案。
本文在基于屬性的安全策略中融合了角色和信譽特征,并提出了一種基于策略的云數(shù)據(jù)訪問控制優(yōu)化算法pbacPDP (policy-based access control Policy Decision Point)。利用數(shù)據(jù)關聯(lián)關系對云數(shù)據(jù)進行劃分,對策略和數(shù)據(jù)塊進行匹配和沖突消除,得到優(yōu)化的安全策略。
1.1 策略的描述
一個XACML策略可以包含多條規(guī)則,在一個規(guī)則中,主體、資源、行為構成其基本屬性,同時規(guī)則可以具有執(zhí)行條件約束。規(guī)則具有“允許”和“拒絕”兩種效用。由多個規(guī)則構成的策略具有一個融合算法,用來解決規(guī)則之間的沖突。同樣,策略集也具有融合算法,解決策略之間的沖突。XACML自帶的融合算法有4種,分別為允許優(yōu)先算法(Permit-Override)、拒絕優(yōu)先算法(Deny-Override)、首次適用算法(First-Applicable)和唯一適用算法(Only-one-Applicable)。XACML安全策略模型的形式化描述如下:Policyset::=
Policy::=
rule::=(
target::={(
request::={(
effect::='permit'|'deny'
CA::='PO'|'DO'|'FA'|'OA'
安全模型中角色(Role)和主體(Subject)是多對多的關系。規(guī)則(Rule)在策略中出現(xiàn)的次序通過函數(shù)seq:Rules→N定義。
設S={s1,s2,s3,s4}為云存儲數(shù)據(jù)資源集,它們之間存在的關聯(lián)關系如圖1所示,資源集的數(shù)據(jù)塊劃分為{d1,d2,d3,d4,d5,d6}。
圖1 數(shù)據(jù)資源關聯(lián)關系示例Fig.1 An example of data resource correlation
圖2給出了一個XACML安全策略案例,標識為P01,定義了對數(shù)據(jù)的訪問控制策略,它包含r1,r2,r33個規(guī)則。
圖2 XACML安全策略示例Fig.2 An example of XACML security policy
1.2 訪問控制過程
訪問控制的主要模塊包括策略執(zhí)行點(PEP)和策略決策點(PDP)。PEP接受用戶請求、創(chuàng)建一個 XACML 請求并發(fā)送到PDP,而PDP評估請求并返回一個響應。該響應可以是允許訪問(permit),也可以是拒絕訪問(deny)。假定Alice是學生,她的信譽值為85,系統(tǒng)接受到如下請求:
req(Subject='Alice',Resource='s2',
Action='Write',Condition='12:00')
策略P01中規(guī)則r1和r3與請求匹配,根據(jù)規(guī)則r1該請求得到的相應是‘permit’,根據(jù)規(guī)則r3該請求得到的相應是‘deny’。因為策略P01的融合算法CA選取的是‘deny-override’,所以最終的控制決策是‘deny’。
云存儲提供了海量數(shù)據(jù)的管理和服務功能,用戶的量大,需求個性化要求強。對于每個用戶請求,決策過程需要逐個檢查規(guī)則是否匹配,并根據(jù)規(guī)則條件和融合算法進行最終決策,對于云存儲管理是一個巨大的負擔。本文的目標是提出細粒度的訪問控制優(yōu)化技術,在實施安全策略的同時提高決策的效率。
2.1 基本定義
為了實現(xiàn)資源的獨立存儲,同時考慮到資源安全屬性,通過資源分隔算法將資源切分為相互獨立且具有安全屬性的數(shù)據(jù)塊。由于資源是策略的一部分,是XACML中規(guī)則的一個基本屬性,將規(guī)則綁定到資源上,資源交集生成的新數(shù)據(jù)塊將繼承所有相交資源的規(guī)則,實現(xiàn)了策略在資源維度上的投影。通過規(guī)則優(yōu)化算法對每個數(shù)據(jù)塊上的規(guī)則進行沖突和冗余的檢測和消除,實現(xiàn)策略的最優(yōu)化。策略中的規(guī)則之間存在冗余和沖突,XACML提供的4種融合算法雖然可以解決沖突,但是決策效率較低,并不具備系統(tǒng)性的規(guī)則優(yōu)化方法。本文提出的規(guī)則優(yōu)化算法是在決策之前對所有相關的規(guī)則在數(shù)據(jù)塊維度上進行優(yōu)化。
定義1(規(guī)則匹配) 假設云端用戶的請求為req=(,
記為r|=req。
定義2(規(guī)則沖突) 設ri,rj為安全策略中的規(guī)則,如果存在請求req使得req|=ri∧req|=rj成立,則稱ri與rj沖突,記為ri?rj。兩者的相交的部分記為Λri,rj,包含Δri屬于ri,Δrj屬于rj。
當ri?rj且ri·effect=rj·effect時,有Δri=Δrj。若刪除Δri或Δrj對策略的最終決策不產(chǎn)生影響,則其可移除。
2.2 優(yōu)化算法pbacPDP
在不同的策略融合算法作用下,移除判定準則不相同,分別定義4種融合算法中的移除準則。
準則Cr1 允許優(yōu)先算法
當ri?rj且ri·effect=permit,則Δrj可移除。
當ri?rj且ri·effect=deny,則Δri可移除。
準則Cr2 拒絕優(yōu)先算法
當ri?rj且ri·effect=deny,則Δrj可移除。
當ri?rj且ri·effect=permit,則Δri可移除。
準則Cr3 首次適用算法
假設ri,rj在策略中的出現(xiàn)順序為seq(r)。
當ri?rj且seq(ri) 當ri?rj且seq(ri)>seq(rj),則Δri可移除。 準則Cr4 唯一適用算法 若ri與rj同時匹配一個請求,共同匹配部分為Λri,rj,非唯一匹配返”NotApplicable”,該情況下,移除Δri與Δrj。 優(yōu)化的訪問控制算法pbacPDP的偽代碼如圖3所示。 RuleSeti表示綁定到數(shù)據(jù)塊上的規(guī)則集合,算法根據(jù)上述優(yōu)化規(guī)則對RuleSeti規(guī)約。 圖3 pbacPDP算法偽代碼Fig.3 Pseudo-codes of the pbacPDP algorithm 定理1(算法的正確性) 假設P為原始安全策略,P′為優(yōu)化后的細粒度安全策略,對于每個請求req數(shù)據(jù)塊,P|=req當且僅當P′|=req。 證明: (1)必要性:假設P|=req,如果策略P中沒有規(guī)則沖突,則P′=P,從而顯然P′|=req。假設策略P中存在規(guī)則沖突,不妨令ri?rj。 情況1:如果ri·effect=permit,CA 采納的是準則Cr1,則無論rj·effect=permit 或 deny,刪除Δrj后,最終對req的決策仍然是permit,所以P′|=req。 情況2:如果ri·effect=deny并且rj·effect=deny,則Δri=Δrj,刪除Δri(Δrj)仍然P′|=req。然而,如果ri·effect=deny并且rj·effect=permit,CA 采納的是準則Cr1,刪除Δri最終對req的決策仍然是permit,所以P′|=req。同樣地,如果CA 采納Cr2、Cr3、Cr4準則,結論成立。 (2)充分性:假設P′|=req,如果策略P中沒有規(guī)則沖突,則P′=P,從而顯然P|=req。假設策略P中存在規(guī)則沖突,不妨令ri?rj。 情況1:如果ri·effect=permit,CA 采納的是準則Cr1,則P′為P刪除Δrj后的策略,依據(jù)ri·effect=permit可知,先前的策略對req的決策是permit,所以P|=req。 情況2:如果ri·effect=deny并且rj·effect=deny,則Δri=Δrj,刪除Δri(Δrj)。P′|=req意味著存在其他規(guī)則rk:rk·effect=permit,所以P|=req。然而,如果ri·effect=deny并且rj·effect=permit,CA 采納的是準則Cr1,刪除Δri最終對req的決策與未刪除前一樣,均為permit,所以P|=req。 類似地,CA 采納Cr2、Cr3、Cr4時結論可證。 3.1 復雜度分析 在訪問控制優(yōu)化算法中,計算時間包含數(shù)據(jù)塊劃分時間、規(guī)則精化時間、沖突檢查時間和沖突解決時間。數(shù)據(jù)塊劃分的時間復雜度為O(nlog2m),規(guī)則精化復雜度為O(km),沖突檢查時間復雜度為O(hilog2hi),沖突解決的時間為O(ci),從而訪問控制優(yōu)化算法的總時間復雜度為O(nlog2m+km+∑i∈1..|Conflicts|(hilog2hi+ci))。 算法需要額外的空間開銷,用以存儲數(shù)據(jù)塊以及匹配規(guī)則,其空間復雜度為Θ(m)。 3.2 實驗分析 為分析本文方法對不同的規(guī)則數(shù)、規(guī)則沖突數(shù)、資源耦合度的影響,進行了兩組實驗。實驗1的規(guī)則數(shù)分別為20、40、60、 80、100,規(guī)則沖突數(shù)為60,資源元數(shù)為64;實驗2的規(guī)則數(shù)分別為300、600、900、1 200、1 500,規(guī)則沖突數(shù)為60,資源元數(shù)為160。假定云數(shù)據(jù)訪問請求者平均有80%符合信用標準。實驗采用SUN-XACML的API,實驗環(huán)境為:Intel(R)Core(TM)i3-2330MCPU2.30GHz,4GBRAM,Win7操作系統(tǒng)。方法比較對象分別是simplePDP[4]和melcoePDP[10],其中simplePDP使用列表結構遍歷規(guī)則進行匹配,melcoePDP則采用數(shù)據(jù)屬性簇遍歷。實驗結果如圖4所示??梢钥闯?在規(guī)則數(shù)和資源元數(shù)較少時,本文方法與simplePDP和melcoePDP相比在效率上相仿或者略低;但隨著規(guī)則數(shù)和資源元的增加,本文方法的效率比simplePDP和melcoePDP具有明顯的提高,適用于數(shù)據(jù)量大的云存儲訪問控制。 圖4 算法對比分析Fig.4 Comparison analysis of algorithms 本文提出了一種基于安全策略的云數(shù)據(jù)訪問控制優(yōu)化方法。該方法利用XACML描述訪問控制策略,在安全策略中融合了用戶角色和信譽特征,適合網(wǎng)絡環(huán)境中數(shù)據(jù)資源的訪問控制。利用數(shù)據(jù)關聯(lián)關系對云數(shù)據(jù)進行細粒度劃分,得到相應的數(shù)據(jù)塊。進一步對策略中的規(guī)則和數(shù)據(jù)塊進行匹配和沖突消除,得到優(yōu)化的安全策略,可以對云存儲資源進行細粒度的訪問控制。實驗結果表明,本文提出的pbacPDP算法對于數(shù)據(jù)量大的云數(shù)據(jù)安全具有較高的效率和適應性。 進一步的研究工作包括對云數(shù)據(jù)訪問控制模型和系統(tǒng)的設計、第三方的用戶信用管理和維護、相關工具的研究和開發(fā)。 [1] YANG K,JIA X,REN K,etal,DAC-MACS:Effective data access control for multiauthority cloud storage systems[J].IEEE Transactions on Information Foreusics and Security,2013,8(11),1790-1801. [2] MASOOD A,BHATTI R,GHAFOOR A,etal.Scalable and effective test generation for role-based access control systems[J].IEEE Transactions on Software Engineering,2009,35(5),654 - 668. [3] ARDAGNA C A,VIMERCATI D C,PARABOSCHI S.Expressive and deployable access control in open Web service applications[J].IEEE Transactions on Services Computing,2011,4(2):96-109. [4] GODIK S,MOSES T.Extensible access control markup language (XACML) version1.1 [EB/OL].[2003-04-10].http://docs.oasis-open.org/XACML. [5] HU H X,AHN G J.Discovery and resolution of anomalies in web access control policies[J].IEEE Dependable and Secure Computing,2013,10(6):341-354. [6] WANG Y Z,FENG D G,ZHANG L W.XACML policy evaluation engine based on multi-level optimization techno-logy[J].Journal of Software,2011,22(2):323-338. [7] PEI X,YU H,FAN G.Achieving efficient access control via XACML policy in cloud computing[C]//Proceedings of the 27th International Conference on Software Engineering and Knowledge Engineering.USA:KSI Research Inc,2015:110-115. [8] SAID M,SHEHAB M,ANNA S.Adaptive reordering and clustering-based framework for efficient XACML policy evaluation[J].IEEE Service Computing,2011,4(4):300-313. [9] BERTOLINO A,DAOUDAGH S,LONETTI F.Automated testing of extensible access control markup language-based access control systems[J].IET Software,2013,7(4):203-212. [10] JAJODIA S.SAMARAT P.A logical language for expressing authorizations[C] //Proceedings of IEEE Symposium on Security & Privacy.USA:IEEE,1997:31-42. A Security Policy-Based Approach to OptimizingCloud Data Access Control SU Xue1, SONG Guo-xin2 (1.Wuhan Railway Vocational College of Technology,Wuhan 430205,China;2.School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China) Cloud storage arouses new challenges to access control techniques.This paper proposes a security policy-based method to optimize cloud data access control.The basic idea is to refine security policies according to correlations among cloud resources.Attribute-based security policies comprehend the role of subject and his credit as well.Cloud data are partitioned to fine-grained data blocks,which is guided by correlations among the data.Security policy refinement is obtained by matching policy rules with data blocks and resolving rule conflicts.Theoretical analysis and experiment results show that the proposed method is efficient for access control of cloud data with huge quantity. cloud storage; security policy; credit; access control; optimization 1006-3080(2016)06-0858-05 10.14135/j.cnki.1006-3080.2016.06.017 2016-09-02 湖北省教育廳科學技術規(guī)劃項目(B2015412);國家科技重大專項項目(2010ZX03004-003-03) 蘇 雪(1972-),女,碩士,副教授,主要研究方向為計算機網(wǎng)絡通信與信息系統(tǒng)。E-mail:yuanyuan720306@qq.com TP311 A3 訪問控制性能分析
4 結束語