張 藝,田立勤,,毋澤南,武文星
1(華北科技學院 計算機學院,北京 101601)
2(青海師范大學 計算機學院,西寧810000)
云計算的概念提出后,便在全球范圍內流行開來[1].云計算利用虛擬資源管理和分布式計算等技術,通過共享的資源池向用戶以動態按需和可度量的方式提供服務[2].但隨著云計算技術的快速發展,云計算中的數據安全問題備受關注.云計算環境的開放性、共享性和彈性等特點使得傳統的訪問控制機制難以提供高效安全的訪問控制服務[3].因此有必要設計一個適合云環境的訪問控制機制來對云環境資源實現有效的保護.
訪問控制作為保護計算機信息安全的一個重要技術,吸引了越來越多的學者研究[4].其中RBAC訪問控制模型已經成為近20年來的研究熱點[5].該模型將角色的概念引入其中,根據用戶的不同職能劃分成不同的角色,并將權限分配給相應的角色而不是直接授予給用戶主體,從而大大減少了權限管理的復雜性[6].接著Sandhu[7]等人在傳統的基于角色的訪問控制基礎上進行改進提出了RBAC96模型,之后ARBAC97、ARBAC99等訪問控制模型也相繼被提出.但這些研究中的授權方式都是靜態的,不適用于動態的云計算環境[8].對此,王于丁[9]等人在基于角色的訪問控制模型中引入了屬性元素,可以使用戶通過自身和所在租戶的屬性及當前的狀態分配角色實現動態的訪問授權工作.TAN[10]等人在傳統的RBAC模型中添加了信任度,通過比較信任度和信任度閾值來確定云資源的動態訪問權限.范運東[11]等人通過在信任值的計算中引入衰減因子提出了基于信任值評估的訪問控制模型,根據云環境下交互實體之間信任值的動態變化來實現動態授權.以上研究雖然實現了動態授權,但是客體往往無法預估主體的訪問行為是否含有惡意以及會造成何種程度的損失.
近年來,博弈論為云計算環境下的訪問控制研究提供了一個新思路.將博弈論中的相關理論與方法引入到訪問控制機制中使其能夠適應不斷動態變化的網絡環境[12].例如Helil[13]等人將信任和風險兩要素作為玩家收益函數中的度量指標,構建了一個合理的、通用的訪問控制博弈模型.郭凱麗[14]等人提出了基于博弈論的信任獎懲機制來防止惡意用戶對系統的非法訪問,對于合法用戶的訪問給予獎勵,對于非法用戶的訪問給予一定的信任值懲罰,從而達到信任值的動態調整.
本文在以上研究成果基礎上,提出了一種云環境下基于信任的動態訪問控制博弈機制.通過交互次數與交互時間兩要素來計算信任值使其處于動態變化的狀態,將信任值與動態調節因子引入支付矩陣中進行博弈分析,從而使云環境下的主客體雙方處于一種相互制衡的均衡狀態,提高云環境的安全性與合法性.
基于用戶信任的動態訪問控制過程的主要思想是在傳統的RBAC模型的基礎上引入了用戶信任環節,在信任值的計算過程中結合實體雙方的交互時間與交互次數兩因素提出了一種新的推薦信任值的計算方法.根據用戶的綜合信任值確定用戶的信任等級,通過信任等級對訪問用戶進行角色的激活與授權工作.具體的訪問控制結構如圖1所示.

圖1 訪問控制結構圖
用戶集U={u1,u2,…,um},代表提交訪問云資源請求的云用戶的集合.
角色集R={r1,r2,…,rl},一個系統中的工作或位置,代表對系統中某些部分進行操作的資格或權利[15].
權限集P={p1,p2,…,pn},代表主體對云環境提供的資源進行訪問的操作集合[11].
資源集RES={res1,res2,…,reso},代表云平臺中用戶訪問的對象集合,包括各種軟硬件資源,需對其設置訪問權限[16].
會話集SESS={sess1,sess2,…,sessp},代表用戶與角色之間映射關系的集合.
約束集CONS={cons1,cons2,…,consq},約束角色與權限之間關系的集合.
信任等級TC={1,2,…,r},代表與用戶綜合信任值所對應的等級情況.
UR?U×R,RP?R×P,表示用戶角色的分配過程和角色權限之間的授權過程.
云計算環境屬于一個開放式的環境,幾乎任何用戶都可以請求訪問云計算系統,因此要對云用戶進行全面且客觀的信任評估[17],將評估后的信任等級作為授權工作的參考依據.
2.3.1 直接信任值
對于用戶Ui與云服務商Sj而言,將兩者之間總的交易次數記為Nij,總的成功交易次數記為Sij,則直接信任值的計算方法為:
(1)
其中,f×e-Nij為懲罰項,交易成功時f=0,交易失敗時f=-1.即為了懲罰云環境下的惡意用戶,當交易失敗時需要在原有信任值的基礎上減去懲罰項.
2.3.2 推薦信任值
對于初次訪問云資源的新用戶或者初次訪問云資源時直接證據不足的用戶[18],其推薦信任值顯得尤為重要.信任是會隨著時間的延長而慢慢衰減的,本小節提出了一種新的推薦信任值計算方法.通過實體雙方的交互時間與交互次數兩方面要素來衡量推薦信息的可靠性程度.
設云用戶集合為Ui={u1,u2,…,um},推薦云服務商的集合為Cj={c1,c2,…,cn}.D(ul,ck).代表第k個推薦云服務商對云用戶ul的直接信任值.云用戶的推薦信任值計算如下:
(2)
其中,N為推薦服務商的數量.當不存在推薦服務商時,用戶的推薦信任值取0.(Rk)為推薦者推薦信息的可靠性參數.
(3)
式中,m代表交互次數,M為交互次數的閾值,t代表當前時間,tl代表最后一次交互的時間.
從公式中可以看出,當交互時間確定的時候,交互實體雙方的交互次數越多,推薦可靠性越高;當交互次數一定的時候,最后一次交互時間距離當前時間越近的云服務商其可靠性越高.
2.3.3 綜合信任值
根據直接信任值與推薦信任值得到綜合信任值的計算方式:
O(ui,sp)=w1D(ui,sp)+w2T(ui,cj)
(4)
w1和w2分別代表直接信任與推薦信任所對應的權重因子.由此可以看出,用戶的信任值隨著交互時間與交互次數的不同而改變,從而實現了訪問控制中動態授權的目的.
為了更好的激勵用戶的合法行為,抵制用戶的非法行為,本機制在用戶每次訪問結束后對其信任值進行更新,將更新后的信任值存儲到歷史信息數據庫中作為下一次訪問的依據.
對于合法訪問的云用戶,在訪問結束后要增加其信任值.增加后的信任值為:
(5)
其中,λ為增長因子,決定了信任值增長的速度.
相同地,對于惡意用戶的訪問要對其進行懲罰處理,衰減后的信任值為:
(6)
β為衰減因子.在此要注意的是,λ的值要一直小于β的值,由此體現信任“慢升快降”[19]的特性.
在第2小節得到云用戶所對應的客體權限后由博弈分析環節對云用戶和云服務提供商之間的博弈進行分析,結合用戶信任等級與動態調節因子分別計算雙方在不同訪問策略下的收益,通過博弈分析過程得到混合策略納什均衡進而求得云用戶選擇合法訪問策略的概率以及云服務商選擇允許訪問策略的概率.將兩者概率分別與門限值進行比較,最終決策出是否對本次訪問進行授權.此外,在每次訪問結束后對用戶信任值進行更新存儲到歷史信息數據庫中,為下一次訪問做準備.通過交互實體雙方的混合策略納什均衡,可以為云環境下訪問控制環節的合法性與安全性提供更多的有效措施.圖2給出了結合用戶信任的訪問控制博弈分析的完整流程圖.

圖2 訪問控制博弈分析流程圖
鑒于云計算環境的動態性等特點,云環境下基于信任的訪問控制是一種客體與主體間的動態博弈問題[20].對于參與博弈過程中的相關要素定義如下:
定義1.博弈參與者:云環境下的云服務商和云用戶.
定義2.博弈策略:對于云用戶而言,它的博弈策略為合法訪問與惡意訪問,相應的云服務提供商的博弈策略為允許訪問和拒絕訪問.
定義3.收益函數:收益函數在博弈分析中扮演著不可或缺的重要角色,它表示主體采取某種策略訪問以及客體應對訪問的某種策略時雙方的收益與損失情況,詳細的參數介紹如下:

當云用戶采取合法行為訪問云資源被拒時云用戶所獲得的收益為0;




云用戶采取惡意行為訪問云資源被拒時云用戶所獲得的損失,該損失依然來自于惡意訪問的記錄被記錄到數據庫中對云用戶未來的訪問權限造成的損失,即Upunish.
y:用戶的信任等級,y=(1,2,…,n);
θj:動態調節因子.θj∈[0,1],(j=1,2,…,6),它取決于用戶信任等級以及各訪問策略效用之間的差異.
針對以上博弈參數,結合動態調節因子與信任等級的博弈關系矩陣如表1所示.

表1 交互實體博弈關系

利用畫線法對該支付矩陣展開分析后,發現該博弈矩陣不存在純策略納什均衡,因此需要求解出該博弈矩陣的混合策略納什均衡.接下來是求解的詳細過程.
設云用戶的收益矩陣為Euser,云服務商的收益矩陣為Ecsp.假使云用戶選擇合法訪問的概率為a,選擇惡意訪問的概率為1-a,則云用戶的混合策略概率為Puser=(a,1-a).假使云服務商選擇同意用戶訪問的概率為b,選擇拒絕用戶訪問的概率為1-b,則云服務商的混合策略概率為Pcsp=(b,1-b).設云服務商的收益函數為Mcsp,則:
對上式求關于b的導數,即:
令b′=0,求出a的值:
(7)

采取相同的方法計算出b的值.設用戶的收益函數為Muser,則:
對上式求關于a的導數,即:
令a′=0,求出b:
(8)

根據2.2節求出的混合策略納什均衡可以獲得a,b的值.分別對用戶選擇合法訪問策略的概率和云服務商選擇允許訪問策略的概率設置門限值[9]d1與d2.當a≥d1且b≥d2時,則允許云用戶的訪問請求,云用戶可以對所具有的權限進行操作.
用戶身份合法性的驗證是以用戶的IP地址為依據,由于身份認證不是本文研究的重點,本實驗以用戶的IP地址都在合法范圍內的前提來展開研究.為了比較交互實體雙方的博弈參數以及混合納什均衡隨用戶信任等級的變化趨勢,本實驗將云用戶分為5個信任等級,各個信任等級所對應的角色與權限如表2所示.需要注意的是信任等級越低代表用戶的可信度越高,擁有的訪問權限越高級.

表2 信任等級與角色權限映射表


表3 博弈收支參數表
上述數據結果的統計情況如圖3所示.
將相關參數代入式(7)與式(8)中展開分析,參數的大小與上一小節保持一致.圖4給出了交互實體雙方的納什均衡隨用戶信任等級的變化趨勢.
從圖4中可以看到云服務商的納什均衡概率與云用戶的納什均衡概率呈正比.這是因為用戶的可信度越高,越想通過惡意的訪問策略來獲取更多的利益,而云服務商為了阻止這種趨勢,需要降低允許用戶訪問的概率來保障云環境的安全性.
為了證明本文提出的博弈機制的有效性,本文仿真實驗基于python3.0實現.
假設云服務商對合法訪問概率超過門限值的用戶總是采取允許策略,對低于門限值的用戶總是采取拒絕策略,將交互總次數中的合法用戶數量定義為交易成功率.本實驗以交易成功率為評估標準,設定云用戶的初始信任值為0.33,合法訪問概率的門限值為0.6.博弈機制中的相關參數的設置與上述描述保持一致.模擬100次交互實驗,每20次交互記錄一次交易成功率.得到的交易成功率隨著交互次數的變化趨勢如圖5所示.

從圖5中可以看到,隨著訪問次數的增加,用戶的合法訪問概率呈現緩慢上升的趨勢.這是因為用戶在與云服務商交互的過程中會采取合法訪問的策略來慢慢累積自己的信任值,當用戶的信任值達到一定程度時,往往會選擇惡意訪問來賺取更多的利益.這時如果沒有一定的措施去控制這種現象就會使云環境遭受惡意攻擊,使其交易成功率下降.而從圖中可以看到當交互實體雙方的交易次數超過60次時,交易成功率并未出現下降的趨勢而是呈緩緩上升的趨勢,可見本文提出的博弈機制對惡意節點具有一定的約束效果且對合法用戶具有一定的激勵作用.
對于動態性、安全性要求較高的云環境[11],本文提出了一種基于信任的動態訪問控制博弈機制.在傳統的訪問控制結構中加入用戶信任實現動態授權,將信任值與動態調節因子引入收益函數中展開博弈分析來避免用戶的惡意訪問行為.通過交易雙方的混合納什均衡策略實現云環境下的訪問決策工作.實驗證明,本文機制將博弈論與基于信任的訪問控制相結合,能夠對云計算環境的安全性與合法性起到一定的積極作用.