張文芳,董冠群,王小敏,吳文豐
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031; 2.西南交通大學(xué) 信息安全與國家計算網(wǎng)格四川省重點實驗室,四川 成都 610031)
隨著云計算、普適計算、P2P計算和Ad Hoc等大規(guī)模分布式系統(tǒng)的深入研究和廣泛應(yīng)用,系統(tǒng)形態(tài)從面向封閉、熟識的用戶群體和相對靜態(tài)的形式向開放的、公共可訪問的以及動態(tài)協(xié)作的服務(wù)模式轉(zhuǎn)變,同時開放的分布式系統(tǒng)還具有分散性、異構(gòu)性和訪問匿名性等特點,如何使訪問控制更好地保證分布式系統(tǒng)中敏感數(shù)據(jù)的共享安全,已經(jīng)成為當(dāng)今信息領(lǐng)域的研究熱點。然而,傳統(tǒng)的訪問控制模型,如自主訪問控制(Discretionary Access Control, DAC)[1]、強制訪問控制(Mandatory Access Control, MAC)[2]、基于角色的訪問控制(Role-Based Access Control, RBAC)[3]、基于任務(wù)的訪問控制(Task-Based Access Control, TBAC)[4]和基于任務(wù)—角色的訪問控制(Task-Role-Based Access Control, T-RBAC)[5]等模型,不能很好地適應(yīng)分布式系統(tǒng)開放性、動態(tài)性、異構(gòu)性、可伸縮性和分散式管理的特殊需求[6]。
為了在分布式系統(tǒng)中實現(xiàn)更加安全、靈活、細(xì)粒度的訪問控制,國內(nèi)外學(xué)者將“信任”機制集成到傳統(tǒng)訪問控制模型中,并針對不同的信任等級制定了相應(yīng)的安全策略。2006年,Chakraborty等[7]將信任評價模型與靜態(tài)RBAC模型結(jié)合提出基于信任和角色的訪問控制方案(Trust-Role Based Access Control, Trust-RBAC),該方案根據(jù)用戶的身份證書和歷史訪問行為等信息為用戶賦予一個信任級別,并由預(yù)先設(shè)定的信任級別—角色集列表和角色—權(quán)限集列表決定用戶當(dāng)前可被賦予的訪問角色和權(quán)限。用戶的信任級別僅在其每次獲取角色時才重新評估,因此信任度量的動態(tài)性不強,訪問控制粒度較粗。針對上述問題,劉武等[8]提出改進(jìn)方案,用戶的信任度可在資源訪問的整個過程中進(jìn)行實時評估,同時引入角色基本權(quán)限集的思想,提高了授權(quán)的安全性和細(xì)粒度性。此外,劉宏月等[9]通過綜合考慮用戶的基本可信度、行為可信度和建議可信度,提出一種粒度更細(xì)的Trust-RBAC訪問控制框架。陳建剛等[10]和Carles等[11]先后將基于模糊數(shù)學(xué)的信任評價算法引入RBAC模型中,構(gòu)建出基于信任的模糊訪問控制模型。但利用模糊數(shù)學(xué)計算出的用戶信任度屬于一種直接信任度,缺乏信任度量的全局性和可擴展性,無法實現(xiàn)不具有直接信任關(guān)系的主客體之間的訪問授權(quán)。Sadegh等[12]和Lin等[13]針對云計算網(wǎng)絡(luò)和分布式環(huán)境提出基于信任的訪問控制方案。然而,上述基于信任的訪問控制模型雖然在安全性和授權(quán)粒度等方面較傳統(tǒng)模型有了明顯提高,但僅將信任評價與靜態(tài)RBAC訪問控制模型集成,無法滿足分布式系統(tǒng)用戶訪問權(quán)限隨任務(wù)上下文動態(tài)變化的特殊要求,也無法滿足分布式系統(tǒng)信任管理全局性、可擴展性和信任多維性的要求。
在信任評價算法方面,相關(guān)學(xué)者給出了不同的量化模型和評價方法。朗波[14]提出一種信任度量化模型,但未考慮第三方節(jié)點對信任關(guān)系的不利影響,且信譽評價方法無法體現(xiàn)慢增驟降的客觀規(guī)律;朱友文等[15]將Shapley熵引入可信度評估過程,并利用D-S(Dempster-Shafer)證據(jù)理論合成綜合可信度,體現(xiàn)了信任的動態(tài)性和連續(xù)性,但沒有考慮不可信分量對信任評估的影響;張琳等[16]針對現(xiàn)有信任證據(jù)模型無法快速有效地檢測和抵抗分布式網(wǎng)絡(luò)中存在的惡意攻擊,提出一種基于改進(jìn)D-S證據(jù)理論的信任模型;李致遠(yuǎn)等[17]和馬禮等[18]所提模型都屬于基于信譽評價的信任模型,其直接信任度雖然增強了資源共享的安全性和利用率,但是缺乏對其他信任因素的綜合評判,無法體現(xiàn)信任的多維性和模糊性; Chen等[19]和劉義春等[20]分別提出基于概率論的信任模型,較好地反映了信任值隨上下文的動態(tài)變化,但是未考慮用戶本身的多種因素對信任評價的影響;李小勇等[6]指出,動態(tài)性是未來分布式系統(tǒng)中信任關(guān)系量化與預(yù)測的最大挑戰(zhàn)。
雖然目前國內(nèi)外學(xué)者對基于信任的訪問控制研究取得了一定成果,但是這些方案在分布式系統(tǒng)的訪問控制應(yīng)用中仍存在以下不足:①現(xiàn)有的信任評價算法無法同時體現(xiàn)信任的動態(tài)性、模糊性、不確定性,以及任務(wù)上下文的相關(guān)性;②現(xiàn)有的用戶行為信譽評價算法不能很好地反映信譽值慢增驟降的客觀規(guī)律;③現(xiàn)有的信任評價算法主要與靜態(tài)RBAC模型結(jié)合,缺乏與動態(tài)T-RBAC訪問控制模型結(jié)合的研究;④傳統(tǒng)的T-RBAC模型中的用戶—角色分配列表主要由系統(tǒng)管理員根據(jù)主觀經(jīng)驗和需要進(jìn)行指派,任務(wù)執(zhí)行效率和資源共享效率較低。為了解決上述問題,本文利用模糊數(shù)學(xué)和概率論對用戶信任值進(jìn)行綜合量化,構(gòu)建一種更加靈活、安全、細(xì)粒度的多步動態(tài)信任度評價算法,并通過將該動態(tài)信任評價算法與T-RBAC動態(tài)訪問控制模型有機結(jié)合,得到一種更適用于分布式系統(tǒng)的動態(tài)訪問控制方法。
本文根據(jù)T-RBAC模型和分布式環(huán)境的特點,綜合考慮用戶自身的信任屬性、歷史行為信譽,以及任務(wù)上下文環(huán)境等因素對信任的影響,提出一種多步動態(tài)信任評價算法。該算法從3方面度量用戶在執(zhí)行任務(wù)過程中的可信度:①通過引入多層模糊綜合評判模型計算各用戶的信任屬性值TA,生成最佳用戶—角色分配列表,并從中選擇出執(zhí)行任務(wù)的最佳用戶;②根據(jù)T-RBAC模型中的角色—任務(wù)分配列表和任務(wù)—權(quán)限分配列表,利用基于概率論的角色信任度評價算法,獲得訪問主體所承擔(dān)角色與被訪問客體所承擔(dān)角色之間的信任度RT;③通過概率統(tǒng)計法對所選用戶訪問資源的歷史行為數(shù)據(jù)進(jìn)行分析,計算出用戶行為信譽值BR。將上述3個信任值由系統(tǒng)預(yù)先設(shè)定的權(quán)重進(jìn)行加權(quán)平均以獲得所選用戶對欲訪問資源的綜合信任度CT,并根據(jù)判決條件決定該用戶是否具有對特定資源的訪問權(quán)限。本文所提的多步動態(tài)信任評價算法能夠度量分布式系統(tǒng)中實體間建立信任關(guān)系時的多種信任度(TA,RT,BR),具有更細(xì)的評價粒度。因此,基于該算法構(gòu)建的T-RBAC模型,比利用已有信任評價算法構(gòu)造的訪問控制策略具有更細(xì)的粒度,可以提高訪問控制對任務(wù)、角色、訪問行為等各因素的動態(tài)適應(yīng)能力。
令βTA,βRT,βBR分別為用戶信任屬性值TA、角色信任度RT和用戶行為信譽值BR的預(yù)設(shè)權(quán)重,滿足βTA,βRT,βBR∈[0,1]且βTA+βRT+βBR=1,當(dāng)用戶U以角色Ri的身份對角色Rj所屬資源進(jìn)行訪問時,其綜合信任度CT定義如下:
CTU(Ri→Rj)=βTA·TA(U)+βBR·BR(U)
+βRT·RT(Ri→Rj)。
(1)
設(shè)系統(tǒng)預(yù)設(shè)的資源訪問信任閾值為TE(0 1.2.1 用戶的信任屬性樹 定義1用戶的信任屬性值TA指訪問控制過程中實體所固有的信任屬性,即從訪問主體核心競爭能力及其保護被訪問客體機密性和完整性的能力出發(fā),層層分析分布式系統(tǒng)訪問控制背景下實體本身所具備的各項屬性。 1.2.2 基于多層次模糊綜合評判的信任伙伴選擇 本節(jié)對T-RBAC模型中用戶—角色分配列表(U-R-A)的靜態(tài)預(yù)定義方法進(jìn)行改進(jìn),根據(jù)工作流執(zhí)行過程中不同任務(wù)的動態(tài)變化設(shè)計基于多層次模糊綜合評判的信任伙伴選擇算法,進(jìn)而得到用戶—角色的最佳匹配列表。根據(jù)圖1的用戶信任屬性樹形分層和信任屬性的定義,構(gòu)建如下多層次模糊綜合評判算法: 步驟1將用戶的信任屬性集T分為兩層。 步驟2建立用戶評判集U和信任評價集D。 設(shè)用戶評判集U={U1,U2,…,Um}為分布式系統(tǒng)中所有用戶的集合,信任評價集D={D1,D2,D3,D4,D5}為用戶評判集U上的一個模糊集合,定義其語義如下: D1:專家評分S=0,1分,表示“很差”子集合; D2:專家評分S=2分,表示“較差”子集合; D3:專家評分S=3分,表示“適合”子集合; D4:專家評分S=4分,表示“較好”子集合; D5:專家評分S≥5分,表示“很好”子集合。 步驟3建立信任屬性集的隸屬度函數(shù)和矩陣。 根據(jù)模糊綜合評判模型的數(shù)學(xué)定義,用戶評判集U與信任屬性集T之間的關(guān)系可通過建立隸屬度函數(shù)表達(dá)。用戶的子信任屬性的隸屬度函數(shù) (2) (3) Vi=Wi (4) 第二級信任屬性集的綜合評判矩陣 R=[V1,V2,…,Vk]T。 (5) 步驟5第一級綜合評判。設(shè)第一級信任屬性集T={T1,T2,…,Tk}的權(quán)重向量W=[ω1,ω2,…,ωk],利用式(5),得到第一級綜合評判矩陣 V1×m=W1×kRk×m=[v1,v2,…,vi,…,vm]。 (6) 最后,根據(jù)最大隸屬原則從第一級綜合評判矩陣V1×m中選出數(shù)值最大的元素(設(shè)為vi,1≤i≤m)所對應(yīng)的用戶Ui作為執(zhí)行該任務(wù)的最佳用戶,其信任屬性值TA(Ui)定義為vi(即TA(Ui)=vi),進(jìn)而為Ui分配執(zhí)行該任務(wù)需要的角色,并根據(jù)當(dāng)前任務(wù)需求更新用戶—角色(U-R-A)的最佳匹配列表。 與現(xiàn)有的信任評價算法僅從用戶角度對信任關(guān)系進(jìn)行評價不同,本節(jié)提出的基于概率論的動態(tài)評價方法能同時從角色和用戶兩方面對信任進(jìn)行評價,即分別計算出角色間的信任度RT和用戶的行為信譽值BR。 如圖2所示,該算法主要包括角色信任度評價子算法和用戶行為信譽評價子算法。利用角色信任度評價子算法可計算出角色間的直接信任度DT、間接信任度IT和負(fù)信任度NT,并通過計算三者的加權(quán)平均得到角色信任度RT。而基于概率統(tǒng)計的用戶行為信譽評價子算法可對用戶的行為信譽進(jìn)行評價,評價結(jié)果用行為信譽值BR表示。 1.3.1 用戶行為信譽動態(tài)評價算法 定義2用戶的行為信譽值BR指可信第三方(Third Trusted Party, TTP)根據(jù)某用戶已有的訪問行為對其信譽程度做出的評價。 用戶的行為信譽值BR與信任屬性值TA是兩個不同的概念。TA用于衡量用戶執(zhí)行目標(biāo)任務(wù)時固有的能力和信任屬性,BR則利用用戶訪問資源的歷史行為數(shù)據(jù)對其可信任程度進(jìn)行動態(tài)評價,它們都是影響實體間信任關(guān)系評估的重要因素。用戶對資源的訪問行為若違反了訪問控制的安全策略約束,則會被訪問控制審計功能組件檢測并記錄到用戶歷史行為數(shù)據(jù)庫中,并實時更新用戶的良性和惡意訪問次數(shù)。 若一個用戶能夠長期保持良性訪問行為,則其信譽值BR會有一個好的積累;反之若出現(xiàn)一次惡意行為,則信譽值的下降幅度應(yīng)該比多次良性訪問行為引起的信譽值上升幅度大得多,即信譽的破壞或崩潰比信譽的建立容易得多,文獻(xiàn)[9,19]的信譽值計算并沒有反映出上述特點。 本文在文獻(xiàn)[19]信譽評價基礎(chǔ)上,通過引入信譽懲罰策略體現(xiàn)現(xiàn)實環(huán)境中用戶行為信譽值慢增驟減的規(guī)律,即用戶UA的行為信譽值評價算法定義為 BR(UA)= (7) 1.3.2 角色間的信任度及其評價算法 定義3角色間的信任度RT指主體角色Ri對客體角色Rj訪問行為的可信程度評估,體現(xiàn)為角色Ri與Rj之間進(jìn)行任務(wù)合作的緊密程度,記為RT(Ri→Rj)。RT由角色間的直接信任度、間接信任度和負(fù)信任度通過加權(quán)平均獲得。 定義4角色間的合作關(guān)系CR。在分布式系統(tǒng)多用戶協(xié)同合作的過程中,角色之間的合作關(guān)系體現(xiàn)了角色間對資源權(quán)限的全部繼承、部分繼承和權(quán)限互斥3種狀態(tài),本節(jié)將角色間的合作關(guān)系CR分為以下3類: (1)完全合作關(guān)系CRA指兩個角色執(zhí)行完全相同的任務(wù),且不單獨執(zhí)行其他任務(wù)。此時,它們具有完全相同的訪問權(quán)限。在單任務(wù)合作模式下,新設(shè)置的角色會繼承已有角色的全部權(quán)限;當(dāng)角色退出任務(wù)時,會按照與其存在單任務(wù)合作關(guān)系的角色權(quán)限進(jìn)行權(quán)限撤銷。 (2)部分合作關(guān)系CRP指兩個角色分別執(zhí)行多個任務(wù),且這些任務(wù)之間存在一定的交集。此時,角色之間只會相互繼承任務(wù)交集所對應(yīng)的訪問權(quán)限。當(dāng)兩個角色協(xié)同完成多個不同任務(wù)時,任意一個角色僅能獲得這兩個角色共同承擔(dān)任務(wù)所對應(yīng)的權(quán)限,以實現(xiàn)對協(xié)同任務(wù)的資源共享。 (3)獨立關(guān)系CRI表示兩個角色分別獨立完成各自被指派的任務(wù),它們之間不發(fā)生任何權(quán)限繼承。若兩個角色為獨立關(guān)系,則其不能被指派執(zhí)行相同的任務(wù)。 圖3表示角色Ri與Rj之間存在的直接信任關(guān)系和間接信任關(guān)系。圖中實線連接表示兩個角色間是直接信任關(guān)系,虛線連接表示兩個角色間是間接信任關(guān)系,雙向箭頭表示角色之間的直接和間接信任關(guān)系是相互的。信任路徑定義為:利用角色間的合作關(guān)系找出的一條從Ri到達(dá)Rj的由中間橋接角色組成的路徑,路徑深度ω=信任路徑上中間角色的個數(shù)+1。任意兩個角色之間僅存在一個直接信任值,然而由于信任路徑和路徑深度不同,角色之間可能存在多個間接信任值,如由信任路徑Ri?RL2?Rj得到的ω=2的間接信任值IT2(Ri?Rj),以及由信任路徑Ri?RL31?RL32?Rj得到的ω=3的間接信任值IT3(Ri?Rj)。 (1)角色間的直接信任度DT角色Ri與Rj之間的直接信任度以量化的形式反映出兩個角色間相互信任的程度,與它們之間的合作關(guān)系CR相關(guān),其計算公式為 (8) 式中:DT(Ri?Rj)表示角色Ri與Rj之間的直接信任度,CR表示Ri和Rj之間的合作關(guān)系,Ki和Kj表示Ri和Rj分別承擔(dān)的任務(wù),|Ki∩Kj|表示Ri和Rj共同承擔(dān)的任務(wù)個數(shù),|Ki∪Kj|表示Ri和Rj已承擔(dān)的任務(wù)總數(shù)。當(dāng)Ri和Rj之間為部分合作關(guān)系CRP時,Ri和Rj所執(zhí)行的任何一個任務(wù)都可能導(dǎo)致直接信任關(guān)系改變,因此計算直接信任度時以|Ki∪Kj|作為除數(shù),以|Ki∩Kj|作為被除數(shù),從而提高信任度的敏感性和資源共享的安全性。 房間的角落里,電視機靜靜地嗡嗡響著。大多數(shù)電視頻道都不再播放內(nèi)容,但BBC一直播送著新聞,中間穿插無厘頭的動畫片。電視畫面上的突發(fā)新聞字幕上宣布,英國首相和其他世界領(lǐng)導(dǎo)人已經(jīng)上了外星人的母艦,與格拉斯克帝國協(xié)商。格拉斯克帝國先前突然出現(xiàn),要“邀請”地球加入他們的帝國。 (2)角色間的間接信任度IT角色之間的間接信任度是通過對橋接Ri和Rj的中間角色的信任關(guān)系(如圖3中的RL2,RL31和RL32)進(jìn)行評價得出,體現(xiàn)了兩個角色間的一種間接信任關(guān)系。由于Ri和Rj之間每條信任路徑上的角色個數(shù)不同,其信任路徑深度也不同,并且隨著信任路徑深度的增大,角色間的間接信任度逐漸衰減。因此,可根據(jù)角色Ri和Rj之間存在的不同信任路徑,按信任路徑深度分別計算出相應(yīng)的間接信任值。當(dāng)信任路徑深度為ω、信任路徑條數(shù)為kω時,角色Ri到Rj之間的間接信任度定義為 DT(RLω1?RLω2)×…×DT(RLω(ω-1)?Rj)。 (9) 角色Ri與Rj之間的總間接信任度計算公式定義為 (10) (3)角色間的負(fù)信任度NT負(fù)信任度NTR(Ri→Rj)表示第三方角色對Ri和Rj之間建立信任關(guān)系時的干擾程度,體現(xiàn)為兩個角色之間的信任等級由于受第三方角色的影響而減弱,從而導(dǎo)致原有訪問權(quán)限等級降低,如由于資源訪問請求隊列過長導(dǎo)致訪問延遲和效率降低等。圖4所示為角色Ri和Rj之間因第三方角色干擾而形成的負(fù)信任關(guān)系。 圖4中,具有單向箭頭的粗實線表示Ri訪問Rj時的負(fù)信任度,具有雙向箭頭的細(xì)實線表示兩個角色之間的直接信任度,具有雙向箭頭的虛線表示Ri和Rj的間接信任度。圖中,把所有的第三方角色分為3組并用虛線框標(biāo)識,分別為:同時與Ri和Rj存在信任關(guān)系的角色(RD1,RD2,…,RDl),與Ri不信任、與Rj直接信任且與Rj存在完全或部分合作關(guān)系的角色(RAP1,RAP2,…,RAPv),以及與Ri不信任、與Rj直接信任且為獨立關(guān)系的角色(RI1,RI2,…,RIw)。上述3組角色的數(shù)量依次用l,v,w表示。角色Ri~Rj的負(fù)信任度計算方法定義為 NT(Ri→Rj)= (11) (4)角色間的總信任度 綜合考慮角色間的直接信任度、間接信任度和負(fù)信任度對角色間信任關(guān)系的全局性影響,建立角色間總的信任評價算法,定義為 RT(Ri→Rj)=CDT·DT(Ri?Rj)+CIT· IT(Ri?Rj)-CNT·NT(Ri→Rj)。 (12) 式中CDT,CIT和CNT分別表示角色間的直接信任度、間接信任度和負(fù)信任度的權(quán)重系數(shù),滿足CDT,CIT,CNT∈[0,1]。為了避免由于角色關(guān)系過于復(fù)雜而帶來的訪問不穩(wěn)定性,分布式系統(tǒng)中的用戶通常傾向于允許直接信任關(guān)系下的資源訪問,即常取CDT?CIT?CNT。 本章將第1章提出的多步動態(tài)信任量化算法和動態(tài)T-RBAC訪問控制模型結(jié)合,根據(jù)工作流執(zhí)行過程中不同任務(wù)以及用戶訪問行為的動態(tài)變化為用戶跨角色訪問資源進(jìn)行動態(tài)授權(quán),其訪問控制模型如圖5所示。 圖5中的相關(guān)元素定義如下: (1)用戶集U用戶是能夠通過某種方式對客體提出訪問請求的一類主體對象,可以是人,也可以是程序、服務(wù)、進(jìn)程等發(fā)出訪問請求的智能體。用戶集可形式化描述為U={Ui|i=1,2,…,n}。 (2)角色集R角色指一個組織或任務(wù)中的工作或者位置,代表了一種權(quán)利、資格和責(zé)任。角色集可以形式化描述為R={Ri|i=1,2,…,n}。 (3)角色繼承RH是在角色集R上的偏序關(guān)系,稱為角色層次或繼承關(guān)系。在T-RBAC模型的角色繼承關(guān)系中,若角色r1是角色r2的上級角色,則r2只能從r1繼承權(quán)限,不能獲得任何其他權(quán)限。 (4)歷史信息集His用來記錄用戶執(zhí)行任務(wù)的歷史信息,主要包括用戶執(zhí)行任務(wù)時對相應(yīng)資源的訪問行為信息(良性訪問或惡意訪問)和用戶之間的任務(wù)合作信息。 (5)任務(wù)集T任務(wù)是工作流中系統(tǒng)中的一個邏輯單元,由系統(tǒng)預(yù)定義的一部分功能或?qū)?nèi)部資源某些操作的集合。任務(wù)一般由人或機器執(zhí)行,特定情況下也可以由工作流管理系統(tǒng)自動觸發(fā)。任務(wù)集可以形式化描述為T={Ti|i=1,2,…,n}。 (6)操作集OP操作是對用戶行為的一種抽象定義和表達(dá),它具體定義了用戶對資源進(jìn)行何種類型的訪問。操作集與客體類型相關(guān),不同客體類型的操作集也不同。 (7)資源集Res資源是被系統(tǒng)保護的一類客體集合,用戶通過訪問控制機制對其進(jìn)行訪問。在不同應(yīng)用環(huán)境中,資源存在的形式也不同。 (8)權(quán)限集Per權(quán)限是用戶對系統(tǒng)資源進(jìn)行訪問的許可,可以用一個二元組Per(Op,Res)表示,如Per(Read,DocX)表示用戶擁有對文檔DocX的讀權(quán)限。 (9)用戶—角色指派URAURA?User×Role,(u,r)∈URA表示用戶u被賦予角色r,它描述了用戶與角色間多對多的映射關(guān)系。 (10)角色—任務(wù)指派RTARTA?Role×Task,(r,task)∈RTA表示任務(wù)task被分配給角色r執(zhí)行,描述了角色與任務(wù)間多對多的映射關(guān)系。 (11)任務(wù)—權(quán)限指派TPATPA?Task×Permission,(task,Per)∈TPA表示任務(wù)task被賦予權(quán)限Per,描述了任務(wù)與權(quán)限間多對多的映射關(guān)系。 (12)上下文約束集C指對訪問控制中各種指派所作的規(guī)則限制。 (13)多步動態(tài)信任量化算法 包括上文提出的基于模糊數(shù)學(xué)的信任屬性值度量算法和基于概率論的動態(tài)信任評價算法兩部分。利用多步動態(tài)算法實現(xiàn)的T-RBAC訪問控制流程如圖6所示。 圖6中,在系統(tǒng)運行初期,管理員首先對角色—任務(wù)和任務(wù)—權(quán)限分配列表進(jìn)行靜態(tài)預(yù)定義。若有任務(wù)被激活,則運行1.2.2節(jié)的信任伙伴選擇算法,計算出用戶(設(shè)為U)的信任屬性值TA并動態(tài)更新最佳用戶—角色分配列表,進(jìn)而結(jié)合預(yù)定義的角色—任務(wù)分配列表選擇出執(zhí)行該任務(wù)的最佳用戶并為其分配角色(設(shè)為Ri),該步驟改善了傳統(tǒng)T-RBAC模型手動指派用戶—角色分配列表的不合理及效率低下問題。接著,根據(jù)預(yù)定義的任務(wù)—權(quán)限分配列表,為該用戶U進(jìn)行預(yù)授權(quán),使其獲得相應(yīng)角色Ri所屬資源的訪問權(quán)限。隨著工作流任務(wù)的動態(tài)執(zhí)行,U可能需要對其他角色(設(shè)為Rj)所屬資源發(fā)起訪問請求,此時則需查詢用戶已分配角色Ri與被訪問角色之間Rj的合作關(guān)系,若不存在合作關(guān)系,則拒絕訪問請求;若存在合作關(guān)系,則依次調(diào)用1.3.1節(jié)的信譽評價算法和1.3.2節(jié)的信任度評價算法,動態(tài)計算出訪問者的行為信譽值BR和角色間信任度RT,最后將用戶的TA,BR和RT值進(jìn)行式(1)的加權(quán)求和運算,得到用戶在執(zhí)行任務(wù)過程中以角色Ri的身份訪問角色Rj所屬資源時的綜合信任值CTU(Ri→Rj)=βTA·TA(U)+βRT·RT(Ri→Rj)+βBR·BR(U)。若CTU(Ri→Rj)達(dá)到了系統(tǒng)預(yù)設(shè)的資源訪問信任閾值TE(TE的建議取值區(qū)間為0.4 以分布式敏捷制造系統(tǒng)中某汽車發(fā)動機設(shè)計及生產(chǎn)項目為例,對本文所提模型在分布式環(huán)境中的訪問控制原理進(jìn)行分析。該項目分解為按序執(zhí)行的6個子項目:產(chǎn)品需求分析A1、概念設(shè)計A2、主體設(shè)計A3、詳細(xì)組件設(shè)計A4、原型設(shè)計A5和可行性評估A6。限于篇幅,本節(jié)以主體設(shè)計子項目為例進(jìn)行算法分析。該子項目包括以下任務(wù):油箱設(shè)計(A2-10)、油箱生產(chǎn)(A2-11)和油箱評估(A2-12),汽缸設(shè)計(A2-20)、汽缸生產(chǎn)(A2-21)和汽缸評估(A2-22),汽缸蓋設(shè)計(A2-30)、汽缸蓋生產(chǎn)(A2-31)和汽缸蓋評估(A2-32),活塞設(shè)計(A2-40)、活塞生產(chǎn)(A2-41)和活塞評估(A2-42),火花塞設(shè)計(A2-50)、火花塞生產(chǎn)(A2-51)和火花塞評估(A2-52)。 本實例設(shè)定的測試用例包括6個主體用戶(Bob,Alice,Tim,Andy,John,Frank)和7個角色(R1,R2,R3,R4,R5,R6,R7),同時設(shè)置了與現(xiàn)實敏捷制造環(huán)境相似的模擬場景,如圖7所示。 圖中用于連接兩個角色的無向?qū)嵕€表示存在一定程度的直接信任關(guān)系,無直線直接相連的兩個角色為陌生節(jié)點。實驗所采用的權(quán)重系數(shù)設(shè)定為CDT=1,CIT=0.6,CNT=0.4,βTA=0.3,βRT=0.4,βBR=0.3,并設(shè)預(yù)定的訪問信任閾值TE=0.5。 在任務(wù)執(zhí)行前對該分布式制造系統(tǒng)中所有用戶的信任屬性進(jìn)行評價打分,根據(jù)1.2節(jié)的信任伙伴選擇算法,計算出各項任務(wù)的第一級綜合評判結(jié)果,然后根據(jù)該結(jié)果及最大隸屬度原則生成最佳用戶—角色分配列表。同時系統(tǒng)管理員對角色—任務(wù)和任務(wù)—權(quán)限靜態(tài)分配列表進(jìn)行預(yù)定義,由此得到最佳用戶—角色—任務(wù)—權(quán)限列表,如表1所示。角色之間的合作關(guān)系如表2所示。 表1 最佳用戶—角色—任務(wù)—權(quán)限分配列表 根據(jù)表1、表2以及1.3.2節(jié)算法,可計算出角色間的直接信任度DT。圖8所示為角色關(guān)系網(wǎng),顯示了該分布式制造系統(tǒng)中所有角色間的合作關(guān)系及其直接信任度。 由圖8中的直接信任度及角色間的合作關(guān)系,利用1.3.2節(jié)算法,可進(jìn)一步計算出任意兩個角色間的間接信任度IT、負(fù)信任度NT和總信任度RT,如表3所示。 表4所示為該分布式制造系統(tǒng)初始時,所有用戶對其他用戶資源的良性訪問次數(shù)與惡意訪問次數(shù),以及利用1.3.1節(jié)的用戶行為信譽動態(tài)評價算法計算出的用戶行為信譽值BR。 最后,根據(jù)多步動態(tài)信任評價算法,由式(1)算出用戶的綜合信任值CT。例如,油箱設(shè)計任務(wù)中,根據(jù)1.2節(jié)信任伙伴選擇算法推出角色R1被指派給Bob,當(dāng)判斷Bob是否具有角色R2所屬資源的訪問權(quán)限時,計算其綜合信任值CTBob(R1→R2)=0.258,因為該信任值小于系統(tǒng)預(yù)定的信任閾值TE(TE=0.5),所以Bob不能獲得R2所屬資源的訪問權(quán)限。表5所示為所有用戶訪問特定資源時的信任屬性值TA、角色間信任值RT、行為信譽值BR和綜合信任值CT。 通過以上計算,最終生成該分布式環(huán)境下所有用戶的訪問授權(quán)列表,如表6所示。當(dāng)兩個角色需要協(xié)同完成任務(wù)時,考慮到角色間的合作關(guān)系和用戶的綜合信任值,可對用戶的權(quán)限進(jìn)行約束和擴展,進(jìn)而得到所有用戶的最終授權(quán)。 一般情況下,針對用戶信任度的各種攻擊主要發(fā)生在用戶訪問資源的過程中。信任屬性值是用戶本身的固有特性,不隨其訪問過程發(fā)生變化,同時角色間的信任度建立在角色—任務(wù)分配列表基礎(chǔ)上,在分布式系統(tǒng)的運行過程中也保持不變。因此,本文提出的多步信任評價機制中容易受到攻擊的算法主要是用戶行為信譽值評價算法,下面就針對該算法抵抗漂白攻擊和背叛攻擊的能力與文獻(xiàn)[9,19]算法進(jìn)行對比分析。 圖9所示為本文提出的用戶行為信譽值評價算法與文獻(xiàn)[9,19]中信譽評價算法的仿真結(jié)果比較,其中取惡意訪問次數(shù)1次,良性訪問次數(shù)從0~200次遞增。 從圖中可以看出,文獻(xiàn)[9,19]算法中用戶的行為信譽值隨著良性訪問次數(shù)的不斷積累趨近于極值1,進(jìn)而完全掩蓋曾經(jīng)的惡意訪問行為對信譽值的影響,不符合信譽度評價的客觀規(guī)律;同時文獻(xiàn)[9]中信譽值可隨著良性訪問次數(shù)的累積快速增長,違背了信譽度慢增的自然規(guī)律。本文的行為信譽評價算法由于在文獻(xiàn)[19]基礎(chǔ)上引入了懲罰策略,極大地增強了惡意訪問行為對信譽值的影響,即一旦用戶對其他用戶進(jìn)行了一次惡意訪問,該用戶的信譽值就會降低到一個很低的范圍(約為0.73),并且即使后續(xù)進(jìn)行了多次良性訪問,也難以使其信譽值提高到理想的程度,體現(xiàn)了慢增原則,因此本文算法比文獻(xiàn)[9,19]算法具有更強的抗漂白攻擊和背叛攻擊的能力。 當(dāng)取良性訪問次數(shù)為300次,惡意訪問次數(shù)從0~200次遞增時,本文的行為信譽值評價算法與文獻(xiàn)[9,19]算法性能對比結(jié)果如圖10所示。 從圖中可見,用戶未發(fā)生惡意訪問行為時的信譽值都為1,一旦發(fā)生惡意訪問行為,文獻(xiàn)[19]中的用戶信譽值下降非常緩慢,說明對惡意行為不夠敏感;文獻(xiàn)[9]的用戶行為信譽值則隨惡意訪問次數(shù)的增加近似勻速下降,無法凸顯最初的惡意訪問行為對信譽值的特殊影響,且當(dāng)惡意訪問行為超過100次時,信譽值呈現(xiàn)負(fù)數(shù),測度指標(biāo)不合理;而本文算法得到的信譽值則隨最初幾次惡意行為的發(fā)生呈指數(shù)速率下降,特別是第一次惡意訪問發(fā)生時下降速率最快,充分體現(xiàn)了信譽值驟降的客觀規(guī)律,當(dāng)信譽值降低到一定程度后開始緩慢衰減,并保持在[0,1]的測度區(qū)間內(nèi)。因此,本文算法可促使用戶做出更誠實的訪問。 基于表5的計算結(jié)果,在任務(wù)、訪問行為等上下文環(huán)境變化的前提下,圖11給出了本文動態(tài)信任評價模型與文獻(xiàn)[9,19]模型的動態(tài)適應(yīng)能力仿真對比。圖中,橫坐標(biāo)表示表5中各用戶的訪問行為次序,縱坐標(biāo)表示執(zhí)行特定次序訪問的用戶所具有的綜合信任度。其中:橫坐標(biāo)1~4,5~7,8~10,11,12對應(yīng)的縱坐標(biāo)值分別為Bob,Alice,Tim,Andy,John進(jìn)行相應(yīng)訪問時的綜合信任度。 圖中可以看出,文獻(xiàn)[9,19]模型的信任度主要與用戶的行為相關(guān),任務(wù)、角色等上下文環(huán)境變化及用戶本身的信任屬性對其影響不大;而由本文多步動態(tài)信任評價算法得到的同一個用戶的綜合信任度則可隨任務(wù)、角色、行為等上下文環(huán)境的變化動態(tài)改變。其中,基于模糊綜合評判的信任伙伴選擇算法使同一用戶的信任屬性值隨著其與角色分配關(guān)系的轉(zhuǎn)變而動態(tài)更新。另外,因為同一用戶在執(zhí)行不同任務(wù)過程中,所分配的角色和被訪問的角色均會發(fā)生變化,所以基于概率論的角色間信任評價算法能夠使用戶的綜合信任度隨不同任務(wù)的執(zhí)行動態(tài)改變。最后,用戶行為信譽值可以反映出歷史訪問行為對其綜合信任度的影響。例如,本文算法中Tim執(zhí)行任務(wù)A2-12,A2-31和A2-22時請求訪問相應(yīng)資源的綜合信任度分別為0.45,0.7,0.23,綜合信任值較文獻(xiàn)[9,19]有更顯著的變化。因此,本文多步動態(tài)信任評價算法比文獻(xiàn)[9,19]算法具有更好的動態(tài)適應(yīng)能力。 對本文提出的基于多步動態(tài)信任評價的T-RBAC模型的綜合性能進(jìn)行分析,并與現(xiàn)有的信任模型進(jìn)行比較,結(jié)果如表7所示。 與文獻(xiàn)[9,15-16,19,21]算法相比,本文利用多層次模糊綜合決策算法對用戶的多種信任屬性值進(jìn)行評價并自動更新用戶—角色分配列表,體現(xiàn)了信任的多維性特點,并提高了角色分配效率;用戶訪問特定資源的綜合信任度CT由信任屬性值TA、角色間信任值RT、行為信譽值BR共同決定,其中RT又由直接、間接和負(fù)信任度共同決定,體現(xiàn)了信任的全局性和可擴展性特點;行為信譽值滿足慢增驟降的客觀規(guī)律,能夠有效抵御背叛攻擊、漂白攻擊等多種攻擊,具有更高的安全性和良好的計算收斂性;信任評價算法與T-RBAC模型相結(jié)合,并引入角色間信任值RT和行為信譽值BR,顯著提高了信任度隨任務(wù)、角色、訪問行為等上下文環(huán)境變化的動態(tài)適應(yīng)能力,具有更細(xì)的訪問控制粒度;信任伙伴選擇算法能夠自動更新用戶—角色分配列表,角色間信任度也能在一定程度上進(jìn)行預(yù)計算,使得本文算法具有較高的系統(tǒng)執(zhí)行效率。 本文針對分布式環(huán)境的動態(tài)性、異構(gòu)性和分散性特點,提出一種基于模糊數(shù)學(xué)和概率論的多步動態(tài)信任評價算法,并將其應(yīng)用于基于任務(wù)—角色的動態(tài)訪問控制(T-RBAC)模型中,有效解決了分布式系統(tǒng)中協(xié)同用戶之間的資源安全共享問題。所提的多步動態(tài)信任評價算法能夠動態(tài)度量分布式系統(tǒng)實體間建立信任關(guān)系時的多種信任值(信任屬性值、行為信譽值和角色信任度)并加以綜合評判,使信任值的變化更符合慢增驟降的客觀規(guī)律并具有更強的抗攻擊能力,同時體現(xiàn)了信任的全局性和可擴展性特點。將上述信任綜合評價方法應(yīng)用于T-RBAC模型中,能夠獲得更細(xì)的訪問控制粒度,并提高用戶信任度隨任務(wù)、角色、訪問行為等上下文環(huán)境變化的動態(tài)性。但由于多步動態(tài)評價算法需要綜合評價TA,RT和BR等多因素,算法復(fù)雜度較高,在實際應(yīng)用中會面臨一定的效率瓶頸,因此如何進(jìn)一步優(yōu)化方案效率并找到有效的并行實現(xiàn)方法,有待進(jìn)一步研究。1.2 基于模糊數(shù)學(xué)的信任屬性值度量算法
1.3 基于概率論的動態(tài)信任評價算法
2 基于多步動態(tài)信任評價的T-RBAC細(xì)粒度訪問控制模型
3 性能分析
3.1 實例仿真
3.2 安全性分析
3.3 動態(tài)適應(yīng)能力分析
3.4 綜合性能比較
4 結(jié)束語