蘇 雪, 宋國新
(1.武漢鐵路職業技術學院,武漢 430205;2.華東理工大學信息科學與工程學院,上海 200237)
一種基于安全策略的云數據訪問控制優化技術
蘇 雪1, 宋國新2
(1.武漢鐵路職業技術學院,武漢 430205;2.華東理工大學信息科學與工程學院,上海 200237)
云存儲安全給訪問控制技術帶來了新的挑戰。提出了一種基于安全策略的云數據訪問控制優化方法,基本思想是利用數據關聯關系進行安全策略精化,基于屬性的安全策略中融合了角色和信譽特征。利用數據關聯關系對云數據進行細粒度劃分,得到相應的數據塊;對策略中的規則和數據塊進行匹配和沖突消除,得到精化的安全策略。理論分析和實驗結果表明,本文方法對于數據量大的云數據訪問控制具有較高的效率。
云存儲; 安全策略; 信譽; 訪問控制; 優化
數據安全是云計算應用面臨的主要挑戰之一[1],訪問控制是數據安全和網絡通信安全的基本方法。以DAC,MAC,RBAC[2-3]為代表的訪問控制方法在操作系統、數據庫安全領域已經得到廣泛應用,基于安全策略的訪問控制方法適合于網絡環境下托管數據的安全管理。XACML(eXtensible Access Control Markup Language) 是一種基于XML格式的訪問控制標準,被廣泛應用于網絡應用和網絡服務中[4]。XACML是一種層次化語言模型,它提供了策略集、策略和規則3種對象及對象之間的融合算法,用于仲裁安全規則之間的沖突并設定默認解決方案,從而保證訪問控制決策的一致性。
基于XACML的訪問控制研究已有大量成果。Hu等[5]提出了一種應用于Web訪問控制中基于邏輯的XACML策略管理機制,并對規則的沖突和冗余進行檢測和消除。Wang等[6]提出一種相關類型的策略優化引擎,并對層次化的XACML利用樹狀圖分析和優化。然而上述文獻并未充分考慮到策略的安全性,同時基于策略本身的優化方法,效率依然取決于策略長度,并未從根本上優化決策算法的復雜度。Pei等[7]提出了規則優化方法,但策略中沒有考慮角色和信譽的因素。Said[8]提出了一個評估策略執行效率的框架,并形式化地描述了XACML及策略相似性的度量方法。Bertolino等[9]對XACML的自動測試方法進行了研究,但對于具體的優化方式并未給出可行性方案。
本文在基于屬性的安全策略中融合了角色和信譽特征,并提出了一種基于策略的云數據訪問控制優化算法pbacPDP (policy-based access control Policy Decision Point)。利用數據關聯關系對云數據進行劃分,對策略和數據塊進行匹配和沖突消除,得到優化的安全策略。
1.1 策略的描述
一個XACML策略可以包含多條規則,在一個規則中,主體、資源、行為構成其基本屬性,同時規則可以具有執行條件約束。規則具有“允許”和“拒絕”兩種效用。由多個規則構成的策略具有一個融合算法,用來解決規則之間的沖突。同樣,策略集也具有融合算法,解決策略之間的沖突。XACML自帶的融合算法有4種,分別為允許優先算法(Permit-Override)、拒絕優先算法(Deny-Override)、首次適用算法(First-Applicable)和唯一適用算法(Only-one-Applicable)。XACML安全策略模型的形式化描述如下:Policyset::=
Policy::=
rule::=(
target::={(
request::={(
effect::='permit'|'deny'
CA::='PO'|'DO'|'FA'|'OA'
安全模型中角色(Role)和主體(Subject)是多對多的關系。規則(Rule)在策略中出現的次序通過函數seq:Rules→N定義。
設S={s1,s2,s3,s4}為云存儲數據資源集,它們之間存在的關聯關系如圖1所示,資源集的數據塊劃分為{d1,d2,d3,d4,d5,d6}。

圖1 數據資源關聯關系示例Fig.1 An example of data resource correlation
圖2給出了一個XACML安全策略案例,標識為P01,定義了對數據的訪問控制策略,它包含r1,r2,r33個規則。

圖2 XACML安全策略示例Fig.2 An example of XACML security policy
1.2 訪問控制過程
訪問控制的主要模塊包括策略執行點(PEP)和策略決策點(PDP)。PEP接受用戶請求、創建一個 XACML 請求并發送到PDP,而PDP評估請求并返回一個響應。該響應可以是允許訪問(permit),也可以是拒絕訪問(deny)。假定Alice是學生,她的信譽值為85,系統接受到如下請求:
req(Subject='Alice',Resource='s2',
Action='Write',Condition='12:00')
策略P01中規則r1和r3與請求匹配,根據規則r1該請求得到的相應是‘permit’,根據規則r3該請求得到的相應是‘deny’。因為策略P01的融合算法CA選取的是‘deny-override’,所以最終的控制決策是‘deny’。
云存儲提供了海量數據的管理和服務功能,用戶的量大,需求個性化要求強。對于每個用戶請求,決策過程需要逐個檢查規則是否匹配,并根據規則條件和融合算法進行最終決策,對于云存儲管理是一個巨大的負擔。本文的目標是提出細粒度的訪問控制優化技術,在實施安全策略的同時提高決策的效率。
2.1 基本定義
為了實現資源的獨立存儲,同時考慮到資源安全屬性,通過資源分隔算法將資源切分為相互獨立且具有安全屬性的數據塊。由于資源是策略的一部分,是XACML中規則的一個基本屬性,將規則綁定到資源上,資源交集生成的新數據塊將繼承所有相交資源的規則,實現了策略在資源維度上的投影。通過規則優化算法對每個數據塊上的規則進行沖突和冗余的檢測和消除,實現策略的最優化。策略中的規則之間存在冗余和沖突,XACML提供的4種融合算法雖然可以解決沖突,但是決策效率較低,并不具備系統性的規則優化方法。本文提出的規則優化算法是在決策之前對所有相關的規則在數據塊維度上進行優化。
定義1(規則匹配) 假設云端用戶的請求為req=(,
記為r|=req。
定義2(規則沖突) 設ri,rj為安全策略中的規則,如果存在請求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對策略的最終決策不產生影響,則其可移除。
2.2 優化算法pbacPDP
在不同的策略融合算法作用下,移除判定準則不相同,分別定義4種融合算法中的移除準則。
準則Cr1 允許優先算法
當ri?rj且ri·effect=permit,則Δrj可移除。
當ri?rj且ri·effect=deny,則Δri可移除。
準則Cr2 拒絕優先算法
當ri?rj且ri·effect=deny,則Δrj可移除。
當ri?rj且ri·effect=permit,則Δri可移除。
準則Cr3 首次適用算法
假設ri,rj在策略中的出現順序為seq(r)。
當ri?rj且seq(ri) 當ri?rj且seq(ri)>seq(rj),則Δri可移除。 準則Cr4 唯一適用算法 若ri與rj同時匹配一個請求,共同匹配部分為Λri,rj,非唯一匹配返”NotApplicable”,該情況下,移除Δri與Δrj。 優化的訪問控制算法pbacPDP的偽代碼如圖3所示。 RuleSeti表示綁定到數據塊上的規則集合,算法根據上述優化規則對RuleSeti規約。 圖3 pbacPDP算法偽代碼Fig.3 Pseudo-codes of the pbacPDP algorithm 定理1(算法的正確性) 假設P為原始安全策略,P′為優化后的細粒度安全策略,對于每個請求req數據塊,P|=req當且僅當P′|=req。 證明: (1)必要性:假設P|=req,如果策略P中沒有規則沖突,則P′=P,從而顯然P′|=req。假設策略P中存在規則沖突,不妨令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中沒有規則沖突,則P′=P,從而顯然P|=req。假設策略P中存在規則沖突,不妨令ri?rj。 情況1:如果ri·effect=permit,CA 采納的是準則Cr1,則P′為P刪除Δrj后的策略,依據ri·effect=permit可知,先前的策略對req的決策是permit,所以P|=req。 情況2:如果ri·effect=deny并且rj·effect=deny,則Δri=Δrj,刪除Δri(Δrj)。P′|=req意味著存在其他規則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 復雜度分析 在訪問控制優化算法中,計算時間包含數據塊劃分時間、規則精化時間、沖突檢查時間和沖突解決時間。數據塊劃分的時間復雜度為O(nlog2m),規則精化復雜度為O(km),沖突檢查時間復雜度為O(hilog2hi),沖突解決的時間為O(ci),從而訪問控制優化算法的總時間復雜度為O(nlog2m+km+∑i∈1..|Conflicts|(hilog2hi+ci))。 算法需要額外的空間開銷,用以存儲數據塊以及匹配規則,其空間復雜度為Θ(m)。 3.2 實驗分析 為分析本文方法對不同的規則數、規則沖突數、資源耦合度的影響,進行了兩組實驗。實驗1的規則數分別為20、40、60、 80、100,規則沖突數為60,資源元數為64;實驗2的規則數分別為300、600、900、1 200、1 500,規則沖突數為60,資源元數為160。假定云數據訪問請求者平均有80%符合信用標準。實驗采用SUN-XACML的API,實驗環境為:Intel(R)Core(TM)i3-2330MCPU2.30GHz,4GBRAM,Win7操作系統。方法比較對象分別是simplePDP[4]和melcoePDP[10],其中simplePDP使用列表結構遍歷規則進行匹配,melcoePDP則采用數據屬性簇遍歷。實驗結果如圖4所示。可以看出,在規則數和資源元數較少時,本文方法與simplePDP和melcoePDP相比在效率上相仿或者略低;但隨著規則數和資源元的增加,本文方法的效率比simplePDP和melcoePDP具有明顯的提高,適用于數據量大的云存儲訪問控制。 圖4 算法對比分析Fig.4 Comparison analysis of algorithms 本文提出了一種基于安全策略的云數據訪問控制優化方法。該方法利用XACML描述訪問控制策略,在安全策略中融合了用戶角色和信譽特征,適合網絡環境中數據資源的訪問控制。利用數據關聯關系對云數據進行細粒度劃分,得到相應的數據塊。進一步對策略中的規則和數據塊進行匹配和沖突消除,得到優化的安全策略,可以對云存儲資源進行細粒度的訪問控制。實驗結果表明,本文提出的pbacPDP算法對于數據量大的云數據安全具有較高的效率和適應性。 進一步的研究工作包括對云數據訪問控制模型和系統的設計、第三方的用戶信用管理和維護、相關工具的研究和開發。 [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 湖北省教育廳科學技術規劃項目(B2015412);國家科技重大專項項目(2010ZX03004-003-03) 蘇 雪(1972-),女,碩士,副教授,主要研究方向為計算機網絡通信與信息系統。E-mail:yuanyuan720306@qq.com TP311 A
3 訪問控制性能分析


4 結束語