岳 瑋,王鳳英
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
基于改進(jìn)K-Means算法的ABAC模型優(yōu)化
岳 瑋,王鳳英
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
針對(duì)基于屬性的訪問(wèn)控制(ABAC)模型中屬性量化、用戶分類等尚未解的問(wèn)題,引用層次分析法確定用戶屬性的權(quán)值,利用屬性權(quán)值定義加權(quán)歐式距離,為用戶分類提供依據(jù).對(duì)K-Means聚類算法從三個(gè)方面進(jìn)行優(yōu)化改進(jìn),并把改進(jìn)后的K-Means聚類算法引入ABAC模型的策略庫(kù)中,使同一類中的用戶具有相同的訪問(wèn)權(quán)限,不同類之間的用戶自動(dòng)化訪問(wèn)隔離.最后通過(guò)仿真實(shí)驗(yàn)分析,優(yōu)化后的ABAC模型效率和準(zhǔn)確率比傳統(tǒng)ABAC模型具有明顯優(yōu)勢(shì).
訪問(wèn)控制;ABAC模型;加權(quán)歐氏距離;K-Means算法
基于屬性的訪問(wèn)控制(Attribute-Based Access Control, ABAC)模型是利用屬性把訪問(wèn)控制中所涉及的主體、客體、環(huán)境、授權(quán)統(tǒng)一建模,從而使訪問(wèn)控制策略的制定和約束的表達(dá)更加準(zhǔn)確和靈活.ABAC模型與傳統(tǒng)的基于身份的訪問(wèn)控制模型相比最大的優(yōu)勢(shì)主要體現(xiàn)在兩個(gè)方面:一是它可以利用屬性對(duì)實(shí)體的任意特征進(jìn)行描述,實(shí)現(xiàn)從不同的角度對(duì)實(shí)體進(jìn)行刻畫(huà);二是通過(guò)屬性或者屬性的組合不但可以使一些復(fù)雜的訪問(wèn)控制策略的表達(dá)粒度更加細(xì)化,而且簡(jiǎn)化了傳統(tǒng)訪問(wèn)控制復(fù)雜的授權(quán)方式,使訪問(wèn)控制系統(tǒng)的靈活性和通用性得以加強(qiáng).近幾年來(lái)ABAC模型成為了訪問(wèn)控制領(lǐng)域新的研究熱點(diǎn).
目前為止,針對(duì)ABAC模型的相關(guān)研究主要有:文獻(xiàn)[1]針對(duì)ABAC模型中訪問(wèn)策略檢索效率較低的普遍問(wèn)題提出了一種基于前綴標(biāo)記的策略檢索算法,該算法在ABAC環(huán)境中具有較高的檢索效率和較低的存儲(chǔ)消耗.文獻(xiàn)[2-3]針對(duì)動(dòng)態(tài)移動(dòng)環(huán)境下,分別提出了兩種利用用戶操作環(huán)境的上下文信息來(lái)定義授權(quán)策略的方法,并定義了新的屬性訪問(wèn)控制模型,能夠較好地適用于動(dòng)態(tài)移動(dòng)環(huán)境下的訪問(wèn)控制.朱一群等在文獻(xiàn)[4]提出了一個(gè)覆蓋DAC,MAC以及RBAC的基于屬性的訪問(wèn)控制模型,雖然模型中涵蓋了三種經(jīng)典訪問(wèn)控制模型的組件優(yōu)勢(shì),但模型在動(dòng)/靜態(tài)職責(zé)分離等方面有待進(jìn)一步的細(xì)化.文獻(xiàn)[5]把屬性引入到訪問(wèn)控制矩陣(ACM)中,支持基于屬性的授權(quán),覆蓋了傳統(tǒng)訪問(wèn)控制模型的概念和規(guī)范,增強(qiáng)了訪問(wèn)控制矩陣的表達(dá)能力.文獻(xiàn)[6]提出了一種基于屬性的訪問(wèn)控制矩陣模型(PABAM),該模型以一個(gè)六元組為主要組件,實(shí)現(xiàn)了針對(duì)在線數(shù)字資源系統(tǒng)的細(xì)粒度訪問(wèn)控制.總結(jié)以上文獻(xiàn),國(guó)內(nèi)外學(xué)者主要是針對(duì)ABAC模型的改進(jìn)以及應(yīng)用等兩大方面進(jìn)行了深入的研究,但對(duì)屬性的定義、量化比較模糊,并且訪問(wèn)控制策略的定義存在很大的主觀性,缺少一種智能化的策略定義方法,使ABAC模型的應(yīng)用具有一定阻礙。
本文針對(duì)ABAC模型中的不足進(jìn)行了優(yōu)化和改進(jìn),改進(jìn)后的ABAC模型的核心思想是:首先將層次分析法(Analytic Hierarchy Process,簡(jiǎn)稱AHP)引入ABAC模型中求出各個(gè)屬性的權(quán)值,實(shí)現(xiàn)對(duì)屬性的初始量化處理;然后以量化后的屬性權(quán)值為基礎(chǔ)對(duì)數(shù)據(jù)挖掘領(lǐng)域中的K-Means聚類算法進(jìn)行改進(jìn),將改進(jìn)后的K-Means聚類算法引入ABAC模型中,豐富了ABAC模型的策略庫(kù),提高了授權(quán)決策的效率和穩(wěn)定性,使訪問(wèn)控制過(guò)程更加高效和智能化.
目前為止,ABAC模型尚沒(méi)有一個(gè)規(guī)范化的定義,本文借鑒文獻(xiàn)[6]和XACML(一種可擴(kuò)展的訪問(wèn)控制標(biāo)記語(yǔ)言)對(duì)ABAC機(jī)制的決策過(guò)程進(jìn)行模型化,XACML規(guī)范主要是在XML語(yǔ)言的基礎(chǔ)上新增了訪問(wèn)控制領(lǐng)域的要素,以實(shí)現(xiàn)對(duì)訪問(wèn)控制策略及敏感信息的精確定義和描述.基于XACML規(guī)范的ABAC模型如圖1所示.
圖1 基于XACML規(guī)范的ABAC模型
根據(jù)上述組件的功能描述,對(duì)ABAC模型的執(zhí)行過(guò)程簡(jiǎn)單描述:PEP接收用戶發(fā)來(lái)的原始訪問(wèn)請(qǐng)求,并將原始訪問(wèn)請(qǐng)求發(fā)送至ContextHandler組件;ContextHandler組件通過(guò)PIP組件向AA組件發(fā)送和原始請(qǐng)求相關(guān)的屬性請(qǐng)求;AA組件返回與原始請(qǐng)求匹配的實(shí)體屬性及屬性值給ContextHandler組件處理,ContextHandler組件構(gòu)建基于屬性的訪問(wèn)請(qǐng)求,并將其發(fā)送至PDP組件;PDP根據(jù)獲得的屬性、屬性值及策略庫(kù)中的預(yù)定義策略進(jìn)行授權(quán)決策,PEP根據(jù)決策結(jié)果對(duì)資源實(shí)施訪問(wèn)操作.
大數(shù)據(jù)環(huán)境下,網(wǎng)絡(luò)用戶的分布和類型都是難以預(yù)知的,其屬性類型也千變?nèi)f化,本節(jié)通過(guò)層次分析法對(duì)用戶的屬性進(jìn)行初始量化處理,避免了傳統(tǒng)ABAC模型在屬性的定義、量化等方面的主觀性和任意性;通過(guò)引入改進(jìn)的K-Means聚類算法來(lái)進(jìn)一步豐富模型的策略庫(kù),同時(shí)使ABAC模型的授權(quán)決策過(guò)程更加靈活、智能、高效.
3.1 屬性權(quán)值的確定
層次分析法(Analytic Hierarchy Process,AHP)是一種著名的運(yùn)籌學(xué)理論,同時(shí)也是一種采用定性與定量分析相結(jié)合的、層次化、系統(tǒng)化的針對(duì)復(fù)雜問(wèn)題進(jìn)行決策的方法.該方法的主要思想是把復(fù)雜問(wèn)題分解為若干層次和若干因素,對(duì)兩兩指標(biāo)之間的重要程度做出比較判斷,建立判斷矩陣,通過(guò)計(jì)算判斷矩陣的最大特征值以及對(duì)應(yīng)特征向量等過(guò)程即可得出不同指標(biāo)在決策過(guò)程中所占的權(quán)重.現(xiàn)今,層次分析法在安全科學(xué)和環(huán)境科學(xué)等領(lǐng)域發(fā)揮著重要作用.
本文將層次分析法引入基于屬性的訪問(wèn)控制領(lǐng)域,針對(duì)不同用戶屬性的重要程度,以權(quán)重的數(shù)值化形式將不同屬性的重要程度進(jìn)行量化,以便更加形象具體的對(duì)用戶屬性進(jìn)行分析.例如我們首先將某一類用戶的屬性分為年齡、性別、職業(yè)、民族、愛(ài)好等類型,然后依據(jù)層次分析法對(duì)特定方案下的屬性重要程度進(jìn)行判定.這些數(shù)值化的屬性權(quán)值是后續(xù)K-Means算法的重要數(shù)據(jù)來(lái)源.層次分析法的具體應(yīng)用可參考管理科學(xué)領(lǐng)域的相關(guān)文獻(xiàn),這里不再詳細(xì)描述.
3.2 改進(jìn)后的 K-Means算法
為了進(jìn)一步豐富ABAC模型的策略庫(kù),使授權(quán)決策過(guò)程更加智能和高效,在3.1節(jié)得到的屬性權(quán)值的基礎(chǔ)上,嘗試對(duì)K-Means聚類算法從網(wǎng)格劃分因子的選取、密度閾值的確定、初始簇中心的選取三個(gè)角度對(duì)算法進(jìn)行改進(jìn).目的是通過(guò)聚類算法使同一類中的用戶因具有相同的屬性相似度而能夠互相訪問(wèn)資源,不同類的用戶不允許進(jìn)行訪問(wèn)操作.例如用戶A將文件F放在服務(wù)器上,用戶B如果與A屬于同一類別,則可以訪問(wèn)文件F,否則訪問(wèn)失敗.為了更好的闡述改進(jìn)后的算法,下面給出算法相關(guān)定義.
定義2 由于用戶的屬性具有權(quán)值,故在原始的歐式距離基礎(chǔ)上得到加權(quán)歐式距離為
其中,第j維屬性的權(quán)值為ωj.這相當(dāng)于根據(jù)屬性j的權(quán)值對(duì)其對(duì)應(yīng)的屬性值進(jìn)行了適當(dāng)?shù)姆糯笈c縮小,使權(quán)值大的屬性聚類作用更大,權(quán)值小的屬性聚類作用更小,真實(shí)反映了實(shí)際聚類時(shí)各屬性發(fā)揮的作用.
由于K-Means算法需要人為事先指定生成的簇個(gè)數(shù)和初始簇中心,屬性聚類的結(jié)果對(duì)參數(shù)的輸入十分敏感,不同的參數(shù)往往會(huì)得到不同的聚類結(jié)果.改進(jìn)后的算法將網(wǎng)格聚類的思想引入到K-Means算法中,對(duì)原始數(shù)據(jù)點(diǎn)進(jìn)行網(wǎng)格化處理,利用網(wǎng)格聚類首先確定簇的個(gè)數(shù)K;然后利用數(shù)理統(tǒng)計(jì)中的方差計(jì)算方法確定初始簇中心,最后,利用傳統(tǒng)K-Means算法求聚類的步驟,對(duì)用戶進(jìn)行聚類操作.
下面闡述對(duì)K-Means算法改進(jìn)的關(guān)鍵點(diǎn).
2) 密度閾值的確定:改進(jìn)后的算法受平均密度的啟發(fā),對(duì)網(wǎng)格平均密度進(jìn)行加權(quán)處理,從而實(shí)現(xiàn)密度閾值的自動(dòng)化選取.其主要思想是:依次掃描每個(gè)網(wǎng)格單元,對(duì)所有非空的GridNum個(gè)網(wǎng)格單元計(jì)算其數(shù)據(jù)點(diǎn)數(shù)的均值Num/GridNum,作為網(wǎng)格的平均密度.再求出每個(gè)非空網(wǎng)格單元的數(shù)據(jù)點(diǎn)數(shù)與平均密度的比值,依次相加后作為網(wǎng)格的密度閾值.其中,若比值大于1,說(shuō)明該網(wǎng)格單元對(duì)密度閾值有正相關(guān)作用,取比值大于1的部分;反之,說(shuō)明該網(wǎng)格單元對(duì)密度閾值有負(fù)相關(guān)作用,取比值小于1的部分.密度閾值的選取公式為
3) 初始簇中心的選?。涸诟怕收撆c數(shù)理統(tǒng)計(jì)中,方差用來(lái)度量隨機(jī)變量與其數(shù)學(xué)期望(即均值)之間的偏離程度,同時(shí)也是測(cè)量數(shù)值型數(shù)據(jù)離散程度的最重要方法.在改進(jìn)后的算法中,首先利用網(wǎng)格聚類得到K個(gè)初始簇,再分別求出K個(gè)簇中方差最小的點(diǎn),將這些樣本點(diǎn)作為初始簇中心.下面給出方差的定義.
定義3 假設(shè)
為待聚類的數(shù)據(jù)集,則樣本xi到所有樣本距離的平均值為
定義4 樣本xi的方差為
3.3 優(yōu)化后的 ABAC模型分析
通過(guò)以上對(duì)ABAC模型進(jìn)行優(yōu)化后的新模型如圖2所示.
圖2 優(yōu)化后的ABAC模型
新模型主要從以下兩個(gè)方面對(duì)傳統(tǒng)的ABAC模型進(jìn)行了改進(jìn):
1) 引入了層次分析法對(duì)屬性進(jìn)行初始量化處理,利用量化處理后得到的屬性權(quán)值定義加權(quán)歐式距離,為后續(xù)的用戶聚類分析提供了重要的依據(jù);
2) 融合了數(shù)據(jù)挖掘領(lǐng)域的K-Means聚類算法豐富了ABAC模型的策略庫(kù),通過(guò)對(duì)K-Means算法的進(jìn)一步改進(jìn)使ABAC模型的授權(quán)決策過(guò)程更加靈活、智能、高效.
為了測(cè)試改進(jìn)后的K-Means聚類算法在ABAC環(huán)境中的效率和穩(wěn)定性問(wèn)題,本文在相同的ABAC環(huán)境下對(duì)傳統(tǒng)K-Means聚類算法和改進(jìn)后的K-Means聚類算進(jìn)行了仿真測(cè)試實(shí)驗(yàn).該數(shù)據(jù)提供了1 000個(gè)互聯(lián)網(wǎng)訪問(wèn)者的行為日志和屬性信息,包括訪問(wèn)時(shí)間、使用的瀏覽器、用戶年齡、愛(ài)好、職業(yè)等十項(xiàng)屬性.首先利用層次分析法確定屬性的權(quán)值,再依次求出各個(gè)用戶間的加權(quán)歐式距離,最后利用改進(jìn)后的K-Means算法和傳統(tǒng)的K-Means聚類算法對(duì)屬性進(jìn)行聚類.
實(shí)驗(yàn)首先將改進(jìn)后的k-means算法與原始的k-means算法、文獻(xiàn)[8]算法、文獻(xiàn)[9]算法進(jìn)行比較.如圖3所示,使用1 000個(gè)互聯(lián)網(wǎng)訪問(wèn)者數(shù)據(jù)進(jìn)行實(shí)驗(yàn),分別統(tǒng)計(jì)各個(gè)算法的運(yùn)行時(shí)間和準(zhǔn)確率,可以明顯看出,本文提出的算法在準(zhǔn)確率和運(yùn)行時(shí)間上具有明顯的優(yōu)勢(shì).
圖3 四類K-Means算法在準(zhǔn)確率和運(yùn)行時(shí)間上的對(duì)比
為了減少實(shí)驗(yàn)結(jié)果的偶然性,在UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)[10]中選擇了11個(gè)聚類算法常用數(shù)據(jù)集在相同的ABAC環(huán)境下進(jìn)行測(cè)試.如圖4所示,改進(jìn)后的K-Means算法的準(zhǔn)確率最高,基本保持在85%左右,穩(wěn)定性較好.而文獻(xiàn)[8]和文獻(xiàn)[9]提出的算法適用性不強(qiáng),在不同數(shù)據(jù)集上的表現(xiàn)不穩(wěn)定,原始的K-Means算法的表現(xiàn)最差.
圖4 不同數(shù)據(jù)集下四類K-Means算法的準(zhǔn)確率對(duì)比
圖5給出了不同算法在相同ABAC環(huán)境下對(duì)相同屬性數(shù)據(jù)集聚類的運(yùn)行時(shí)間.從圖中可以看出,本文提出的算法效率較其他算法具有明顯的優(yōu)勢(shì).
圖5 不同數(shù)據(jù)集下四類K-Means算法的運(yùn)行時(shí)間對(duì)比
從實(shí)驗(yàn)結(jié)果上看,本文提出的算法對(duì)ABAC模型中的用戶聚類有較好的效果,擺脫了K-Means聚類算法對(duì)初始簇個(gè)數(shù)和簇中心的依賴,實(shí)現(xiàn)了參數(shù)的自動(dòng)化選擇,并在一定程度上提高了ABAC模型的授權(quán)決策效率.
本文針對(duì)ABAC模型下屬性量化和用戶分類等問(wèn)題進(jìn)行了研究,利用層次分析理論對(duì)ABAC模型中的屬性進(jìn)行初始量化分析,然后利用量化結(jié)果得到的屬性權(quán)值定義加權(quán)歐式距離,為后續(xù)聚類算法提供依據(jù).并將改進(jìn)后的K-Means算法引入了ABAC模型的策略庫(kù)中,為策略庫(kù)增添了一種自動(dòng)化的訪問(wèn)控制策略,最后通過(guò)仿真實(shí)驗(yàn)分析,改進(jìn)后的K-Means算法能夠更好的滿足ABAC模型在大數(shù)據(jù)環(huán)境下的訪問(wèn)控制需求.
[1]鄒佳順, 張永勝.ABAC中基于前綴標(biāo)記運(yùn)算的策略檢索方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2015(11):2 943-2 947.
[2]LIML,MARIEP,CONAND,etal.Enhancingcontextdatadistributionfortheinternetofthingsusingqoc-awarenessandattribute-basedaccesscontrol[J].AnnalsofTelecommunications, 2015,71 (3):1-12.
[3]ZHUY,LIJ,ZHANGQ.GeneralattributebasedRBACmodelforwebservices[J]. 武漢大學(xué)學(xué)報(bào)(自然科學(xué)英文版), 2008, 13(1): 81-86.
[4]JINX,KRISHNANR,SANDHUR.Aunifiedattribute-basedaccesscontrolmodelcoveringDAC,MACandRBAC[C]//IfipWg11.3ConferenceonDataandApplicationsSecurityandPrivacy, 2012:41-55.
[5]ZHANGX,LIY,NALLAD.Anattribute-basedaccessmatrixmodel[C]//ACMSymposiumonAppliedComputing. 2005:359-363.
[6]穆玲玲, 張韶松. 擴(kuò)展的基于屬性的訪問(wèn)矩陣模型[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012, 33(10):3 797-3 800.
[7]QIUBZ,LIXL.Grid-Basedclusteringalgorithmbasedonintersectingpartitionanddensityestimation[J].ProcofPAKDD.Berlin:Springer,2007,21(5):368-377.
[8]謝娟英,王艷娥. 最小方差優(yōu)化初始聚類中心的K-means算法[J]. 計(jì)算機(jī)工程,2014,40(8):205-211.
[9]汪中,劉貴全,陳恩紅. 一種優(yōu)化初始中心點(diǎn)的K-means算法[J]. 模式識(shí)別與人工智能,2009,22(2):299-304.
[10]FRANKA,ASUNCIONA.UCImachinelearningrepository[D].Irvine,USA:UniversityofCalifornia,2010.
(編輯:劉寶江)
Optimized ABAC model based on improved K-Means algorithm
YUE Wei, WANG Feng-ying
(School of Computer Science and Technology, Shandong University of Technology, Zibo 255049, China)
Aimed at the unsolved problems, such as the quantification of attributes and the classification of users in attribute-based access control model(ABAC),the quoting analytic hierarchy process was used to determine the attributes weights, and the attribute weights were used to define weighted euclidean distance,which provided the basis for classification of users. Then K-Means clustering algorithm was improved from three aspects, and the improved K-Means algorithm was introduced to policy depot in ABAC model, making users have the same access permissions in the same classes,and automatically isolating the different classes of users. Finally, through the simulation experiments analysis, the optimized ABAC model has obvious advantages than the traditional ABAC model in terms of efficiency and accuracy.
access control; ABAC model; weighted Euclidean distance; K-Means algorithm
2016-08-29
國(guó)家自然科學(xué)基金項(xiàng)目(61473179);山東省重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2016GGX101027);山東省自然科學(xué)基金項(xiàng)目(ZR2014FM007)
岳瑋,女,15266483667@163.com; 通信作者:王鳳英,女,wfy@sdut.edu.cn
1672-6197(2017)04-0009-04
TP
A