鄒佳順,張永勝+,高 艷
(1.山東師范大學 信息科學與工程學院,山東 濟南250014;2.山東師范大學 山東省分布式計算機軟件新技術重點實驗室,山東 濟南250014)
RBAC模型是一種應用比較廣泛的訪問控制模型[1,2]。通過用戶與角色、角色與權限之間的映射關系實現用戶與權限的分離。RBAC 模型通過為用戶分配相應的角色實現授權,具有自主訪問控制DAC 與強制訪問控制MAC 兩者的優點。
傳統RBAC存在權限細粒度監控不足、授權方式不靈活等缺點。在傳統RBAC模型中,角色一旦分配給用戶后,用戶擁有的權限通常便固定不變,往往很難適應新環境下復雜多變的要求。針對上述不足,許多學者提出了相應的改進模型,其中就包括社會學中的信任管理概念的引入[3]。如文獻 [4]對RBAC模型進行了擴展,提出了一種基于信任的TRBAC模型;文獻 [5]在RBAC中引入授權信任約束,在研究regret系統中信任度計算算法的基礎上提出一種基于忠誠度的信任度計算方法,實現細粒度訪問控制;文獻 [6,7]分別在網格計算環境下提出一種基于信任度的RBAC訪問控制模型。
由于信任具有主觀性、不確定性、模糊性等特征,信任度計算準確度也影響著授權的正確性。目前基于信任度的訪問控制研究通常是在利用各種方法計算出用戶或網絡節點的信任度后,按照信任度所在范圍進行相應的授權[8]。考慮到信任度的計算準確性難度,本文另辟蹊徑,利用協同過濾相關原理,通過求取主體的信任相似度方式實現對用戶權限的細粒度控制,避開了訪問主體信任度的精確計算問題。
傳統RBAC模型的基本組成元素如下:
(1)用戶集、角色集、權限集及會話集,分別用符號U、R、P、S表示。
(4)S→U。每個會話只與單一用戶間產生映射關系。
(5)S→2R。一個會話可與多個角色產生映射關系。
圖1為RBAC的關系模型,用戶通過建立會話后形成相應的會話子集。該角色會話子集也被稱為激活的角色集,用戶擁有的訪問權限也在該角色集中被定義。

圖1 RBAC關系模型
協同過濾[9-13]算法通常用于電子商務系統中的商品推薦,其基本思想是根據用戶對商品的評分,通過尋找與目標用戶或項目相似的對象作為推薦的對象。
傳統協同過濾算法通常可分為數據表述、尋找最近鄰和產生推薦數據集3步,具體過程如下:
(1)獲得一個m×n的用戶-項目評分矩陣,其中矩陣元素Rij表示用戶i對用戶j的評分值。
(2)根據該評分矩陣計算用戶或項目的相似度,并且按照相似度從大到小排列,最后形成當前用戶或項目求得的一個最近鄰集合。
(3)產生推薦數據集。通過最近鄰集合產生Top-N 推薦集。
關于相似性度量通常可用Pearson相關相似性式、余弦相似性式 (1)、以及修正的余弦相似性式進行計算

式中:u1與u2為兩用戶的評分向量,在Pearson相關相似性式中以及修正的余弦相似性式中通過引入用戶的平均評分珚R 作為參考,來彌補不同用戶評分尺度的缺陷,而在本文不存在評分尺度問題,因此采用的是余弦相似性式。
信任的模糊性與主觀性導致了信任度計算的困難,目前關于信任度計算方法的研究很多,而本文則是從另一角度討論用戶的信任度。
定義1 信任特征是用來反應用戶在當前上下文環境中安全等級的屬性,用符號tf表示。
不同系統環境下可以通過不同的信任特征對用戶授權行為進行約束,如考慮用戶IP地址段的信任特征、考慮用戶違法操作次數的信任特征等。信任特征值可以用1 或0來表示是否安全,也可以根據用戶上下文環境的安全程度進行自動評分,如設定滿分為5分。后者的實現較為復雜,因此本文采用1或0進行表示。
定義2 信任特征向量p= (tf1,tf2,…,tfn)。其中n為信任特征個數。系統存儲每個用戶的信任特征向量作為用戶的當前上下文信息。
定義3 標準特征向量p’= (1,1,…,1)是一個n維向量,其中每個信任特征值均為1,表示所有信任特征都滿足系統安全要求,擁有標準特征向量的用戶本文稱為標準用戶。
定義4 信任相似度是指用戶的信任特征向量與標準特征向量或用戶與標準用戶之間的相似度,本文用符號ξ表示,取值范圍為 [0,1]

矩陣Rmn為一個m×n的用戶-信任特征矩陣,第一行為標準信任特征向量,其余每行分別代表一個用戶的信任特征向量值。擁有標準特征向量的用戶是最理想的用戶,其余用戶與標準用戶間的相似度也代表了用戶本身的可信程度,因此本文通過計算其余用戶與標準用戶的相似度實現對RBAC中權限的限制。
與傳統研究根據信任度范圍的不同分配不同的角色有所區別,本文則是根據信任相似度范圍的不同進行相應的權限限制。具體授權方法如下:
(1)用戶通過會話映射到相應的角色集RU= {R1,R2,…,Rn},用戶被分配的權限為P(RU)P。
(2)用戶發出訪問請求。獲得當前上下文環境中該用戶的信任特征向量值,通過式 (1)與標準向量進行相似度計算,求得該用戶的信任相似度ξ∈ [0,1]。
(3)與信任相似度最低閾值φ進行比較,若大于閾值則對該用戶的權限進行進一步細粒度的限制,否則禁用該用戶的所有權限。閾值φ的選取根據系統對安全性的需求確定。對于用戶權限的限制可分為3種:權限裁剪、權限約束、聯合權限約束。權限裁剪是指根據相關裁剪策略對用戶已分配的權限P(RU)進行裁剪。權限約束是指根據相關約束策略對用戶已分配的權限P(RU)進行細粒度的限制,如根據約束策略對用戶已有的下載權限進行下載速率的進一步約束等。而聯合權限約束則是根據特殊需要進行的限制,如存在這樣的情況:當用戶當前的一個或幾個信任特征值為0 時,根據安全需要必須禁止用戶的B 權限,而實際上通過計算得出的該用戶的相似信任值卻沒有達到B權限的閾值下限,此時就需要通過特殊的約束條件tfa=0∧…∧tfk=0→ξ=δ,其中δ為B權限的開區間下限。這種約束條件稱為聯合權限約束。實際生活中該類現象很多,如進行電子交易時若檢測到電腦中未安裝相關插件,則禁止用戶進行交易,此時若單靠普通信任相似度的計算方法很難實現該效果,因此需要進行特殊的強制賦值。
當存在權限限制操作時,3 種操作的優先權為:聯合權限約束>權限裁剪>權限約束。
(4)用戶訪問結束。
圖2為基于信任相似度的RBAC 模型授權流程。該授權方式可以根據上下文環境實現對權限的細粒度控制。
用戶發出訪問請求時,系統是根據該用戶的信任特征向量進行分析的。信任特征向量其實就是該用戶的相關訪問信息的表述,可以在一定程度上反映出該用戶的歷史訪問情況。如可以根據某信任特征值是1或0判斷該用戶是否在常用IP地址段上網。對于該類特征值,可以通過計算該用戶在當前環境下訪問次數占歷史次數的比例,然后與系統設定的閾值θ進行比較完成賦值。如某用戶當前登陸IP地址段在歷史記錄中出現的比例大于閾值θ,則可以認為屬于在常用登陸地區登陸,可將相應的信任特征值設為1。對于不同類型特征值的獲取也可以采用不同的計算算法,而對于反映當前上下文環境的信任特征,系統將直接根據用戶反饋信息自動進行賦值。此外,系統管理員也可以根據用戶的行為對該用戶的信任特征值進行強制清零,實現對該用戶的凍結。
對于第一次訪問的用戶,系統可能由于缺少該用戶的歷史信息,無法計算出某些與歷史信息相關的信任特征值,也就是所謂的冷啟動問題。為鼓勵更多用戶注冊登陸,對于該類信任特征,本文采用自動置1操作。

圖2 基于信任相似度的授權流程
本文在Windows XP平臺上使用C#語言及ASP.NET相關技術設計并實現了具有上傳、存儲及評論功能的用戶留言板系統。硬件環境為Pentium(R)Dual-Core 2GHz,1 GB內存,并使用Matlab7.0作為數據分析軟件。用戶可以通過登陸該系統進行文件上傳下載、私密文件存儲、文件閱讀、評論及對其余用戶的評論進行評分操作。通過對該系統的訪問控制過程進行舉例說明基于信任相似度的RBAC模型授權過程。
本文設定角色R1如圖3所示。其中C 為上下文環境,權限P1、P2、P3、P4 分別為上傳下載權限、存儲權限、閱讀權限、評論及評分權限。

圖3 角色權限分配
在該系統中,本文引入4種信任特征分別為與IP地址段相關的信任特征tfIP,與上傳頻率相關的信任特征tfUpload,與其余用戶對該用戶評分相關的信任特征tfComment,與該用戶登錄操作相關的信任特征tfLogin。用戶的信任特征向量為pa= (tfIP,tfUpload,tfComment,tfLogin)。
根據信任相似度ξ范圍的不同對存儲權限進行細粒度的限制。考慮到信任相似度的可能取值,本文設定ξ的閾值分別為0、0.6、0.8、1。其中當ξ≤0時,分配用戶的存儲空間為0,即對P2權限進行裁剪。當0<ξ≤0.6時,分配用戶的存儲空間為1M。當0.6<ξ≤0.8時,分配用戶的存儲空間為2M。當0.8<ξ≤1 時,分配用戶的存儲空間為3M。
通過在不同IP地址段登錄、增加下載次數、使用不同賬號對實驗賬號用戶進行差評、登錄錯誤次數超過3 次4種操作不斷降低實驗用戶的信任相似度ξ,則該用戶所擁有的存儲空間變化如圖4所示。

圖4 存儲空間與信任相似度的關系
通過圖4可以明顯的看出,系統分配用戶的存儲空間隨著信任相似度的降低也逐漸減少。當信任相似度降為0時,用戶所擁有的存儲空間為0,即相應的存儲權限P2被裁減掉。在這個過程中,存在著權限裁減與權限約束兩種權限限制操作。
為進一步分析如何確定系統中信任特征的數目,本文通過增加信任特征數目從2到21,觀察用戶的次零最低信任相似度Ψ 以及相似度變化率如圖5所示。
定義5 次零最低信任相似度是指用戶能取到的除0以外的相似度最小值。次零最低信任在一定程度上反映了該用戶信任相似度變化范圍的大小、取值的稠密程度以及精確性。本文用符號Ψ 表示,其中系統中信任特征數目越多,Ψ 值越接近0,系統對用戶權限的限制也就越細粒度。
因此通常來說,一個系統在其負載允許范圍內信任特征數目越多,其功能越強大。對于相似度變化率本文采用式 (2)計算

圖5 次零最低信任相似度與信任特征數目的關系

式中:Ψ——用戶當前的次零最低信任相似度,n——用戶當前的信任特征的數目。
由圖5可知,當信任特征的數目增加到5 時,次零最低信任相似度Ψ 的變化速度出現了大幅度的減緩,相似度變化率的取值也逐漸接近于0。當信任特征的數目增加到10時,由相似度變化率可以看出相似度變化的范圍已經很小。因此,對于普通的小型訪問控制系統可以將信任特征數目定為5,而對于中大型訪問控制系統,可以將信任特征數目選擇為10。當然,信任特征數目越多,系統對權限的控制越精細,具體的數目選擇可依據系統的負載能力進行確定。
本文在研究RBAC訪問控制機制的基礎上提出信任相似度的相關概念,并進一步提出一種基于信任相似度的RBAC模型。與傳統基于信任度的訪問控制研究不同的是,基于信任相似度的RBAC 模型授權不需要計算出用戶的具體信任度數值,而是采用比較普通用戶與標準用戶之間相似度的方式來確定用戶的可信程度。與傳統RBAC 模型相比,基于信任相似度的RBAC 模型具有細粒度權限控制、動態靈活授權等優點。
[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).[趙靜,楊蕊,姜灤生.基于數據對象的RBAC 權限訪問控制模型 [J].計算機工程與設計,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).[趙衛東,畢曉清,盧新明.基于角色的細粒度訪問控制模型的設計與實現 [J].計算機工程與設計,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).[郎波.面向分布式系統訪問控制的信任度量化模型 [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].計算機研究與發展,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].計算機工程與應用,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策略的可信網格訪問控制模型[J].計算機應用研究,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).[鄧勇,張琳,王汝傳,等.傳網格計算中基于信任度的動態角色訪問控制的研究 [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).[喬秀全,楊春,李曉峰,等.社交網絡服務中一種基于用戶上下文的信任度計算方法 [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).[韋素云,業寧,朱健,等.基于項目聚類的全局最近鄰的協同過濾算法 [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).[黃創光,印鑒,汪靜,等.不確定近鄰的協同過濾推薦算法 [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).[汪靜,印鑒,鄭利榮,等.基于共同評分和相似性權重的協同過濾推薦算法 [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).[汪靜,印鑒.一種優化的Item-based協同過濾推薦算法 [J]. 小型微型計算機系統,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).[孫光福,吳樂,劉淇,等.基于時序行為的協同過濾推薦算法 [J].軟件學報,2013,24 (11):2721-2733.]