云计算中基于信任-角色访问控制模型的研究*
2016-03-15刘萍萍闫琳英
刘萍萍 闫琳英
(西安工业大学计算机科学与工程学院 西安 710021)
云计算中基于信任-角色访问控制模型的研究*
刘萍萍闫琳英
(西安工业大学计算机科学与工程学院西安710021)
摘要为了保证云计算中数据的安全性,将基于角色和信任的访问控制模型相结合,提出一种基于信任-角色的混合云计算访问控制模型。该模型在基于角色的访问控制基础上引入信任度的计算,即用户需进行信任值的验证,才能获得访问数据的权限。通过在本地业务系统中的应用,表明该模型能够有效解决用户对云中数据的合法访问,即达到保护云中数据的安全问题。
关键词云计算访问控制; 数据安全; 信任值
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]是分布式处理、并行处理和网格计算发展的商业实现;主要特点是规模大、可虚拟化、可靠性高、扩展性高、按需服务。在云环境中,各种资源被动态地连接到Internet上,用户不但可以申请服务,而且云环境中的所有参与者都可以动态地加入或者退出[2]。然而随着云计算的普及应用,云计算服务安全故障频繁发生,其涉及的云安全问题日益突出,如存储在云端的数据使得用户对其没有绝对的控制力,不能保证数据的完整性和保密性,并且云服务提供商在某种程度上也存在一定的不可信任性等,这种潜在的数据安全问题制约了云计算在档案资料管理中的发展,而访问控制是解决数据安全问题的主要手段之一。
本文通过研究几种传统的访问控制方法,在基于角色的访问控制方法中引入主体信任度的概念,提出一种基于“信任-角色”的混合访问控制方法,通过实验证明,该方法在一定程度上能够提高系统的可信性,降低任务执行失败和欺骗的概率,有效解决非法用户对资源的访问和合法用户的越权访问等,保证了云中数据的完整性和保密性。
2传统访问控制
2.1自主访问控制和强制访问控制
自主访问控制(Discretionary Access Control,DAC)[3]是一种基于主体授权的访问控制策略,这种方式是自主的,但其使得主体的权限过于强大,系统的安全级别较低。强制访问控制(Mandatory Access Control,MAC)中,系统的主体和客体都由系统管理员赋予一定的安全属性,且主体自己无法修改自己的安全属性。但是其缺乏灵活性、缺乏对授权管理性的考虑,一般不用于大型的分布式环境系统中。
2.2基于角色的访问控制方法
基于角色的访问控制(Role-Based Access Control,RBAC)模型中,引入了“角色”的概念[4],其主要思想是将主体和客体相分离,访问权限不直接针对主体和客体,而是将其分配给角色。这种“用户-角色-权限”关系使得访问控制方法变得更加灵活。但是随着角色的增多,其角色之间的关系会更加复杂,在影响系统性能的情况下使得系统的安全性降低。再者,这种被动的安全模型不太适用于分布式环境[5]。
3基于“信任-角色”的混合访问控制模型
3.1信任度的引入
信任度[6]是对系统中的主体和客体身份和活动可信度的评估,与其本身的可靠性和诚信密切相关。在基于角色的访问控制模型的基础上引入“信任”的概念,在主体试图访问客体资源时,不仅要进行角色验证,而且还要计算其信任值,通过信任和角色双层验证使得系统的数据更加安全。
信任值的获取[7]主要有三方面:直接信任度、推荐信任度和历史操作信任度,直接信任度的获取是通过主体的身份验证和用户权限,推荐信任度主要根据其他主体和客体资源的推荐信息进行计算,历史操作信任度是主体在历史访问客体资源过程中积累的行为记录。
3.2模型的基本概念描述
定义1实体用户:访问云计算环境中的数据资源的主体,记为U;
定义2角色:角色相当于实际企业中的员工角色,记为R;
定义3信任度:信任度是主体对其他主体的信任程度,本模型中信任度的取值为[-1,1],信任值越大,主体的访问权限越高;
定义4访问权限:主体访问系统数据资源的权力,根据分配给主体的角色的不同,主体所拥有的权限不同;
定义5可信度阈值:可信度阈值就是定义的一固定值,在确定实体用户的信任值时,需要与最小信任度阈值进行比较,若实体用户的当前信任值大于最小信任度阈值,则可以进行下一步访问,反之,则不能继续访问;
定义6会话:会话是实体用户在激活其所拥有的角色时触发的事件过程。实体用户在一个会话中可以激活多个角色,记为S。
3.3信任值的计算
云计算环境中,当主体用户提出资源访问请求后,可信度管理中心要对该用户的可信度进行计算,若该可信度大于某一固定的可信度阈值,那么授权中心就可以分配给该用户的角色进行相应的授权,进而该用户可以访问该客体资源。
在本模型中,信任度包括:直接信任度、推荐信任度和历史操作信任度。
1) 直接信任度(DT)
直接信任度的获取是根据主体的身份验证和用户权限以及所处的环境信息进行计算;当用户第一次登录系统时,必须向系统管理员提供自己的身份信息和环境信息,系统管理员将结合这些信息计算得出该用户的直接信任度,其计算公式:
其中,R(i,s)、R(p,s)、R(e,s)分别是安全管理员确定的实体用户的身份信息、权限、环境信息与系统安全的相关度,α、β、γ分别是身份信息、权限、环境信息在直接信任度中所占的权重。
2) 历史操作信任度(HT)
历史操作信任度是主体用户在历史访问客体资源过程中积累的行为记录。主体用户对资源的访问分为正常访问和非正常访问,正常访问是在特定时间内提出的符合系统安全规则的访问请求,而非正常访问则是在特定时间内提出的违反系统安全规则的访问请求。当用户进行的是正常的资源访问请求行为时,则该用户的历史操作信任度得到提升,反之历史操作信任度降低。其计算公式:
其中,H(m,i,t)是主体用户m在时间t时对客体资源i的访问的信任值,vi是对此次访问的定义系数,如果是正常访问,则vi取正值,反之取负值。
3) 推荐信任度(RT)
推荐信任度是主体用户对其他主体用户的建议信任度,通常某一用户对另一用户的推荐信任度可以参考其他用户对它的建议信任度。其计算公式:
其中,S(m,i)i是实体m对实体n在第i次操作时的满意程度,D(m,i)i是实体m对实体n在第i次操作时的打分。
4) 最终信任度(FT)的计算
最终信任度是根据之前计算可得的直接信任度和历史操作信任度以及推荐信任度综合得到的,设定这三种信任度的权重分别为WDT、WHT、WRT,并且三者权值之和等于1。最终信任度的计算公式为
FT(U)=WDTDT(U)+WHTHT(U)+WRTRT(U)
3.4基于信任-角色的访问控制算法
当用户提出访问资源的请求时,云计算授权中心通过核实主体用户的信息,为其创建会话S,建立系统与主体用户U之间的可信任关系,并且计算主体用户U的信任度,主体用户U选择在本次会话中所要激活的角色,系统根据信任约束条件将用户U的可信度作用于角色的各项访问权限,可得主体用户当前的有效访问权限。算法流程图如图1所示。
图1 算法流程图
具体算法步骤如下:
1) 当实体用户需要访问资源时,首先将自己登录的账户和密码以及需要请求的数据资源提交给云计算授权中心;
2) 云计算授权中心核对实体用户提交的信息,决定是否建立会话,若同意,则建立系统与该用户的会话,并将用户提交的信息转发给云计算角色数据库;
3) 云计算角色数据库根据授权中心发送过来的信息决定该用户需要的角色,将角色分配给用户,并将信息转发给云计算信任值数据库;
4) 云计算信任值数据库根据该用户当前的信任值的高低来决定是否给分配给该用户的角色赋予权限,若该用户的当前信任值大于事先规定好的最低阈值,则进行权限赋予,否则拒绝,并将这些信息返回给云计算授权中心;
5) 云计算授权中心将云计算信任值数据库的信息保存之后将给该用户返回一个授权成功证书,用户即可携带该授权成功证书对资源数据库进行访问,资源数据库进行核对之后,用户即可访问需要访问的数据资源;
6) 本次会话结束之后,用户和资源都为对方进行满意度的评审,并将结果提交给信任值数据库,进行信任值的计算和更新。
4基于“信任-角色”访问控制模型的应用
针对云环境的安全问题,本文将可信机制引入传统的访问控制模型中,提出基于信任-角色的访问控制模型,并在本地业务系统中进行实验。
通过Hadoop架构搭建云平台,先将本地数据库迁移到分布式数据库HBase中,然后在本地业务系统中通过本访问控制模型的应用,即同时对用户的身份、可信性等信息做出验证。最后通过仿真实验得出此模型在系统吞吐量和数据的存储代价方面的优势。
4.1Hadoop云平台的搭建
1) 安装Linux虚拟机
首先安装VMware Workstation10,接着完成Linux虚拟机的安装。其中Linux系统为Ubuntu12.04。
2) 安装JDK
安装jdk-6u43-linux-i586.bin,并设置其环境变量。
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三个文件解压放入目标文件夹内,然后配置Hadoop的环境变量,并分别修改hadoop、zookeeper、hbase的配置文件。
4.2本地数据库MySql向HBases数据库的迁移
使用Put方法将MySQL数据导入HBase中。所有的操作均在一个单独的客户端执行,通过HBase Shell创建HBase表格,通过Java来连接集群,并将数据导入HBase中。
1) 首先连接Hbase数据库和MySQL数据库
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";
// 加载驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
// 建立到MySQL的连接
Connection conn = DriverManager.getConnection(url, user, pwd);
2) 然后从MySQL取出数据,并写入Hbase
// 执行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模型在本地业务系统中的应用
1) 系统流程图如图2所示
图2 业务系统流程图
2) 系统用户登录处理
用户在登录界面输入自己的账号和密码,向服务器提出登录请求,服务器收到请求后,查找用户表和信任值表,找到用户的相关属性信息,先进行用户名和密码的匹配,如果匹配成功,通过用户ID找到其对应的信任值,通过三种信任值的计算得出最终信任值,与系统设定的阈值对比,若不小于阈值,则通过,进行角色映射,根据角色不同,授予用户不同的操作许可,并将成交互次数加1,更新用户的信任值;如果失败,则用户无法登录,并根据用户ID将非法操作次数加1,更新信任值。用户登录界面如图3所示。
图3 业务系统登录界面
4.4仿真实验
仿真实验主要从系统吞吐量和数据的存储代价方面比较基于“信任-角色”的访问控制模型和基于角色的访问控制模型。如图4、图5所示。
图4显示了两种访问控制方法存储访问控制信息所需要的存储空间对比,表明基于信任-角色的访问控制方法所需要的存储空间大小并没有随着用户数目的增多而明显变大。
图4 存储空间对比图
图5 系统吞吐量对比图
图5显示了两种访问控制方法在系统吞吐量方面的对比,表明随着用户请求数目的增多,两种访问控制方法在吞吐量方面都明显增大,但当用户请求数目到达10个时,两种访问控制方法的系统吞吐量都在下降,但是基于信任-角色的访问控制方法在吞吐量方面总是大于基于角色访问控制方法。
5结语
本文在传统基于角色的访问控制模型中加入可信度的概念,提出云计算中基于信任-角色的混合访问控制模型,此模型弥补了基于角色的访问控制方法的不足。通过实验,表明此模型在系统用户认证方面具有很大的优势,并且基于信任-角色的访问控制模型在系统吞吐量和存储空间等方面都具有良好的优势。
参 考 文 献
[1] 李乔,郑啸.云计算研究现状综述[J].计算机科学,2011,38(4):32-37.
LI Qiao, ZHENG Xiao. Research Survey of Cloud Computing[J]. Computer Science,2011,38(4):32-37.
[2] 陈全,邓倩妮.云计算及其关键技术[J].计算机应用,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] 龙勤,刘鹏,潘爱民.基于角色的扩展可管理访问控制模型研究与实现[J].计算机研究与发展,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] 廖俊国,洪帆,肖海军,等.细粒度的基于角色的访问控制模型[J].计算机工程与应用,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] 邓勇,张琳,王汝传,等.网格计算中基于信任度的动态角色访问控制的研究[J].计算机科学,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] 林庆国,刘宴兵.一种基于信任的动态访问控制策略[J].重庆邮电大学学报(自然科学版),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的应用开发研究(编号:XAGDXJJ1019)资助。
*收稿日期:2015年8月7日,修回日期:2015年9月13日