鄧顯輝,李斌勇,2,蔣 娜,鄧良明
1(成都信息工程大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,成都 610225)
2(先進(jìn)密碼技術(shù)與系統(tǒng)安全四川省重點(diǎn)實(shí)驗(yàn)室,成都 610225)
訪問控制技術(shù)已經(jīng)廣泛應(yīng)用于各類信息系統(tǒng),以保證系統(tǒng)信任域內(nèi)的資源被合法安全地訪問和獲取.訪問控制技術(shù)自發(fā)展起至今已近50年,經(jīng)歷了從簡(jiǎn)單到復(fù)雜、從理論到實(shí)踐的變革[1],其已經(jīng)衍生出了許多經(jīng)典的訪問控制模型如:自主訪問控制模型(DAC,Discretionary Access Control)、強(qiáng)制訪問控制模型(MAC,Mandatory Access Control)、基于角色的訪問控制模型(RBAC,Role-based Access Control)以及結(jié)合如信任評(píng)估[2]這類安全技術(shù)所構(gòu)建的訪問控制模型.這類模型已經(jīng)被廣泛應(yīng)用于各類安全領(lǐng)域,發(fā)揮了不可小覷的作用.但是,隨著信息技術(shù)的不斷變革,傳統(tǒng)的訪問控制模型越來越難以適應(yīng)復(fù)雜網(wǎng)絡(luò)的訪問控制需求,以至于對(duì)訪問控制技術(shù)的研發(fā)工作提出了新的挑戰(zhàn).
基于屬性的訪問控制模型(ABAC,Attribute-based Access Control)通過引入屬性的概念,將屬性貫穿訪問控制模型、策略以及機(jī)制3個(gè)層次,將訪問控制模型中的相關(guān)信息以屬性的形式統(tǒng)一建模[3],進(jìn)而實(shí)現(xiàn)靈活地和細(xì)粒度地訪問控制以及更為復(fù)雜的訪問策略,以適應(yīng)如今復(fù)雜網(wǎng)絡(luò)和大規(guī)模環(huán)境下的訪問控制需求[4].但是,隨著信息系統(tǒng)的不斷演變,系統(tǒng)內(nèi)部的實(shí)體以及它們之間的關(guān)系愈發(fā)復(fù)雜,用于描述各類實(shí)體的屬性也在愈發(fā)增多,同時(shí)訪問策略的數(shù)量也在逐漸膨脹,此時(shí),應(yīng)用基于ABAC的訪問控制機(jī)制就不可避免地發(fā)生了訪問策略沖突問題.對(duì)于訪問策略沖突,從廣義的角度來釋義就是由于異構(gòu)系統(tǒng)之間存在安全策略不一致、語(yǔ)義相互矛盾以及特定的措施存在相互抵觸的問題,這些問題進(jìn)而導(dǎo)致了訪問策略沖突[5];從ABAC模型本身的角度來解釋,訪問策略沖突就是系統(tǒng)基于訪問策略對(duì)訪問請(qǐng)求進(jìn)行評(píng)估時(shí),適配到了多條規(guī)則,且這些適配的規(guī)則給出了不同的評(píng)估結(jié)果,進(jìn)而影響到了系統(tǒng)對(duì)訪問請(qǐng)求的正常評(píng)估決策,同時(shí)無法保證信任域內(nèi)資源的安全性.因此,為了保證基于ABAC的訪問控制機(jī)制對(duì)訪問請(qǐng)求的正常評(píng)估決策以及信息系統(tǒng)內(nèi)的資源能被安全合法地訪問和獲取,解決基于ABAC的訪問策略沖突問題成為了訪問控制領(lǐng)域的一個(gè)重要研究?jī)?nèi)容之一,同時(shí)也成為了部分學(xué)者的研究熱點(diǎn);如文獻(xiàn)[6,7]從基于ABAC的訪問策略出發(fā),研究策略規(guī)則中的“屬性-屬性值”對(duì)訪問請(qǐng)求進(jìn)行評(píng)估的作用機(jī)理,提出了對(duì)應(yīng)的訪問策略沖突消解方案;文獻(xiàn)[8,9]從描述訪問策略的語(yǔ)言機(jī)制出發(fā),通過結(jié)合使用機(jī)制本身自帶的沖突消解機(jī)制來消解ABAC的訪問策略沖突.雖然現(xiàn)有方案在一定程度上解決了針對(duì)ABAC的訪問策略沖突問題,但是大多數(shù)方案在消解沖突時(shí),需要策略制定者手動(dòng)參與策略的調(diào)整,缺乏了一定的靈活性[10],同時(shí)部分方案在利用訪問策略中的規(guī)則屬性解決訪問策略沖突問題時(shí),沒有很好地考慮到屬性的類型問題,且沒有對(duì)規(guī)則屬性進(jìn)行劃分處理,進(jìn)而不能很好地提高消解沖突的準(zhǔn)確性.不僅如此,現(xiàn)有訪問策略沖突消解方案在消解沖突時(shí)大多數(shù)存在偏向性和粗粒度的消解結(jié)果等問題,包括在沖突消解過程,因系統(tǒng)對(duì)原有的策略規(guī)則進(jìn)行了不合理地非人工修正沖突,進(jìn)而導(dǎo)致正常訪問請(qǐng)求無法通過,而惡意訪問請(qǐng)求可以正常通過等這類危害信息系統(tǒng)的事件發(fā)生.
針對(duì)上述問題,本文從消解基于ABAC的訪問策略沖突角度出發(fā),引入K-prototypes聚類算法和TF-IDF算法,結(jié)合多種消解策略,提出一種面向ABAC的雙階段訪問策略沖突消解機(jī)制:ATPCRM.首先,ATPCRM由系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解和系統(tǒng)運(yùn)行時(shí)的策略沖突消解兩個(gè)階段構(gòu)成,其中系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解是在訪問控制機(jī)制運(yùn)行前對(duì)訪問策略中的規(guī)則進(jìn)行預(yù)處理,進(jìn)而加上權(quán)重標(biāo)簽,以規(guī)則權(quán)重大小的形式實(shí)現(xiàn)策略沖突預(yù)消解;其次,系統(tǒng)運(yùn)行時(shí)的訪問策略沖突消解則是在沖突預(yù)消解沒有完全消解沖突的基礎(chǔ)之上,采用適配新加載規(guī)則緩沖區(qū)中的新加載規(guī)則,以及根據(jù)沖突類型的不同自適應(yīng)采用不同類別的消解策略的方法,以達(dá)到消解策略沖突的目的,進(jìn)而實(shí)現(xiàn)細(xì)粒度的策略沖突消解機(jī)制.本文的貢獻(xiàn)如下:
1)提出一種面向ABAC的雙階段訪問策略沖突消解機(jī)制:ATPCRM.ATPCRM從系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解與系統(tǒng)運(yùn)行時(shí)的訪問策略沖突消解兩個(gè)階段出發(fā),消解基于ABAC的訪問策略沖突;同時(shí)ATPCRM將基于ABAC的訪問策略重新定義,利用分類型屬性和數(shù)值型屬性的概念來描述策略中的規(guī)則,并基于規(guī)則屬性開展沖突消解工作;
2)提出策略規(guī)則集預(yù)處理算法和策略規(guī)則權(quán)重評(píng)估算法應(yīng)用于系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解階段;該階段改進(jìn)了K-prototypes聚類算法和TF-IDF算法并應(yīng)用其中,在克服傳統(tǒng)K-prototypes聚類算法處理分類型數(shù)據(jù)和數(shù)值型數(shù)據(jù)時(shí)因量綱不統(tǒng)一、隨機(jī)選取初始聚類中心所導(dǎo)致的低聚類效率和低正確率,以及傳統(tǒng)TF-IDF算法無法識(shí)別類別區(qū)分度高的對(duì)象等問題的同時(shí),降低了算法整體的計(jì)算復(fù)雜度,可以更好地適應(yīng)策略規(guī)則處理,進(jìn)而提高沖突消解的效率和準(zhǔn)確性;
3)提出新加載規(guī)則緩沖區(qū)和自適應(yīng)訪問策略沖突類型的沖突消解策略應(yīng)用于系統(tǒng)運(yùn)行時(shí)的訪問策略沖突消解階段;該階段建立在策略沖突預(yù)消解沒有完全消解沖突的基礎(chǔ)之上,并根據(jù)適配新加載規(guī)則和根據(jù)沖突類型的不同自適應(yīng)不同類型的沖突消解策略來實(shí)現(xiàn)沖突消解.
本文的其余部分組織結(jié)構(gòu)如下:第2節(jié)介紹了與本文相關(guān)的一些文獻(xiàn)研究工作;第3節(jié)介紹了ATPCRM模型的相關(guān)概念以及詳細(xì)的模型框架;第4節(jié)討論了實(shí)驗(yàn)結(jié)果,并將其與兩個(gè)訪問策略沖突消解算法進(jìn)行了比較;最后,第5節(jié)對(duì)本文進(jìn)行了總結(jié).
訪問策略沖突的研究起源于對(duì)訪問策略管理架構(gòu)機(jī)制的研究[11].針對(duì)策略沖突的研究主要分為策略沖突檢測(cè)和策略沖突消解兩個(gè)方面,而本文注重于策略沖突消解方面的研究.沖突消解方案的定義一般會(huì)遵循某種訪問策略沖突消解原則,文獻(xiàn)[12]指出的策略沖突消解原則有:近距離優(yōu)先原則、指定優(yōu)先原則、最近加載策略優(yōu)先原則、本地策略優(yōu)先原則、屬主級(jí)別優(yōu)先原則以及反向策略優(yōu)先原則.文獻(xiàn)[6]從策略消解的處理階段出發(fā),將策略沖突消解原則劃分為了動(dòng)態(tài)和靜態(tài)兩種策略沖突消解原則,即將策略消解的處理階段劃分為了處理前和處理中.文獻(xiàn)[13]則從協(xié)作平臺(tái)的應(yīng)用出發(fā),將策略沖突消解原則劃分為了預(yù)定義消解策略和多方?jīng)Q策策略,進(jìn)而應(yīng)對(duì)更多種類的訪問策略沖突.訪問策略沖突有許多種類,針對(duì)不同類型的策略沖突所采取的消解方案以及消解原則也不盡相同.在早期,文獻(xiàn)[12]將訪問策略沖突簡(jiǎn)要地劃分為元策略沖突與模態(tài)沖突,以此提出了對(duì)應(yīng)的訪問策略沖突消解方案.一些傳統(tǒng)的訪問策略沖突消解方案如:遍歷子基法[14]、自主消解法[15]和隨機(jī)消解法[16]雖然在一定程度上解決了當(dāng)時(shí)的策略沖突問題,但是,隨著策略規(guī)模數(shù)目的不斷增加,其消解方案的計(jì)算時(shí)間復(fù)雜度也會(huì)隨之增高,進(jìn)而降低算法整體的計(jì)算效率;同時(shí),因受人工主觀意識(shí)的影響,自主消解法的出錯(cuò)概率也較高.文獻(xiàn)[17,18]分別采用了指定優(yōu)先級(jí)和屬主級(jí)別優(yōu)先級(jí)的沖突消解原則,通過建立策略規(guī)則優(yōu)先級(jí)體系實(shí)現(xiàn)訪問策略沖突的消解.文獻(xiàn)[11]從訪問策略的非一致性沖突角度出發(fā),形式化地定義了訪問策略非一致性沖突問題,通過采用指定優(yōu)先原則的策略沖突消解原則實(shí)現(xiàn)了一套計(jì)算策略優(yōu)先級(jí)的方法,進(jìn)而消解了訪問策略沖突.同樣的,文獻(xiàn)[19]也從訪問策略的非一致性沖突角度出發(fā),針對(duì)物聯(lián)網(wǎng)環(huán)境下的訪問策略因策略融合所帶來的非一致性策略沖突問題,提出了一種基于競(jìng)價(jià)機(jī)制的靜態(tài)策略沖突消解機(jī)制,根據(jù)競(jìng)價(jià)結(jié)果選擇策略的原則消解訪問策略沖突.文獻(xiàn)[20]結(jié)合主體、對(duì)象以及組織與權(quán)限之間的映射關(guān)系,提出了一種基于關(guān)系的訪問控制策略沖突消解方案,通過定義不同的主體、對(duì)象之間的映射關(guān)系以及權(quán)限與權(quán)限之間的間接轉(zhuǎn)移關(guān)系,進(jìn)而解決間接沖突的問題;然而該方案無法適應(yīng)海量對(duì)象和復(fù)雜權(quán)限環(huán)境下的訪問控制問題,且隨著關(guān)系鏈的增多,沖突消解的效率和準(zhǔn)確性會(huì)隨之降低.文獻(xiàn)[21]提出了一種基于策略優(yōu)先級(jí)的策略間形式?jīng)_突消解機(jī)制;該機(jī)制通過對(duì)訪問策略進(jìn)行消解前化簡(jiǎn),并利用沖突面積與自身頻率的方式來計(jì)算表征每一條策略的優(yōu)先級(jí)并排序,最后根據(jù)排序結(jié)果組成新策略集,以此消解策略沖突,同時(shí)也保證了策略集的完整性;但是當(dāng)該機(jī)制在處理大規(guī)模策略規(guī)則時(shí)會(huì)產(chǎn)生大量的矩陣運(yùn)算,進(jìn)而導(dǎo)致計(jì)算復(fù)雜度的急劇增高,影響機(jī)制效率.在動(dòng)態(tài)消解沖突方面,文獻(xiàn)[22,23]采用系統(tǒng)運(yùn)行時(shí)消解策略沖突的思想,通過構(gòu)建動(dòng)態(tài)感知的訪問策略沖突檢測(cè)與消解框架,消解在訪問請(qǐng)求評(píng)估過程中所出現(xiàn)的策略沖突問題.上述消解訪問策略沖突的方案都是從訪問策略之間的關(guān)系出發(fā)展開研究,并沒有考慮到策略內(nèi)以及策略中的規(guī)則屬性之間的關(guān)系也是導(dǎo)致策略沖突的因素之一,同時(shí)當(dāng)訪問策略數(shù)量逐漸膨脹時(shí),沖突消解算法的效率也會(huì)隨之降低.為了解決上述問題,部分學(xué)者從規(guī)則屬性之間的關(guān)系出發(fā)研究消解訪問策略沖突的方案.文獻(xiàn)[24]從策略條件屬性對(duì)策略決策屬性的影響程度出發(fā),通過采用屬主級(jí)別優(yōu)先的策略沖突消解原則,定義了一種基于屬性影響度的顯式策略沖突消解算法,解決了在分布式計(jì)算環(huán)境下的訪問策略沖突問題.文獻(xiàn)[25]從訪問策略配置的角度出發(fā),為解決現(xiàn)有精化技術(shù)下給出的訪問策略配置無法處理不同類型策略沖突問題,提出了一種基于開放邏輯R反駁計(jì)算的訪問策略精細(xì)化方法來計(jì)算消解策略沖突,并實(shí)現(xiàn)了對(duì)策略沖突的有序分析.文獻(xiàn)[26]為解決當(dāng)前云服務(wù)環(huán)境下的策略沖突消解方法單一和粒度不夠的問題,提出了一種多消解策略的策略沖突消解機(jī)制;該機(jī)制從策略層次和屬性層次出發(fā),提出了粗粒度消解和細(xì)粒度兩者消解算法,以便在面對(duì)不同類型的策略沖突時(shí)使用不同的消解方案來進(jìn)行沖突消解處理.文獻(xiàn)[6]基于ABAC模型設(shè)計(jì)出一種基于規(guī)則適用范圍的靜態(tài)沖突消解方案;該方案針對(duì)策略內(nèi)的沖突規(guī)則可能有多個(gè)屬性的值域存在重合,以及不同條件下對(duì)策略集需要進(jìn)行不同程度的消解等問題,提出了規(guī)則適用范圍和屬性沖突頻率的概念,并結(jié)合沖突消解閾值,實(shí)現(xiàn)了更靈活的策略沖突消解;但是該方法僅是通過遍歷沖突規(guī)則來消解規(guī)則的沖突域,當(dāng)面對(duì)大量沖突域時(shí)效率較低.文獻(xiàn)[7]為解決傳統(tǒng)優(yōu)先級(jí)策略沖突消解策略過于簡(jiǎn)單,以及在復(fù)雜系統(tǒng)環(huán)境下不能很好地適應(yīng)現(xiàn)有的訪問控制需求的問題,提出了一種基于TF-IDF算法的ABAC策略沖突消解算法;該算法采用K-modes聚類算法來對(duì)策略規(guī)則進(jìn)行聚類處理,并采用改進(jìn)后的TF-IDF算法對(duì)處理后的規(guī)則進(jìn)行權(quán)重評(píng)估,進(jìn)而在消解沖突的同時(shí),避免沖突消解結(jié)果的偏向性問題;但是,該算法只考慮到ABAC策略規(guī)則中的屬性只有分類型屬性值的問題,并沒有考慮到策略規(guī)則中的屬性是混合型的屬性,且在處理時(shí)沒有對(duì)規(guī)則屬性進(jìn)行類別劃分處理,進(jìn)而降低了消解結(jié)果的準(zhǔn)確性.
可擴(kuò)展的訪問控制標(biāo)記語(yǔ)言XACML(Extensible Access Control Markup Language)是基于XML的、可用于描述基于ABAC的訪問控制機(jī)制的一種開放標(biāo)準(zhǔn)語(yǔ)言.XACML可以允許策略制定者在不同環(huán)境下靈活地制定和管理訪問策略,同時(shí)最新的XACML版本也提供了13種沖突避免算法,以解決訪問策略沖突問題.為了解決訪問策略沖突問題,許多學(xué)者在XACML的基礎(chǔ)之上提出了許多不同的消解方案.文獻(xiàn)[8]從訪問策略的描述語(yǔ)言XACML出發(fā),分析了當(dāng)前基于XACML的沖突消解算法不足之處,提出了一種新的一次性策略沖突消解算法;該算法基于策略沖突消解原則中的優(yōu)先級(jí)原則,采用基于有向無環(huán)圖(Directed Acyclic Graph,DAG)的拓?fù)渑判騺碛?jì)算并合并規(guī)則的優(yōu)先級(jí),通過一個(gè)N維空間中的區(qū)域映射所有的規(guī)則,并按照優(yōu)先級(jí)順序?qū)崿F(xiàn)了一次性的沖突消解.文獻(xiàn)[27]為解決多策略和多管理員參與策略制定的環(huán)境下發(fā)生的訪問策略沖突問題,提出了一種基于XACML和動(dòng)態(tài)優(yōu)先級(jí)模式的訪問策略框架和消解算法,通過對(duì)發(fā)生策略沖突的域執(zhí)行優(yōu)先級(jí)的動(dòng)態(tài)增減,進(jìn)而消解訪問策略沖突.文獻(xiàn)[9]為解決XACML策略出現(xiàn)的策略沖突等問題,通過引入規(guī)則控制域的概念提出了一種策略沖突消解方法.同年,文獻(xiàn)[28]提出一種組合XACML沖突避免算法來對(duì)不同類別的策略沖突進(jìn)行消解,同時(shí)采用了面向方面的有限狀態(tài)自動(dòng)機(jī)對(duì)沖突類型進(jìn)行分類.
綜上所述分析可知,現(xiàn)有方案在使用規(guī)則屬性解決訪問策略沖突問題時(shí),并沒有完全考慮到策略規(guī)則屬性是否為分類型還是數(shù)值型屬性,且無法對(duì)規(guī)則類別進(jìn)行劃分處理,故無法有效地提高沖突消解的精度;同時(shí)大部分方案因消解算法以及機(jī)制的單一,故存在偏向性和粗粒度的消解結(jié)果,以及消解沖突過程因?qū)υ械牟呗砸?guī)則進(jìn)行了非人工沖突修正而預(yù)留下了潛在的不安全因素等問題.
該部分的主要工作是提出ATPCRM的具體框架模型.ATPCRM由系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解和系統(tǒng)運(yùn)行時(shí)的訪問策略沖突消解兩個(gè)階段組成;首先,系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解階段由策略規(guī)則集預(yù)處理算法與策略規(guī)則權(quán)重評(píng)估算法構(gòu)成;策略規(guī)則集預(yù)處理算法主要對(duì)全局的策略規(guī)則集進(jìn)行評(píng)估前的類別劃分預(yù)處理,并在此基礎(chǔ)之上保證后期對(duì)規(guī)則評(píng)估的準(zhǔn)確性;而策略規(guī)則權(quán)重評(píng)估算法的目的是為了更好地通過規(guī)則權(quán)重來消解策略沖突,進(jìn)而實(shí)現(xiàn)系統(tǒng)運(yùn)行前的沖突預(yù)消解,減少系統(tǒng)運(yùn)行時(shí)因消解沖突所帶來的時(shí)間消耗.其次,系統(tǒng)運(yùn)行時(shí)的訪問策略沖突消解階段是消解基于沖突預(yù)消解基礎(chǔ)之上沒有完全消解的策略沖突,通過采用適配新加載規(guī)則和根據(jù)沖突類型的不同自適應(yīng)采用不同類別的消解策略,進(jìn)而實(shí)現(xiàn)沖突消解.接下來介紹本文所提出的沖突消解機(jī)制的相關(guān)基礎(chǔ)知識(shí)概念與定義.
3.1.1 基于ABAC的訪問策略
訪問策略是訪問控制機(jī)制對(duì)訪問請(qǐng)求進(jìn)行評(píng)估的依據(jù).ABAC模型的訪問策略是由若干條規(guī)則組成的策略集,每條規(guī)則包含了主體屬性、客體屬性、環(huán)境屬性、操作屬性以及授權(quán)決策這5個(gè)屬性項(xiàng),且每個(gè)屬性項(xiàng)以“屬性-屬性值”鍵值對(duì)的形式來表示,其中除了操作屬性以及授權(quán)決策外,其余屬性項(xiàng)可以由分類型屬性和數(shù)值型屬性來描述;同時(shí)當(dāng)訪問控制機(jī)制使用訪問策略對(duì)訪問請(qǐng)求進(jìn)行評(píng)估時(shí),策略規(guī)則中的主體屬性、客體屬性和環(huán)境屬性起著區(qū)別于其它規(guī)則的作用,而操作屬性和授權(quán)決策則起到最后的決策作用.因此從評(píng)估訪問請(qǐng)求的角度來說,如果將規(guī)則集的主體屬性、客體屬性、環(huán)境屬性3個(gè)屬性項(xiàng)與操作屬性、授權(quán)決策兩個(gè)操作屬性項(xiàng)分開處理,而在隨后的訪問請(qǐng)求評(píng)估過程中,只依據(jù)處理后的規(guī)則適配對(duì)應(yīng)的操作屬性和授權(quán)決策,進(jìn)而對(duì)訪問請(qǐng)求做出正確地評(píng)估;那么相比于傳統(tǒng)方案,上述方案可以在實(shí)現(xiàn)對(duì)訪問請(qǐng)求正常評(píng)估的同時(shí),減少系統(tǒng)對(duì)規(guī)則屬性的處理難度,進(jìn)而提高訪問請(qǐng)求評(píng)估的效率.故本文將基于ABAC的訪問策略重構(gòu)為一種只包含主體屬性、客體屬性和環(huán)境屬性的全體規(guī)則集,每個(gè)規(guī)則集是由分類型屬性和數(shù)值型屬性來刻畫的混合型數(shù)據(jù)集,且每條規(guī)則與操作屬性和授權(quán)決策做了對(duì)應(yīng)的映射處理.為了方便本文的描述,對(duì)本文訪問策略的相關(guān)知識(shí)概念給出如下定義:
定義3.設(shè)CLi∈rule是全體規(guī)則集rule在預(yù)處理過程中所得出的一個(gè)類別類,其關(guān)于分類型屬性的類中心根據(jù)定義2可表示為:
(1)
其關(guān)于數(shù)值型屬性的類中心根據(jù)定義2可表示為:
(2)
同樣的,在rule中的所有規(guī)則也可以用類中心的表示方式來表示,只是在分類型屬性中,當(dāng)前屬性的取值所對(duì)應(yīng)的出現(xiàn)頻率為1,而屬性值域中其余取值的出現(xiàn)頻率為0.
3.1.2 K-prototypes聚類算法
(3)
其中dCA和dNU分別表示對(duì)象與類中心在分類型屬性和數(shù)值型屬性下的相異度,而dCA則表示0-1簡(jiǎn)單匹配相異性度量,dNU表示歐式距離,而參數(shù)μ則是用來調(diào)節(jié)控制分類型屬性和數(shù)值型屬性兩者的貢獻(xiàn)大小.
K-prototypes算法的目標(biāo)函數(shù)定義如下:
(4)
3.1.3 網(wǎng)格聚類
網(wǎng)格聚類算法是一種計(jì)算效率很高的空間數(shù)據(jù)結(jié)構(gòu)聚類算法;將網(wǎng)格聚類算法與一些傳統(tǒng)聚類算法結(jié)合可以降低聚類算法本身的計(jì)算復(fù)雜度[30],解決傳統(tǒng)聚類算法因無法自主劃分聚類數(shù)目和隨機(jī)選取聚類初始中心點(diǎn)所帶來的聚類效果不佳的問題.本文將網(wǎng)格聚類算法與本文所提出的改進(jìn)型K-prototypes聚類算法相結(jié)合,提出策略規(guī)則集預(yù)處理算法,在解決傳統(tǒng)K-prototypes聚類算法所面臨的一些問題的同時(shí),提高策略規(guī)則集處理的性能.接下來給出相關(guān)公式.
網(wǎng)格密度:對(duì)于網(wǎng)格Gx,其網(wǎng)格密度的計(jì)算公式為:
|Gx|=total(rj)
(5)
其中total(rj)表示網(wǎng)格Gx區(qū)域內(nèi)包含的規(guī)則數(shù)據(jù)點(diǎn)數(shù)量總和.
網(wǎng)格質(zhì)心:對(duì)于空間中的任意網(wǎng)格Gi,其網(wǎng)格的質(zhì)心計(jì)算公式為:
(6)
其中rj(1≤j≤N)表示坐落在網(wǎng)格Gi內(nèi)的一個(gè)規(guī)則數(shù)據(jù)點(diǎn).
網(wǎng)格劃分閾值:為了進(jìn)一步細(xì)化空間中的網(wǎng)格以達(dá)到網(wǎng)格間密度的均衡性,同時(shí)獲得更高效率的聚類效果,需要一個(gè)閾值來控制網(wǎng)格劃分的程度,其對(duì)應(yīng)計(jì)算公式為:
(7)
其中rα,rβ表示NCU維空間中任意兩個(gè)規(guī)則數(shù)據(jù)點(diǎn),d(rα,rβ)表示兩點(diǎn)之間的歐式距離,minG表示劃分網(wǎng)格中密度最小的網(wǎng)格密度值.
相似網(wǎng)格度量值:為了識(shí)別相似網(wǎng)格并將相似網(wǎng)格歸為同類以獲得初始聚類中心,需要一個(gè)值來衡量?jī)蓚€(gè)網(wǎng)格之間的相似程度.本文引入萬有引力公式,并在其基礎(chǔ)之上做出改進(jìn)用來表達(dá)兩個(gè)網(wǎng)格之間的相似程度,其網(wǎng)格相似度計(jì)算公式為:
(8)
其中,對(duì)于萬有引力公式中兩點(diǎn)的質(zhì)量和兩點(diǎn)之間距離的表示,本文使用兩個(gè)網(wǎng)格的密度值來代替兩個(gè)網(wǎng)格的質(zhì)量,而兩個(gè)網(wǎng)格之間的距離則用兩個(gè)網(wǎng)格質(zhì)心之間歐式距離的平方值來表示;對(duì)于e-τ,由于本文的網(wǎng)格劃分采取的是均勻劃分原則,故沒有考慮引力系數(shù)的影響,而是使用e-τ來代替;其中e-τ表示相似因子,其可理解為:如果兩個(gè)網(wǎng)格相似度越大,則τ的值越小,e-τ的值越大;對(duì)于τ,其計(jì)算公式為:
(9)
(10)
3.1.4 TF-IDF算法
TF-IDF算法是一種用于信息檢索和數(shù)據(jù)挖掘的常用加權(quán)技術(shù),其基本思想為:一個(gè)詞在某一個(gè)文本中出現(xiàn)的頻率較高,而在其它文本中出現(xiàn)的頻率較低,說明該詞對(duì)于區(qū)別和表達(dá)文本的核心內(nèi)容起著重要的作用.傳統(tǒng)的TF-IDF算法主要由TF和IDF兩部分的乘積組成,其計(jì)算公式為:
(11)
其中wi,j表示文本j中詞i出現(xiàn)的數(shù)量;∑Kwk,j表示文本j中所有詞出現(xiàn)次數(shù)的總和;N表示全局中文本的數(shù)量;Nw表示全局文本中詞i出現(xiàn)的文本數(shù).本文在該算法的基礎(chǔ)之上進(jìn)行改進(jìn),提出適應(yīng)于本文模型的TF-IDF算法.
在這一小節(jié)中,本文將介紹實(shí)現(xiàn)訪問策略沖突預(yù)消解階段功能的兩個(gè)核心算法:策略規(guī)則集預(yù)處理算法和策略規(guī)則權(quán)重評(píng)估算法,并在最后展現(xiàn)該階段整體的工作流程.
3.2.1 策略規(guī)則集預(yù)處理算法
為解決現(xiàn)有方案和算法中,對(duì)策略規(guī)則集這類混合型數(shù)據(jù)的處理存在因數(shù)據(jù)量綱不一致所導(dǎo)致地消解結(jié)果的低準(zhǔn)確性和弱穩(wěn)定性,以及因參數(shù)設(shè)置所導(dǎo)致地計(jì)算復(fù)雜度高等問題,提出一種策略規(guī)則集預(yù)處理算法;該算法借助K-prototypes算法對(duì)混合型數(shù)據(jù)處理的友好性,通過將網(wǎng)格聚類思想融入以及改進(jìn)K-prototypes算法,實(shí)現(xiàn)對(duì)策略規(guī)則集這類混合型數(shù)據(jù)在處理效率和準(zhǔn)確性上的提升,同時(shí)減少原有算法中歐式距離的計(jì)算量與整體的計(jì)算復(fù)雜度,進(jìn)而高效地為后期規(guī)則評(píng)估提供有效的預(yù)處理結(jié)果.在提出策略規(guī)則集預(yù)處理算法之前,本文首先引入策略規(guī)則類別劃分算法.
1)策略規(guī)則類別劃分算法
策略規(guī)則類別劃分算法的基本思想是:首先初始化空間中的網(wǎng)格,將進(jìn)行了去冗余等處理的全體規(guī)則集rule中所有的規(guī)則數(shù)據(jù)點(diǎn)映射到網(wǎng)格中,依據(jù)劃分閾值threshold進(jìn)一步劃分均衡網(wǎng)格密度;其次在劃分好的網(wǎng)格中去除劣質(zhì)網(wǎng)格,保留優(yōu)質(zhì)網(wǎng)格;最后在保留的優(yōu)質(zhì)網(wǎng)格中歸類相似的網(wǎng)格得到不同的網(wǎng)格類.這些網(wǎng)格類的數(shù)量即是K值,網(wǎng)格類中網(wǎng)格密度最大的網(wǎng)格的質(zhì)心即是初始化聚類中心.
策略規(guī)則類別劃分算法的基本步驟如下:
Step 1.初始化網(wǎng)格,對(duì)全體規(guī)則集rule進(jìn)行去冗余等處理得到規(guī)則集rule*,然后將rule*中的所有規(guī)則數(shù)據(jù)點(diǎn)映射到初始化網(wǎng)格中,并依據(jù)網(wǎng)格劃分閾值threshold、網(wǎng)格大小與網(wǎng)格密度|Gx|來對(duì)網(wǎng)格進(jìn)行進(jìn)一步均衡化劃分,得到網(wǎng)格密度與網(wǎng)格大小兩者比例均衡的網(wǎng)格;
Step 2.計(jì)算網(wǎng)格密度,根據(jù)密度閾值denθ篩選出優(yōu)質(zhì)網(wǎng)格,去除劣質(zhì)網(wǎng)格;
Step 3.計(jì)算網(wǎng)格質(zhì)心COMi,并在優(yōu)質(zhì)網(wǎng)格中計(jì)算任意兩個(gè)網(wǎng)格之間的相似網(wǎng)格度量值;
Step 4.選擇一個(gè)未被遍歷的質(zhì)心,判斷該質(zhì)心與其它質(zhì)心之間的相似網(wǎng)格度量值是否不低于合并閾值Mergeθ,如果是,則標(biāo)記為同類質(zhì)心,否則標(biāo)記為非同類質(zhì)心;
Step 5.重復(fù)Step 4,直至所有質(zhì)心都被遍歷;
Step 6.根據(jù)所得到的不同網(wǎng)格類中,網(wǎng)格密度最大的網(wǎng)格的質(zhì)心點(diǎn)即為初始聚類中心,網(wǎng)格類個(gè)數(shù)即為rule*中數(shù)據(jù)之間的類別數(shù)K.
策略規(guī)則類別劃分算法的偽代碼如算法1所示.
算法1.Strategy rule category classification algorithm
輸入:Sample Datasetrule
輸出:Policy Rule Category SetsetSim,Category NumberK
1.Initializing the grid ofG;#Gis the original grid
2.Data processing for the Sample datasetruletorule*
3.Map therule*to theG,then get thethresholdto further partition theG;
4.Get the density ofNGgrids inGby Equation(5);
5.FORiinNGdo
6.IF|Gi|≥denθthen
7. addGitosetπ;#setπis the data set that holds the grid center
8.EndIF
9.EndFOR
10.Get theCOMiof the Grid in thesetπby Equation(6);
11.K=1;
12.FORoinNπdo
13.j=o+1;
14.IFCOMois notmarkedthen
15.FORjinNπdo #Nπis the number of elements of thesetπ
16.IFCOMjis not markedthen
17. Get theSimilar(COMo,COMj) by Equation(8);
18.IFSimilar(COMo,COMj)≥Mergeθthen
19. addCOMjtosetSimK;
20. markerCOMjtoClassK;#ClassKmeansCOMjbelongs to ClassK
21.EndIF
22.EndIF
23.EndFOR
24. addCOMotosetSimK;
25. markerCOMotoClassK;
26.K=K+1;
27.EndIF
28.EndFOR
29.RETURNPolicy rule category setsetSim,Category numberK;
2)策略規(guī)則集預(yù)處理算法
(12)
(13)
(14)
策略規(guī)則集預(yù)處理算法的基本步驟如下:
Step 1.依據(jù)算法1得到策略規(guī)則集的劃分類別集合setSim以及劃分類別數(shù)K,并根據(jù)setSim獲取初始聚類中心;
Step 2.計(jì)算每個(gè)網(wǎng)格質(zhì)心點(diǎn)與聚類中心點(diǎn)的相異性度量值;
Step 3.根據(jù)相異性度量值將網(wǎng)格分配到最鄰近的聚類中心點(diǎn);
Step 4.計(jì)算更新聚類中心點(diǎn),其中數(shù)值型屬性部分通過計(jì)算同一類中對(duì)象取值的平均值得到,分類型屬性部分依據(jù)定義3計(jì)算類中心;
Step 5.重復(fù)Step 3~Step 5,直至公式(4)的值不再發(fā)生變化.
策略規(guī)則集預(yù)處理算法的偽代碼如算法2所示.
算法2.Policy rule set pre-processing algorithm
輸入:Sample Datasetrule
輸出: Category Collectionrule′
1.Get initial cluster centers and category numberKby Algorithm1;
2.FORiinNGdo#NGdenotes the number of grids in G
3.FORjinNCCdo #NCCis the number of initial clustering centers
4. Calculate theSimilar(COMi,CCj);#CCjis the initial clustering centers
5. AddSimilar(COMi,CCj)toAlloi;#Alloistores the similarity measures ofCOMiandCCj
6.EndFOR
7.EndFOR
8.Assign theCOMito the nearest cluster centroid based on the maximum value inAlloi;
9.Calculate the value ofF(X,R) and determine if the value ofF(X,R) has changed;
10.WHILEF(X,R) is still changingdo
11. Update the Clustering Center;
12. Calculate theSimilar(COMi,CCj) and assigning theCOMito the closest cluster centroids;
13. Calculate the value ofF(X,R) and determine if the value ofF(X,R) has changed;
14.EndWHILE
15.RETURNCategory Collectionrule′;
3.2.2 策略規(guī)則權(quán)重評(píng)估算法
在針對(duì)ABAC的訪問策略中,當(dāng)一個(gè)屬性項(xiàng)的取值在當(dāng)前的策略集中出現(xiàn)頻率越小,說明該屬性具有明顯的特異性能標(biāo)識(shí)出與其它規(guī)則之前的差異性,因此在評(píng)估過程中此類屬性應(yīng)該賦予更高的權(quán)重值;相反,一個(gè)屬性的取值在當(dāng)前的策略集中出現(xiàn)頻率越高,說明該屬性就越普通,無法顯示出與其它屬性之間的差異性,應(yīng)該賦予較低的權(quán)重值.因此,為了更好地對(duì)基于ABAC的訪問策略中的規(guī)則進(jìn)行權(quán)重評(píng)估,進(jìn)而以規(guī)則權(quán)重大小的形式消解策略沖突,即選擇當(dāng)前權(quán)重值最高的規(guī)則來評(píng)估當(dāng)前的訪問請(qǐng)求,本文對(duì)TF-IDF算法的進(jìn)行改進(jìn),提出一種策略規(guī)則權(quán)重評(píng)估算法應(yīng)用于策略規(guī)則集的權(quán)重評(píng)估;該算法在克服了傳統(tǒng)TF-IDF算法沒有考慮到因評(píng)估對(duì)象所處位置不同而導(dǎo)致權(quán)重值不同等問題的同時(shí),更加適應(yīng)本文所提出的應(yīng)用環(huán)境.
(15)
(16)
Step 1.統(tǒng)計(jì)預(yù)處理后的全體規(guī)則集rule′中,含有屬性ATTi的規(guī)則數(shù)量、本類集合中屬性的數(shù)量總和、ATTi在全體聚類結(jié)果集合和本類規(guī)則集中出現(xiàn)的次數(shù)以及頻率;
策略規(guī)則權(quán)重評(píng)估算法的偽代碼如算法3所示.
算法3.Policy rule set weight evaluation algorithm
輸入:Category Collectionrule′,Total Number of RulesN
輸出:weighted labels
1.Splitting operation forrule′ toWord;#Wordis the dataset that holds the word separation results
2.Performing word frequency statistics operations onWordtowordcount;#wordcountis the data set that holds the word frequency results
3.Count the sum of the number of attributes contained inwordcounttoASum;
4.labels=[0 forainrange(N)];
5.FORiinwordcountdo
6. Count the sum of the number of attributes contained inwordcountitoSumAti;
7.SASum=0;OASum=0;EASum=0;Sum=0;
8.FORj,kini.items()do
9. Count the number of rules withATTjinrule′ toRSumj;
10. Count the sum of the number ofATTjcontained inrule′ toASumj;
11.AFrj=ASumj/ASum;
12.WFrj=WSumj/SumAti;
13. CalculateTFi,j,IDFi,jandωibyAFrj,WFrj,SumAti,RSumj,ASum,ASumj,WSumjandN;
14.IFATTjbelongstoSAithen
15.SASum=TFi,j·IDFi,j·ωi;
16.ELSEIFATTjbelongstoSAithen
17.OASum=TFi,j·IDFi,j·ωi;
18.ELSEthen
19.EASum=TFi,j·IDFi,j·ωi;
20.EndIF
21.EndFOR
22.Sum=σ·SASum+τ·OASum+φ·EASum;
23. addSumtolabels[i];
24.EndFOR
25.RETURNweighted labels;
3)系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解工作流程
針對(duì)系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解的工作流程如圖1所示.
圖1 系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解工作流程圖
Step 1.對(duì)策略庫(kù)中的策略規(guī)則進(jìn)行合并標(biāo)識(shí)處理獲得全體規(guī)則集合rule,并去除規(guī)則集合中規(guī)則的決策與操作屬性;
Step 2.對(duì)rule進(jìn)行預(yù)處理獲得預(yù)處理結(jié)果;
Step 3.根據(jù)預(yù)處理結(jié)果對(duì)規(guī)則進(jìn)行評(píng)估獲得規(guī)則評(píng)估標(biāo)簽;
Step 4.生成規(guī)則帶權(quán)重標(biāo)簽的策略集并上傳策略庫(kù).
在這一小節(jié)中,本文將介紹實(shí)現(xiàn)策略沖突消解階段功能的兩個(gè)核心功能:新加載規(guī)則緩沖區(qū)和自適應(yīng)訪問策略沖突類型的沖突消解策略,并在最后展現(xiàn)該部分整體的工作流程.
3.3.1 新加載規(guī)則緩沖區(qū)
在消解訪問策略沖突的過程中可能會(huì)出現(xiàn)更新訪問策略庫(kù)中策略集的情況,除了因消解沖突而導(dǎo)致沖突策略的系統(tǒng)自動(dòng)修正更新之外,也有因新規(guī)則上傳替代舊規(guī)則所導(dǎo)致的策略內(nèi)容更新的情況.但隨之而來的問題就是,當(dāng)在進(jìn)行沖突消解或者評(píng)估訪問請(qǐng)求的過程中,可能會(huì)出現(xiàn)因規(guī)則更新不及時(shí),導(dǎo)致系統(tǒng)使用的是舊版本策略規(guī)則的情況,這就違背了一定的訪問控制原則,同時(shí)可能會(huì)導(dǎo)致一些不安全的訪問獲取情況發(fā)生.為了解決上述問題,本文提出一種新加載規(guī)則緩沖區(qū).
新加載規(guī)則緩沖區(qū)應(yīng)用于系統(tǒng)運(yùn)行時(shí)的策略沖突消解最初階段,當(dāng)系統(tǒng)新加載規(guī)則后,新加載規(guī)則會(huì)進(jìn)入緩沖區(qū)中,同時(shí)系統(tǒng)會(huì)通過計(jì)算訪問評(píng)估高峰期來判斷更新預(yù)消解策略集并上傳策略庫(kù)的時(shí)間節(jié)點(diǎn),進(jìn)而保證不會(huì)因策略更新導(dǎo)致系統(tǒng)使用舊策略集進(jìn)行訪問評(píng)估所帶來的信息安全問題.需要注意的是,當(dāng)更新完畢的預(yù)消解策略集上傳策略庫(kù)之后,系統(tǒng)會(huì)撤銷緩沖區(qū)中的相關(guān)規(guī)則.
新加載規(guī)則緩沖區(qū)的工作流程分為系統(tǒng)更新階段和系統(tǒng)匹配階段,具體流程如下:
Step 1.系統(tǒng)更新階段
Step 1.1.系統(tǒng)捕獲新加載的規(guī)則,并將新規(guī)則上傳至新加載規(guī)則緩沖區(qū);
Step 1.2.判斷系統(tǒng)是否處于訪問評(píng)估高峰期,如果是則觸發(fā)計(jì)時(shí)器,該條規(guī)則進(jìn)入更新等待期,并在計(jì)時(shí)器到期后進(jìn)入Step 1.2;如果不是,則進(jìn)入Step 1.3;
Step 1.3.系統(tǒng)根據(jù)捕獲的新加載規(guī)則,將其分配至合適的規(guī)則類中重新估算整體的規(guī)則權(quán)重;
Step 1.4.生成新的帶權(quán)重標(biāo)簽策略集并上傳更新舊版本的策略集;
Step 1.5.撤銷緩沖區(qū)中已經(jīng)更新加載策略庫(kù)的規(guī)則.
Step 2.系統(tǒng)匹配階段
Step 2.1.系統(tǒng)捕獲訪問新加載規(guī)則緩沖區(qū)的請(qǐng)求,并根據(jù)訪問請(qǐng)求匹配新加載規(guī)則緩沖區(qū)的規(guī)則;
Step 2.2.判斷訪問請(qǐng)求匹配新加載規(guī)則緩沖區(qū)中規(guī)則的情況,如果適配成功則返回決策結(jié)果,如果適配失敗則進(jìn)行下一步的沖突消解流程.
3.3.2 自適應(yīng)訪問策略沖突類型的沖突消解策略
針對(duì)當(dāng)前多數(shù)策略沖突消解機(jī)制只支持單一的消解策略,且支持多消解策略的沖突消解機(jī)制需要人工定位策略沖突類型來選擇適合的消解策略等問題,本文提出一種自適應(yīng)訪問策略沖突類型的沖突消解策略.該自適應(yīng)沖突消解策略由多種消解策略組成,應(yīng)用于新加載規(guī)則緩沖區(qū)中無適配規(guī)則的情況下,并根據(jù)沖突類型自適應(yīng)選擇消解策略來對(duì)沖突進(jìn)行消解.
本文將消解策略的類型劃分為3種,其分別為Class1、Class2和Class3,其中Class1的優(yōu)先級(jí)最高,然后依次是Class2和Class3;同時(shí)根據(jù)一些現(xiàn)有工作[7,26],選擇制定4種消解策略用于在系統(tǒng)運(yùn)行時(shí)的策略沖突消解,它們分別是:策略發(fā)布時(shí)序優(yōu)先策略、拒絕操作優(yōu)先策略、允許操作優(yōu)先策略和管理員決策,其對(duì)應(yīng)的等級(jí)分別為Class1、Class1、Class2和Class3,相關(guān)定義如表1所示;需要注意的是,當(dāng)出現(xiàn)訪問策略沖突時(shí),首先檢測(cè)沖突類型,然后再根據(jù)沖突類型自適應(yīng)選擇沖突消解策略;拒絕操作優(yōu)先策略和允許操作優(yōu)先策略為管理員在系統(tǒng)運(yùn)行前選定指定.
表1 自適應(yīng)訪問策略沖突類型的沖突消解策略劃分類別
3.3.3 系統(tǒng)運(yùn)行時(shí)的策略沖突消解工作流程
針對(duì)系統(tǒng)運(yùn)行時(shí)的策略沖突消解的工作流程如圖2所示.
圖2 系統(tǒng)運(yùn)行時(shí)的策略沖突消解工作流程圖
Step 1.捕獲訪問請(qǐng)求,判斷新加載規(guī)則緩沖區(qū)中是否具有適配的新加載規(guī)則,如果是,則返回決策結(jié)果;如果不是,則跳轉(zhuǎn)至Step 2;
Step 2.根據(jù)訪問請(qǐng)求在策略庫(kù)中適配帶標(biāo)簽權(quán)重的策略集,判斷是否發(fā)生訪問策略沖突即判斷當(dāng)前是否有多條規(guī)則擁有同等的權(quán)重值且該權(quán)重值在適配策略集中最大,如果是則跳轉(zhuǎn)至Step 3;如果不是則返回決策結(jié)果;
Step 3.對(duì)發(fā)生沖突的訪問策略進(jìn)行沖突檢測(cè),并判斷是否為需要人工干涉的沖突類型,如果是,則執(zhí)行Class3的消解策略并返回決策結(jié)果;如果不是,則跳轉(zhuǎn)至Step 4;
Step 4.執(zhí)行Class1的消解策略并判斷是否消解沖突,如果沒有則跳轉(zhuǎn)至Step 5;如果是則返回決策結(jié)果;
Step 5.執(zhí)行Class2的消解策略并返回決策結(jié)果.
本文實(shí)驗(yàn)的操作運(yùn)行選擇在英特爾11th Gen Intel(R)Core(TM)i5-11400 @ 2.60GHz六核處理器、16GB內(nèi)存和64位Windows10操作系統(tǒng)的PC機(jī)上進(jìn)行,集成開發(fā)環(huán)境為JetBrains PyCharm 2019.1.1 x64和Myeclipse2017 CI.
本文一共設(shè)置了兩組實(shí)驗(yàn).第1組實(shí)驗(yàn)是檢測(cè)策略規(guī)則集預(yù)處理算法的有效性,驗(yàn)證策略規(guī)則集預(yù)處理算法對(duì)訪問策略這類混合型數(shù)據(jù)集是否能正確的處理,通過對(duì)比K-prototypes算法、EKP算法[31]和OCIL算法[32]在分類型和混合型數(shù)據(jù)上的處理性能,分析得到本文算法與其它算法之間的差異性.第2組實(shí)驗(yàn)為評(píng)估ATPCRM的沖突消解性能,通過設(shè)置不同量級(jí)的人工策略集,驗(yàn)證ATPCRM對(duì)沖突策略是否能夠成功消解,通過對(duì)比XACML下的兩類沖突消解算法,分析得到本文算法與XACML下的兩類沖突消解算法之間的差異性.值得注意的是,由于除本文算法以外的3個(gè)算法受初始聚類中心選擇以及受其它參數(shù)的影響,每次運(yùn)行結(jié)果可能有所不同,因此本文所涉及到的實(shí)驗(yàn)結(jié)果均是在算法運(yùn)行30次后取實(shí)驗(yàn)結(jié)果的平均值.
本文所使用的實(shí)驗(yàn)數(shù)據(jù)一共設(shè)置為兩種且分別對(duì)應(yīng)兩組實(shí)驗(yàn).針對(duì)第1組實(shí)驗(yàn),本文從UCI數(shù)據(jù)集[33]中選取了6組由分類型和混合型的數(shù)據(jù)集組成的測(cè)試數(shù)據(jù)來對(duì)策略規(guī)則集預(yù)處理算法進(jìn)行實(shí)驗(yàn),同時(shí)為了防止原始數(shù)據(jù)之間的差異會(huì)對(duì)結(jié)果造成影響,本文在實(shí)驗(yàn)前對(duì)其數(shù)值進(jìn)行了歸一化處理,具體數(shù)據(jù)指標(biāo)如表2所示;針對(duì)第2組實(shí)驗(yàn),本文隨機(jī)生成了五組符合XACML標(biāo)準(zhǔn)的標(biāo)準(zhǔn)人工策略集來對(duì)ATPCRM進(jìn)行測(cè)試且測(cè)試前已做了數(shù)據(jù)預(yù)處理工作,其人工策略集的數(shù)量規(guī)模依次為100、200、500、1000、2000;其中,每一條策略都有不少于1條的規(guī)則,每個(gè)規(guī)則由主體屬性、客體屬性、環(huán)境屬性、操作和決策屬性構(gòu)成,同時(shí)本文使用了策略沖突檢測(cè)算法對(duì)五組人工策略集進(jìn)行了沖突檢測(cè),具體數(shù)據(jù)指標(biāo)如表3所示.
表2 第1部分實(shí)驗(yàn)所用數(shù)據(jù)集
表3 第2部分實(shí)驗(yàn)所用數(shù)據(jù)集
在本文實(shí)驗(yàn)中,首先采用聚類精確度(Cluster Accuracy,CA)[34]、標(biāo)準(zhǔn)化互信息(Normalized Mutual Information,NMI)[35]、調(diào)整蘭德系數(shù)(Adjusted Rand index,ARI)[36]、Fowlkes-Mallows指數(shù)(Fowlkes-Mallows Index,FMI)[37]以及通過對(duì)比真實(shí)標(biāo)簽和預(yù)測(cè)標(biāo)簽之間的類別數(shù)來評(píng)價(jià)策略規(guī)則集預(yù)處理算法的性能;其次通過時(shí)間指標(biāo)和沖突消解指標(biāo)來衡量評(píng)價(jià)ATPCRM沖突消解性能.
聚類精確度CA:真實(shí)標(biāo)簽與聚類所得標(biāo)簽之間的差異與樣本總數(shù)的比值.其計(jì)算公式如公式(17)所示:
(17)
其中βi和cluster(γi)分別表示數(shù)據(jù)的真實(shí)標(biāo)簽和聚類所得標(biāo)簽,N表示樣本總數(shù),?(βi,cluster(γi))表示相似性指示函數(shù),其計(jì)算公式如公式(18)所示:
(18)
標(biāo)準(zhǔn)化互信息NMI:一種借助熵的概念來對(duì)聚類算法性能進(jìn)行評(píng)價(jià)的度量值.其計(jì)算公式如公式(19)所示:
(19)
其中P(i,j)表示隨機(jī)變量(i,j)的聯(lián)合概率分布,P(i)和P(j)分別表示變量i和j的概率分布.
調(diào)整蘭德系數(shù)ARI:一種在蘭德系數(shù)(Rand Index,RI)的基礎(chǔ)之上進(jìn)行過歸一化處理的評(píng)價(jià)指標(biāo),主要對(duì)一個(gè)聚類算法的結(jié)果和真實(shí)分類情況進(jìn)行比較從而對(duì)聚類算法進(jìn)行評(píng)價(jià).其計(jì)算公式如公式(20)所示:
(20)
其中ARI∈[-1,1],ARI值越趨近于1表示聚類結(jié)果與真實(shí)情況越接近;E(RI)表示期望的計(jì)算正確決策的比率,MAX(RI)最大的計(jì)算正確決策的比率.
Fowlkes-Mallows指數(shù)(Fowlkes-Mallows Index,FMI):一種由準(zhǔn)確率和召回率所構(gòu)成的幾何平均數(shù),其數(shù)學(xué)公式如公式(21)所示:
(21)
其中,TP代表聚類結(jié)果和真實(shí)結(jié)果中標(biāo)簽相匹配的點(diǎn)對(duì)數(shù)量,FP代表在真實(shí)結(jié)果中的與在聚類結(jié)果中的標(biāo)簽不歸屬同一類集群的成對(duì)數(shù)量,FN代表在聚類結(jié)果中的與在真實(shí)結(jié)果中的標(biāo)簽不歸屬同一類集群的成對(duì)數(shù)量.
本文相關(guān)算法的參數(shù)設(shè)置如表4所示.
表4 相關(guān)算法參數(shù)設(shè)置
4.6.1 策略規(guī)則集預(yù)處理算法的有效性實(shí)驗(yàn)結(jié)果分析
1)策略規(guī)則類別劃分算法的有效性分析
本輪實(shí)驗(yàn)中,為了驗(yàn)證策略規(guī)則類別劃分算法的準(zhǔn)確性,使用表2中的數(shù)據(jù)集對(duì)算法進(jìn)行多次實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖3和表5所示.
圖3 K值獲取實(shí)驗(yàn)結(jié)果圖
表5 策略規(guī)則類別劃分算法預(yù)測(cè)K值實(shí)驗(yàn)結(jié)果
圖3中展現(xiàn)的是策略規(guī)則類別劃分算法在取不同密度閾值時(shí)分別獲得的6種數(shù)據(jù)集中數(shù)據(jù)之間的類別數(shù)目即K值,橫坐標(biāo)表示密度閾值的取值,縱坐標(biāo)表示K值取值.從圖3可以看出,隨著密度閾值取值的遞增,算法分別獲取6種數(shù)據(jù)集的K值呈遞減趨勢(shì),且當(dāng)密度閾值達(dá)到某個(gè)值域范圍后,6種數(shù)據(jù)集的K值都呈收斂趨勢(shì).
由表5所知,6種數(shù)據(jù)集依據(jù)圖3所示的結(jié)果取對(duì)應(yīng)的密度閾值可以正確獲取K值,這表明策略規(guī)則類別劃分算法可以正確的劃分?jǐn)?shù)據(jù)集內(nèi)規(guī)則之間的類別以及獲取預(yù)處理算法所需要使用的初始聚類中心.
2)策略規(guī)則集預(yù)處理算法的有效性實(shí)驗(yàn)結(jié)果分析
本輪實(shí)驗(yàn)中,在使用表2的UCI數(shù)據(jù)集在表4所示的參數(shù)設(shè)置下,分別將K-prototypes算法、EKP算法和OCIL算法與本文算法進(jìn)行對(duì)比,并使用聚類精確度CA、標(biāo)準(zhǔn)化互信息NMI、調(diào)整蘭德系數(shù)ARI和Fowlkes-Mallows指數(shù)4個(gè)評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià),評(píng)價(jià)結(jié)果如表6~表9所示.
表6 算法評(píng)價(jià)指標(biāo)CA的評(píng)價(jià)結(jié)果比較
表7 算法評(píng)價(jià)指標(biāo)NMI的評(píng)價(jià)結(jié)果比較
表8 算法評(píng)價(jià)指標(biāo)ARI的評(píng)價(jià)結(jié)果比較
表9 算法評(píng)價(jià)指標(biāo)FMI的評(píng)價(jià)結(jié)果比較
由表6~表9可知,從CA、NMI和ARI值上看,EKP算法在數(shù)據(jù)集Credit-approval、CMC和Zoo上取得了最優(yōu)的結(jié)果,而OCIL算法在數(shù)據(jù)集Bank Marketing上取得的實(shí)驗(yàn)結(jié)果NMI優(yōu)于其他算法.除此之外,本文提出的算法在其余數(shù)據(jù)集上均取得了最優(yōu)的結(jié)果.這證明了本文所提出的策略規(guī)則集預(yù)處理算法在一定程度上可以有效地處理策略規(guī)則這類混合型數(shù)據(jù).
因此,根據(jù)本輪實(shí)驗(yàn)結(jié)果的分析,策略規(guī)則集預(yù)處理算法相比于其余3種聚類處理算法,可以較好的處理分析處理策略規(guī)則這類混合型數(shù)據(jù).
4.6.2 ATPCRM沖突消解的性能實(shí)驗(yàn)結(jié)果分析
本輪實(shí)驗(yàn)中,使用如表3所示的人工策略數(shù)據(jù)集在如表3.3所示的參數(shù)設(shè)置下,分別使用XACML環(huán)境下的允許優(yōu)先組合消解算法和拒絕優(yōu)先組合消解算法與ATPCRM進(jìn)行對(duì)比.沖突消解的性能實(shí)驗(yàn)結(jié)果如表10和圖4所示.
圖4 3類沖突消解方法的執(zhí)行時(shí)間結(jié)果對(duì)比圖
表10 沖突消解執(zhí)行次數(shù)結(jié)果比較
表10中通過對(duì)比數(shù)據(jù)的形式直觀展現(xiàn)了ATPCRM與XACML環(huán)境下的允許優(yōu)先組合消解算法和拒絕優(yōu)先組合消解算法對(duì)5種人工策略數(shù)據(jù)集的執(zhí)行次數(shù)對(duì)比.可見,ATPCRM在同樣請(qǐng)求條件下執(zhí)行的沖突消解次數(shù)均小于XACML環(huán)境下的兩個(gè)沖突消解算法,這證明了ATPCRM中的系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解階段在一定程度上起到了沖突消解的作用,其消解程度最高達(dá)到了48.1%.
圖4中比較的是3種沖突消解方法在5種人工策略數(shù)據(jù)集上的執(zhí)行時(shí)間,橫坐標(biāo)表示策略規(guī)模數(shù)量,縱坐標(biāo)表示執(zhí)行時(shí)間.由圖4的折線圖可知,3種沖突消解方法在評(píng)估訪問策略所消耗的時(shí)間都會(huì)隨著策略數(shù)目的增加,且ATPCRM與其余兩個(gè)算法對(duì)比均表現(xiàn)出了更優(yōu)異的結(jié)果,且隨著沖突數(shù)目的增多,XACML環(huán)境下的兩個(gè)沖突消解算法的時(shí)間消耗增長(zhǎng)率往往低于ATPCRM的增長(zhǎng)率,而沖突數(shù)目少時(shí)3種沖突消解方法的時(shí)間消耗較為相近.
因此,根據(jù)本輪實(shí)驗(yàn)結(jié)果的分析,ATPCRM相比于XACML環(huán)境下的兩個(gè)沖突消解算法,在一定程度上表現(xiàn)出了較好的消解效果.
本文提出了一種面向ABAC的雙階段訪問策略沖突消解機(jī)制:ATPCRM用于消解基于ABAC的訪問策略沖突.相比于其它沖突消解機(jī)制,ATPCRM提供了一些獨(dú)特的功能.1) ATPCRM提出了系統(tǒng)運(yùn)行前的訪問策略沖突預(yù)消解與系統(tǒng)運(yùn)行時(shí)的訪問策略沖突消解兩個(gè)階段的消解方法,通過兩個(gè)階段的沖突消解,在提高消解粒度的同時(shí),進(jìn)一步降低了系統(tǒng)運(yùn)行時(shí)用于沖突消解的時(shí)間消耗,增強(qiáng)了用戶友好性;2) ATPCRM支持在系統(tǒng)策略庫(kù)未更新時(shí),實(shí)時(shí)讀取新加載的訪問策略規(guī)則,進(jìn)一步地提高系統(tǒng)的實(shí)用性和安全性;3) ATPCRM支持根據(jù)沖突類型的不同自適應(yīng)采用不同的訪問策略沖突消解策略,在解決現(xiàn)有大部分支持多消解策略的機(jī)制需要人工根據(jù)沖突類型選擇消解策略的同時(shí),提高了消解粒度.實(shí)驗(yàn)表明,本文機(jī)制中的算法和機(jī)制本身都表現(xiàn)出了相較于其它機(jī)制和算法的優(yōu)異性,對(duì)提高消解面向ABAC的訪問策略沖突的粒度和效率有積極意義.未來的工作正在計(jì)劃進(jìn)一步分析和加強(qiáng)該機(jī)制,例如將策略規(guī)則集預(yù)處理算法中的密度閾值與合并閾值改造為自適應(yīng)的閾值,以至于能更好地對(duì)策略規(guī)則進(jìn)行劃分處理從而提高沖突消解的效率;或者應(yīng)用智能合約在其中.研究自適應(yīng)和更安全的訪問策略沖突消解機(jī)制是有意義的.