• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于統(tǒng)計分析優(yōu)化的高性能XACML策略評估引擎

      2014-01-06 01:46:10牛德華馬建峰馬卓李辰楠王蕾
      通信學報 2014年8期
      關鍵詞:調(diào)用引擎規(guī)則

      牛德華,馬建峰,馬卓,李辰楠,王蕾

      (西安電子科技大學 計算機學院,陜西 西安 710071)

      1 引言

      可擴展的訪問控制標記語言(XACML)[1]是在2003年 2月由 OASIS(organization for the advancement of structured information standards)組織制定的用于決定用戶訪問請求的通用訪問控制策略描述語言。與其他訪問控制策略描述語言相比,XACML具有通用性、可擴展性和功能強大的特點,已成為許多大型企業(yè)應用和商業(yè)化產(chǎn)品實現(xiàn)安全授權功能的實際標準。XACML策略由一組保證網(wǎng)絡資源不被非法使用的規(guī)則組成,當用戶申請訪問資源時,訪問控制模塊通過評估訪問控制策略對用戶進行授權。云計算、社交網(wǎng)絡、Web service等業(yè)務需要指定大量的XACML策略對資源進行細粒度訪問控制。但隨著系統(tǒng)在線用戶和資源數(shù)量的不斷增加(如截止到2012年12月底,新浪微博的用戶數(shù)量已超過5億,平均每天活躍用戶達到4 620萬),訪問控制策略包含的規(guī)則數(shù)越來越多,結(jié)構(gòu)越來越復雜,策略評估效率已成為制約系統(tǒng)可用性的關鍵瓶頸,亟需一種高效的策略評估引擎對海量用戶的請求及時做出正確授權。

      然而,現(xiàn)有開源商業(yè)XACML引擎仍然不能解決上述評估效率問題。Sun公司的XACML 評估引擎[2]采用遍歷匹配方式,在當前具有大規(guī)模XACML策略的分布式環(huán)境中,策略評估效率很低。XACMLLight[3]專注于評估引擎的遠程服務調(diào)用,并沒有對策略匹配過程進行優(yōu)化。AXESCON XACML[4]提供了策略載入和策略緩存功能,但其仍然按照XACML嵌套結(jié)構(gòu)逐層匹配,沒有對匹配邏輯優(yōu)化。Enterprise XACML[5]提供了策略索引功能,在一定程度上縮減了策略檢索范圍,但其索引結(jié)構(gòu)沒有考慮策略中規(guī)則目標的匹配優(yōu)化問題。

      近年來,XACML策略評估引擎的效率問題也引起了學術界的廣泛關注[6~14]。Liu等人[7,8]把字符串XACML策略轉(zhuǎn)化為數(shù)值化的XACML策略,把字符串比較變?yōu)閿?shù)值比較,從而提供策略評估效率,但是沒有考慮對策略進行精簡操作,冗余策略仍然存在。文獻[9]提出使用統(tǒng)計分析方法對策略和規(guī)則進行重排序,將頻繁調(diào)用的策略和規(guī)則放到最前面,在一定程度上提高了評估效率,但依然是遍歷匹配。文獻[10]提出的多層次優(yōu)化技術明顯提高了策略評估效率,但該系統(tǒng)不能保證緩存內(nèi)容一定是調(diào)用最頻繁的,其策略匹配仍然是字符串比較,策略評估效率有待提高。

      針對上述問題,本文提出基于統(tǒng)計分析優(yōu)化的高性能 XACML策略評估引擎 HPEngine。首先利用基于統(tǒng)計分析的策略優(yōu)化機制動態(tài)精化策略,并將精化后的XACML策略由文本形式轉(zhuǎn)化為數(shù)值形式;然后利用統(tǒng)計分析機制為頻繁調(diào)用的屬性、策略以及請求結(jié)果對建立緩存,達到既縮減策略規(guī)模又優(yōu)化匹配方式的目的。

      2 預備知識

      XACML是一種基于屬性訪問控制模型的策略描述語言,由PolicySet、Policy、Target、Rule和合并算法組成,采用樹狀層次嵌套結(jié)構(gòu)定義訪問權限,如圖1所示。

      定義 1 策略集(PolicySet)。PolicySet是XACML策略的根元素,可用元組表示PS=(id,t,P,PC)。其中,id為策略集編號,t為策略集的Target元素,P={p1,…,pn}由一系列 Policy構(gòu)成,PC是Policy的合并算法(combine algorithm)。

      圖1 XACML策略示例

      定義2 策略(Policy)。Policy用來保護資源,可用元組表示P=(id,t,R,RC)。其中,id為策略編號,t為策略的 Target元素,R={r1,…,rn}由一系列 rule構(gòu)成,RC是Rule的合并算法。

      定義 3 規(guī)則(Rule)。Rule是最小單位的策略原語,可用元組表示R=(id,t,e,c)。其中,id為規(guī)則編號,t為規(guī)則的 Target元素,e是 effect元素e∈{Permit,Deny},c是對請求的限制條件。

      定義4 目標(Target)。目標元素由主體屬性集(Sub.t)、資源屬性集(Res.t)、動作屬性集(Ac.t)和環(huán)境屬性集(En.t)構(gòu)成,表示在滿足環(huán)境屬性約束的條件下,允許或拒絕主體屬性所有者對資源屬性指定的資源執(zhí)行動作屬性指定的具體操作。由于環(huán)境屬性與具體應用相關,所以下文不再考慮環(huán)境屬性。

      定義5 合并算法。當Policy中的多條Rule或PolicySet中的多條 Policy都匹配訪問請求時,XACML利用規(guī)則/策略的合并算法計算最終的評估結(jié)果。合并算法包括肯定優(yōu)先(permit-override)、否定優(yōu)先(deny-override)、首次適用(first-applicable)和唯一適用(only-one-applicable)。

      定義6 訪問請求(access request)。用戶的訪問請求用元組表示為req=(s,o,a)。其中,s是訪問請求者,o為要訪問的資源,a是對資源執(zhí)行的操作。

      3 HPEngine引擎平臺

      本節(jié)詳細闡述 HPEngine評估引擎。先給出HPEngine引擎平臺的體系結(jié)構(gòu)和功能部件組成;然后介紹 HPEngine評估引擎采用的關鍵優(yōu)化技術:基于統(tǒng)計分析的策略優(yōu)化和基于統(tǒng)計分析的多級緩存機制;最后說明 HPEngine評估引擎對用戶訪問請求的完整評估過程。

      3.1 HPEngine引擎平臺體系架構(gòu)

      根據(jù)XACML標準的訪問控制架構(gòu)可知,一個完整的訪問控制系統(tǒng)通常包括策略執(zhí)行點、策略決策點、策略信息點、策略管理點等功能部件。因此,HPEngine引擎不但實現(xiàn)了策略評估相關的核心功能,而且提供了完整的訪問授權支撐平臺。如圖 2所示,其主要由審計服務(AS, audit service) 、策略管理服務(PMS, policy managerment service)、策略決策服務(PDS, policy decision service)、策略持久化服務(PPS, policy persistence service)和屬性斷言服務(AAS, attribute assertion service)功能部件組成。

      AS記錄系統(tǒng)的請求、響應、策略集及屬性調(diào)用信息,為統(tǒng)計分析提供最準確的原始數(shù)據(jù),保證緩存內(nèi)容均為評估引擎頻繁調(diào)用的,以提高策略的決策速度。

      PMS提供一個集中式的圖形化策略管理平臺,其主要包括策略的基本操作和基于統(tǒng)計分析的策略優(yōu)化。策略基本操作包括創(chuàng)建、修改、刪除和更新策略?;诮y(tǒng)計分析的策略優(yōu)化包括去除冗余規(guī)則、調(diào)整規(guī)則順序和策略數(shù)值化,用來實現(xiàn)策略匹配的前期優(yōu)化。

      PDS是HPEngine引擎的關鍵部件,統(tǒng)計分析機制、基于統(tǒng)計分析的多級緩存機制和策略緩存中的兩級策略索引都包含在該模塊內(nèi)。上下文處理器將原始的用戶訪問請求解析為XACML請求發(fā)送給評估引擎,并將返回的判斷結(jié)果封裝為XACML響應;評估引擎利用多級緩存對當前請求進行策略匹配和訪問決策;統(tǒng)計分析對審計服務的日志信息進行分析,實時、動態(tài)地更新緩存內(nèi)容,調(diào)整規(guī)則順序,保證多級緩存機制中存儲的內(nèi)容都是頻繁使用的。

      圖2 HPEngine引擎架構(gòu)

      PPS實現(xiàn)策略持久化存儲,支持多種策略存儲方式及策略庫的動態(tài)添加和注銷;并對PDS提供策略檢索服務。

      AAS提供屬性斷言存儲和發(fā)布服務,為 PDS的策略匹配提供屬性檢索功能。屬性請求處理器響應來自PDS的屬性檢索請求,并將查找到的屬性以SAML斷言格式返回。

      3.2 統(tǒng)計分析

      統(tǒng)計模塊定期分析審計服務記錄的系統(tǒng)運行日志,并根據(jù)分析結(jié)果更新緩存內(nèi)容以及調(diào)整策略中規(guī)則的排列順序。

      統(tǒng)計分析模塊主要記錄在一定時間內(nèi)策略、規(guī)則的調(diào)用頻率,屬性的調(diào)用頻率,訪問請求的訪問頻率;單位均為次/周。以圖1 XACML策略示例為例,策略統(tǒng)計表的格式如表1和表2所示,其他統(tǒng)計格類似。

      表1 策略統(tǒng)計分析

      表2 規(guī)則統(tǒng)計分析

      3.3 基于統(tǒng)計分析的策略優(yōu)化機制

      由XACML策略評估引擎的匹配方式可知,策略的規(guī)則數(shù)目和規(guī)則順序決定了匹配運算規(guī)模和評估效率。數(shù)以千計的策略中可能存在部分對訪問請求不產(chǎn)生實際決策影響的規(guī)則,策略規(guī)則的排列順序也與引擎的實際運算量直接相關。此外,評估引擎采用的策略匹配算法也影響評估引擎的效率?;诮y(tǒng)計分析的策略優(yōu)化機制,從以上3個方面借助統(tǒng)計分析得到的信息對策略庫進行優(yōu)化,達到提高評估引擎效率的目的。

      3.3.1 去除冗余規(guī)則

      本節(jié)采用文獻[11]提出的狀態(tài)覆蓋法去除策略中的冗余規(guī)則。

      若規(guī)則Ri限定主體Sub在環(huán)境En下可對資源Res進行訪問操作Ac,則屬性狀態(tài)向量(Sub,Res,Ac,En)滿足規(guī)則狀態(tài)Statei,記為Statei╞(Sub,Res,Ac,En)effect。若

      成立,則稱Statej覆蓋Statei,記為Statei?Statej。

      定義 7 冗余規(guī)則。如果Ri和Rj存在Statei?Statej,那么在特定的合并算法下,Ri可能被Rj覆蓋對決策結(jié)果不產(chǎn)生任何影響,稱此類規(guī)則為冗余規(guī)則。

      根據(jù)策略合并算法和規(guī)則合并算法判斷策略間是否存在冗余規(guī)則,根據(jù)規(guī)則合并算法判斷策略內(nèi)部是否存在冗余規(guī)則。具體冗余規(guī)則判定定理如下。

      定理 1[11]permit-override 算法:Ri·effect為任意類型成立;若Resi?Resj不成立,則Ri是冗余規(guī)則;否則Ri不是冗余規(guī)則。

      定理 2[11]deny-override 算法:若Ri·effect為任意類型,成立,則Ri是冗余規(guī)則。

      定理 3[11]規(guī)則Ri在策略中的位置順序記為seq(Ri)。在 first-applicable算法下:seq(Ri)?seq(Rj),均成立。1) 若Rj·effect=deny,則Ri是冗余規(guī)則;2) 若Rj·effect=permit和Resi?Resj不成立,則Ri是冗余規(guī)則。

      利用上述定理對圖1 XACML策略示例進行冗余分析,可刪除冗余規(guī)則R2、R5、R6、R7。分析過程及結(jié)果如表3所示。

      3.3.2 動態(tài)重排序策略

      文獻[10]重排序了策略規(guī)則,但其將所有permit類型規(guī)則放到deny類型規(guī)則的前面,當deny類型的規(guī)則經(jīng)常調(diào)用,而permit類型的規(guī)則很少調(diào)用時,系統(tǒng)性能很低;此外,文獻[10]沒有對permit類型和 deny類型的規(guī)則按調(diào)用頻率由高到低的順序進行內(nèi)部排序,引擎匹配運算量仍然很大。本文根據(jù)統(tǒng)計分析得到的策略和規(guī)則的調(diào)用頻率按由高到低的順序重排序去除冗余后的策略和規(guī)則,讓調(diào)用最頻繁的策略和規(guī)則排在最前面,從而減少引擎的匹配運算量。

      表3 規(guī)則冗余分析過程及結(jié)果

      規(guī)則1 合并算法是first-applicable時,根據(jù)算法邏輯不能調(diào)整策略和規(guī)則的排列順序。PolicySet的合并算法是 first-applicable時,不可調(diào)整策略間的排列順序;Policy的合并算法是 first-applicable時,不可調(diào)整策略內(nèi)規(guī)則間的排列順序。

      規(guī)則 2 其他合并算法,利用統(tǒng)計分析結(jié)果重排序去除冗余規(guī)則后的策略文件中策略和規(guī)則的位置。

      規(guī)則 3 不同策略按策略調(diào)用頻率由高到低排序,同一策略中不同規(guī)則按規(guī)則調(diào)用頻率由高到低排序。

      利用上述規(guī)則和表1統(tǒng)計分析的結(jié)果,對去除冗余后的圖 1所示的 XACML策略示例進行動態(tài)重排序。排序結(jié)果如圖3所示。由于PolicySet合并算法為first-applicable,所以策略間不能調(diào)整順序;對于策略1,由于規(guī)則3的調(diào)用頻率高于規(guī)則1,所以二者調(diào)整順序。

      3.3.3 精化策略數(shù)值化

      文本的XACML策略文件中每個屬性的制約因素都用ASCII字符串表示,策略評估引擎為用戶訪問請求進行決策時,需要使用低效的字符串匹配算法,不適合用戶訪問非常頻繁的分布式系統(tǒng)(如云計算、社交網(wǎng)絡等)。文獻[7]雖然采用了策略數(shù)值化機制,但不是對精化后的策略數(shù)值化,冗余規(guī)則仍然存在,數(shù)值化運算量大。本文對去除冗余規(guī)則和動態(tài)重排序規(guī)則處理后的精化策略進行數(shù)值化,減少了數(shù)值化的運算量。

      本文分別為主體、資源、操作屬性建立屬性值索引表,為XACML策略中出現(xiàn)的每個屬性都映射一個唯一的整數(shù),將文本的XACML策略轉(zhuǎn)化為數(shù)值的XACML策略,使評估引擎使用高效的整數(shù)比較,而不是低效的字符串匹配算法。

      圖3所示XACML策略示例索引如表4所示,數(shù)值化得到的策略文件如圖4所示。

      圖3 動態(tài)重排序后XACML策略示例

      表4 屬性值索引

      圖4 數(shù)值化后XACML策略示例

      3.4 基于統(tǒng)計分析的多級緩存機制

      策略評估引擎完成一次請求決策既要從 AAS服務檢索屬性信息,又要從PPS服務中檢索策略信息,然后集成處理;因此,信息檢索是造成系統(tǒng)延遲的一個重要原因。有效的緩存機制可以減少系統(tǒng)功能部件間的頻繁交互,從而降低檢索操作的代價。文獻[10]采用了多級緩存機制,但該系統(tǒng)不能保證緩存內(nèi)容一定是調(diào)用最頻繁的。

      本節(jié)介紹的HPEngine引擎采用基于統(tǒng)計分析的多級緩存機制將調(diào)用最頻繁的信息存儲在緩存中?;诮y(tǒng)計分析的多級緩存機制包括:請求結(jié)果對緩存、屬性緩存以及策略緩存;策略緩存中采用的兩級策略索引技術進一步提高了XACML策略匹配效率。

      3.4.1 請求結(jié)果對緩存

      請求結(jié)果對緩存是加速評估過程最有效的緩存優(yōu)化機制,即把用戶之前的訪問請求結(jié)果進行保存,當再次訪問時,不必觸發(fā)屬性檢索、策略檢索及策略匹配等導致系統(tǒng)響應延遲的復雜流程。在訪問請求期內(nèi)用戶可能激活多個訪問會話,在同一會話內(nèi)可訪問多種資源并有不同的決策結(jié)果。因此請求結(jié)果對緩存應按照請求標識?會話標識、會話標識?決策結(jié)果兩層映射模式構(gòu)建,如圖5所示。請求標識req由請求者s、資源o、操作a和請求頻率f組成;每個請求標識對應一個SessionID列表,保存該請求激活的所有訪問會話;每個SessionID對應一個訪問列表,保存請求在該會話內(nèi)訪問的具體資源ResID和對應的決策結(jié)果Result。為每個請求附加一個訪問頻率f,統(tǒng)計分析部件會定期比較該請求f與其他訪問請求f值的大小,保證請求結(jié)果對緩存內(nèi)容是頻繁訪問的請求及對應決策結(jié)果。

      圖5 請求結(jié)果對緩存結(jié)構(gòu)示意

      3.4.2 屬性緩存

      屬性信息用來輔助評估引擎對請求進行決策,但是頻繁的屬性檢索會導致系統(tǒng)響應延遲,影響評估引擎的效率。為了減少屬性檢索操作,HPEngine引擎提供了如圖 6所示的屬性緩存機制來提高評估引擎的效率。屬性緩存同樣采用兩層映射模式,第一層映射由主體標識 Identity和屬性標識AttrName列表構(gòu)成,每個AttrName對應一個屬性值列表ValueList構(gòu)成第二層映射。類似請求結(jié)果對緩存,本文為每個AttrName附加一個調(diào)用頻率f保證屬性緩存內(nèi)容是頻繁調(diào)用的主體對應的屬性值列表。

      圖6 屬性緩存結(jié)構(gòu)

      3.4.3 策略緩存

      由于缺乏高效策略索引和匹配方式,評估引擎對請求決策時需要遍歷策略文件從根節(jié)點到葉子節(jié)點路徑上的所有 Target,導致每個訪問請求都要與大量對決策結(jié)果沒有實際影響的策略和規(guī)則進行匹配運算,引擎評估效率非常低。針對上述問題HPEngine引擎通過對策略文件組成結(jié)構(gòu)分析,提出使用兩級索引技術實現(xiàn)策略緩存機制,提高策略匹配效率。

      一個策略文件由若干策略組成,一個策略由若干規(guī)則構(gòu)成,而策略文件用來保護資源信息。因而,本文將資源res標識作為第一級索引的主鍵,每個主鍵指向一系列用來保護該資源的策略列表 policyList;第二級索引針對策略內(nèi)多個規(guī)則的目標元素,依次從目標元素中提取資源屬性和動作屬性,并計算二者的笛卡爾乘積perSets=(t·res)? (t·ac)作為二級索引的主鍵,主體屬性列表作為鍵值。通過兩級策略緩存機制將層次結(jié)構(gòu)的策略映射為扁平結(jié)構(gòu)。兩級策略緩存結(jié)構(gòu)如圖 7所示,res標識由資源id和訪問頻率f組成,f的值由統(tǒng)計部件不斷更新,保證頻繁訪問的資源都存儲在緩存中;perSet∈perSets,subList是perSet對應的主體屬性列表。圖4 XACML策略文件對應的兩級策略緩存示意如圖8所示。

      圖7 兩級策略緩存結(jié)構(gòu)

      圖8 XACML策略文件的兩級策略緩存

      4 技術比較和性能分析

      XACML策略規(guī)模龐大和遍歷式匹配策略的授權方式是影響XACML策略評估引擎效率的兩大主要因素,本節(jié)先從這兩大主要因素的角度分析各種評估引擎技術原理的差異,然后通過多種類型的仿真實驗驗證 HPEngine基于統(tǒng)計分析的多級優(yōu)化機制的有效性及其整體評估性能優(yōu)勢。

      4.1 策略加載方式及策略匹配模式比較

      通過分析各種開源引擎系統(tǒng)的具體實現(xiàn)可知,評估引擎評估效率的差異主要在于策略加載方式和策略匹配方式。

      策略加載方式包括靜態(tài)加載和動態(tài)加載,靜態(tài)加載是在引擎系統(tǒng)初始化時一次性將所有可用策略加載到內(nèi)存中;動態(tài)加載是評估引擎收到訪問請求后從策略倉庫中檢索適用的策略并加載到內(nèi)存中。動態(tài)加載的優(yōu)點是內(nèi)存空間開銷小,缺點是需要額外的系統(tǒng)通信開銷;靜態(tài)加載的缺點是內(nèi)存開銷大,優(yōu)點是匹配速度快。

      策略匹配是指請求中包含的實體信息與策略目標匹配或策略內(nèi)的規(guī)則目標匹配,并按照指定的合并算法遍歷策略對象的過程。

      緩存機制各種評估引擎采用的技術細節(jié)比較如表5所示。

      4.2 仿真實驗分析

      實驗環(huán)境:Inter(R) Core(TM) 3.10 GHz CPU、4 GB DDR3內(nèi)存,操作系統(tǒng)為Windows XP SP3,JAVA JRE1.6。

      表5 主流評估引擎技術比較

      仿真實驗涉及的評估引擎包括Sun XACML、Enterprise XACML、XEngine和HPEngine。測試用例使用XACML官方測試包[15]和文獻[16]使用的真實應用系統(tǒng)的XACML策略,并根據(jù)具體實驗場景進行修改和擴充。

      4.2.1 基于統(tǒng)計分析的策略優(yōu)化機制性能分析

      為了體現(xiàn)該優(yōu)化機制的通用性,該實驗分別比較4種評估引擎對策略優(yōu)化前后性能的差異。測試用例包含3組樣本:1)由1 000條原始策略組成,其中有360個冗余規(guī)則,去除冗余規(guī)則后,根據(jù)規(guī)則調(diào)用頻率需要對規(guī)則進行重排序的策略有 450條;2)由5 000條原始策略組成,其中有2 700個冗余規(guī)則,去除冗余規(guī)則后,根據(jù)規(guī)則調(diào)用頻率需要對規(guī)則進行重排序的策略有1 500條;3)由10 000條原始策略組成,其中有5 000個冗余規(guī)則,去除冗余規(guī)則后,根據(jù)規(guī)則調(diào)用頻率需要對規(guī)則進行重排序的策略有3 000條。

      上述測試用例平均每條策略包含3條規(guī)則,根據(jù)策略中包含的屬性信息,分別隨機生成 500次不同的訪問請求(請求中已包含完整屬性信息),各評估引擎先使用原始策略評估訪問請求并計算完成一次響應的平均時間,然后使用去除冗余規(guī)則和動態(tài)重排序機制精化后的策略對訪問請求進行評估,并計算完成一次響應的平均時間;最后使用精化策略數(shù)值化機制處理后的策略對數(shù)值化后的訪問請求進行評估,并計算完成一次響應的平均時間。

      由圖 9(a)和圖 9(b)可知,去除冗余規(guī)則和動態(tài)重排序策略機制明顯提高了引擎的效率,這是由于按規(guī)則調(diào)用頻率由高到低的順序重排序去除冗余后的規(guī)則,減少了策略的匹配運算量,提高了策略的匹配速度。由圖 9(b)和圖 9(c)可知,精化策略數(shù)值化機制明顯提高了引擎的效率,這是由于數(shù)值化機制將文本的XACML策略轉(zhuǎn)化為數(shù)值的XACML策略,使評估引擎使用高效的整數(shù)比較,而不是低效的字符串匹配算法,提高了策略的匹配速度。

      圖9 基于統(tǒng)計分析的策略優(yōu)化性能比較

      綜上所述,基于統(tǒng)計分析的策略優(yōu)化機制明顯提高了引擎的效率,各評估引擎間評估性能的差異主要是由策略加載方式和匹配方式不同而導致的。

      4.2.2 基于統(tǒng)計分析的多級緩存機制性能分析

      緩存機制可以減少引擎與其他功能部件的頻繁交互次數(shù),由于篇幅限制,本文只分析請求結(jié)果對緩存對評估性能的影響,屬性和策略緩存類似。

      對相同請求的首次評估各引擎都需要進行屬性檢索、策略檢索和策略匹配操作,但對于以后的重復請求,采用了請求結(jié)果緩存類似機制的引擎評估效率會明顯提升。

      本實驗使用4.2.1節(jié)精化后的3個策略樣本作為測試用例,分別由1 000、3 000、5 000規(guī)則組成,對應3組請求(包含100、300、500個不同請求),每個請求發(fā)送 50次,不考慮每個請求的首次響應時間,計算各評估引擎對每組請求完成一次響應的平均時間。

      由圖 10可知,在處理重復請求時,采用了結(jié)果緩存機制相關技術的 Enterprise XACML和HPEngine引擎的評估效率顯著提高;而HPEngine引擎由于采用兩級索引機制存儲結(jié)果緩存,提高了結(jié)果緩存檢索速度,因而評估效率優(yōu)于 Enterprise XACML引擎。

      圖10 請求結(jié)果對緩存機制的性能比較

      4.2.3 引擎綜合評估性能分析

      為了驗證 HPEngine評估引擎的可用性,本節(jié)測試用例樣本1采用文獻[16]使用的實際應用系統(tǒng)中的XACML策略;為了驗證該系統(tǒng)在擁有大規(guī)模策略應用系統(tǒng)中的評估性能,本節(jié)對XACML官方測試他組進行擴展,得到兩組合成策略:樣本2和3。其中,樣本2由10 000條規(guī)則構(gòu)成單一策略,并包含2 000條冗余規(guī)則,根據(jù)規(guī)則調(diào)用的頻率需要對3 000條規(guī)則調(diào)整順序;樣本3由4 000條策略組成,平均每條策略包含3條規(guī)則,整個樣本有4 000條冗余規(guī)則,根據(jù)規(guī)則調(diào)用的頻率需要對2 000條規(guī)則調(diào)整順序。

      為100個用戶分別構(gòu)造30個不同的訪問請求,前10個請求隨機發(fā)送15次,中間10個請求隨機發(fā)送5次,最后10個請求隨機發(fā)送1次;計算各評估引擎在不同測試策略樣本下對上述訪問請求完成一次響應的平均時間。

      由圖11可知,各評估引擎對樣本1的評估速率明顯快于樣本2和樣本3,這主要是由于樣本1使用的策略文件包含的規(guī)則數(shù)比樣本2和樣本3少很多,引擎在策略解析匹配時花費的時間比較少。

      圖11 評估引擎整體性能比較

      由圖11可知,雖然樣本2和樣本3的規(guī)則總體規(guī)模相等,但各種引擎對多規(guī)則組合樣本的評估速率普遍快于多策略組合樣本,這主要由于后者的策略結(jié)構(gòu)比前者的策略結(jié)構(gòu)復雜,引擎在策略解析匹配時需要更多的處理時間。

      由圖11可以看出,HPEngine引擎無論對實際系統(tǒng)的策略,還是根據(jù)測試需要合成的策略都能做出正確的授權決策;其采用的基于統(tǒng)計分析的多級優(yōu)化機制提高了評估引擎的效率,整體評估性能明顯優(yōu)于其他同類系統(tǒng)。

      5 結(jié)束語

      XACML策略規(guī)模龐大和遍歷式匹配策略的授權方式是導致分布式環(huán)境下 XACML策略評估引擎效率低的兩大主要因素,本文從這兩大主要因素的角度分析了現(xiàn)有開源引擎系統(tǒng)的具體實現(xiàn)過程,提出了新的XACML策略評估引擎HPEngine。該引擎利用基于統(tǒng)計分析的策略優(yōu)化機制動態(tài)精化策略,并將精化的策略由文本的形式轉(zhuǎn)化為數(shù)值形式,縮減了策略規(guī)模,減少了匹配運算量,提高了匹配速度;采用基于統(tǒng)計分析的多緩存機制為頻繁調(diào)用的請求結(jié)果對、屬性和策略信息建立緩存,有效降低了評估引擎和其他功能部件的通信損耗,提高了匹配速度。仿真結(jié)果表明,HPEngine所采用的基于統(tǒng)計分析的多級優(yōu)化機制提高了策略評估引擎的評估效率,整體評估性能明顯優(yōu)于其他同類系統(tǒng)。

      [1] Brief Introduction to XACML[EB/OL]. https://www.oasis-open.org/committees/download.php/2713/Brief_Introduction_to_XACML.html.

      [2] Sun XACML[EB/OL]. http://sunxacml.sourceforge.net/.

      [3] XACMLight[EB/OL]. http://sourceforge.net/projects/xacmllight/.

      [4] AXESCON XACML[EB/OL]. http://axescon.com/ax2e/.

      [5] Enterprise XACML[EB/OL]. http://code.google.com/p/enterprise-javaxacml/.

      [6] BUTLER B, JENNINGS B, FAME D B. XACML policy perfor mance evaluation using a flexible load testing framework[A]. Proceedings of the 17th ACM conference on Computer and communications security(CCS)[C]. New York, USA, 2010.978-980.

      [7] LIU A X, CHEN F, HWANG J H. Designing fast and scalable XACML policy evaluation engines[J]. IEEE Transactions on Computers, 2011,60(12):1802-1817.

      [8] LIU A X, CHEN F, HWANG J H. XEngine: a fast and scalable XACML policy evaluation engine[A]. Proceedings of the 2008 ACMSIGMETRICS International Conference on Measurement and Modeling of Computer Systems[C]. New York, USA, 2008.265-276.

      [9] MAROUF S, SHEHAB M, SQUICCIARINI A. Adaptive reordering and clustering-based framework for efficient XACML policy evaluation[J]. IEEE Transactions on Services Computing, 2011,10(4):300-313.

      [10] 王雅哲, 馮登國, 張立武. 基于多層次優(yōu)化技術的XACML策略評估引擎[J]. 軟件學報, 2011,22(2),323-338.WANG Y Z, FENG D G, ZHANG L W. XACML policy evaluation engine based on multi-level optimization technology[J]. Journal of Software, 2011,2,22(2),323-338.

      [11] 王雅哲,馮登國. 一種XACML規(guī)則沖突及冗余分析方法[J].計算機學報,2009,32(3): 516-530.WANG Y Z, FENG D G. A conflict and redundancy analysis method for XACML rules[J]. Chinese Journal of Computers, 2009, 32(3):516-530.

      [12] STEPIEN B, MATWIN S, FELTY A. An algorithm for compression of XACML access control policy sets by recursive subsumption[A]. 2012 Seventh International Conference on Availability, Reliability and Security[C]. Ottawa, Canada, 2012.161-167.

      [13] PHILIP L, MISELDINE S A, KARLSRUHE. Automated xacml policy reconfiguration for evaluation optimization[A]. Proceedings of the Fourth International Workshop on Software Engineering for Secure Systems[C]. New York, USA, 2008.1-8.

      [14] TURKMEN F, CRISPO B. Performance evaluation of XACML PDP implementations[A]. Proceedings of the 2008 ACM Workshop on Secure web services[C]. New York, USA, 2008.37-44.

      [15] XACML 2.0 conformance tests[EB/OL]. http://www.oasis-open.org/committees/download.php/14846/xacml2.0-ct-v.0.4.zip.

      [16] FISLER K, KRISHNAMURTHI S, MEYEROVICH L. Verification and change impact analysis of access-control policies[A]. Proceedings of the 27th International Conference on Software Engineering[C].New York, USA, 2005.196-205.

      猜你喜歡
      調(diào)用引擎規(guī)則
      撐竿跳規(guī)則的制定
      數(shù)獨的規(guī)則和演變
      核電項目物項調(diào)用管理的應用研究
      LabWindows/CVI下基于ActiveX技術的Excel調(diào)用
      測控技術(2018年5期)2018-12-09 09:04:46
      讓規(guī)則不規(guī)則
      Coco薇(2017年11期)2018-01-03 20:59:57
      藍谷: “涉藍”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      TPP反腐敗規(guī)則對我國的啟示
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術研究
      無形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開發(fā)
      黄大仙区| 田林县| 镇赉县| 洪洞县| 长岛县| 偏关县| 慈溪市| 长汀县| 永顺县| 承德市| 保德县| 渭南市| 安福县| 闽清县| 海阳市| 扬中市| 文成县| 敦化市| 乌拉特后旗| 雷波县| 象州县| 夹江县| 修武县| 道孚县| 沈丘县| 襄城县| 丹寨县| 厦门市| 同心县| 东莞市| 赞皇县| 望城县| 商丘市| 丹江口市| 淅川县| 嵊泗县| 晴隆县| 定襄县| 太仓市| 清远市| 涪陵区|