• 
    

    
    

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

      基于聚類和重排序的XACML策略評(píng)估優(yōu)化方法

      2022-12-01 07:04:56田秀霞盧官宇張玉秀
      計(jì)算機(jī)仿真 2022年10期
      關(guān)鍵詞:鄰域排序聚類

      鄭 楷,田秀霞,盧官宇,張玉秀

      (上海電力大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200090)

      1 引言

      訪問(wèn)控制是目前安全服務(wù)中的重要機(jī)制。在眾多訪問(wèn)控制模型中,基于屬性的訪問(wèn)控制模型[1](ABAC)適用于開放式環(huán)境,對(duì)于訪問(wèn)主客體統(tǒng)一使用屬性來(lái)描述,實(shí)現(xiàn)授權(quán)的細(xì)粒度化。策略決策點(diǎn)(PDP)是ABAC中的重要組件,負(fù)責(zé)對(duì)于訪問(wèn)請(qǐng)求的評(píng)估。OASIS組織推出的可擴(kuò)展的訪問(wèn)控制標(biāo)記語(yǔ)言(eXtensible Access Control Markup Language,XACML)適用于ABAC模型,使用XML的方式描述訪問(wèn)請(qǐng)求、策略和響應(yīng)。XACML標(biāo)準(zhǔn)[2]通過(guò)檢查用戶的訪問(wèn)請(qǐng)求是否匹配策略,進(jìn)而給出決策結(jié)果。

      分布式資源共享、webservice等場(chǎng)景都需要制定大量XACML策略對(duì)資源進(jìn)行細(xì)粒度化訪問(wèn)控制,但是隨著訪問(wèn)請(qǐng)求的增加和策略規(guī)則規(guī)模的擴(kuò)大,策略評(píng)估性能成為影響授權(quán)系統(tǒng)性能的瓶頸。

      SUN公司在OASIS組織指定XACML標(biāo)準(zhǔn)后,推出了策略訪問(wèn)控制評(píng)估原型系統(tǒng)SUNXACML[3]。在PDP模塊,SUNPDP采用的暴力的方式在策略庫(kù)中檢索適用于訪問(wèn)請(qǐng)求的規(guī)則。在策略規(guī)模較小的場(chǎng)景下,暴力逐條檢索的方式對(duì)于評(píng)估性能來(lái)說(shuō)影響不是很大。然而當(dāng)系統(tǒng)中策略規(guī)則達(dá)到成千上萬(wàn)條的時(shí)候,評(píng)估時(shí)延、系統(tǒng)開銷不容忽視。目前關(guān)于提高PDP評(píng)估性能方面的工作主要圍繞優(yōu)化大規(guī)模策略集[4]-[9]以及提出新的評(píng)估模型[10]-[16]展開。王雅哲等[4]利用狀態(tài)覆蓋思想分析造成規(guī)則冗余的原因,并給出了不同規(guī)則合并算法下的冗余判定定理。戚湧等人[5]結(jié)合規(guī)則壓縮消除規(guī)則間的冗余規(guī)則,并將文本屬性映射為數(shù)字屬性,使用HashMap存儲(chǔ)映射關(guān)系。S. Marouf等人[6]提出了一個(gè)基于自適應(yīng)重排序和聚類的PDP框架,先對(duì)規(guī)則按主體屬性分類,進(jìn)一步對(duì)于主體屬性使用K-means算法對(duì)規(guī)則進(jìn)行聚類;并且根據(jù)評(píng)估歷史,基于規(guī)則的成功命中率對(duì)規(guī)則進(jìn)行重排序。通過(guò)聚類可以減少訪問(wèn)請(qǐng)求比較的規(guī)則個(gè)數(shù),然而K-means算法需要提前指定簇的數(shù)量,而簇的數(shù)量事先并不知曉。Zhang等人[7]對(duì)于策略使用ACO算法進(jìn)行分類,稱ACO的分類效果優(yōu)于K-means。韓道軍等[8]提出基于屬性與或矩陣和類型分析的XACML策略查詢方法,計(jì)算出每個(gè)規(guī)則屬性的區(qū)分度,利用區(qū)分度和屬性與或矩陣篩選掉與當(dāng)前訪問(wèn)請(qǐng)求無(wú)關(guān)的規(guī)則。Deng等人[10]針對(duì)每個(gè)屬性建立了屬性位圖存儲(chǔ)含有該屬性的規(guī)則,通過(guò)對(duì)屬性位圖的邏輯與運(yùn)算,確定適用于訪問(wèn)請(qǐng)求的規(guī)則。Liu等人[11]提出的評(píng)估引擎XEngine將XACML策略的屬性數(shù)值化為數(shù)字連續(xù)區(qū)間,將嵌套遞歸的策略結(jié)構(gòu)標(biāo)準(zhǔn)化為扁平結(jié)構(gòu)。數(shù)字區(qū)間的匹配效率高于字符串匹配,然而屬性必須是連續(xù)區(qū)間,對(duì)于屬性是不連續(xù)區(qū)間的情況,方案沒(méi)有給出說(shuō)明。Mourad等人[12]基于集合代數(shù)提出了新的XACML框架:SBA-XACML,該框架將XACML策略/請(qǐng)求轉(zhuǎn)化為SBA-XACML策略/請(qǐng)求,評(píng)估模塊對(duì)轉(zhuǎn)化后的請(qǐng)求進(jìn)行評(píng)估,性能上優(yōu)于XEngine。Deng等人[16]提出了一種類似于數(shù)組的數(shù)據(jù)結(jié)構(gòu)規(guī)則字典,使用規(guī)則字典快速確定規(guī)則的索引;另外,使用bitmap存儲(chǔ)策略集中規(guī)則的effect,節(jié)約存儲(chǔ)空間。然而規(guī)則屬性值變更的話,需要更新規(guī)則字典的內(nèi)容結(jié)構(gòu)和文本結(jié)構(gòu)。位圖存儲(chǔ)的只是規(guī)則的effect,然而規(guī)則還是存儲(chǔ)在類似于四維數(shù)組的規(guī)則字典里;規(guī)則多的情況下,內(nèi)存開銷大。

      以上提升PDP評(píng)估性能的方案存在一些局限性。通過(guò)解決策略間的沖突、檢測(cè)并減少策略間的冗余,從而優(yōu)化大規(guī)模復(fù)雜策略集的方案不夠高效。另外,以上提出的新的評(píng)估模型并沒(méi)有結(jié)合優(yōu)化大規(guī)模策略集,評(píng)估性能有待提升。本文在研究XACML策略優(yōu)化方法的同時(shí),也基于提出的兩種優(yōu)化方法,設(shè)計(jì)了一個(gè)包含計(jì)算中心、規(guī)則匹配器的優(yōu)化評(píng)估模型PDPCR(Policy Decision Point based on Clustering and Reordering),達(dá)到減少匹配運(yùn)算量、提高匹配速度的目的。

      2 背景知識(shí)

      XACML 3.0標(biāo)準(zhǔn)中規(guī)定了兩種模型:數(shù)據(jù)流模型和語(yǔ)言模型。

      XACML數(shù)據(jù)流模型主要由策略執(zhí)行點(diǎn)(Policy Enforcement Point,PEP)、策略決策點(diǎn)(PolicyDecisionPoint,PDP)、策略管理點(diǎn)(Policy Administration Point,PAP)、策略信息點(diǎn)(Policy Information Point,PIP)、上下文處理器(Context Handler)組成。

      PAP負(fù)責(zé)為PDP提供策略/策略集。PIP負(fù)責(zé)收集主體屬性、資源屬性、環(huán)境屬性,提供給上下文處理器。PEP主要負(fù)責(zé)訪問(wèn)請(qǐng)求的轉(zhuǎn)發(fā)、響應(yīng)的接收。PDP主要負(fù)責(zé)對(duì)訪問(wèn)請(qǐng)求的評(píng)估。上下文處理器主要是起到PEP和PDP之間、PDP和PIP之間的中間人作用。

      數(shù)據(jù)流模型簡(jiǎn)化執(zhí)行過(guò)程如下:PEP接受來(lái)自訪問(wèn)請(qǐng)求者的訪問(wèn)請(qǐng)求,將其發(fā)送給上下文處理器;上下文處理器將訪問(wèn)請(qǐng)求構(gòu)建為XACML格式,并將其發(fā)送給PDP;PDP負(fù)責(zé)接收來(lái)自上下文處理器的訪問(wèn)請(qǐng)求,結(jié)合策略/策略集對(duì)訪問(wèn)請(qǐng)求進(jìn)行評(píng)估,并將響應(yīng)上下文返回給上下文處理器;上下文處理器將響應(yīng)上下文轉(zhuǎn)化為PEP本地響應(yīng)格式,并將其發(fā)送給PEP;PEP根據(jù)響應(yīng)結(jié)果決定是否授予給對(duì)資源的訪問(wèn)權(quán)限。

      XACML語(yǔ)言模型主要由策略集(Policy Set)、策略(Policy)、規(guī)則(Rule)三部分組成,以一種樹狀結(jié)構(gòu)嵌套定義訪問(wèn)權(quán)限,如圖1所示。

      定義1(策略集,PolicySet):策略集是XACML策略文件的根元素,用四元組表示PS=(id,T,P,PC)。其中,id是策略集的編號(hào);T是策略集的目標(biāo)元素,規(guī)定了可以適用于該策略集的主體屬性、資源屬性、操作屬性;P是策略集中的所有策略的集合,P=(p1,p2,…,pn);PC是策略合并算法,用來(lái)解決策略集中發(fā)生的策略沖突或缺失。

      定義2(策略,Policy):策略是策略集的子元素,用四元組表示P=(id,T,R,RC)。其中,id是策略的編號(hào);T是策略的目標(biāo)元素,規(guī)定了可以適用于該策略的主體屬性、資源屬性、操作屬性;R是策略中的所有規(guī)則的集合R=(r1,r2,…,rn);RC是規(guī)則合并算法,用來(lái)解決策略中發(fā)生的規(guī)則沖突或缺失。

      定義3(規(guī)則,Rule):規(guī)則是策略的子元素,用四元組表示R=(id,T,e,c)。其中,id是規(guī)則的編號(hào);T是規(guī)則的目標(biāo)元素,規(guī)定了可以適用于該規(guī)則的主體屬性、資源屬性、操作屬性;e是規(guī)則的決策結(jié)果,e∈{Permit,Deny};c是規(guī)則的condition元素,通常是一個(gè)布爾函數(shù),進(jìn)一步地限定訪問(wèn)請(qǐng)求。

      定義4(訪問(wèn)請(qǐng)求,AccessRequest):訪問(wèn)請(qǐng)求用四元組表示為

      Req=(subject,resource,action,environment)

      其中,subject是主體屬性,resource是資源屬性,action是操作屬性,environment是環(huán)境屬性。

      3 評(píng)估模型

      本節(jié)詳細(xì)介紹PDPCR評(píng)估模型。先給出PDPCR模型的體系結(jié)構(gòu)和功能部件組成;然后介紹PDPCR中使用的策略優(yōu)化技術(shù),即聚類和重排序。

      3.1 評(píng)估模型框架

      PDPCR評(píng)估模型框架由兩部分組成,策略預(yù)處理和策略評(píng)估,如圖2所示。策略預(yù)處理是將策略/策略集中的規(guī)則抽取出來(lái),對(duì)于大規(guī)模的規(guī)則集合基于規(guī)則相似度進(jìn)行聚類,基于規(guī)則優(yōu)先度對(duì)簇內(nèi)規(guī)則進(jìn)行重排序。策略評(píng)估是指評(píng)估模型中的計(jì)算中心接收訪問(wèn)請(qǐng)求,計(jì)算出該訪問(wèn)請(qǐng)求最適用的規(guī)則簇;規(guī)則匹配器在小規(guī)模的指定規(guī)則簇中遵循“首次出現(xiàn)優(yōu)先”的規(guī)則合并算法尋找該訪問(wèn)請(qǐng)求適用的規(guī)則,對(duì)訪問(wèn)請(qǐng)求進(jìn)行評(píng)估,同時(shí)評(píng)估記錄會(huì)被寫入評(píng)估日志;最后評(píng)估模型給出評(píng)估響應(yīng)。

      圖2 PDPCR評(píng)估模型框架

      3.2 規(guī)則聚類

      從原始XACML策略中抽取出規(guī)則,先計(jì)算規(guī)則間的相似度;然后基于DBSCAN算法對(duì)規(guī)則集進(jìn)行聚類,形成規(guī)則簇;最后計(jì)算規(guī)則簇的簇心。

      3.2.1 計(jì)算相似度

      規(guī)則的組成元素為:subject,resource,action,condition。計(jì)算規(guī)則間的相似度,實(shí)則計(jì)算規(guī)則對(duì)應(yīng)屬性間的相似度[17]。

      定義5(屬性相似度,Attribute Similarity):在實(shí)際中,屬性類型主要分為三種:字符串類型、數(shù)值類型、數(shù)值區(qū)間類型。針對(duì)不同類型的屬性,采用不同的方法計(jì)算屬性相似度。

      相同元素的屬性間的相似度表示為AS(attr1,attr2)。

      1) 字符串類型。若2個(gè)字符串值相等,則這2個(gè)字符串屬性相似度為1,否則為0。

      2) 數(shù)值類型。若2個(gè)數(shù)值相等,則這2個(gè)數(shù)值類型屬性相似度為1,否則為0。

      3) 數(shù)值區(qū)間類型。設(shè)數(shù)值區(qū)間1為A,數(shù)值區(qū)間2為B,則

      (1)

      定義6(規(guī)則相似度,RuleSimilarity):設(shè)有規(guī)則r1、r2,兩者相似度為

      RS(r1,r2)=w1*AS(r1.subject,r2.subject)

      +w2*AS(r1.resource,r2.resource)

      +w3*AS(r1.action,r2.action)

      +w4*AS(r1.condition,r2.condition)

      (2)

      這里w1,w2,w3,w4為不同元素間的相似度權(quán)重。在XACML中,訪問(wèn)請(qǐng)求中的屬性是與規(guī)則中的subject、resource、action、condition元素順序進(jìn)行匹配的,當(dāng)有一個(gè)元素屬性不匹配時(shí),則剩余的元素屬性不再進(jìn)行比較。所以根據(jù)XACML中的規(guī)則元素匹配特性,設(shè)置w1,w2,w3,w4為遞減的。

      3.2.2 基于DBSCAN的規(guī)則聚類算法

      在評(píng)估訪問(wèn)請(qǐng)求的過(guò)程中,為了避免全量遍歷策略庫(kù),提出了一種基于DBSCAN[18]的規(guī)則聚類算法。DBSCAN(Density Based Spatial Clustering of Applications with Noise)算法是一種著名的基于密度的聚類算法,該算法可以找出樣本點(diǎn)的全部密集區(qū)域,并把這些密集區(qū)域當(dāng)做聚類簇。DBSCAN算法可以發(fā)現(xiàn)任意形狀的聚類簇,無(wú)需提前設(shè)定聚類簇的數(shù)量,適合于對(duì)較低維度數(shù)據(jù)進(jìn)行聚類。下面是規(guī)則聚類算法的一些定義。

      定義7 (規(guī)則間距離,RuleDistance):設(shè)r1、r2為2條規(guī)則,則兩者間的距離為:

      RD(r1,r2)=1-RS(r1,r2)

      (3)

      其中RS(r1,r2)為規(guī)則r1和r2間的相似度。

      定義8(規(guī)則r的Eps領(lǐng)域半徑,Eps-neighborhood):指規(guī)則r的Eps領(lǐng)域半徑內(nèi)的規(guī)則集合。符號(hào)表示為

      NEps(r)={r′∈R|RS(r,r′)≤Eps}

      (4)

      其中R為所有規(guī)則的集合。

      定義9(核心規(guī)則,CoreRule):若規(guī)則r的鄰域半徑Eps內(nèi)的規(guī)則個(gè)數(shù)大于等于鄰域密度閾值MinPts,即,NEps(r)≥MinPts時(shí),規(guī)則r是核心規(guī)則。

      定義10(邊界規(guī)則,BorderRule):若規(guī)則r的鄰域半徑ε內(nèi)的規(guī)則個(gè)數(shù)<鄰域密度閾值MinPts,但是r在其它核心規(guī)則的領(lǐng)域半徑內(nèi),那么規(guī)則r是邊界規(guī)則。

      定義11(噪聲規(guī)則,NoiseRule):既不是核心規(guī)則也不是邊界規(guī)則的規(guī)則。

      定義12(直接密度可達(dá),directly density-reachable):若規(guī)則r是從規(guī)則r’直接密度可達(dá)的,則滿足以下兩個(gè)條件

      1)r∈NEps(r′)

      2) |NEps(r′)|≥MinPts

      即滿足r’是核心規(guī)則并且r在r’的Eps領(lǐng)域半徑內(nèi)。

      定義13(密度可達(dá),density-reachable):對(duì)于規(guī)則r1,r2,…,rn,如果ri+1是從ri直接密度可達(dá)的,則稱rn從r1密度可達(dá)。

      定義14(密度相連,density-connected):存在規(guī)則r1,r2,r3,如果r1和r3都從r2密度可達(dá),則稱r1和r3密度相連。

      定義15(規(guī)則簇,Rule Cluster):設(shè)R是所有規(guī)則的集合,一個(gè)規(guī)則簇C是R的一個(gè)非空子集滿足以下條件:

      1)?r,r’:如果r∈C,r’從r密度可達(dá),則r’∈C

      2)?r,r’∈C:r和r’是密度連接的

      根據(jù)以上定義,有如下定理。

      定理1:設(shè)規(guī)則r為規(guī)則集合R中的一個(gè)核心規(guī)則,那么集合O={o|o∈Rando從r密度可達(dá)}是一個(gè)規(guī)則簇。

      定理2:設(shè)R為規(guī)則簇,規(guī)則r為R中的任意一個(gè)核心規(guī)則,那么規(guī)則簇R可以表示為集合O={o|o從r密度可達(dá)}

      規(guī)則聚類算法步驟如下:

      1) 將所有規(guī)則標(biāo)記為unvisited,標(biāo)記所有規(guī)則的clusterId為0,計(jì)數(shù)器k初始化為1;

      2) 隨機(jī)選擇一個(gè)未訪問(wèn)的規(guī)則r,標(biāo)記r為已訪問(wèn);如果不存在未訪問(wèn)的規(guī)則,算法結(jié)束;

      3) 如果r是核心規(guī)則,則將設(shè)置r的clusterId為k,將r的鄰域半徑內(nèi)的規(guī)則放入集合N;

      4) 對(duì)于N的每個(gè)規(guī)則rule,標(biāo)記其為已訪問(wèn),并更新其clusterId為k;如果rule為核心規(guī)則,則將rule的鄰域半徑內(nèi)的所有規(guī)則添加進(jìn)N;重復(fù)執(zhí)行步驟4),直到N中的每個(gè)規(guī)則都已訪問(wèn);

      5) 計(jì)數(shù)器k自增1,進(jìn)入步驟2)。

      上述過(guò)程的偽代碼描述如算法1所示。

      規(guī)則聚類算法需要三個(gè)輸入?yún)?shù):?jiǎn)沃狄?guī)則集合R、鄰域半徑∈、鄰域密度閾值MinPts。輸出是含有k+1個(gè)規(guī)則簇的集合C。算法首先是利用基于密度的思想將規(guī)則集合進(jìn)行聚類,標(biāo)記好每個(gè)規(guī)則的clusterId;然后基于clutserId進(jìn)行規(guī)則分類,相同clusterId的規(guī)則歸為一類。噪聲規(guī)則的cluserId為0。聚類算法的時(shí)間復(fù)雜度是O(|R|*找出某規(guī)則鄰域半徑內(nèi)的規(guī)則所需的時(shí)間),其中找出某規(guī)則鄰域半徑內(nèi)的規(guī)則采用的是遍歷比較的方式,所以聚類算法的時(shí)間復(fù)雜度是O(|R|2)。基于clutserId進(jìn)行規(guī)則分組算法的時(shí)間復(fù)雜度是O(|R|)。所以算法1總的時(shí)間復(fù)雜度是O(|R|2)。

      算法 1:規(guī)則聚類

      輸入:R:?jiǎn)沃狄?guī)則集合;∈:鄰域半徑; MinPts:鄰域密度閾值

      輸出:S:含有 k+1 個(gè)規(guī)則簇的集合 {C0,C1,C2,…,Ck}

      function clusterRules(R,∈,MinPts)

      標(biāo)記所有規(guī)則的 clusterId 為 0;

      標(biāo)記所有規(guī)則為 unvisited;

      while存在 unvisited 的規(guī)則

      隨機(jī)選擇一個(gè) unvisited 的規(guī)則 r;

      標(biāo)記 r 為 visited;

      k=1;

      if r 為核心規(guī)則then

      r.clutserId=k;

      令 N 為 r 的∈鄰域內(nèi)的規(guī)則集合

      for rule ∈N

      if rule 是 unvisited then

      標(biāo)記 rule 為 visited;

      endif

      if rule 為核心規(guī)則then

      for r’∈rule的∈鄰域半徑內(nèi)的規(guī)則

      N.append(r′);

      end for

      end if

      if rule.clutserId==0 then

      rule.clutserId=k;

      end if

      end for

      k++;

      end if

      end while

      S=groupByClusterId(R);

      returnS

      end function

      3.2.3 計(jì)算簇心

      簇心規(guī)則是能夠代表規(guī)則簇的規(guī)則。通過(guò)計(jì)算訪問(wèn)請(qǐng)求與簇心的相似度,可以快速確定訪問(wèn)請(qǐng)求最有可能適用的規(guī)則簇。簇心規(guī)則也是由subject屬性、resource屬性、action屬性、condition屬性組成。其中每個(gè)屬性是簇內(nèi)所有規(guī)則中出現(xiàn)頻率最高的屬性。比如規(guī)則簇C1所有規(guī)則中subject屬性出現(xiàn)頻率最高的是學(xué)生,那么規(guī)則簇C1的簇心規(guī)則的subject屬性為學(xué)生。

      3.3 簇內(nèi)規(guī)則重排序

      為了提高訪問(wèn)請(qǐng)求與簇內(nèi)規(guī)則的匹配速度,提出了基于規(guī)則優(yōu)先度的簇內(nèi)規(guī)則重排序優(yōu)化技術(shù)。

      定義16(規(guī)則優(yōu)先度,RulePriority)規(guī)則r的優(yōu)先度為

      RP(r)=w1*f(r.action)+w2*f(r.resource)

      (5)

      其中,f(attribute)為系統(tǒng)中屬性的使用頻率,f(attribute)∈[0,1]。w1,w2分別為action屬性、resource屬性的權(quán)重,權(quán)重大小可以根據(jù)不同應(yīng)用場(chǎng)景進(jìn)行調(diào)整。因?yàn)樵L問(wèn)控制策略主要功能是對(duì)資源(resource)上的操作(action)進(jìn)行規(guī)定與約束,所以規(guī)則優(yōu)先度由資源屬性和操作屬性來(lái)衡量。屬性使用頻率表由系統(tǒng)管理員來(lái)維護(hù),具體的屬性使用頻率可以由評(píng)估日志分析得出。簇內(nèi)規(guī)則重排序算法如算法2所示。

      通過(guò)計(jì)算簇內(nèi)規(guī)則的優(yōu)先度,將優(yōu)先度大的規(guī)則置于規(guī)則簇前端,優(yōu)先度小的規(guī)則置于規(guī)則簇后端。比如在訪問(wèn)請(qǐng)求中含有大量查詢屬性的應(yīng)用場(chǎng)景中,將含有查詢屬性的規(guī)則置于簇內(nèi)前端。這樣當(dāng)訪問(wèn)請(qǐng)求在某規(guī)則簇中順序搜索適用的規(guī)則時(shí),只需遍歷少量規(guī)則即可得到?jīng)Q策結(jié)果,提高了決策效率。

      算法2:規(guī)則重排序

      輸入:R:規(guī)則簇;f:屬性使用頻率表

      輸出:R’:重排序后的規(guī)則簇

      function reorderRules(R,f)

      for r ∈R

      r.RP=w1*f(r.action)+w2*f(r.resource)

      p.insert(r) //p為優(yōu)先隊(duì)列

      endfor

      returnp

      end function

      4 實(shí)驗(yàn)與分析

      本節(jié)實(shí)驗(yàn)的目的是驗(yàn)證本文提出的方法,并與SUNPDP、SBA-XACML比較評(píng)估性能,給出量化結(jié)果。實(shí)驗(yàn)分為三部分進(jìn)行,第一部分分析SUNXACML的評(píng)估時(shí)間,第二部分分析不同優(yōu)化方法對(duì)評(píng)估時(shí)間的影響,第三部分分析不同優(yōu)化方法下與訪問(wèn)請(qǐng)求比較的平均規(guī)則個(gè)數(shù)。實(shí)驗(yàn)環(huán)境為:Intel 2.60GHz 8核CPU,8G內(nèi)存,Windows 10操作系統(tǒng),JavaRuntime Environment 1.8.0。

      實(shí)驗(yàn)中的3個(gè)訪問(wèn)控制策略集來(lái)自實(shí)際系統(tǒng):VMS[19](Virtual Meeting System)策略集、LMS[20](Library Management System)策略集、ASMS[21](AuctionSale Management System)策略集。對(duì)三個(gè)策略集加以修改和擴(kuò)展,擴(kuò)展后分別含有3072、6160、9000條規(guī)則。

      訪問(wèn)請(qǐng)求的構(gòu)造基于策略集規(guī)則中的屬性。解析策略集,得到subject屬性集合、resource屬性集合、action屬性集合、condition屬性集合。對(duì)這四個(gè)集合進(jìn)行笛卡爾乘積,便可得到訪問(wèn)請(qǐng)求。然而,為了模擬真實(shí)環(huán)境中的訪問(wèn)請(qǐng)求的分布,基于評(píng)估日志中的屬性使用頻率,控制訪問(wèn)請(qǐng)求中的屬性的滿足一定條件。比如LMS系統(tǒng)中,訪問(wèn)請(qǐng)求action屬性中的借書和還書使用頻率比較高,那么在批量構(gòu)造出的LMS訪問(wèn)請(qǐng)求中,大部分訪問(wèn)請(qǐng)求的action屬性是借書和還書。

      首先測(cè)量SUNPDP在三個(gè)策略集下的評(píng)估時(shí)間,訪問(wèn)請(qǐng)求數(shù)分別為2000、4000、6000、8000、10000。圖3實(shí)驗(yàn)結(jié)果表明SUN PDP對(duì)于同一策略集,隨著訪問(wèn)請(qǐng)求數(shù)的增加,評(píng)估時(shí)間相應(yīng)增加;對(duì)于不同策略集,訪問(wèn)請(qǐng)求數(shù)相同的情況下,含有規(guī)則數(shù)多的策略集評(píng)估時(shí)間更長(zhǎng)。SUNPDP對(duì)于每個(gè)訪問(wèn)請(qǐng)求,在含有數(shù)千條規(guī)則的策略庫(kù)中遍歷匹配規(guī)則,時(shí)延開銷大,到達(dá)了104ms的數(shù)量級(jí)。

      圖3 SunPDP評(píng)估時(shí)間

      接著分別對(duì)三個(gè)策略集使用規(guī)則聚類、規(guī)則聚類+重排序的優(yōu)化方法,對(duì)比評(píng)估時(shí)間的差異。使用規(guī)則聚類優(yōu)化技術(shù)后,VMS中3072條規(guī)則生成了12個(gè)規(guī)則簇,平均每個(gè)簇256條規(guī)則;LMS中6160條規(guī)則生成了28個(gè)規(guī)則簇,平均每個(gè)簇220條規(guī)則;ASMS中9000條規(guī)則生成了45個(gè)規(guī)則簇,平均每個(gè)規(guī)則簇200條規(guī)則。

      為了盡量減小誤差,評(píng)估時(shí)間的測(cè)量進(jìn)行3次,取平均值。在PDPCR評(píng)估模型中,策略預(yù)處理部分,即規(guī)則聚類和重排序的時(shí)間不包含在評(píng)估時(shí)間的測(cè)量中,評(píng)估時(shí)間包括計(jì)算中心中訪問(wèn)請(qǐng)求尋找最適用的規(guī)則簇的時(shí)間以及規(guī)則匹配器中訪問(wèn)請(qǐng)求尋找適用的規(guī)則的時(shí)間。對(duì)于SBA-XACML評(píng)估模型,評(píng)估時(shí)間的測(cè)量不包含將XACML策略/訪問(wèn)請(qǐng)求轉(zhuǎn)化為SBA-XACML策略/訪問(wèn)請(qǐng)求的時(shí)間,僅包含對(duì)SBA-XACML訪問(wèn)請(qǐng)求評(píng)估的時(shí)間。VMS策略集、LMS策略集、ASMS策略集的實(shí)驗(yàn)效果如圖4所示。實(shí)驗(yàn)結(jié)果表明使用了規(guī)則聚類優(yōu)化技術(shù)之后,訪問(wèn)請(qǐng)求的評(píng)估時(shí)間明顯降低,相對(duì)于SUNPDP提升了2.5個(gè)數(shù)量級(jí);同時(shí)使用規(guī)則聚類和重排序兩種優(yōu)化技術(shù)后,訪問(wèn)請(qǐng)求的評(píng)估時(shí)間進(jìn)一步降低,相對(duì)于SUNPDP提升了3個(gè)數(shù)量級(jí)。

      圖4 不同策略集評(píng)估時(shí)間對(duì)比

      最后分析不同優(yōu)化方法下訪問(wèn)請(qǐng)求平均比較的規(guī)則個(gè)數(shù)。訪問(wèn)規(guī)則聚類將原始規(guī)模較大的策略集分解為多個(gè)小規(guī)模的規(guī)則簇,目的在于減少訪問(wèn)請(qǐng)求與規(guī)則的比較次數(shù)。圖5實(shí)驗(yàn)結(jié)果表明,原始數(shù)千條規(guī)則的策略集,在規(guī)則聚類之后,訪問(wèn)請(qǐng)求僅需與規(guī)則簇中的規(guī)則比較100多次,即可得到判決結(jié)果,相對(duì)于SUNPDP效率提升了約1倍。在簇內(nèi)規(guī)則重排序之后,高優(yōu)先級(jí)的規(guī)則置于簇前端,訪問(wèn)請(qǐng)求的比較次數(shù)進(jìn)一步減少。

      圖5 規(guī)則比較次數(shù)對(duì)比

      5 結(jié)束語(yǔ)

      本文從XACML評(píng)估效率低下問(wèn)題出發(fā),從兩個(gè)方面對(duì)XACML策略進(jìn)行了優(yōu)化處理,并基于兩種優(yōu)化方法設(shè)計(jì)了一個(gè)新的評(píng)估引擎。首先是運(yùn)用規(guī)則聚類優(yōu)化方法,將大規(guī)模的策略集分解聚類為多個(gè)規(guī)模較小的規(guī)則簇,縮減了策略規(guī)模,減少了匹配運(yùn)算量,提升了匹配速度。通過(guò)使用規(guī)則聚類優(yōu)化技術(shù),相對(duì)于SUN PDP,平均規(guī)則比較次數(shù)減少了60%,訪問(wèn)請(qǐng)求評(píng)估時(shí)間減少了約2.5個(gè)數(shù)量級(jí)。同時(shí),為了進(jìn)一步提高簇內(nèi)規(guī)則的匹配速度,提出了簇內(nèi)規(guī)則重排序的優(yōu)化方法,基于規(guī)則優(yōu)先度調(diào)整簇內(nèi)規(guī)則的順序。通過(guò)使用規(guī)則重排序優(yōu)化技術(shù),訪問(wèn)請(qǐng)求評(píng)估時(shí)間能在規(guī)則聚類優(yōu)化技術(shù)的基礎(chǔ)上繼續(xù)減少約0.4個(gè)數(shù)量級(jí)。實(shí)驗(yàn)結(jié)果表明,基于兩種優(yōu)化方法的評(píng)估引擎PDPCR的評(píng)估性能明顯高于其它同類系統(tǒng)。

      未來(lái)的工作中,進(jìn)一步研究含有多值屬性的規(guī)則間的相似度計(jì)算方法以及精化策略集,減少策略的冗余規(guī)則,優(yōu)化PDP評(píng)估性能。

      猜你喜歡
      鄰域排序聚類
      排序不等式
      稀疏圖平方圖的染色數(shù)上界
      恐怖排序
      節(jié)日排序
      基于鄰域競(jìng)賽的多目標(biāo)優(yōu)化算法
      刻舟求劍
      兒童繪本(2018年5期)2018-04-12 16:45:32
      基于DBSACN聚類算法的XML文檔聚類
      關(guān)于-型鄰域空間
      基于改進(jìn)的遺傳算法的模糊聚類算法
      一種層次初始的聚類個(gè)數(shù)自適應(yīng)的聚類方法研究
      当阳市| 望城县| 宝山区| 慈溪市| 攀枝花市| 沙雅县| 台湾省| 梧州市| 日照市| 将乐县| 印江| 旌德县| 会宁县| 延川县| 平顶山市| 尤溪县| 沧源| 杭州市| 色达县| 凌海市| 黄大仙区| 眉山市| 商南县| 梨树县| 怀化市| 延寿县| 潍坊市| 鹤庆县| 班玛县| 扎鲁特旗| 蚌埠市| 右玉县| 安图县| 宜兴市| 汝州市| 衡阳市| 东山县| 临沂市| 荥阳市| 故城县| 晴隆县|