許浩海,于 炯,+,卞 琛,魯 亮,金 亮
(1.新疆大學(xué) 軟件學(xué)院,新疆 烏魯木齊 830008; 2.新疆大學(xué) 信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046)
隨著互聯(lián)網(wǎng)系統(tǒng)分布式開放系統(tǒng)的發(fā)展,傳統(tǒng)的訪問控制[1]模型也暴露出了許多問題,例如自主訪問控制中的權(quán)限傳遞問題和強制訪問控制中的逆向訪問信道難以去除的問題等,這些模型的局限性使得迫切需要尋找新的訪問控制策略解決方案,以達到動態(tài)授權(quán)的需求[2]。基于角色的訪問控制在20世紀(jì)90年代迅速發(fā)展,形成的RBAC模型也成為了ANSI標(biāo)準(zhǔn),角色是一組權(quán)限的集合,雖然RBAC模型獲得了廣泛的認(rèn)可,但是其難以實現(xiàn)個體的差異性,無法滿足分布式系統(tǒng)發(fā)展的需求[3]。近年來,出現(xiàn)了基于可信度計算的訪問模型[4],可以在改進RBAC模型的基礎(chǔ)上實現(xiàn)個體的差異訪問控制,建立信譽體系,其中最重要的衡量標(biāo)準(zhǔn)就是信譽值,信譽值的準(zhǔn)確度決定了個性化訪問控制需求的符合度。
在分布式系統(tǒng)安全中,訪問控制技術(shù)可以在一定層面上保證系統(tǒng)主體的合法接入,確保不同角色的資源信息互不干擾;同時,系統(tǒng)中數(shù)據(jù)保護也越來越受人重視,人們也在不斷研究數(shù)據(jù)隱私保護,對如何在訪問控制過程中合理訪問隱私數(shù)據(jù)進行了深入探討。訪問控制是通過某種途徑顯式地準(zhǔn)許或限制主體對客體訪問能力及范圍的一種方法,其核心機制是授權(quán)策略。從傳統(tǒng)的訪問控制技術(shù)延伸出基于角色訪問的靜態(tài)訪問控制和基于任務(wù)和工作流的動態(tài)訪問控制等[5]。雷蕾等[6]在加密的基礎(chǔ)上通過訪問控制策略隱藏機制生成密鑰推導(dǎo)圖來分發(fā)密鑰,提高了密鑰獲取的計算速度。高訓(xùn)兵等[7]在屬性加密算法基礎(chǔ)上引入代理服務(wù)器,建立權(quán)限分析方案,實現(xiàn)訪問權(quán)限的傳遞。劉慶云等[8]在量化用戶和服務(wù)的基礎(chǔ)上提出一種靈活粒度的訪問控制機制,既能支持權(quán)限動態(tài)調(diào)整又能支持條件角色遷移,另外該機制還提高了訪問控制的可管理性。張伊璇等[9]利用博弈論原理建立隱私訪問者和保護者之間的博弈模型,該模型從收益的角度出發(fā)再結(jié)合歷史信息分析隱私訪問者和保護者之間的博弈策略所對應(yīng)的收益繼而起到阻止隱私保護者不希望訪問者訪問隱私的作用。Chebotko A等[10]針對云環(huán)境的特點,在云計算中通過改進的RBAC模型實現(xiàn)訪問控制的優(yōu)化。Sabrina D等[11]針對特定用戶訪問的數(shù)據(jù)進行選擇性的加密來提高效率,保護數(shù)據(jù)安全。
從整體來看,訪問控制領(lǐng)域的研究較為成熟,但是針對不同的應(yīng)用背景,設(shè)計出特定約束的解決方案成為了新的熱點,例如文獻[12,13],針對特定數(shù)據(jù)進行加密處理來達到安全訪問控制的目的。本文針對擴展的RBAC模型,基于用戶可信度訪問控制模型上,在可信度的計算上進行進一步的加強,從系統(tǒng)的整體出發(fā),在系統(tǒng)不斷運行中智能化達應(yīng)變,滿足初步開放式的要求,針對系統(tǒng)每一項訪問內(nèi)容設(shè)置訪問門檻,根據(jù)訪問者的可信度來決定是否授予訪問權(quán)限。同時實現(xiàn)了相同角色的用戶,可以擁有不同的組權(quán)限。
總體上說,UCBAC(基于用戶信譽值的訪問控制)大致可分為以下4個模型:基本信譽值計算模型、關(guān)聯(lián)信譽值統(tǒng)計模型、信譽值累積模型、信譽值懲罰模型。
屬性:對主體某一特征的描述,所有的屬性集合構(gòu)成了主體,例如:編號、姓名、頭像、住址,電話等。
屬性私密度:表示了該屬性對主體的私密程度,對于個性化的隱私來說,不同主體的相同屬性也存在不同程度的私密度,主體可以根據(jù)屬性對自身的影響程度來定義不同級別的屬性私密度。私密度越高,意味著發(fā)生惡意泄露造成的影響就越大。
系統(tǒng)的核心思想是通過把結(jié)構(gòu)化數(shù)據(jù)根據(jù)屬性私密度進行等級劃分,各個等級設(shè)定最低信譽值訪問標(biāo)準(zhǔn),然后針對系統(tǒng)中的每個主體進行信譽值的計算,進而判斷是否可以訪問相應(yīng)的數(shù)據(jù)。
用戶訪問系統(tǒng)時會攜帶環(huán)境信息(包括IP地址、MAC地址、訪問來源、用戶系統(tǒng)類型等),同時在進入系統(tǒng)時會提供用戶身份信息(包括登陸令牌、證書、密鑰等)。系統(tǒng)安全模塊根據(jù)制定的系統(tǒng)安全策略或規(guī)則,根據(jù)每項信息的重要程度來制定每項的權(quán)重w和基本分值SC,那么基本信譽值就是根據(jù)權(quán)重累加的基本分值總和,如式(1)所示
(1)
其中,m表示項信息。
關(guān)聯(lián)信譽值是通過側(cè)面衡量該用戶的信譽值,系統(tǒng)中的主體既是數(shù)據(jù)訪問者,同時也是數(shù)據(jù)提供者,在交互過程中形成相互的信譽值,信譽值不具有傳遞性,但是通過聽取其它主體意見,從側(cè)面調(diào)整信譽值,使得信譽值更加符合實際情況。例如,在某一系統(tǒng)環(huán)境下,訪問者主體A訪問數(shù)據(jù)提供者主體B提供的數(shù)據(jù),主體B需要評估主體A的關(guān)聯(lián)信譽值,那么主體B就需要獲取從其它主體Ei對主體A的信譽值ECi。這里還要評估主體B對其它主體E提供的信譽值。這里不使用主體B對主體Ei的信譽值作為權(quán)重依據(jù),因為如果主體存在Ei對A有較高的信譽值,主體B對Ei也存在較高的信譽值,那么主體B對A的信譽值也會比較高,如此循環(huán),主體A在整個系統(tǒng)的信譽值會被迅速拉高,事實上,有可能A只是在這個局部信譽值較高,而在整個系統(tǒng)中的整體信譽值較低,這顯然不是我們想看到的情況。所以可以根據(jù)PageRank算法的思想,我們可以得出每個主體的整體排名,以排名作為權(quán)重依據(jù),通過PageRank算法的思想來計算關(guān)聯(lián)信譽值。
冪法計算PageRank值,其算法如下:
輸入:系統(tǒng)信譽值圖G
輸出:系統(tǒng)中所有主體的PageRank向量。
(1)n; /*主體數(shù)量*/
(2)Et; /* n 維的全1行矩陣*/
(3)Q0←random(n);
/*初始化隨機生成每個主體的
PageRank值向量*/
(4)P←G
(5)S=a*P+((1-a)*/n)*Et;
/*初始的PageRank矩陣*/
(6)i=0;
(7)whiledistance(Qi,Qi-1)>Δddo
(8)i++;
(9)Qi=S*Qi-1;
(10)end wile;
(11)returnQi;
算法中(1)~(2)行為初始化數(shù)據(jù),第(3)行隨機給每個主體生成初始的PageRank值,并組成矩陣,第(4)行為通過系統(tǒng)的信譽值連接圖統(tǒng)計出的連接概率矩陣的轉(zhuǎn)置矩陣,也就是概率轉(zhuǎn)移矩陣,第(5)行計算初始的PageRank矩陣,第(6)~(10)迭代計算PageRank值向量,直到兩次相鄰迭代距離小于Δd,表示已經(jīng)收斂,第(11)行結(jié)束返回最后收斂的PageRank向量值。
根據(jù)PageRank值的占比進行累加每個關(guān)聯(lián)的主體的信譽值得到當(dāng)前主體的關(guān)聯(lián)信譽值。
信譽值的累積必然是一個慢增長的過程,但是前期會有一個較快的增長,然后增長速度一直遞減,達到一個平緩的信譽值,那么,增長的度必然是跟現(xiàn)有歷史信譽值呈反比,最后增加一個調(diào)節(jié)參數(shù)a(其中0 (2) 很明顯,式(2)的趨近值是fmax,這是一個直觀的理論公式,由式(2)可以得出計算公式,那么第x次的信譽值計算公式 (3)