劉萍萍 閆琳英
(西安工業(yè)大學(xué)計算機科學(xué)與工程學(xué)院 西安 710021)
?
云計算中基于信任-角色訪問控制模型的研究*
劉萍萍閆琳英
(西安工業(yè)大學(xué)計算機科學(xué)與工程學(xué)院西安710021)
摘要為了保證云計算中數(shù)據(jù)的安全性,將基于角色和信任的訪問控制模型相結(jié)合,提出一種基于信任-角色的混合云計算訪問控制模型。該模型在基于角色的訪問控制基礎(chǔ)上引入信任度的計算,即用戶需進(jìn)行信任值的驗證,才能獲得訪問數(shù)據(jù)的權(quán)限。通過在本地業(yè)務(wù)系統(tǒng)中的應(yīng)用,表明該模型能夠有效解決用戶對云中數(shù)據(jù)的合法訪問,即達(dá)到保護(hù)云中數(shù)據(jù)的安全問題。
關(guān)鍵詞云計算訪問控制; 數(shù)據(jù)安全; 信任值
Access Control Model Based on Trust-role
LIU PingpingYAN Linying
(School of Computer Science and Engineering, Xi’an Technological University, Xi’an710021)
AbstractTo guarantee the data security in cloud computing, the role-based access control model and trust-based access control model are combined in this paper, and a hybrid model based on "trust-role" is proposed. The model introduces the calculation of the trust value on the base of role-based access control, so that it is required for verification of the trust value and obtain access to data. It is proved this model can effectively solve the legitimate access to data in the cloud, and protect the security problem of data in cloud computing.
Key Wordscloud computing access control, data security, trust value
Class NumberTP309.2
1引言
云計算[1]是分布式處理、并行處理和網(wǎng)格計算發(fā)展的商業(yè)實現(xiàn);主要特點是規(guī)模大、可虛擬化、可靠性高、擴展性高、按需服務(wù)。在云環(huán)境中,各種資源被動態(tài)地連接到Internet上,用戶不但可以申請服務(wù),而且云環(huán)境中的所有參與者都可以動態(tài)地加入或者退出[2]。然而隨著云計算的普及應(yīng)用,云計算服務(wù)安全故障頻繁發(fā)生,其涉及的云安全問題日益突出,如存儲在云端的數(shù)據(jù)使得用戶對其沒有絕對的控制力,不能保證數(shù)據(jù)的完整性和保密性,并且云服務(wù)提供商在某種程度上也存在一定的不可信任性等,這種潛在的數(shù)據(jù)安全問題制約了云計算在檔案資料管理中的發(fā)展,而訪問控制是解決數(shù)據(jù)安全問題的主要手段之一。
本文通過研究幾種傳統(tǒng)的訪問控制方法,在基于角色的訪問控制方法中引入主體信任度的概念,提出一種基于“信任-角色”的混合訪問控制方法,通過實驗證明,該方法在一定程度上能夠提高系統(tǒng)的可信性,降低任務(wù)執(zhí)行失敗和欺騙的概率,有效解決非法用戶對資源的訪問和合法用戶的越權(quán)訪問等,保證了云中數(shù)據(jù)的完整性和保密性。
2傳統(tǒng)訪問控制
2.1自主訪問控制和強制訪問控制
自主訪問控制(Discretionary Access Control,DAC)[3]是一種基于主體授權(quán)的訪問控制策略,這種方式是自主的,但其使得主體的權(quán)限過于強大,系統(tǒng)的安全級別較低。強制訪問控制(Mandatory Access Control,MAC)中,系統(tǒng)的主體和客體都由系統(tǒng)管理員賦予一定的安全屬性,且主體自己無法修改自己的安全屬性。但是其缺乏靈活性、缺乏對授權(quán)管理性的考慮,一般不用于大型的分布式環(huán)境系統(tǒng)中。
2.2基于角色的訪問控制方法
基于角色的訪問控制(Role-Based Access Control,RBAC)模型中,引入了“角色”的概念[4],其主要思想是將主體和客體相分離,訪問權(quán)限不直接針對主體和客體,而是將其分配給角色。這種“用戶-角色-權(quán)限”關(guān)系使得訪問控制方法變得更加靈活。但是隨著角色的增多,其角色之間的關(guān)系會更加復(fù)雜,在影響系統(tǒng)性能的情況下使得系統(tǒng)的安全性降低。再者,這種被動的安全模型不太適用于分布式環(huán)境[5]。
3基于“信任-角色”的混合訪問控制模型
3.1信任度的引入
信任度[6]是對系統(tǒng)中的主體和客體身份和活動可信度的評估,與其本身的可靠性和誠信密切相關(guān)。在基于角色的訪問控制模型的基礎(chǔ)上引入“信任”的概念,在主體試圖訪問客體資源時,不僅要進(jìn)行角色驗證,而且還要計算其信任值,通過信任和角色雙層驗證使得系統(tǒng)的數(shù)據(jù)更加安全。
信任值的獲取[7]主要有三方面:直接信任度、推薦信任度和歷史操作信任度,直接信任度的獲取是通過主體的身份驗證和用戶權(quán)限,推薦信任度主要根據(jù)其他主體和客體資源的推薦信息進(jìn)行計算,歷史操作信任度是主體在歷史訪問客體資源過程中積累的行為記錄。
3.2模型的基本概念描述
定義1實體用戶:訪問云計算環(huán)境中的數(shù)據(jù)資源的主體,記為U;
定義2角色:角色相當(dāng)于實際企業(yè)中的員工角色,記為R;
定義3信任度:信任度是主體對其他主體的信任程度,本模型中信任度的取值為[-1,1],信任值越大,主體的訪問權(quán)限越高;
定義4訪問權(quán)限:主體訪問系統(tǒng)數(shù)據(jù)資源的權(quán)力,根據(jù)分配給主體的角色的不同,主體所擁有的權(quán)限不同;
定義5可信度閾值:可信度閾值就是定義的一固定值,在確定實體用戶的信任值時,需要與最小信任度閾值進(jìn)行比較,若實體用戶的當(dāng)前信任值大于最小信任度閾值,則可以進(jìn)行下一步訪問,反之,則不能繼續(xù)訪問;
定義6會話:會話是實體用戶在激活其所擁有的角色時觸發(fā)的事件過程。實體用戶在一個會話中可以激活多個角色,記為S。
3.3信任值的計算
云計算環(huán)境中,當(dāng)主體用戶提出資源訪問請求后,可信度管理中心要對該用戶的可信度進(jìn)行計算,若該可信度大于某一固定的可信度閾值,那么授權(quán)中心就可以分配給該用戶的角色進(jìn)行相應(yīng)的授權(quán),進(jìn)而該用戶可以訪問該客體資源。
在本模型中,信任度包括:直接信任度、推薦信任度和歷史操作信任度。
1) 直接信任度(DT)
直接信任度的獲取是根據(jù)主體的身份驗證和用戶權(quán)限以及所處的環(huán)境信息進(jìn)行計算;當(dāng)用戶第一次登錄系統(tǒng)時,必須向系統(tǒng)管理員提供自己的身份信息和環(huán)境信息,系統(tǒng)管理員將結(jié)合這些信息計算得出該用戶的直接信任度,其計算公式:
其中,R(i,s)、R(p,s)、R(e,s)分別是安全管理員確定的實體用戶的身份信息、權(quán)限、環(huán)境信息與系統(tǒng)安全的相關(guān)度,α、β、γ分別是身份信息、權(quán)限、環(huán)境信息在直接信任度中所占的權(quán)重。
2) 歷史操作信任度(HT)
歷史操作信任度是主體用戶在歷史訪問客體資源過程中積累的行為記錄。主體用戶對資源的訪問分為正常訪問和非正常訪問,正常訪問是在特定時間內(nèi)提出的符合系統(tǒng)安全規(guī)則的訪問請求,而非正常訪問則是在特定時間內(nèi)提出的違反系統(tǒng)安全規(guī)則的訪問請求。當(dāng)用戶進(jìn)行的是正常的資源訪問請求行為時,則該用戶的歷史操作信任度得到提升,反之歷史操作信任度降低。其計算公式:
其中,H(m,i,t)是主體用戶m在時間t時對客體資源i的訪問的信任值,vi是對此次訪問的定義系數(shù),如果是正常訪問,則vi取正值,反之取負(fù)值。
3) 推薦信任度(RT)
推薦信任度是主體用戶對其他主體用戶的建議信任度,通常某一用戶對另一用戶的推薦信任度可以參考其他用戶對它的建議信任度。其計算公式:
其中,S(m,i)i是實體m對實體n在第i次操作時的滿意程度,D(m,i)i是實體m對實體n在第i次操作時的打分。
4) 最終信任度(FT)的計算
最終信任度是根據(jù)之前計算可得的直接信任度和歷史操作信任度以及推薦信任度綜合得到的,設(shè)定這三種信任度的權(quán)重分別為WDT、WHT、WRT,并且三者權(quán)值之和等于1。最終信任度的計算公式為
FT(U)=WDTDT(U)+WHTHT(U)+WRTRT(U)
3.4基于信任-角色的訪問控制算法
當(dāng)用戶提出訪問資源的請求時,云計算授權(quán)中心通過核實主體用戶的信息,為其創(chuàng)建會話S,建立系統(tǒng)與主體用戶U之間的可信任關(guān)系,并且計算主體用戶U的信任度,主體用戶U選擇在本次會話中所要激活的角色,系統(tǒng)根據(jù)信任約束條件將用戶U的可信度作用于角色的各項訪問權(quán)限,可得主體用戶當(dāng)前的有效訪問權(quán)限。算法流程圖如圖1所示。
圖1 算法流程圖
具體算法步驟如下:
1) 當(dāng)實體用戶需要訪問資源時,首先將自己登錄的賬戶和密碼以及需要請求的數(shù)據(jù)資源提交給云計算授權(quán)中心;
2) 云計算授權(quán)中心核對實體用戶提交的信息,決定是否建立會話,若同意,則建立系統(tǒng)與該用戶的會話,并將用戶提交的信息轉(zhuǎn)發(fā)給云計算角色數(shù)據(jù)庫;
3) 云計算角色數(shù)據(jù)庫根據(jù)授權(quán)中心發(fā)送過來的信息決定該用戶需要的角色,將角色分配給用戶,并將信息轉(zhuǎn)發(fā)給云計算信任值數(shù)據(jù)庫;
4) 云計算信任值數(shù)據(jù)庫根據(jù)該用戶當(dāng)前的信任值的高低來決定是否給分配給該用戶的角色賦予權(quán)限,若該用戶的當(dāng)前信任值大于事先規(guī)定好的最低閾值,則進(jìn)行權(quán)限賦予,否則拒絕,并將這些信息返回給云計算授權(quán)中心;
5) 云計算授權(quán)中心將云計算信任值數(shù)據(jù)庫的信息保存之后將給該用戶返回一個授權(quán)成功證書,用戶即可攜帶該授權(quán)成功證書對資源數(shù)據(jù)庫進(jìn)行訪問,資源數(shù)據(jù)庫進(jìn)行核對之后,用戶即可訪問需要訪問的數(shù)據(jù)資源;
6) 本次會話結(jié)束之后,用戶和資源都為對方進(jìn)行滿意度的評審,并將結(jié)果提交給信任值數(shù)據(jù)庫,進(jìn)行信任值的計算和更新。
4基于“信任-角色”訪問控制模型的應(yīng)用
針對云環(huán)境的安全問題,本文將可信機制引入傳統(tǒng)的訪問控制模型中,提出基于信任-角色的訪問控制模型,并在本地業(yè)務(wù)系統(tǒng)中進(jìn)行實驗。
通過Hadoop架構(gòu)搭建云平臺,先將本地數(shù)據(jù)庫遷移到分布式數(shù)據(jù)庫HBase中,然后在本地業(yè)務(wù)系統(tǒng)中通過本訪問控制模型的應(yīng)用,即同時對用戶的身份、可信性等信息做出驗證。最后通過仿真實驗得出此模型在系統(tǒng)吞吐量和數(shù)據(jù)的存儲代價方面的優(yōu)勢。
4.1Hadoop云平臺的搭建
1) 安裝Linux虛擬機
首先安裝VMware Workstation10,接著完成Linux虛擬機的安裝。其中Linux系統(tǒng)為Ubuntu12.04。
2) 安裝JDK
安裝jdk-6u43-linux-i586.bin,并設(shè)置其環(huán)境變量。
3) 配置SSH免密碼登錄
安裝命令:$sudo apt-get install ssh
4) 安裝hadoop、zookeeper及hbase
分別將hadoop-1.2.1.tar.gz、zookeeper-3.4.6.tar.gz、hbase-0.94.26.tar.gz三個文件解壓放入目標(biāo)文件夾內(nèi),然后配置Hadoop的環(huán)境變量,并分別修改hadoop、zookeeper、hbase的配置文件。
4.2本地數(shù)據(jù)庫MySql向HBases數(shù)據(jù)庫的遷移
使用Put方法將MySQL數(shù)據(jù)導(dǎo)入HBase中。所有的操作均在一個單獨的客戶端執(zhí)行,通過HBase Shell創(chuàng)建HBase表格,通過Java來連接集群,并將數(shù)據(jù)導(dǎo)入HBase中。
1) 首先連接Hbase數(shù)據(jù)庫和MySQL數(shù)據(jù)庫
public static Configuration configuration;
static {
configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.property.clientPort", "2181");
configuration.set("hbase.zookeeper.quorum", "192.168.220.128");
configuration.set("hbase.master", "192.168.220.128:600000");
}
String url = "jdbc:mysql://localhost/test_move";
String user = "root";
String pwd = "1234";
// 加載驅(qū)動
Class.forName("com.mysql.jdbc.Driver").newInstance();
// 建立到MySQL的連接
Connection conn = DriverManager.getConnection(url, user, pwd);
2) 然后從MySQL取出數(shù)據(jù),并寫入Hbase
// 執(zhí)行SQL語句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from userinfo");
while (rs.next()) {
String name = rs.getString("username");
String id = rs.getString("userid");
String userpwd = rs.getString("userpwd");
insertData(id,name,userpwd);
System.out.println(id + " :" + name + " :" +userpwd);
}
4.3模型在本地業(yè)務(wù)系統(tǒng)中的應(yīng)用
1) 系統(tǒng)流程圖如圖2所示
圖2 業(yè)務(wù)系統(tǒng)流程圖
2) 系統(tǒng)用戶登錄處理
用戶在登錄界面輸入自己的賬號和密碼,向服務(wù)器提出登錄請求,服務(wù)器收到請求后,查找用戶表和信任值表,找到用戶的相關(guān)屬性信息,先進(jìn)行用戶名和密碼的匹配,如果匹配成功,通過用戶ID找到其對應(yīng)的信任值,通過三種信任值的計算得出最終信任值,與系統(tǒng)設(shè)定的閾值對比,若不小于閾值,則通過,進(jìn)行角色映射,根據(jù)角色不同,授予用戶不同的操作許可,并將成交互次數(shù)加1,更新用戶的信任值;如果失敗,則用戶無法登錄,并根據(jù)用戶ID將非法操作次數(shù)加1,更新信任值。用戶登錄界面如圖3所示。
圖3 業(yè)務(wù)系統(tǒng)登錄界面
4.4仿真實驗
仿真實驗主要從系統(tǒng)吞吐量和數(shù)據(jù)的存儲代價方面比較基于“信任-角色”的訪問控制模型和基于角色的訪問控制模型。如圖4、圖5所示。
圖4顯示了兩種訪問控制方法存儲訪問控制信息所需要的存儲空間對比,表明基于信任-角色的訪問控制方法所需要的存儲空間大小并沒有隨著用戶數(shù)目的增多而明顯變大。
圖4 存儲空間對比圖
圖5 系統(tǒng)吞吐量對比圖
圖5顯示了兩種訪問控制方法在系統(tǒng)吞吐量方面的對比,表明隨著用戶請求數(shù)目的增多,兩種訪問控制方法在吞吐量方面都明顯增大,但當(dāng)用戶請求數(shù)目到達(dá)10個時,兩種訪問控制方法的系統(tǒng)吞吐量都在下降,但是基于信任-角色的訪問控制方法在吞吐量方面總是大于基于角色訪問控制方法。
5結(jié)語
本文在傳統(tǒng)基于角色的訪問控制模型中加入可信度的概念,提出云計算中基于信任-角色的混合訪問控制模型,此模型彌補了基于角色的訪問控制方法的不足。通過實驗,表明此模型在系統(tǒng)用戶認(rèn)證方面具有很大的優(yōu)勢,并且基于信任-角色的訪問控制模型在系統(tǒng)吞吐量和存儲空間等方面都具有良好的優(yōu)勢。
參 考 文 獻(xiàn)
[1] 李喬,鄭嘯.云計算研究現(xiàn)狀綜述[J].計算機科學(xué),2011,38(4):32-37.
LI Qiao, ZHENG Xiao. Research Survey of Cloud Computing[J]. Computer Science,2011,38(4):32-37.
[2] 陳全,鄧倩妮.云計算及其關(guān)鍵技術(shù)[J].計算機應(yīng)用,2009,29(9):2562-2567.
CHEN Quan, DENG Qianni. Cloud computing and its key techniques[J]. Journal of Computer Application,2009,29(9):2562:-2567.
[3] 龍勤,劉鵬,潘愛民.基于角色的擴展可管理訪問控制模型研究與實現(xiàn)[J].計算機研究與發(fā)展,2005,42(5):868-876.
LONG Qin, LIU Peng, PAN Aimin. Research and Implementation of an Extended Administrative Role-based Access Control Model[J]. Journal of Computer Research and Development,2005,42(5):868-876.
[4] 羅雪平,鄭奕莉,徐國定.一種擴展的基于角色的訪問控制模型[J].計算機工程,2001,27(6):106-107.
LUO Xueping, ZHENG Yili, XU Guoding. An Extended Role-based Access Control Model[J]. Computer Engineering,2001,27(6):106-107.
[5] 廖俊國,洪帆,肖海軍,等.細(xì)粒度的基于角色的訪問控制模型[J].計算機工程與應(yīng)用,2007,43(34):138-140.
LIAO Junguo, HONG Fan, XIAO Haijun, et al. Fine-grained Role-based access control model[J]. Computer Engineering and Applications,2007,43(34):138-140.
[6] 鄧勇,張琳,王汝傳,等.網(wǎng)格計算中基于信任度的動態(tài)角色訪問控制的研究[J].計算機科學(xué),2010,37(1):51-54.
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.
[7] 林慶國,劉宴兵.一種基于信任的動態(tài)訪問控制策略[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版),2010,22(4):478-482.
LIN Qingguo, LIU Yanbing. A trust-based dynamic access control scheme[J]. Chongqing University of Posts and Telecommunications(Natural Science Edition),2010,22(4):478-482.
[8] Derek Tankel. Scalability of Hadoop Distributed File System[R]. Yahoo developer work,2010.
[9] Apache. The Hadoop Common Documentation 0.21.0[EB/OL]. http://hadoop.apache.org/common/docs/r0.21.0/index.html.
[10] Tom White. Hadoop: The definitive guide[M]. United States of America: O Reilly Media, Inc.,2009.
中圖分類號TP309.2
DOI:10.3969/j.issn.1672-9722.2016.02.025
作者簡介:劉萍萍,女,碩士,副教授,研究方向:人工智能。閆琳英,女,碩士研究生,研究方向:人工智能。
基金項目:基于Android的應(yīng)用開發(fā)研究(編號:XAGDXJJ1019)資助。
*收稿日期:2015年8月7日,修回日期:2015年9月13日