国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

互操作性與自治性平衡的跨域訪問控制策略映射

2020-10-11 03:07諸天逸李鳳華金偉郭云川房梁成林
通信學報 2020年9期
關(guān)鍵詞:互操作性跨域約束

諸天逸,李鳳華,金偉,郭云川,房梁,成林

(1.中國科學院信息工程研究所,北京 100093;2.中國科學院大學網(wǎng)絡(luò)空間安全學院,北京 100049;3.中國信息安全測評中心,北京 100085)

1 引言

不同機構(gòu)獨立運維現(xiàn)狀要求必須對信息系統(tǒng)與數(shù)據(jù)進行分域管理,這些信息系統(tǒng)呈現(xiàn)域內(nèi)互聯(lián)、域間孤立特征,使這些系統(tǒng)的數(shù)據(jù)不能被充分利用,這與系統(tǒng)互聯(lián)的信息傳播與共享協(xié)同本質(zhì)相悖。為了消除當前信息系統(tǒng)域間孤立特征,需要將現(xiàn)有孤立系統(tǒng)進行物理/邏輯連接,提升數(shù)據(jù)共享能力。這種物理/邏輯連接打破原有信息系統(tǒng)在管理上數(shù)據(jù)隔離現(xiàn)狀,帶來了新的訪問控制問題:如何確??缬虻臄?shù)據(jù)訪問者只有在受控模式下才能獲得完成業(yè)務(wù)功能所需的數(shù)據(jù)。針對該問題,同時為了降低系統(tǒng)建設(shè)成本,需要設(shè)計恰當?shù)脑L問控制策略跨域映射機制,將各系統(tǒng)已有的訪問控制系統(tǒng)進行邏輯連接,為跨域用戶分配完成任務(wù)所必需的最小權(quán)限,實現(xiàn)數(shù)據(jù)受控交換。例如,若域A用戶需要訪問域B的某些資源,可根據(jù)域A用戶在本域已有的角色和域B中擬訪問的資源,將域B內(nèi)相應(yīng)的角色分配給域A用戶,使域A用戶通過域B角色訪問這些資源,通過這種方式實現(xiàn)成本約束的數(shù)據(jù)受控使用。

跨域訪問控制策略映射機制包括2種:運行時策略映射機制[1-5]和配置時策略映射機制[6-11]。運行時策略映射機制是指用戶跨域訪問時與交互域在線協(xié)商授權(quán)策略,交互域結(jié)合當前自身角色層次的激活等情況,評估其請求操作中完成預(yù)期任務(wù)所需的最小權(quán)限或角色,并將之返回給跨域訪問請求用戶,以此保障域間互操作的動態(tài)授權(quán)。這種機制動態(tài)協(xié)商訪問權(quán)限,應(yīng)用場景廣泛。但是由于交互域策略語法和語義方面差異巨大,域間的松散耦合性質(zhì)不同,使多域策略無法集成融合,因此難以生成適用多個交互域的訪問控制策略。此外該機制采用在線多次交互方式協(xié)商權(quán)限,授權(quán)效率低。針對該問題,研究者提出了目前使用較為廣泛的配置時策略映射機制,該機制將各個自治域的訪問控制策略和人為設(shè)定的權(quán)限或角色映射關(guān)系作為輸入,并采用整數(shù)規(guī)劃等方式以域內(nèi)自治性等為代價消解這些映射可能導致的策略沖突,提升互操作性。該方式能生成全局適用且無沖突控制策略,適用于數(shù)據(jù)資源高頻訪問場景。但現(xiàn)有配置時策略映射機制存在如下問題。

1)未平衡互操作性和自治性損失。僅僅將自治域的自治性損失作為約束條件,以此獲得最大化互操作性,不能動態(tài)平衡互操作性和自治性損失。

2)不能自動生成目標函數(shù)和約束函數(shù)。依賴大量人工操作,在龐雜的現(xiàn)實權(quán)限映射關(guān)系中,約束規(guī)則錯綜復雜,無法通過人工操作有效處理。

3)模型開銷大、實際可行性低?,F(xiàn)有方案以多種方式建模解決策略映射中沖突消解等典型問題,考慮的權(quán)限關(guān)系簡單、典型,但是當角色、用戶、權(quán)限等數(shù)量龐大關(guān)系復雜時,模型開銷極大,可行性低。

為了解決上述問題,本文提出了域間訪問控制策略映射與沖突檢測消解方法,該方法基于具有約束的NSGA-III(non-dominated sorting genetic algorithm,the third version)算法來平衡域間互操作性和域內(nèi)自治性損失,并消解跨域策略沖突。本文的主要貢獻如下。

1)建立了最大化域間互操作、最小化域內(nèi)自治性損失的整數(shù)規(guī)劃方程,在傳統(tǒng)域間訪問控制約束的基礎(chǔ)上加入前提條件與基數(shù)等約束,使模型更接近實際應(yīng)用。

2)提出了帶約束的NSGA-III進化算法,用二進制編碼方式求解所建立的整數(shù)規(guī)劃方程,加入懲罰函數(shù)降低不符合約束的個體的環(huán)境適應(yīng)度。算法的時間復雜度為O(n2m),其中,m為目標函數(shù)個數(shù),n為種群大小。

3)在接近現(xiàn)實機構(gòu)的數(shù)據(jù)集上測試了所提出的方案,實驗數(shù)據(jù)表明,改進的算法在解決具有1 950維決策變量的問題時,僅用3 200代就使目標函數(shù)達到收斂,并且解的種類數(shù)目維持在300(種群大小為300),運行快速、收斂高效、非劣解多樣。

2 相關(guān)工作

多域異構(gòu)的訪問控制策略、語義、表示、組織方式等讓跨域授權(quán)問題成為研究難點,策略映射作為廣泛應(yīng)用的一種跨域訪問控制機制已在許多場景實現(xiàn)安全互操作。

2.1 運行時策略映射機制

Joshi等[1]關(guān)注多域角色映射的沖突問題,將角色劃分為激活、繼承等多種約束層次關(guān)系,提出的GTRBAC(generalized temporal role based access control)約束模型是域間運行時策略映射的基礎(chǔ)模型。但該模型局限于對層次關(guān)系的討論,煩瑣的角色關(guān)系不便于跨域互操作的實現(xiàn)。Du等[2]在此基礎(chǔ)上,將角色層次關(guān)系簡化為激活層次關(guān)系、繼承層次關(guān)系和繼承激活層次關(guān)系,討論松散耦合環(huán)境中的運行時策略映射問題,解決多域環(huán)境中這3種混合層次結(jié)構(gòu)的安全互操作問題。但整體策略維護困難,角色層次的管理問題突出,對松散耦合環(huán)境的普適性不高。Zhang等[3]針對新興環(huán)境的松散耦合環(huán)境提出一種請求驅(qū)動的運行時策略映射安全互操作框架,實現(xiàn)在RBAC(role based access control)松散耦合環(huán)境中的安全互操作。但松散耦合環(huán)境下的域間信任問題還未解決。Shahraki等[4]認為依靠中央管理的授權(quán)不安全,提出分散、多權(quán)限的基于屬性的訪問控制模型DMA-ABAC(decentralized multi-authority attribute-based access control),其跨域運行時授權(quán)結(jié)合基于屬性的訪問控制和基于屬性的組簽名,能抵抗第三方攻擊,但處理效率有限、無法同時處理大量訪問請求。Unal等[5]結(jié)合移動網(wǎng)絡(luò)的運行時環(huán)境,提出多域運行時策略映射模型FPM-RBAC(formal policy model for mobility with role based access control),能根據(jù)域間策略運行時指定和檢查移動用戶跨域互操作的安全性,但是該方案不能自動驗證移動網(wǎng)絡(luò)的安全策略,框架的集成規(guī)范需要完善。

運行時策略映射機制為跨域互操作提供靈活性、便捷性,適用于多種新興的分布式環(huán)境,如移動網(wǎng)絡(luò)、醫(yī)療服務(wù)等領(lǐng)域。但需要管理員的干預(yù)較多,策略的運行時維護也較復雜。

2.2 配置時策略映射機制

Kapadia等[6-7]提出的IRBAC2000(interoper-able role-based access control 2000)模型及A-IRBAC 2000(administrative IRBAC 2000)模型是跨域策略映射的開端,聯(lián)合2個自治域,建立了一套全局配置時角色層次關(guān)系,但模型未解決因此產(chǎn)生的策略沖突。Shehab等[8]在IRBAC 2000基礎(chǔ)上提出SEART(secure role mapping technique)模型,結(jié)合有向圖并增加角色禁止訪問關(guān)系,用路徑簽名算法實現(xiàn)分布式環(huán)境下配置時的多域全局映射的互操作,但該算法需用戶枚舉目標域角色路徑,角色關(guān)系復雜時選擇標準效率低。Shafiq等[9]將角色沖突分類,提出IP(integer programming)整數(shù)規(guī)劃的方法進行沖突消解,將多域的策略兩兩映射合成,從而形成多域通用的配置時映射策略,但其僅考慮部分典型跨域沖突,角色映射關(guān)系極大豐富時,基于圖形的規(guī)范模型實現(xiàn)困難,策略映射合并算法擁有指數(shù)復雜度。為解決社交網(wǎng)絡(luò)中不同域內(nèi)的用戶跨域訪問的安全性問題,F(xiàn)an等[10]使用基于對稱加密和CP-ABE(ciphertext policy attribute based encryption)混合加密算法,提出一種基于多權(quán)限屬性加密的跨域訪問控制方案,該方案盡管使用了代理用戶以減少部分開銷,但對規(guī)模龐大的社交網(wǎng)絡(luò)用戶來說,系統(tǒng)整體效率較低,對用戶的分級授權(quán)不易實現(xiàn)。Diao等[11]指出目前策略映射的過程是一項勞動密集型任務(wù),需要大量人工操作,因此提出一種智能角色映射推薦過程,可以根據(jù)角色的相似性自動生成2個域間的配置時策略映射,但提出的映射技術(shù)并沒有得到驗證,且未評估其可用性。

配置時策略映射機制讓用戶能在不同域間用統(tǒng)一方式進行訪問控制授權(quán),解決特定場景跨域互操作中的策略沖突,簡化管理。但難以解決復雜環(huán)境下策略映射的人工工作量大、開銷大、效率低的問題,無法應(yīng)對域內(nèi)策略的頻繁變動。

現(xiàn)有策略映射機制的主要思路是在運行時或配置時將多個自治域的不同策略進行一致性協(xié)調(diào),消解沖突并統(tǒng)一映射策略,使用時管理員根據(jù)訪問控制要求變化對映射策略更新調(diào)整。但這些方法在規(guī)模龐大、“角色-用戶-權(quán)限”關(guān)系復雜的現(xiàn)實環(huán)境下,可行性低,并且對沖突消解后自治域的自治性考慮較少。

本文提出的最優(yōu)化互操作與自治性的跨域訪問控制策略映射機制,綜合考慮多個自治域間的互操作性和自治性損失間的平衡,用2種啟發(fā)式算法在域間互操作性、自治域自治性損失度、策略多樣性等指標上對優(yōu)化效果評估。該機制能應(yīng)對復雜的角色層次關(guān)系,并自動生成沖突約束、目標函數(shù)等,簡化人工操作,提高了方法的適用性。

3 問題背景與描述

3.1 跨域訪問控制策略映射

為提高域間互操作性,需將不同域的訪問控制策略進行映射,圖1給出了一個域間RBAC策略映射的示例,該示例包含2個域(域A和域B),其中,域A包含5個角色(即r1、r2、r3、r4和r5)和6個用戶(即u1、u2、u3、u4、u5和u6)。域B包含4個角色(即r6、r7、r8和r9)和7個用戶(即u7、u8、u9、u10、u11、u12和u13)。相關(guān)概念如圖1所示。

1)域內(nèi)用戶/角色分配、角色層次和SoD沖突描述

圖1 域間RBAC策略映射的示例

如圖1所示,用戶和角色間的單向?qū)嵕€箭頭表示為用戶分配角色,如表示為用戶u1分配角色r1。如果2個具有互斥權(quán)限的角色被分配給同一用戶,這種違規(guī)稱為角色間的職責分離(SoD,separation of duty)沖突。角色間SoD沖突用帶SoD標記的雙向雙線箭頭表示,如表示r4和r5間存在角色SoD沖突。如果某角色被同時分配給來自2個沖突用戶集的用戶,這種違規(guī)稱為用戶間SoD沖突。用戶間SoD沖突用帶SoD標記的雙向單線箭頭表示,如表示u9和u10間存在用戶SoD沖突。此外,角色層次關(guān)系包含激活層次關(guān)系(即A-層次關(guān)系)和繼承層次關(guān)系(即I-層次關(guān)系),其中,A-層次關(guān)系表示激活之后,被繼承角色才能授予繼承角色的權(quán)限;I-層次關(guān)系表示不需要激活,被繼承角色就能授予繼承角色的權(quán)限。在圖1中分別用單向?qū)嵕€箭頭和單向虛線箭頭表示A-層次關(guān)系和I-層次關(guān)系;形式地,這2種關(guān)系分別記為≥A和≥I。r1≥Ir2表示,不需要激活,被繼承角色r1直接授予繼承角色r2相關(guān)權(quán)限;如r3≥Ar4表示,激活之后,被繼承角色r3才能授予繼承角色r4相關(guān)權(quán)限。

2)跨域角色映射與沖突消解

如圖1(a)所示,原始的域A和域B之間不存在任何跨域互操作。需要進行跨域互操作時,管理員在域A和域B的部分角色間建立跨域映射連接,此時域A和域B形成一張全局的映射關(guān)系圖,如圖1(b)。

若2個本地角色間存在誘導角色SoD沖突,那么連接這2個角色的上級角色無法同時激活這2個角色,因此上級角色與下級角色間的繼承關(guān)系將變?yōu)锳-層次關(guān)系(激活層次關(guān)系),如r6≥Ir7將變?yōu)閞6≥Ar7。這種改變導致自治域?qū)哟侮P(guān)系變化,降低域的自治性來提高跨域互操作性。

另一方面,添加跨域映射連接后,2個域之間可能存在跨域沖突,為保障域的自治性,確??缬蛴成涞陌踩裕鑼Ρ镜赜虻牟呗哉{(diào)整刪減。如圖1(c)所示,由于在r8和r3之間、r8和r5之間均存在跨域映射連接,但這種連接會導致u6通過r8間接獲取r3的權(quán)限,造成關(guān)聯(lián)沖突,一種可行的方式是刪除r8和r3間的跨域映射連接。

3.2 問題形式描述

雖然跨域角色映射可增加域間互操作性,但也導致域內(nèi)的自治性損失。為平衡跨域訪問控制的域間互操作性和域內(nèi)自治性,本文將該平衡問題建模為多目標整數(shù)規(guī)劃優(yōu)化問題,其中目標函數(shù)包括最大化域間互操作性函數(shù)和最小化域內(nèi)自治性函數(shù),如式(1)所示。

如3.1節(jié)中的圖1(c)所示,SAB表示為域A的所有用戶分配的域B中的角色集合,即表示可以為域A中的用戶u1分配域B中的角色r8,表示可以為域B中的用戶u7分配域A中的角色r5。wA和wB分別表示域A和域B中“用戶-角色”分配的權(quán)重,權(quán)重越大在優(yōu)化過程中該域策略被保留的可能性更高。例如,若域A的權(quán)重較大,則結(jié)果中域A用戶對域B角色的授權(quán)訪問將更高概率保留,相反,域B用戶對域A角色的授權(quán)訪問將更低概率保留。同理,表示為域A中用戶u1分配本地域角色r1,表示為域B中用戶u7分配本地域角色r6。NA和NB分別是域A和域B在跨域映射連接之前自治域內(nèi)部分配的“用戶-角色”的數(shù)量,在圖1(b)中,NA=13,NB=11??缬蛴成溥B接之后,部分域內(nèi)“用戶-角色”因跨域沖突無法繼續(xù)授權(quán)將導致自治性損失,如由此計算域內(nèi)自治性損失的比例。

從上述討論可以看出,規(guī)劃方程將以下兩部分作為多域映射策略的輸入:1)域A和域B的域內(nèi)角色分配關(guān)系、層次關(guān)系和沖突關(guān)系;2)管理員定義域間的部分角色映射關(guān)系。輸出符合約束函數(shù)、全局無沖突的跨域訪問控制策略。以圖1(b)為例,若域A權(quán)重為2,域B權(quán)重為3,則3個目標函數(shù)分別表示為

4 基于NSGA-III的策略映射算法

現(xiàn)實應(yīng)用場景下的域內(nèi)用戶和角色數(shù)量較多,導致難以準確快速求解式(1)~式(4)所定義的多目標整數(shù)規(guī)劃優(yōu)化問題。針對該問題,本文基于NSGA-III的策略映射算法有較低的復雜度(O(n2m)),能準確快速、較全面地搜索解集。

4.1 相關(guān)定義

本文使用的函數(shù)與謂詞具體釋義如表1所示。

定義1角色集。域D內(nèi)所有角色的集合用表示,其中,n為域D內(nèi)角色數(shù)量。

定義2用戶集。域D內(nèi)有角色,其用戶集為擁有角色ri的用戶所構(gòu)成的集合,其中,k為擁有角色ri的用戶數(shù)。

定義3角色SoD約束。給定域D內(nèi)有角色表示與ri存在角色SoD約束關(guān)系的角色集合,定義如式(5)所示。

其中,role_sod(ri,rj)=True 表示ri和rj存在角色SoD約束,即對于同一個用戶,不能同時被授予角色ri和rj。

表1 函數(shù)與謂詞具體釋義

定義4用戶SoD約束。給定域D內(nèi)有角色ri用戶集內(nèi)的2個用戶和間存在用戶SoD約束,則互相沖突的2個用戶之間構(gòu)成沖突用戶的二元組,表示為(um,un)。用USODri表示ri的用戶SoD沖突對象集,其定義如式(6)所示。

其中,user_sod(um,un)=True 表示um和un間存在用戶SoD約束,即對于同一個角色,不能授權(quán)給2個沖突的用戶um和un。

定義5角色映射連接。給定域D1內(nèi)有角色ri(ri∈RD1),域D2內(nèi)角色rj(rj∈RD2)存在映射關(guān)系,用Mri表示所有與角色ri有映射關(guān)系的角色rj組成的集合,如式(7)所示。

為了簡化問題,避免約束過度復雜,本文中考慮的每個角色的跨域映射連接數(shù)量少于3個,即。

定義6角色層次關(guān)系。給定域D內(nèi)有角色其所有上下級關(guān)聯(lián)關(guān)系(包含I-層次關(guān)系及A-層次關(guān)系)用四元組表示,其中,isn為I-層次的直接上級節(jié)點集,ijn為I-層次的直接下級節(jié)點集,asn為A-層次的直接上級節(jié)點集,ajn為A-層次的直接下級節(jié)點集。

若ri具有本地域內(nèi)上級I-層次關(guān)系的節(jié)點,則返回本地域內(nèi)其上級I-層次關(guān)系的節(jié)點集,如式(8)所示。

若ri具有本地域內(nèi)上級I-層次關(guān)系的節(jié)點,則返回本地域內(nèi)其下級I-層次關(guān)系的節(jié)點集,如式(9)所示。

若ri具有本地域內(nèi)上級I-層次關(guān)系的節(jié)點,則返回本地域內(nèi)其上級A-層次關(guān)系的節(jié)點集,如式(10)所示。

若ri具有本地域內(nèi)上級I-層次關(guān)系的節(jié)點,則返回本地域內(nèi)其下級A-層次關(guān)系的節(jié)點集,如式(11)所示。

定義7角色標簽。給定域D內(nèi)有角色其標簽用八元組來表示,如式(12)所示。

4.2 目標函數(shù)生成

4.2.1域間互操作性

域間互操作是指自治域的用戶通過跨域角色映射后實現(xiàn)數(shù)據(jù)交互訪問。即本地角色被授予交互域角色的授權(quán),并獲得其權(quán)限,域間的跨域交互越多,說明域間互操作性越強。

定義8給定用戶集合為(i≤j),角色集合定義SUR為U內(nèi)所有用戶被賦予的角色數(shù)之和,即

域間互操作性目標函數(shù)根據(jù)域間已經(jīng)確定的角色映射連接生成。目標函數(shù)生成算法如算法1所示,具體如下。

1)搜索域A中的所有角色節(jié)點,記錄與域B有直接映射連接關(guān)系的角色,記集合為

域A用戶通過跨域角色映射連接對域B角色的訪問表示為

同理,得出域B用戶通過跨域角色映射連接對域A角色的訪問表示為crossdoaminB→A

例1對于圖1(b)實例,取域A的權(quán)重為2,域B的權(quán)重為3(c1=3,c2=2),即

由于求解的最大化域間互操作性為最大值求解,為NSGA-III算法計算方便,將其轉(zhuǎn)換為求解上式的最小值。

4.2.2域內(nèi)自治性損失

域內(nèi)自治性損失,是指消解角色SoD沖突、用戶SoD沖突、關(guān)聯(lián)沖突等所導致的本地“用戶-角色”授權(quán)分配的損失度。

自治性損失目標函數(shù)主要根據(jù)域間互操作前后,域內(nèi)的訪問控制授權(quán)數(shù)量生成。目標函數(shù)通過如下過程生成:遍歷域A在沒有跨域訪問控制連接時,所有可能的本地域訪問控制映射。對于域A任意的ri(ri∈RA),其中RA為域A的全部角色集合,ri的授權(quán)用戶集表示為。具體如算法2所示。

例2對于圖1(b)實例,域A和域B的域自治性損失的目標函數(shù)為

4.3 訪問控制約束

本文考慮以下7種(固有關(guān)系約束、角色SoD約束、用戶SoD約束、前提條件約束、基數(shù)約束、誘導SoD約束、關(guān)聯(lián)沖突約束)典型跨域訪問控制沖突,將其轉(zhuǎn)換為約束方程,利用IP整數(shù)規(guī)劃方法求解全局無沖突的跨域訪問控制映射策略,約束方程的生成算法將在4.4節(jié)具體說明。本文用Uk表示域k的用戶集,Rk表示域k的角色集,7種約束描述如下。

1)固有關(guān)系約束。在未經(jīng)優(yōu)化的跨域訪問控制策略中,本地域的一些“用戶-角色”授權(quán)關(guān)系(如用戶通過I-層次關(guān)系訪問本地角色)不會因跨域互操作而改變,這些關(guān)系將保留在優(yōu)化后的全局策略中。

2)角色SoD約束。當2個角色所對應(yīng)的權(quán)限互相沖突時,這2個互斥角色不能同時被授權(quán)給同一個用戶。

3)用戶SoD約束。出于系統(tǒng)安全性考慮,一個角色的2個互斥用戶不能同時被授權(quán)訪問該角色。

4)前提條件約束。只有當不同域的2個角色之間的跨域角色映射連接存在時,本域的高級角色才能連接外域角色。

5)基數(shù)約束。出于系統(tǒng)安全性考慮,一個角色被分配的用戶數(shù)量受限。

6)誘導SoD約束。若本域的2個角色間存在角色SoD約束,那么這2個角色通過跨域角色映射連接所對應(yīng)的外域的2個角色間也存在角色SoD約束,稱為誘導SoD約束。

若域k內(nèi)的2個不同角色間存在角色SoD,而域l內(nèi)的2個不同角色間也存在角色SoD,則對于任意域內(nèi)或域外用戶um,表示為

7)關(guān)聯(lián)沖突約束。本域用戶通過跨域角色映射連接訪問外域角色,并再次通過其他跨域映射角色連接訪問本域高級角色,使本域用戶非法訪問本域的高級角色,從而造成跨域沖突。

若rj是um的授權(quán)角色,ri是un的授權(quán)角色,存在如下關(guān)系

ri與rj間存在跨域角色連接,記為間存在跨域角色連接,記為表示為

4.4 約束條件生成

在跨域分布式協(xié)作場景中,角色、用戶和權(quán)限之間的約束關(guān)系廣泛存在,為確保跨域策略的無沖突融合、本地策略的安全變動,要完整地生成約束函數(shù)。但利用管理員或人工分配的方式效率低、成本高,且難以維護[2,12]。針對上述問題,本文提出約束函數(shù)的自動生成算法,對不同的約束條件生成對應(yīng)的等式或不等式約束。生成算法包括固有關(guān)系約束生成算法、角色SoD約束生成算法、用戶SoD約束生成算法、前提條件約束生成算法、基數(shù)約束生成算法、誘導SoD生成算法、關(guān)聯(lián)沖突約束生成算法。具體如下。

4.4.1固有關(guān)系約束生成算法

固有關(guān)系約束生成算法的核心思想如下:首先遍歷RD中每個角色ri,剔除ri中那些授權(quán)用戶中存在用戶SoD約束的角色(因為那些“角色-用戶”的授權(quán)關(guān)系不能直接確定);求解ri的I-層次下級角色得到集合Ri,因跨域策略優(yōu)化可能導致ri的授權(quán)用戶無法被分配到A-層次的下級角色,因此只考慮I-層次下級角色;最后遍歷用戶集內(nèi)的角色um,根據(jù)4.3節(jié)的固有關(guān)系約束生成約束等式,并加入約束集合。具體算法如算法3所示。

4.4.2角色SoD約束生成算法

給定域k與域l進行跨域互操作,且2個域內(nèi)所有用戶的集合為Ukl,角色SoD約束生成算法的輸入為域k與域l內(nèi)所有角色,記為Rk,輸出為一個存放角色SoD不等式約束的集合,記為C2s。

角色SoD約束生成算法的核心思想如下:首先遍歷Rk中每個角色ri,判斷其RSODri標簽是否為空,若為空則判斷下一個ri,否則繼續(xù)執(zhí)行;其次遍歷RSODri內(nèi)每個角色rj,并遍歷所有用戶集合Ukl中的每一個用戶um,根據(jù)角色SoD約束生成約束不等式,并加入約束集合。具體算法如算法4所示。

4.4.3用戶SoD約束生成算法

給定域D內(nèi)有角色ri,其授權(quán)用戶集為Uri,用表示中的沖突用戶二元組,其中,是2個沖突的用戶。用戶SoD約束生成算法的輸入為域D內(nèi)所有角色,記為RD,輸出為一個存放用戶SoD的不等式約束的集合,記為C3s。

用戶SoD約束生成算法的核心思想如下。首先遍歷Rk中每個角色ri,判斷其標簽是否為空,若為空則判斷下一個ri,否則將其加入RSoD。其次遍歷RSoD中每個角色rj,對每個rj首先查找其所有A-層次或I-層次的本地域下級角色,記為接著查找其所有A-層次或I-層次的交互域下級角色,記為分為兩步生成:1)在中搜索每個角色rl是否擁有跨域連接;2)對于擁有跨域連接角色,獲取rl的標簽中每個角色的所有下級角色,添加到集合生成集合中每個角色rs;對于每個rs,中每個角色rt,結(jié)合中的用戶對,根據(jù)用戶SoD約束生成約束集合。具體算法如算法5所示。

4.4.4前提條件約束生成算法

給定域D內(nèi)有角色ri和角色rj,2個角色的授權(quán)用戶集分別為,外域K內(nèi)有角色rl。前提條件約束生成算法的輸入為域D和外域K內(nèi)所有角色,記為RD和RK,輸出為一個存放前提條件約束的不等式約束的集合,記為C4s。

前提條件約束生成算法的核心思想如下:首先遍歷RD中每個角色ri,判斷其標簽是否為空,若為空則判斷下一個ri,否則將其加入RM;然后遍歷RM中每個角色ri,查找其所有上級角色放入集合;依次檢索的中的角色rj,并判斷rj與ri之間是否存在A-層次關(guān)系,根據(jù)前提條件約束生成約束集合。具體算法如算法6所示。

4.4.5基數(shù)約束生成算法

給定域D內(nèi)有角色ri,其授權(quán)用戶集為Uri,且同時激活的授權(quán)用戶數(shù)量為Nlim?;鶖?shù)約束生成算法的輸入為域D內(nèi)所有角色,記為RD,輸出為一個存放基數(shù)約束的不等式約束的集合,記為C5s。

基數(shù)約束生成算法的核心思想如下:首先遍歷Rk中每個角色ri,判斷其標簽是否為空,若為空則判斷下一個ri,否則繼續(xù)執(zhí)行;其次對標簽不為空的ri,遍歷其中每個用戶um,并對求和;對以上求得的和根據(jù)基數(shù)約束生成約束不等式,并加入C5s。具體算法如算法7所示。

4.4.6誘導SoD約束生成算法

若域k與域l進行跨域互操作,um是任意域內(nèi)或域外用戶。誘導SoD約束生成算法的輸入為域k與域l內(nèi)所有角色,記為RD,輸出為一個存放誘導SoD約束的不等式約束的集合,記為C6s。

誘導SoD約束生成算法的核心思想如下:首先遍歷Rk中每個角色ri,判斷其標簽是否為空,若為空則判斷下一個ri,否則繼續(xù)執(zhí)行;其次遍歷ri的標簽內(nèi)每個角色rj;遍歷ri的標簽內(nèi)每個角色rs;遍歷rj的標簽內(nèi)每個角色rt;根據(jù)誘導SoD約束生成約束不等式,并加入C6s。具體算法如算法8所示。

4.4.7關(guān)聯(lián)沖突約束生成算法

若域k內(nèi)有un、ri、rl,域l內(nèi)有um、rj。關(guān)聯(lián)沖突約束生成算法的輸入為域k與域l內(nèi)所有角色,記為RD,輸出為一個存放關(guān)聯(lián)沖突約束的不等式約束的集合,記為C7s。

關(guān)聯(lián)沖突約束生成算法的核心思想如下:首先遍歷Rk中每個角色ri,判斷其標簽內(nèi)跨域連接角色的個數(shù)是否大于1,若滿足條件則用rj和rl分別表示其中的低級角色和高級角色,否則繼續(xù)執(zhí)行;遍歷rj的標簽中每個用戶rn;對每個rn,遍歷ri的標簽中每個用戶rm,根據(jù)關(guān)聯(lián)沖突約束生成約束不等式,并加入約束集合。具體算法如算法9所示。

4.5 NSGA-III多目標優(yōu)化算法

NSGA-III采用基于參考點的非支配排序算法,解決2~15個目標的多目標優(yōu)化問題時速度快,且同時保證準確性和多樣性,獨特的理想點與小生境可避免在優(yōu)化過程中陷入局部收斂,該算法的計算復雜性顯著低于NSGA-II算法。相較于一般的遺傳算法,NSGA-III算法需要設(shè)置的參數(shù)較少、使用方便,初始種群設(shè)置無依賴性,染色體使用二進制編碼,找到最優(yōu)解集后對問題解碼方便。因此,本文采用帶約束的NSGA-III多目標優(yōu)化算法,在算法中將域間互操作性、域A的自治性損失和域B的自治性損失作為優(yōu)化的目標函數(shù),將生成的跨域策略沖突的約束函數(shù)作為算法的約束,其時間復雜度為O(n2logm-2n)或O(n2m),其中n、m分別為種群個體數(shù)目、目標函數(shù)個數(shù)。算法主要包含以下9個部分。

1)染色體生成。在4.2.1節(jié)中,根據(jù)例1中圖1(b)的實例得到fcrossdomain,如下式所示。

進行上述操作后,遺傳算法種群中任意個體i可以表示為m+n+l維的決策變量,如式(24)所示。其中

由每一代更新產(chǎn)生的所有染色體的集合,稱為種群,用P表示。

2)約束條件生成。約束條件即4.3節(jié)提出的跨域訪問控制約束,利用4.4節(jié)提出的約束條件生成算法生成。不符合約束條件的個體會受到不同程度的懲罰,從而淘汰那些不符合條件的個體,使解集中的解都滿足約束條件。

3)種群初始化。在設(shè)置一系列算法參數(shù)的同時,需要對種群進行初始化操作。為了改進程序性能,使算法以最少的迭代次數(shù)達到收斂狀態(tài),需要生成一個適應(yīng)度較好的種群。本文在初始化過程中,生成每個個體popi的同時,檢查該個體是否滿足所有的約束集合C內(nèi)的條件,若滿足則將該個體納入種群,否則丟棄。生成初始種群P后,計算其適應(yīng)度值。

4)參考平面生成。參考平面是一個歸一化的平面,它與所有物鏡軸都有一個截距,NSGA-III中的參考平面用Das等[14]的系統(tǒng)方法生成。該平面輔助尋找廣泛分布在帕累托最優(yōu)前沿或附近的解,以確保解的多樣性。

5)交叉變異。將種群P復制為P',對P'分別進行交叉和變異操作,使之可能產(chǎn)生更優(yōu)的個體(即一種可能更優(yōu)的跨域策略)。

6)適應(yīng)度值計算。適應(yīng)度用于衡量每個染色體所對應(yīng)的一種策略的優(yōu)良,即所對應(yīng)的跨域互操作性、域A自治性損失度和域B自治性損失度的高低。如果染色體所對應(yīng)的跨域互操作性越高、域A自治性損失度和域B自治性損失度越小,表示該染色體適應(yīng)度越好。適應(yīng)度值為一個三維向量,種群P中第i個個體的適應(yīng)度值可以表示為。高適應(yīng)度值的個體(策略組合)意味在迭代過程中以更高概率保留,低適應(yīng)度值的個體(策略組合)意味在迭代過程中以更低概率保留,在本文中適應(yīng)度值范圍為[0,1]。與傳統(tǒng)的NSGA-III不同的是,在計算P'的適應(yīng)度值時,引入懲罰函數(shù)對不滿足約束的個體進行對應(yīng)維度的懲罰。首先根據(jù)3個目標函數(shù)和計算種群P'的適應(yīng)度值,再判斷P'中每個個體popi是否滿足所有的約束等式和不等式條件C。若popi滿足條件,則不修改其適應(yīng)度值,否則,根據(jù)式(24)確定該個體涉及的不滿足約束的二進制決策變量位置,并將此位置對應(yīng)的適應(yīng)度值置零。例如,當中含有不符合約束決策變量的決策變量時,則將均置為0(0為最低的適應(yīng)度),以此降低該個體在迭代中保留下來的概率。符號表述如算法10所示。

7)理想點計算。理想點的三維度(3個目標函數(shù))數(shù)值全部是種群中所有個體的最優(yōu)值。NSGA-III中的理想點的作用與NSGA-II中擁擠度較為相似,都用于非支配排序,但在多目標優(yōu)化表現(xiàn)更優(yōu)。選取每一代種群中,在3個維度(跨域互操作性、域A自治性損失度和域B自治性損失度)最優(yōu)的值作為理想點,越靠近理想點則該染色體被保留的可能性越大。將初始種群P中的N個個體和種群P'中的N個個體混合得到混合種群Pmix,其個體數(shù)量為2N,并計算其理想點坐標。即

8)下一代子代的選擇。子代利用非支配排序和個體到理想點的距離,對Pmix中的2N個個體進行分層,選擇其中的N個個體作為子代Pc。

9)計算產(chǎn)生的新種群Pc的適應(yīng)度值,并判斷當前的迭代次數(shù),若迭代次數(shù)達到最大次數(shù),則結(jié)束迭代,并進行畫圖及數(shù)值輸出;否則,轉(zhuǎn)向步驟5)。

帶約束的NSGA-III算法的如算法11所示。

5 實驗及分析

由于約束生成算法僅在程序初始化過程中運行一次,其運行時間和輸入的角色節(jié)點、用戶規(guī)模有關(guān),本文測試的3種規(guī)模下,運行時間可以忽略不計。實驗將窮舉法、MOEA/D[13-14]這2種算法與本文提出的帶約束的NSGA-III算法進行對照實驗,多維度比較算法優(yōu)劣。

5.1 實驗設(shè)置

5.1.1實驗環(huán)境

本文仿真實驗用Python編程實現(xiàn)。開發(fā)工具為pycharm2018.2,開發(fā)環(huán)境為Windows 7 Enterprise(64 bit),Inter(R) Core(TM)i7-3587U CPU @ 2.1 GHz,10 GB內(nèi)存。

5.1.2實驗用例

為驗證本文所提算法在實際問題中的適用性及效果。本文采用人為構(gòu)造的數(shù)據(jù)集,該數(shù)據(jù)集根據(jù)現(xiàn)實的組織機構(gòu)Z內(nèi)的角色層級關(guān)系,并加入7類典型訪問控制約束進行仿真。數(shù)據(jù)集分為小、中、大3種不同規(guī)模的域間角色關(guān)系數(shù)據(jù)集,將其作為輸入測試算法性能。3種規(guī)模數(shù)據(jù)量如表2所示。

表2 不同數(shù)據(jù)集的域內(nèi)和域間結(jié)構(gòu)

5.2 結(jié)果分析

實驗評價指標主要為3個,分別是種群中每個個體平均的互操作性(Avgcrossdomain)、域A自治性損失(AvglossA)和域B自治性損失(AvglossB),如式(26)~式(28)所示。

通過計算每一代種群中3個目標函數(shù)適應(yīng)度值的均值,反映種群總體在3個維度的適應(yīng)度變化。若隨著迭代次數(shù)的增加,這3個指標變化較小或不再變化,即NSGA-III算法的解已經(jīng)收斂。如4.5節(jié)中帶約束的NSGA-III算法所示,如果連續(xù)5次滿足第i+1代和第i代種群的3個指標(Avgcrossdomain、AvglossA和AvglossB)的數(shù)值分別相差不超過1‰,則認為3個評價指標達到穩(wěn)定點。

本文在3種不同規(guī)模大小的數(shù)據(jù)集上進行測試,并在每種數(shù)據(jù)集上,分別用窮舉法、MOEA/D算法與本文的帶約束的NSGA-III算法進行對比。實驗結(jié)果從多個維度進行比較:3個目標函數(shù)的評價函數(shù)(Avgcrossdomain、AvglossA和AvglossB)達到穩(wěn)定點的時間,解的多樣性、穩(wěn)定性、準確性。

5.2.1小規(guī)模數(shù)據(jù)集測試

本文以小規(guī)模數(shù)據(jù)集(如圖2所示)為例,詳述優(yōu)化操作的具體過程,根據(jù)4.2節(jié)目標函數(shù)生成算法生成3個目標函數(shù),具體如下。

圖2 域間RBAC策略映射的示例

根據(jù)4.4節(jié)約束條件生成算法,得到的約束等式/不等式如下所示。

小規(guī)模數(shù)據(jù)集測試設(shè)置的參數(shù)為:迭代次數(shù)50次,種群大小200,決策向量的每一位的交叉、變異概率為,測試中決策變量維度為43。

小規(guī)模數(shù)據(jù)集測試的輸入圖即為第3.1節(jié)的圖1(c),共生成約束24條,執(zhí)行時間為4 s。

互操作性與自治性損失的穩(wěn)定點。圖3和圖4分別是MOEA/D算法和帶約束的NSGA-III算法的Avgcrossdomain、AvglossA和AvglossB這3條評價函數(shù)的變化曲線。MOEA/D算法的3條評價函數(shù)收斂曲線收斂速度較快,在7次迭代就趨于收斂,達到穩(wěn)定點。帶約束的NSGA-III算法的評價函數(shù)在16次迭代趨于收斂,相對于MOEA/D算法收斂速度較慢。窮舉法實驗中運行時間過長,即使是規(guī)模較小的數(shù)據(jù)集,也無法在有限時間內(nèi)求解所有符合約束條件的正確解。

圖3 MOEA/D的Avgcrossdomain、AvglossA和AvglossB指標變化曲線(小規(guī)模數(shù)據(jù)集)

圖4 NSGA-III的Avgcrossdomain、AvglossA和AvglossB指標變化曲線(小規(guī)模數(shù)據(jù)集)

圖5和圖6分別是MOEA/D算法和帶約束的NSGA-III算法的解多樣性變化曲線,可見帶約束的NSGA-III算法的解具有豐富的多樣性,多次試驗的解集一致,且經(jīng)驗證這些解都是符合所有約束條件的正確解。MOEA/D算法的解多樣性較差,算法容易局部收斂而無法得到所有全部正確的解,多次實驗得到的解并不相同,且解集中含有少量的解并不能滿足所有約束條件,即為錯誤解。

5.2.2中規(guī)模數(shù)據(jù)集測試

中規(guī)模數(shù)據(jù)集測試設(shè)置的參數(shù)為:迭代次數(shù)1 800次,種群大小200,決策向量的每一位的交叉、變異概率為。由于種群越大,每一代執(zhí)行時間越長,測試中決策變量維度為2 556。中規(guī)模數(shù)據(jù)集測試的域A和域B的域內(nèi)“用戶-角色”層級分別如圖7和圖8所示,共生成約束276條,執(zhí)行時間為4.5 h。

圖5 MOEA/D的解多樣性變化曲線(小規(guī)模數(shù)據(jù)集)

互操作性與自治性損失的穩(wěn)定點。圖9和圖10分別是MOEA/D算法和帶約束的NSGA-III算法的Avgcrossdomain、AvglossA和AvglossB這3條評價函數(shù)的變化曲線。MOEA/D算法在510次迭代后收斂并達到穩(wěn)定點,帶約束的NSGA-III算法在1 250次迭代后收斂并達到穩(wěn)定點。

解的多樣性、穩(wěn)定性、準確性分析。圖11和圖12分別是MOEA/D算法和帶約束的NSGA-III算法的解多樣性變化曲線。由圖11和圖12可知,因MOEA/D算法容易陷入局部收斂,規(guī)模越大局部收斂越明顯,即解的多樣性越差。帶約束的NSGA-III算法的解的多樣性好,且更穩(wěn)定。

5.2.3大規(guī)模數(shù)據(jù)集測試

大規(guī)模數(shù)據(jù)集測試設(shè)置的參數(shù)為:迭代次數(shù)5 000次,種群大小300,決策向量的每一位的交叉、變異概率為,測試中決策變量維度為6 539。

3個評價指標的變化趨勢如圖13所示,執(zhí)行時間為91 h。大規(guī)模數(shù)據(jù)集測試中共有約束435條,因規(guī)模較大無法清楚顯示細節(jié),故不再給出“用戶-角色”層級圖。

從圖13可以看出,算法在3 100代左右達到收斂,3個評價指標變化開始變小或穩(wěn)定不變。

由帶約束的NSGA-III算法解得的結(jié)果,去重后以文本形式輸出,在大數(shù)據(jù)集測試下共得到200組符合約束的帕累托最優(yōu)解,經(jīng)驗證這些解均為符合約束條件的可行解。

圖6 NSGA-III算法的解多樣性變化曲線(小規(guī)模數(shù)據(jù)集)

圖9 MOEA/D的Avgcrossdomain、AvglossA和AvglossB 指標變化曲線(中規(guī)模數(shù)據(jù)集)

圖10 NSGA-III的Avgcrossdomain、AvglossA和AvglossB 指標變化曲線(中規(guī)模數(shù)據(jù)集)

圖11 MOEA/D的解多樣性變化曲線(中規(guī)模數(shù)據(jù)集)

圖12 NSGA-III的解多樣性變化曲線(中規(guī)模數(shù)據(jù)集)

圖13 NSGA-III的Avgcrossdomain、AvglossA和AvglossB指標變化曲線(大規(guī)模數(shù)據(jù)集)

Avgcrossdomain、AvglossA和AvglossB達到穩(wěn)定點的時間、解的多樣性、穩(wěn)定性、準確性實驗結(jié)果與中數(shù)據(jù)集測試相似。在多樣性方面,由于解空間巨大,預(yù)設(shè)的種群大小為300,迭代過程中基本每一代保持了300種不同的染色體,直至達到穩(wěn)定點后輸出300種不同類型的染色體(即可行解)。

對3種規(guī)模實驗下,窮舉法、MOEA/D算法和帶約束的NSGA-III算法進行比較。經(jīng)過上述實驗,可以得到下面的結(jié)論。

窮舉法雖然準確性高,但運行時間非常長。無法處理復雜的域間映射關(guān)系,在應(yīng)對多樣的約束條件時,不能在有效的時間內(nèi)解得可行解。在過去的多類相關(guān)研究中[8-9,11],研究者著眼于模型、語義、模式格式和約束的研究,絕大多數(shù)采用管理員人工授權(quán)等,很少對其理論在實際場景中的可行性進行驗證。窮舉法對應(yīng)管理員授權(quán)方式,在本文無實際輸出結(jié)果,但也論證了在現(xiàn)實多約束環(huán)境下管理員方式的局限性。

帶約束的NSGA-III算法同MOEA/D算法相比,雖然運行速度沒有MOEA/D算法快,但其運行速度在現(xiàn)實中是可以接受的。并且?guī)Ъs束的NSGA-III算法在解的準確性和多樣性方面,遠優(yōu)于MOEA/D算法。

6 結(jié)束語

本文針對如何平衡域間互操作性和域內(nèi)自治性這一重要問題,提出一種基于多目標整數(shù)規(guī)劃優(yōu)化的跨域訪問控制策略映射機制。首先,該機制可以平衡域間互操作性和域內(nèi)自治性,保證域間互操作性最大化且域內(nèi)自治性損失最小。在此基礎(chǔ)上,該機制在傳統(tǒng)域間訪問控制約束的基礎(chǔ)上加入前提條件與基數(shù)等約束,使模型更接近實際應(yīng)用。在加入目標函數(shù)、約束函數(shù)自動生成算法后,大大減少了人工管理員的煩瑣操作。最后,本文實現(xiàn)的帶約束的NSGA-III優(yōu)化算法,在模擬現(xiàn)實機構(gòu)特征的小中大規(guī)模數(shù)據(jù)集上進行測試,實驗結(jié)果進一步說明了機制的高效性和準確性。

猜你喜歡
互操作性跨域約束
基于多標簽協(xié)同學習的跨域行人重識別
為群眾辦實事,嶗山區(qū)打出“跨域通辦”組合拳
混合跨域神經(jīng)網(wǎng)絡(luò)的草圖檢索算法
G-SRv6 Policy在跨域端到端組網(wǎng)中的應(yīng)用
韓軍武器系統(tǒng)互操作性現(xiàn)狀及未來發(fā)展
馬和騎師
有人/無人機協(xié)同互操作性研究
信息系統(tǒng)互操作性評估技術(shù)研究
適當放手能讓孩子更好地自我約束
CAE軟件操作小百科(11)
黔西县| 丹江口市| 宁阳县| 昔阳县| 荔波县| 平果县| 太仓市| 彰化市| 东兰县| 抚顺县| 西华县| 清水县| 九台市| 丹阳市| 南陵县| 浦城县| 蓬莱市| 蒙城县| 长宁区| 襄汾县| 观塘区| 通道| 自贡市| 台前县| 涡阳县| 芮城县| 宜良县| 霍山县| 黄骅市| 内乡县| 台北市| 玉环县| 楚雄市| 凌源市| 桂东县| 镇宁| 绥棱县| 百色市| 隆安县| 茂名市| 长武县|