鄒佳順,張永勝+,高 艷
(1.山東師范大學 信息科學與工程學院,山東 濟南250014;2.山東師范大學 山東省分布式計算機軟件新技術(shù)重點實驗室,山東 濟南250014)
RBAC模型是一種應(yīng)用比較廣泛的訪問控制模型[1,2]。通過用戶與角色、角色與權(quán)限之間的映射關(guān)系實現(xiàn)用戶與權(quán)限的分離。RBAC 模型通過為用戶分配相應(yīng)的角色實現(xiàn)授權(quán),具有自主訪問控制DAC 與強制訪問控制MAC 兩者的優(yōu)點。
傳統(tǒng)RBAC存在權(quán)限細粒度監(jiān)控不足、授權(quán)方式不靈活等缺點。在傳統(tǒng)RBAC模型中,角色一旦分配給用戶后,用戶擁有的權(quán)限通常便固定不變,往往很難適應(yīng)新環(huán)境下復(fù)雜多變的要求。針對上述不足,許多學者提出了相應(yīng)的改進模型,其中就包括社會學中的信任管理概念的引入[3]。如文獻 [4]對RBAC模型進行了擴展,提出了一種基于信任的TRBAC模型;文獻 [5]在RBAC中引入授權(quán)信任約束,在研究regret系統(tǒng)中信任度計算算法的基礎(chǔ)上提出一種基于忠誠度的信任度計算方法,實現(xiàn)細粒度訪問控制;文獻 [6,7]分別在網(wǎng)格計算環(huán)境下提出一種基于信任度的RBAC訪問控制模型。
由于信任具有主觀性、不確定性、模糊性等特征,信任度計算準確度也影響著授權(quán)的正確性。目前基于信任度的訪問控制研究通常是在利用各種方法計算出用戶或網(wǎng)絡(luò)節(jié)點的信任度后,按照信任度所在范圍進行相應(yīng)的授權(quán)[8]。考慮到信任度的計算準確性難度,本文另辟蹊徑,利用協(xié)同過濾相關(guān)原理,通過求取主體的信任相似度方式實現(xiàn)對用戶權(quán)限的細粒度控制,避開了訪問主體信任度的精確計算問題。
傳統(tǒng)RBAC模型的基本組成元素如下:
(1)用戶集、角色集、權(quán)限集及會話集,分別用符號U、R、P、S表示。
(4)S→U。每個會話只與單一用戶間產(chǎn)生映射關(guān)系。
(5)S→2R。一個會話可與多個角色產(chǎn)生映射關(guān)系。
圖1為RBAC的關(guān)系模型,用戶通過建立會話后形成相應(yīng)的會話子集。該角色會話子集也被稱為激活的角色集,用戶擁有的訪問權(quán)限也在該角色集中被定義。
圖1 RBAC關(guān)系模型
協(xié)同過濾[9-13]算法通常用于電子商務(wù)系統(tǒng)中的商品推薦,其基本思想是根據(jù)用戶對商品的評分,通過尋找與目標用戶或項目相似的對象作為推薦的對象。
傳統(tǒng)協(xié)同過濾算法通??煞譃閿?shù)據(jù)表述、尋找最近鄰和產(chǎn)生推薦數(shù)據(jù)集3步,具體過程如下:
(1)獲得一個m×n的用戶-項目評分矩陣,其中矩陣元素Rij表示用戶i對用戶j的評分值。
(2)根據(jù)該評分矩陣計算用戶或項目的相似度,并且按照相似度從大到小排列,最后形成當前用戶或項目求得的一個最近鄰集合。
(3)產(chǎn)生推薦數(shù)據(jù)集。通過最近鄰集合產(chǎn)生Top-N 推薦集。
關(guān)于相似性度量通常可用Pearson相關(guān)相似性式、余弦相似性式 (1)、以及修正的余弦相似性式進行計算
式中:u1與u2為兩用戶的評分向量,在Pearson相關(guān)相似性式中以及修正的余弦相似性式中通過引入用戶的平均評分珚R 作為參考,來彌補不同用戶評分尺度的缺陷,而在本文不存在評分尺度問題,因此采用的是余弦相似性式。
信任的模糊性與主觀性導(dǎo)致了信任度計算的困難,目前關(guān)于信任度計算方法的研究很多,而本文則是從另一角度討論用戶的信任度。
定義1 信任特征是用來反應(yīng)用戶在當前上下文環(huán)境中安全等級的屬性,用符號tf表示。
不同系統(tǒng)環(huán)境下可以通過不同的信任特征對用戶授權(quán)行為進行約束,如考慮用戶IP地址段的信任特征、考慮用戶違法操作次數(shù)的信任特征等。信任特征值可以用1 或0來表示是否安全,也可以根據(jù)用戶上下文環(huán)境的安全程度進行自動評分,如設(shè)定滿分為5分。后者的實現(xiàn)較為復(fù)雜,因此本文采用1或0進行表示。
定義2 信任特征向量p= (tf1,tf2,…,tfn)。其中n為信任特征個數(shù)。系統(tǒng)存儲每個用戶的信任特征向量作為用戶的當前上下文信息。
定義3 標準特征向量p’= (1,1,…,1)是一個n維向量,其中每個信任特征值均為1,表示所有信任特征都滿足系統(tǒng)安全要求,擁有標準特征向量的用戶本文稱為標準用戶。
定義4 信任相似度是指用戶的信任特征向量與標準特征向量或用戶與標準用戶之間的相似度,本文用符號ξ表示,取值范圍為 [0,1]
矩陣Rmn為一個m×n的用戶-信任特征矩陣,第一行為標準信任特征向量,其余每行分別代表一個用戶的信任特征向量值。擁有標準特征向量的用戶是最理想的用戶,其余用戶與標準用戶間的相似度也代表了用戶本身的可信程度,因此本文通過計算其余用戶與標準用戶的相似度實現(xiàn)對RBAC中權(quán)限的限制。
與傳統(tǒng)研究根據(jù)信任度范圍的不同分配不同的角色有所區(qū)別,本文則是根據(jù)信任相似度范圍的不同進行相應(yīng)的權(quán)限限制。具體授權(quán)方法如下:
(1)用戶通過會話映射到相應(yīng)的角色集RU= {R1,R2,…,Rn},用戶被分配的權(quán)限為P(RU)P。
(2)用戶發(fā)出訪問請求。獲得當前上下文環(huán)境中該用戶的信任特征向量值,通過式 (1)與標準向量進行相似度計算,求得該用戶的信任相似度ξ∈ [0,1]。
(3)與信任相似度最低閾值φ進行比較,若大于閾值則對該用戶的權(quán)限進行進一步細粒度的限制,否則禁用該用戶的所有權(quán)限。閾值φ的選取根據(jù)系統(tǒng)對安全性的需求確定。對于用戶權(quán)限的限制可分為3種:權(quán)限裁剪、權(quán)限約束、聯(lián)合權(quán)限約束。權(quán)限裁剪是指根據(jù)相關(guān)裁剪策略對用戶已分配的權(quán)限P(RU)進行裁剪。權(quán)限約束是指根據(jù)相關(guān)約束策略對用戶已分配的權(quán)限P(RU)進行細粒度的限制,如根據(jù)約束策略對用戶已有的下載權(quán)限進行下載速率的進一步約束等。而聯(lián)合權(quán)限約束則是根據(jù)特殊需要進行的限制,如存在這樣的情況:當用戶當前的一個或幾個信任特征值為0 時,根據(jù)安全需要必須禁止用戶的B 權(quán)限,而實際上通過計算得出的該用戶的相似信任值卻沒有達到B權(quán)限的閾值下限,此時就需要通過特殊的約束條件tfa=0∧…∧tfk=0→ξ=δ,其中δ為B權(quán)限的開區(qū)間下限。這種約束條件稱為聯(lián)合權(quán)限約束。實際生活中該類現(xiàn)象很多,如進行電子交易時若檢測到電腦中未安裝相關(guān)插件,則禁止用戶進行交易,此時若單靠普通信任相似度的計算方法很難實現(xiàn)該效果,因此需要進行特殊的強制賦值。
當存在權(quán)限限制操作時,3 種操作的優(yōu)先權(quán)為:聯(lián)合權(quán)限約束>權(quán)限裁剪>權(quán)限約束。
(4)用戶訪問結(jié)束。
圖2為基于信任相似度的RBAC 模型授權(quán)流程。該授權(quán)方式可以根據(jù)上下文環(huán)境實現(xiàn)對權(quán)限的細粒度控制。
用戶發(fā)出訪問請求時,系統(tǒng)是根據(jù)該用戶的信任特征向量進行分析的。信任特征向量其實就是該用戶的相關(guān)訪問信息的表述,可以在一定程度上反映出該用戶的歷史訪問情況。如可以根據(jù)某信任特征值是1或0判斷該用戶是否在常用IP地址段上網(wǎng)。對于該類特征值,可以通過計算該用戶在當前環(huán)境下訪問次數(shù)占歷史次數(shù)的比例,然后與系統(tǒng)設(shè)定的閾值θ進行比較完成賦值。如某用戶當前登陸IP地址段在歷史記錄中出現(xiàn)的比例大于閾值θ,則可以認為屬于在常用登陸地區(qū)登陸,可將相應(yīng)的信任特征值設(shè)為1。對于不同類型特征值的獲取也可以采用不同的計算算法,而對于反映當前上下文環(huán)境的信任特征,系統(tǒng)將直接根據(jù)用戶反饋信息自動進行賦值。此外,系統(tǒng)管理員也可以根據(jù)用戶的行為對該用戶的信任特征值進行強制清零,實現(xiàn)對該用戶的凍結(jié)。
對于第一次訪問的用戶,系統(tǒng)可能由于缺少該用戶的歷史信息,無法計算出某些與歷史信息相關(guān)的信任特征值,也就是所謂的冷啟動問題。為鼓勵更多用戶注冊登陸,對于該類信任特征,本文采用自動置1操作。
圖2 基于信任相似度的授權(quán)流程
本文在Windows XP平臺上使用C#語言及ASP.NET相關(guān)技術(shù)設(shè)計并實現(xiàn)了具有上傳、存儲及評論功能的用戶留言板系統(tǒng)。硬件環(huán)境為Pentium(R)Dual-Core 2GHz,1 GB內(nèi)存,并使用Matlab7.0作為數(shù)據(jù)分析軟件。用戶可以通過登陸該系統(tǒng)進行文件上傳下載、私密文件存儲、文件閱讀、評論及對其余用戶的評論進行評分操作。通過對該系統(tǒng)的訪問控制過程進行舉例說明基于信任相似度的RBAC模型授權(quán)過程。
本文設(shè)定角色R1如圖3所示。其中C 為上下文環(huán)境,權(quán)限P1、P2、P3、P4 分別為上傳下載權(quán)限、存儲權(quán)限、閱讀權(quán)限、評論及評分權(quán)限。
圖3 角色權(quán)限分配
在該系統(tǒng)中,本文引入4種信任特征分別為與IP地址段相關(guān)的信任特征tfIP,與上傳頻率相關(guān)的信任特征tfUpload,與其余用戶對該用戶評分相關(guān)的信任特征tfComment,與該用戶登錄操作相關(guān)的信任特征tfLogin。用戶的信任特征向量為pa= (tfIP,tfUpload,tfComment,tfLogin)。
根據(jù)信任相似度ξ范圍的不同對存儲權(quán)限進行細粒度的限制??紤]到信任相似度的可能取值,本文設(shè)定ξ的閾值分別為0、0.6、0.8、1。其中當ξ≤0時,分配用戶的存儲空間為0,即對P2權(quán)限進行裁剪。當0<ξ≤0.6時,分配用戶的存儲空間為1M。當0.6<ξ≤0.8時,分配用戶的存儲空間為2M。當0.8<ξ≤1 時,分配用戶的存儲空間為3M。
通過在不同IP地址段登錄、增加下載次數(shù)、使用不同賬號對實驗賬號用戶進行差評、登錄錯誤次數(shù)超過3 次4種操作不斷降低實驗用戶的信任相似度ξ,則該用戶所擁有的存儲空間變化如圖4所示。
圖4 存儲空間與信任相似度的關(guān)系
通過圖4可以明顯的看出,系統(tǒng)分配用戶的存儲空間隨著信任相似度的降低也逐漸減少。當信任相似度降為0時,用戶所擁有的存儲空間為0,即相應(yīng)的存儲權(quán)限P2被裁減掉。在這個過程中,存在著權(quán)限裁減與權(quán)限約束兩種權(quán)限限制操作。
為進一步分析如何確定系統(tǒng)中信任特征的數(shù)目,本文通過增加信任特征數(shù)目從2到21,觀察用戶的次零最低信任相似度Ψ 以及相似度變化率如圖5所示。
定義5 次零最低信任相似度是指用戶能取到的除0以外的相似度最小值。次零最低信任在一定程度上反映了該用戶信任相似度變化范圍的大小、取值的稠密程度以及精確性。本文用符號Ψ 表示,其中系統(tǒng)中信任特征數(shù)目越多,Ψ 值越接近0,系統(tǒng)對用戶權(quán)限的限制也就越細粒度。
因此通常來說,一個系統(tǒng)在其負載允許范圍內(nèi)信任特征數(shù)目越多,其功能越強大。對于相似度變化率本文采用式 (2)計算
圖5 次零最低信任相似度與信任特征數(shù)目的關(guān)系
式中:Ψ——用戶當前的次零最低信任相似度,n——用戶當前的信任特征的數(shù)目。
由圖5可知,當信任特征的數(shù)目增加到5 時,次零最低信任相似度Ψ 的變化速度出現(xiàn)了大幅度的減緩,相似度變化率的取值也逐漸接近于0。當信任特征的數(shù)目增加到10時,由相似度變化率可以看出相似度變化的范圍已經(jīng)很小。因此,對于普通的小型訪問控制系統(tǒng)可以將信任特征數(shù)目定為5,而對于中大型訪問控制系統(tǒng),可以將信任特征數(shù)目選擇為10。當然,信任特征數(shù)目越多,系統(tǒng)對權(quán)限的控制越精細,具體的數(shù)目選擇可依據(jù)系統(tǒng)的負載能力進行確定。
本文在研究RBAC訪問控制機制的基礎(chǔ)上提出信任相似度的相關(guān)概念,并進一步提出一種基于信任相似度的RBAC模型。與傳統(tǒng)基于信任度的訪問控制研究不同的是,基于信任相似度的RBAC 模型授權(quán)不需要計算出用戶的具體信任度數(shù)值,而是采用比較普通用戶與標準用戶之間相似度的方式來確定用戶的可信程度。與傳統(tǒng)RBAC 模型相比,基于信任相似度的RBAC 模型具有細粒度權(quán)限控制、動態(tài)靈活授權(quán)等優(yōu)點。
[1]ZHAO Jing,YANG Rui,JIANG Luansheng.RBAC permission access control model based on data objects[J].Computer Engineering and Design,2010,31 (15):3353-3355 (in Chinese).[趙靜,楊蕊,姜灤生.基于數(shù)據(jù)對象的RBAC 權(quán)限訪問控制模型 [J].計算機工程與設(shè)計,2010,31 (15):3353-3355.]
[2]ZHAO Weidong,BI Xiaoqing,LU Xinming.Design and implemention of fine-grained RBAC model[J].Computer Engi-neering and Design,2013,34 (2):474-479 (in Chinese).[趙衛(wèi)東,畢曉清,盧新明.基于角色的細粒度訪問控制模型的設(shè)計與實現(xiàn) [J].計算機工程與設(shè)計,2013,34 (2):474-479.]
[3]LANG Bo.Access control oriented quantified trust degree representation model for distributed systems[J].Journal on Communications,2010,31 (12):45-54 (in Chinese).[郎波.面向分布式系統(tǒng)訪問控制的信任度量化模型 [J].通信學報,2010,31 (12):45-54.]
[4]LIU Wu,DUAN Haixin,ZHANG Hong,et al.TRBAC:Trust based access control model[J].Journal of Computer Research and Development,2011,48 (8):1414-1420 (in Chinese).[劉武,段海新,張洪,等.TRBAC:基于信任的訪問控制模型 [J].計算機研究與發(fā)展,2011,48 (8):1414-1420.]
[5]XIA Qishou,YIN Xiaoling,WANG Ruchuan.Studies on fine-grained access control based on trust in RBAC [J].Computer Engineering and Applications,2012,48 (21):75-78(in Chinese).[夏啟壽,殷曉玲,王汝傳.RBAC 中基于信任的細粒度訪問控制研究 [J].計算機工程與應(yīng)用,2012,48(21):75-78.]
[6]HUANG Gang,WANG Ruchuan,TIAN Kai.RBAC-based trusted access control model for grid [J].Application Research of Computers,2010,27 (4):1473-1476 (in Chinese). [黃剛,王汝傳,田凱.基于RBAC策略的可信網(wǎng)格訪問控制模型[J].計算機應(yīng)用研究,2010,27 (4):1473-1476.]
[7]DENG Yong,ZHANG Lin,WANG Ruchuan,et al.Research on dynamic role-based access control based on trust mechanism in grid environment[J].Computer Science,2010,37 (1):51-54 (in Chinese).[鄧勇,張琳,王汝傳,等.傳網(wǎng)格計算中基于信任度的動態(tài)角色訪問控制的研究 [J].計算機科學,2010,37 (1):51-54.]
[8]QIAO Xiuquan,YANG Chun,LI Xiaofeng,et al.A trust calculating algorithm based on social networking service users’context[J].Chinese Journal of Computers,2011,34 (12):2403-2413 (in Chinese).[喬秀全,楊春,李曉峰,等.社交網(wǎng)絡(luò)服務(wù)中一種基于用戶上下文的信任度計算方法 [J].計算機學報,2011,34 (12):2403-2413.]
[9]WEI Suyun,YE Ning,ZHU Jian,et al.Collaborative filtering recommendation algorithm based on item clustering and global similarity [J].Computer Science,2012,39 (12):149-152 (in Chinese).[韋素云,業(yè)寧,朱健,等.基于項目聚類的全局最近鄰的協(xié)同過濾算法 [J].計算機科學,2012,39 (12):149-152.]
[10]HUANG Chuangguang,YIN Jian,WANG Jing,et al.Uncertain neighbors’collaborative filtering recommendation algorithm [J].Chinese Journal of Computers,2010,33 (8):1369-1377 (in Chinese).[黃創(chuàng)光,印鑒,汪靜,等.不確定近鄰的協(xié)同過濾推薦算法 [J].計算機學報,2010,33 (8):1369-1377.]
[11]WANG Jing,YIN Jian,ZHENG Lirong,et al.Collaborative filtering recommendation algorithm based on co-ratings and similarity weight [J].Computer Science,2010,37 (2):99-104 (in Chinese).[汪靜,印鑒,鄭利榮,等.基于共同評分和相似性權(quán)重的協(xié)同過濾推薦算法 [J].計算機科學,2010,37 (2):99-104.]
[12]WANG Jing,YIN Jian.Optimized item-based collaborative filtering recommendation algorithm [J].Journal of Chinese Computer Systems,2010,31 (12):2337-2342 (in Chinese).[汪靜,印鑒.一種優(yōu)化的Item-based協(xié)同過濾推薦算法 [J]. 小型微型計算機系統(tǒng),2010,31 (12):2337-2342.]
[13]SUN Guangfu,WU Le,LIU Qi,et al.Recommendations based on collaborative filtering by exploiting sequential behaviors[J].Journal of Software,2013,24 (11):2721-2733(in Chinese).[孫光福,吳樂,劉淇,等.基于時序行為的協(xié)同過濾推薦算法 [J].軟件學報,2013,24 (11):2721-2733.]