張 藝,田立勤,,毋澤南,武文星
1(華北科技學(xué)院 計(jì)算機(jī)學(xué)院,北京 101601)
2(青海師范大學(xué) 計(jì)算機(jī)學(xué)院,西寧810000)
云計(jì)算的概念提出后,便在全球范圍內(nèi)流行開來[1].云計(jì)算利用虛擬資源管理和分布式計(jì)算等技術(shù),通過共享的資源池向用戶以動態(tài)按需和可度量的方式提供服務(wù)[2].但隨著云計(jì)算技術(shù)的快速發(fā)展,云計(jì)算中的數(shù)據(jù)安全問題備受關(guān)注.云計(jì)算環(huán)境的開放性、共享性和彈性等特點(diǎn)使得傳統(tǒng)的訪問控制機(jī)制難以提供高效安全的訪問控制服務(wù)[3].因此有必要設(shè)計(jì)一個適合云環(huán)境的訪問控制機(jī)制來對云環(huán)境資源實(shí)現(xiàn)有效的保護(hù).
訪問控制作為保護(hù)計(jì)算機(jī)信息安全的一個重要技術(shù),吸引了越來越多的學(xué)者研究[4].其中RBAC訪問控制模型已經(jīng)成為近20年來的研究熱點(diǎn)[5].該模型將角色的概念引入其中,根據(jù)用戶的不同職能劃分成不同的角色,并將權(quán)限分配給相應(yīng)的角色而不是直接授予給用戶主體,從而大大減少了權(quán)限管理的復(fù)雜性[6].接著Sandhu[7]等人在傳統(tǒng)的基于角色的訪問控制基礎(chǔ)上進(jìn)行改進(jìn)提出了RBAC96模型,之后ARBAC97、ARBAC99等訪問控制模型也相繼被提出.但這些研究中的授權(quán)方式都是靜態(tài)的,不適用于動態(tài)的云計(jì)算環(huán)境[8].對此,王于丁[9]等人在基于角色的訪問控制模型中引入了屬性元素,可以使用戶通過自身和所在租戶的屬性及當(dāng)前的狀態(tài)分配角色實(shí)現(xiàn)動態(tài)的訪問授權(quán)工作.TAN[10]等人在傳統(tǒng)的RBAC模型中添加了信任度,通過比較信任度和信任度閾值來確定云資源的動態(tài)訪問權(quán)限.范運(yùn)東[11]等人通過在信任值的計(jì)算中引入衰減因子提出了基于信任值評估的訪問控制模型,根據(jù)云環(huán)境下交互實(shí)體之間信任值的動態(tài)變化來實(shí)現(xiàn)動態(tài)授權(quán).以上研究雖然實(shí)現(xiàn)了動態(tài)授權(quán),但是客體往往無法預(yù)估主體的訪問行為是否含有惡意以及會造成何種程度的損失.
近年來,博弈論為云計(jì)算環(huán)境下的訪問控制研究提供了一個新思路.將博弈論中的相關(guān)理論與方法引入到訪問控制機(jī)制中使其能夠適應(yīng)不斷動態(tài)變化的網(wǎng)絡(luò)環(huán)境[12].例如Helil[13]等人將信任和風(fēng)險(xiǎn)兩要素作為玩家收益函數(shù)中的度量指標(biāo),構(gòu)建了一個合理的、通用的訪問控制博弈模型.郭凱麗[14]等人提出了基于博弈論的信任獎懲機(jī)制來防止惡意用戶對系統(tǒng)的非法訪問,對于合法用戶的訪問給予獎勵,對于非法用戶的訪問給予一定的信任值懲罰,從而達(dá)到信任值的動態(tài)調(diào)整.
本文在以上研究成果基礎(chǔ)上,提出了一種云環(huán)境下基于信任的動態(tài)訪問控制博弈機(jī)制.通過交互次數(shù)與交互時間兩要素來計(jì)算信任值使其處于動態(tài)變化的狀態(tài),將信任值與動態(tài)調(diào)節(jié)因子引入支付矩陣中進(jìn)行博弈分析,從而使云環(huán)境下的主客體雙方處于一種相互制衡的均衡狀態(tài),提高云環(huán)境的安全性與合法性.
基于用戶信任的動態(tài)訪問控制過程的主要思想是在傳統(tǒng)的RBAC模型的基礎(chǔ)上引入了用戶信任環(huán)節(jié),在信任值的計(jì)算過程中結(jié)合實(shí)體雙方的交互時間與交互次數(shù)兩因素提出了一種新的推薦信任值的計(jì)算方法.根據(jù)用戶的綜合信任值確定用戶的信任等級,通過信任等級對訪問用戶進(jìn)行角色的激活與授權(quán)工作.具體的訪問控制結(jié)構(gòu)如圖1所示.
圖1 訪問控制結(jié)構(gòu)圖
用戶集U={u1,u2,…,um},代表提交訪問云資源請求的云用戶的集合.
角色集R={r1,r2,…,rl},一個系統(tǒng)中的工作或位置,代表對系統(tǒng)中某些部分進(jìn)行操作的資格或權(quán)利[15].
權(quán)限集P={p1,p2,…,pn},代表主體對云環(huán)境提供的資源進(jìn)行訪問的操作集合[11].
資源集RES={res1,res2,…,reso},代表云平臺中用戶訪問的對象集合,包括各種軟硬件資源,需對其設(shè)置訪問權(quán)限[16].
會話集SESS={sess1,sess2,…,sessp},代表用戶與角色之間映射關(guān)系的集合.
約束集CONS={cons1,cons2,…,consq},約束角色與權(quán)限之間關(guān)系的集合.
信任等級TC={1,2,…,r},代表與用戶綜合信任值所對應(yīng)的等級情況.
UR?U×R,RP?R×P,表示用戶角色的分配過程和角色權(quán)限之間的授權(quán)過程.
云計(jì)算環(huán)境屬于一個開放式的環(huán)境,幾乎任何用戶都可以請求訪問云計(jì)算系統(tǒng),因此要對云用戶進(jìn)行全面且客觀的信任評估[17],將評估后的信任等級作為授權(quán)工作的參考依據(jù).
2.3.1 直接信任值
對于用戶Ui與云服務(wù)商Sj而言,將兩者之間總的交易次數(shù)記為Nij,總的成功交易次數(shù)記為Sij,則直接信任值的計(jì)算方法為:
(1)
其中,f×e-Nij為懲罰項(xiàng),交易成功時f=0,交易失敗時f=-1.即為了懲罰云環(huán)境下的惡意用戶,當(dāng)交易失敗時需要在原有信任值的基礎(chǔ)上減去懲罰項(xiàng).
2.3.2 推薦信任值
對于初次訪問云資源的新用戶或者初次訪問云資源時直接證據(jù)不足的用戶[18],其推薦信任值顯得尤為重要.信任是會隨著時間的延長而慢慢衰減的,本小節(jié)提出了一種新的推薦信任值計(jì)算方法.通過實(shí)體雙方的交互時間與交互次數(shù)兩方面要素來衡量推薦信息的可靠性程度.
設(shè)云用戶集合為Ui={u1,u2,…,um},推薦云服務(wù)商的集合為Cj={c1,c2,…,cn}.D(ul,ck).代表第k個推薦云服務(wù)商對云用戶ul的直接信任值.云用戶的推薦信任值計(jì)算如下:
(2)
其中,N為推薦服務(wù)商的數(shù)量.當(dāng)不存在推薦服務(wù)商時,用戶的推薦信任值取0.(Rk)為推薦者推薦信息的可靠性參數(shù).
(3)
式中,m代表交互次數(shù),M為交互次數(shù)的閾值,t代表當(dāng)前時間,tl代表最后一次交互的時間.
從公式中可以看出,當(dāng)交互時間確定的時候,交互實(shí)體雙方的交互次數(shù)越多,推薦可靠性越高;當(dāng)交互次數(shù)一定的時候,最后一次交互時間距離當(dāng)前時間越近的云服務(wù)商其可靠性越高.
2.3.3 綜合信任值
根據(jù)直接信任值與推薦信任值得到綜合信任值的計(jì)算方式:
O(ui,sp)=w1D(ui,sp)+w2T(ui,cj)
(4)
w1和w2分別代表直接信任與推薦信任所對應(yīng)的權(quán)重因子.由此可以看出,用戶的信任值隨著交互時間與交互次數(shù)的不同而改變,從而實(shí)現(xiàn)了訪問控制中動態(tài)授權(quán)的目的.
為了更好的激勵用戶的合法行為,抵制用戶的非法行為,本機(jī)制在用戶每次訪問結(jié)束后對其信任值進(jìn)行更新,將更新后的信任值存儲到歷史信息數(shù)據(jù)庫中作為下一次訪問的依據(jù).
對于合法訪問的云用戶,在訪問結(jié)束后要增加其信任值.增加后的信任值為:
(5)
其中,λ為增長因子,決定了信任值增長的速度.
相同地,對于惡意用戶的訪問要對其進(jìn)行懲罰處理,衰減后的信任值為:
(6)
β為衰減因子.在此要注意的是,λ的值要一直小于β的值,由此體現(xiàn)信任“慢升快降”[19]的特性.
在第2小節(jié)得到云用戶所對應(yīng)的客體權(quán)限后由博弈分析環(huán)節(jié)對云用戶和云服務(wù)提供商之間的博弈進(jìn)行分析,結(jié)合用戶信任等級與動態(tài)調(diào)節(jié)因子分別計(jì)算雙方在不同訪問策略下的收益,通過博弈分析過程得到混合策略納什均衡進(jìn)而求得云用戶選擇合法訪問策略的概率以及云服務(wù)商選擇允許訪問策略的概率.將兩者概率分別與門限值進(jìn)行比較,最終決策出是否對本次訪問進(jìn)行授權(quán).此外,在每次訪問結(jié)束后對用戶信任值進(jìn)行更新存儲到歷史信息數(shù)據(jù)庫中,為下一次訪問做準(zhǔn)備.通過交互實(shí)體雙方的混合策略納什均衡,可以為云環(huán)境下訪問控制環(huán)節(jié)的合法性與安全性提供更多的有效措施.圖2給出了結(jié)合用戶信任的訪問控制博弈分析的完整流程圖.
圖2 訪問控制博弈分析流程圖
鑒于云計(jì)算環(huán)境的動態(tài)性等特點(diǎn),云環(huán)境下基于信任的訪問控制是一種客體與主體間的動態(tài)博弈問題[20].對于參與博弈過程中的相關(guān)要素定義如下:
定義1.博弈參與者:云環(huán)境下的云服務(wù)商和云用戶.
定義2.博弈策略:對于云用戶而言,它的博弈策略為合法訪問與惡意訪問,相應(yīng)的云服務(wù)提供商的博弈策略為允許訪問和拒絕訪問.
定義3.收益函數(shù):收益函數(shù)在博弈分析中扮演著不可或缺的重要角色,它表示主體采取某種策略訪問以及客體應(yīng)對訪問的某種策略時雙方的收益與損失情況,詳細(xì)的參數(shù)介紹如下:
當(dāng)云用戶采取合法行為訪問云資源被拒時云用戶所獲得的收益為0;
云用戶采取惡意行為訪問云資源被拒時云用戶所獲得的損失,該損失依然來自于惡意訪問的記錄被記錄到數(shù)據(jù)庫中對云用戶未來的訪問權(quán)限造成的損失,即Upunish.
y:用戶的信任等級,y=(1,2,…,n);
θj:動態(tài)調(diào)節(jié)因子.θj∈[0,1],(j=1,2,…,6),它取決于用戶信任等級以及各訪問策略效用之間的差異.
針對以上博弈參數(shù),結(jié)合動態(tài)調(diào)節(jié)因子與信任等級的博弈關(guān)系矩陣如表1所示.
表1 交互實(shí)體博弈關(guān)系
利用畫線法對該支付矩陣展開分析后,發(fā)現(xiàn)該博弈矩陣不存在純策略納什均衡,因此需要求解出該博弈矩陣的混合策略納什均衡.接下來是求解的詳細(xì)過程.
設(shè)云用戶的收益矩陣為Euser,云服務(wù)商的收益矩陣為Ecsp.假使云用戶選擇合法訪問的概率為a,選擇惡意訪問的概率為1-a,則云用戶的混合策略概率為Puser=(a,1-a).假使云服務(wù)商選擇同意用戶訪問的概率為b,選擇拒絕用戶訪問的概率為1-b,則云服務(wù)商的混合策略概率為Pcsp=(b,1-b).設(shè)云服務(wù)商的收益函數(shù)為Mcsp,則:
對上式求關(guān)于b的導(dǎo)數(shù),即:
令b′=0,求出a的值:
(7)
采取相同的方法計(jì)算出b的值.設(shè)用戶的收益函數(shù)為Muser,則:
對上式求關(guān)于a的導(dǎo)數(shù),即:
令a′=0,求出b:
(8)
根據(jù)2.2節(jié)求出的混合策略納什均衡可以獲得a,b的值.分別對用戶選擇合法訪問策略的概率和云服務(wù)商選擇允許訪問策略的概率設(shè)置門限值[9]d1與d2.當(dāng)a≥d1且b≥d2時,則允許云用戶的訪問請求,云用戶可以對所具有的權(quán)限進(jìn)行操作.
用戶身份合法性的驗(yàn)證是以用戶的IP地址為依據(jù),由于身份認(rèn)證不是本文研究的重點(diǎn),本實(shí)驗(yàn)以用戶的IP地址都在合法范圍內(nèi)的前提來展開研究.為了比較交互實(shí)體雙方的博弈參數(shù)以及混合納什均衡隨用戶信任等級的變化趨勢,本實(shí)驗(yàn)將云用戶分為5個信任等級,各個信任等級所對應(yīng)的角色與權(quán)限如表2所示.需要注意的是信任等級越低代表用戶的可信度越高,擁有的訪問權(quán)限越高級.
表2 信任等級與角色權(quán)限映射表
表3 博弈收支參數(shù)表
上述數(shù)據(jù)結(jié)果的統(tǒng)計(jì)情況如圖3所示.
將相關(guān)參數(shù)代入式(7)與式(8)中展開分析,參數(shù)的大小與上一小節(jié)保持一致.圖4給出了交互實(shí)體雙方的納什均衡隨用戶信任等級的變化趨勢.
從圖4中可以看到云服務(wù)商的納什均衡概率與云用戶的納什均衡概率呈正比.這是因?yàn)橛脩舻目尚哦仍礁?,越想通過惡意的訪問策略來獲取更多的利益,而云服務(wù)商為了阻止這種趨勢,需要降低允許用戶訪問的概率來保障云環(huán)境的安全性.
為了證明本文提出的博弈機(jī)制的有效性,本文仿真實(shí)驗(yàn)基于python3.0實(shí)現(xiàn).
假設(shè)云服務(wù)商對合法訪問概率超過門限值的用戶總是采取允許策略,對低于門限值的用戶總是采取拒絕策略,將交互總次數(shù)中的合法用戶數(shù)量定義為交易成功率.本實(shí)驗(yàn)以交易成功率為評估標(biāo)準(zhǔn),設(shè)定云用戶的初始信任值為0.33,合法訪問概率的門限值為0.6.博弈機(jī)制中的相關(guān)參數(shù)的設(shè)置與上述描述保持一致.模擬100次交互實(shí)驗(yàn),每20次交互記錄一次交易成功率.得到的交易成功率隨著交互次數(shù)的變化趨勢如圖5所示.
從圖5中可以看到,隨著訪問次數(shù)的增加,用戶的合法訪問概率呈現(xiàn)緩慢上升的趨勢.這是因?yàn)橛脩粼谂c云服務(wù)商交互的過程中會采取合法訪問的策略來慢慢累積自己的信任值,當(dāng)用戶的信任值達(dá)到一定程度時,往往會選擇惡意訪問來賺取更多的利益.這時如果沒有一定的措施去控制這種現(xiàn)象就會使云環(huán)境遭受惡意攻擊,使其交易成功率下降.而從圖中可以看到當(dāng)交互實(shí)體雙方的交易次數(shù)超過60次時,交易成功率并未出現(xiàn)下降的趨勢而是呈緩緩上升的趨勢,可見本文提出的博弈機(jī)制對惡意節(jié)點(diǎn)具有一定的約束效果且對合法用戶具有一定的激勵作用.
對于動態(tài)性、安全性要求較高的云環(huán)境[11],本文提出了一種基于信任的動態(tài)訪問控制博弈機(jī)制.在傳統(tǒng)的訪問控制結(jié)構(gòu)中加入用戶信任實(shí)現(xiàn)動態(tài)授權(quán),將信任值與動態(tài)調(diào)節(jié)因子引入收益函數(shù)中展開博弈分析來避免用戶的惡意訪問行為.通過交易雙方的混合納什均衡策略實(shí)現(xiàn)云環(huán)境下的訪問決策工作.實(shí)驗(yàn)證明,本文機(jī)制將博弈論與基于信任的訪問控制相結(jié)合,能夠?qū)υ朴?jì)算環(huán)境的安全性與合法性起到一定的積極作用.