1、引用本文王于丁, 杨家海, 徐聪, 凌晓, 杨洋. 云计算访问控制技术研究综述J.软件学报,2015, 26(5): 1129-1150.http:/ WANG Yu-Ding, YANG Jia-Hai, XU Cong, LING Xiao, YANG Yang. Survey on Access Control Technologies for Cloud ComputingJ. Ruan Jian Xue Bao/ Journal of Software, 2015, 26(5): 1129-1150.http:/ 云计算访问控制技术研究综述王于丁, 杨家海 , 徐聪, 凌晓, 杨洋
2、摘要:随着云计算规模化和集约化的发展,云安全问题成为云计算领域亟待突破的重要问题.访问控制技术是安全问题的重中之重,其任务是通过限制用户对数据信息的访问能力及范围,保证信息资源不被非法使用和访问.主要对目前云计算环境下的访问控制问题进行研究,首先介绍访问控制理论;然后分析了云计算环境下的访问控制技术体系框架,重点从云计算访问控制模型、基于 ABE(attribute-based encryption)密码体制的云计算访问控制、云中多租户及虚拟化访问控制这 3 个方面对云计算环境下的访问控制问题进行综述,并且调研了工业界云服务提供商和开源云平台的访问控制机制;最后对未来的研究趋势进行了展望.关键
3、词: 云计算 云安全 访问控制 访问控制策略 访问控制模型 ABE(attribute-based encryption) Survey on Access Control Technologies for Cloud ComputingWANG Yu-Ding, YANG Jia-Hai , XU Cong, LING Xiao, YANG Yang Abstract: With the intensive and large scale development of cloud computing, security becomes one of the most important pr
4、oblems. As an important part of security domain, access control technique is used to limit users capability and scope to access data and ensure the information resources not to be used and accessed illegally. This paper focuses on the state-of-the-art research of access control technology in cloud c
5、omputing environment. First, it briefly introduces access control theory, and discusses the access control framework in cloud computing environment. Then, it thoroughly surveys the access control problems in cloud computing environment from three aspects including cloud access control model, cloud a
6、ccess control based on ABE (attribute-based encryption) cryptosystem, and multi-tenant and virtualization access control in cloud. In addition, it probes the best current practices of access control technologies within the major cloud service providers and open source cloud platforms. Finally, it su
7、mmarizes the problems in the current research and prospects the development of future research.Key words: cloud computing cloud security access control access control policy access control model ABE (attribute-based encryption) 随着云计算的发展,云安全成为越来越关键的问题.在云计算环境中,用户对放置在云服务器中的数据和计算失去控制,对于数据是否受到保护、计算任务是否被正
8、确执行都不能确定,因此需要设计相应的安全机制和体系结构来保护用户数据的机密性、完整性、可用性 1,2.2011 年 11 月 14 日,对云安全研究最为活跃的组织云安全联盟(cloud security alliance,简称 CSA) 3发布了最新版的云计算服务安全实践手册云计算安全指南(v3.0),该指南总结了云计算的技术架构模型、安全控制模型以及相关合规模型之间的映射关系,确定了云计算安全的 14 个焦点领域,对每个领域给出了具体建议,分别是云计算体系结构、政府和企业风险管理、法律问题、合规和审计、信息管理与数据安全、互操作性与可移植性、传统安全影响( 业务连续性、灾难恢复) 、数据中心
9、运行、事故响应、应用安全、加密和密钥管理、身份授权与访问控制、虚拟化、安全即服务(SecaaS)等.当前,云安全问题的重要性呈现逐步上升趋势,已成为制约其发展的重要因素,各大云服务提供商的安全问题屡见不鲜:2009 年 3 月,Google 发生大批用户文件外泄事件 ;2010 年底,微软的 Hotmail 出现了数据丢失现象,导致数万个邮箱账户被清空;2011 年 3 月,谷歌邮箱再次爆发大规模的用户数据泄漏事件 ,大约有15 万 Gmail 用户发现自己的所有邮件和聊天记录被删除;2012 年,亚马逊北弗吉尼亚数据中心服务多次(4月、6 月、 10 月、12 月)宕机,导致托管的大量网站无
10、法访问,相关企业营业收入受到很大的影响;2013 年2 月 ,微软云服务两次大规模中断, 包括 Windows Azure 云存储在内的很多服务都发生了故障,时间长达 10多个小时;2014 年 9 月,詹妮弗劳伦斯等好莱坞明星裸照泄露于网上 ,经证实,是黑客攻击了多个 iCloud 账号所致;再加上上半年曝光的 ios 后门事件,让苹果云安全再次受到质疑.因此,要让企业和组织大规模应用云计算技术与平台,放心地将自己的数据交付于云服务提供商管理,就必须全面地分析并着手解决云计算所面临的各种安全问题.从重大安全事件可以看出:数据安全是云安全的核心,对数据资源的访问控制成为云安全问题的重中之重.访
11、问控制的目的是通过限制用户对数据信息的访问能力及范围,保证信息资源不被非法使用和访问.传统计算模式下的访问控制技术基本上能够有效地对信息资源进行保护,防止非法访问.但是到了云计算时代,计算模式和存储模式都发生了很多变化,主要体现在以下 5 个方面:(1) 云计算环境中用户无法控制资源;(2) 用户和云平台之间缺乏信任;(3) 迁移技术可能导致数据要变更安全域;(4) 多租户技术使得访问主体要重新界定; (5) 虚拟化技术会让数据在同一物理设备上遭到窃取.所以,云计算给访问控制研究提出了新的挑战:如何发展传统的访问控制技术来解决新型的云计算安全问题.面对这个挑战,学术界许多学者已经展开了云计算环
12、境下的访问控制技术的研究,主要研究点集中在云计算环境下访问控制模型、基于加密机制的访问控制、虚拟机访问控制等方面;各大云服务提供商在构建云平台和提供云服务的过程中也对现有的访问控制技术进行了尝试和实践.本文希望从学术界和工业界两个方面对目前云计算环境下的访问控制技术的研究和实践进行系统的综述和梳理,希望能给该领域的研究者一些启示,并对今后的研究方向做一个展望和探讨.本文首先回顾访问控制理论的发展历史、经典模型和语言描述;然后分析云计算环境下的访问控制技术体系框架;接着对云计算环境下的访问控制问题从云计算访问控制模型、基于 ABE(attribute-based encryption)密码体制的
13、云计算访问控制、云中多租户及虚拟化访问控制这 3 个方面进行综述,并对云服务提供商的访问控制机制进行调研;最后,对未来研究趋势进行展望.1 访问控制原理概述 1.1 传统的访问控制技术访问控制技术起源于 20 世纪 70 年代,当时是为了满足管理大型主机系统上共享数据授权访问的需要.所谓访问控制,就是在鉴别用户的合法身份后,通过某种途径显式地准许或限制用户对数据信息的访问能力及范围,从而控制对关键资源的访问,防止非法用户的侵入或者合法用户的不慎操作造成破坏 4.访问控制有很重要的作用:(1) 防止非法的用户访问受保护的系统信息资源;(2) 允许合法用户访问受保护的系统信息资源;(3) 防止合法
14、的用户对受保护的系统信息资源进行非授权的访问.但随着计算机技术和应用的发展,特别是网络应用的发展,这一技术的思想和方法迅速应用于信息系统的各个领域.Lampson 5首先提出了访问控制的形式化和机制描述,引入了主体、客体和访问矩阵的概念,在随后40 多年的发展过程中,先后出现了多种重要的访问控制技术,见表 1.访问控制技术作为实现安全操作系统的核心技术,是系统安全的一个解决方案,是保证信息机密性和完整性的关键技术,对访问控制的研究已成为计算机科学的研究热点之一.随着网络和计算技术的不断发展,访问控制模型出现了许多以 RBAC 为基础的扩展模型,访问控制的应用也扩展到更多的领域,比较典型的有操作
15、系统、数据库、无线移动网络、网格计算以及云计算等等.Table 1 Development of access control 表 1 访问控制技术发展1.2RBAC96 访问控制模型基于角色的访问控制模型表述了用户、角色和权限之间的复杂关系,解决了在传统的访问控制中主体始终是和特定的实体捆绑的不灵活问题,实现了主体的灵活授权,是最经典的访问控制模型.RBAC96 是RBAC 模型家族的基础,之后的所有模型都是在 RBAC96 基础上发展的.RBAC96 包括了 4 种基于角色的访问控制模型,图 1 所示是它们之间的相互关系.Fig. 1 Relationship of RBAC96 mode
16、l 图 1 RBAC96 模型之间的关系RBAC0 是基本模型 ,由 4 个基本要素构成,即,用户(U)、角色(R)、会话(S)和授权(P).图 2 表示在一个信息系统中,定义并存在着多个用户和多个角色,同时对每个角色设置了多个权限关系,称为权限的赋予(PA).Fig. 2 RBAC0 model 图 2 RBAC0 模型在 RBAC 模型中 ,授权就是将这些客体的存取访问的权限在可靠的控制下连带角色所需要的操作一起提供给那些角色所代表的用户.通过授权的管理机制,可以给予一个角色以多个权限,而一个权限也可以赋予多个角色.RBAC1 为角色分级模型,在角色域中加入了角色的继承 ;RBAC2 为角
17、色限制模型,加入了约束条件;RBAC3 为统一模型,是 RBAC1 模型和 RBAC2 模型的整合.RBAC 经过了多年的发展,形成了一套理论体系,其优点和缺点也很明显地显现出来.在近几年访问控制技术的发展中,研究人员在 RBAC 基础上提出了许多扩展模型,比较常见的有基于任务的访问控制模型、基于时态模型的云计算访问控制、基于属性模型的云计算访问控制等.这些模型能够从不同层面解决系统中访问控制的问题,保证了信息访问的合法性、安全性以及可控性.而且随着云计算的发展,学者们将这些扩展的访问控制模型引用到了云计算的环境里.关于这些扩展模型的介绍和在云计算环境下的应用详见第 3.1 节.1.3 访问控
18、制语言描述在访问控制技术的发展和工程实践中,出现了许多语言对高效的用户访问和授权管理和流程进行描述,这些语言作为访问控制理论和工程实践之间的桥梁起着至关重要的作用,也是后人研究访问控制技术的主要工具.目前主要有以下 3 种语言可以对访问控制进行描述,其作用各不相同:(1) 安全断言标记语言(security assertion markup language,简称 SAML) 11是一个基于 XML 的标准,用于在不同的安全域之间交换认证和授权数据.SAML 标准定义了身份提供者和服务提供者进行以下工作:1) 认证申明,表明用户是否已经认证,通常用于单点登录;2) 属性申明, 表明某个 Sub
19、ject 的属性;3) 授权申明,表明某个资源的权限.(2) 服务供应标记语言(services provisioning markup language,简称 SPML) 12是一个基于 XML 的标准,主要用于创建用户帐号的服务请求和处理与用户帐号服务管理相关的服务请求.其主要目的有两个:一是自动化 IT 配置任务,通过标准化配置工作,使其更容易封装配置系统的安全和审计需求;二是实现不同配置系统间的互操作性,可以通过公开标准的 SPM 接口来实现.(3) 可扩展访问控制标记语言(extensible access control markup language,简称 XACML) 13是一
20、种基于 XML 的策略语言和访问控制决策请求/响应的语言,协议支持参数化的策略描述,可对 Web 服务进行有效的访问控制.协议主要定义了一种表示授权规则和策略的标准格式,还定义了一种评估规则和策略,以做出授权决策的标准方法.XACML 提供了处理复杂策略集合规则的功能,补充了 SAML 的不足,很适合应用于大型云计算平台的访问控制中,对于实现跨多个信任域联合访问控制起着重要作用.目前,XACML2013 年发布了 3.0 版 .2 云计算环境下访问控制突出问题与技术手段纵观云计算的服务体系,IaaS,PaaS 和 SaaS 都需要通过访问控制技术来保护相关信息资源,可以说,访问控制是贯穿于各层
21、之间的一种安全技术.由于云计算的特殊性,云环境下的访问控制技术较之传统的访问控制技术更为关键,用户要使用云存储和计算服务,必须要经过云服务商 CSP 的认证,而且要采用一定的访问控制策略来控制对数据和服务的访问.各级提供商之间需要相互的认证和访问控制,虚拟机之间为了避免侧通道攻击,也要通过访问控制机制加以安全保障.因此,云计算中的认证和访问控制是一个重要的安全研究领域.目前,各大云服务提供商也采用了不同的访问控制机制对自己的云平台提供安全支持(详细请参考第4 节 ),学术界也从体系结构和技术的角度对该问题进行了研究,但仍存在许多问题: 架构方面:(1) 传统的访问控制在适用范围和控制手段上也不
22、能满足云计算架构的要求,由于虚拟技术的出现,云计算环境下的访问控制技术已从用户授权扩展到虚拟资源的访问和云存储数据的安全访问等方面,适用范围和控制手段显著增加;(2) 传统的访问控制分散式管理和云计算环境集中管理的需求之间存在矛盾;(3) 开放动态的访问控制策略对云安全的管理提出挑战. 机制方面:(1) 云计算环境各类服务属于不同的安全管理域,当用户跨域访问资源时,需要考虑统一策略,相互授权,资源共享等问题;(2) 云计算中,虚拟资源与底层完全隔离的机制使得隐蔽通道更不易被发现,需要访问控制机制进行控制;(3) 云环境的信任问题也直接影响访问控制. 模型方面:(1) 传统的访问控制模型已经不能
23、满足新型的云计算架构要求,以传统的 RBAC 为例,云中的主体和客体的定义发生了很多变化,云计算中出现了以多租户为核心、大数据为基础的服务模式,所以在云计算的访问控制要对主体和客体的有关概念重新界定,这就导致了传统的访问控制模型要进行优化和更新,使其更适用于云计算环境;(2) 角色权限关系复杂的问题,用户变动频繁,管理员角色众多、层次复杂,权限的分配与传统计算模式有较大区别.在很多应用场景中,用户对数据的访问通常是有选择性并被高度区分的,不同用户对数据享有不同的权限.因此,当数据外包给云服务运营商,安全、高效、可靠的数据访问控制非常关键.传统的访问控制是用户在可信的服务器存储数据,由服务器检查
24、请求的用户是否有资格访问数据.在云计算环境中,这种模式失效,因为数据的用户和服务器一方面不在同一个可信域内;另一方面,用户以租户的形式对云平台进行访问,所以服务器不再是被完全信任的角色,如果服务器被恶意控制或者可能的内部人攻击,用户的隐私数据可能暴露.综上所述,面对架构、机制和模型层面的问题,必须利用云计算丰富的技术资源,实现细粒度的访问控制设计,保证云中的数据不被非法访问,这样,用户才可以安全地将最繁重的任务委托给云平台,发挥云计算更高的效用.围绕上述问题,工业界和学术界展开了一系列的研究,工业界的主要解决方案是采取多种访问控制技术相结合或多级访问控制的方式;学术界的主要研究集中在如何保护数
25、据的安全上.访问控制的手段总结起来有 3 种 ,见表 2.Table 2 Methods of access control 表 2 实现访问控制的手段需要注意的是,第 3 种是通过密钥机制对数据进行访问控制,其基本思想是主体对数据进行加密,只有能够解密的客体才能对数据进行访问.另外在虚拟环境下,由于虚拟机可以共享物理资源,所以租户之间就可以通过侧通道攻击来从底层的物理资源中获得有用的信息,这也是云计算安全面临的一个新研究课题.综上所述,根据目前学术界的研究现状,我们总结出一个基本的云计算环境下的访问控制体系框架,如图 3 所示.把云计算环境分为用户(租户)、云平台、网络基础环境这 3 部分,
26、用户(租户)和云平台之间要通过访问控制规则和访问控制模型进行访问控制,云平台和网络基础环境大部分采用访问控制规则,云平台中,虚拟机之间要进行虚拟设备的访问控制,对于存储在云平台内部的数据可以基于某种访问控制模型和基于密码学的访问控制手段进行安全保护.可信云平台计算和安全监控审计则是辅助云环境下访问控制技术的必要手段.Fig. 3 Access control framework in cloud computing environment 图 3 云计算环境下访问控制体系框架基于上述云计算访问控制技术框架,学术界也多从上述 3 种访问控制手段来进行研究:(1) 访问控制规则研究更多的是对规则的
27、整合优化,使访问控制规则开销更低,效率更高,容量更小,但在云计算环境下研究较少,本文将不去讨论该问题;(2) 访问控制模型在云计算环境下研究较多,主要思路是模型在云计算新环境下的改进和扩展,使模型更好地为云计算服务;(3) 基于加密机制的访问控制研究更多的是基于 ABE 密码体制的云计算访问控制,主要运用在对云存储的数据访问.另外,虚拟机访问控制研究大多和多租户联系在一起,通过隔离等手段达到虚拟机的访问控制.第 3 节将详细论述云计算环境下访问控制模型、加密机制和虚拟机访问控制等方面的研究情况.3 云计算环境下访问控制研究云计算环境下访问控制的研究是伴随着云计算的发展而发展的,在云计算之前,有
28、许多学者研究网格中的访问控制问题,由于网格技术被云计算技术所取代,研究方向也就转移到云计算的访问控制上来.云计算的安全问题很多,可以说,访问控制是云计算安全中的核心内容.根据前述的云计算环境下的访问控制框架和目前学术界研究的内容,云计算访问控制的研究主要集中在以下 3 个方面:云计算访问控制模型、基于 ABE密码体制的云计算访问控制、云中多租户及虚拟化访问控制研究.3.1 云计算访问控制模型研究访问控制模型就是按照特定的访问策略来描述安全系统,建立安全模型的一种方法.用户(租户) 可以通过访问控制模型得到一定的权限,进而对云中的数据进行访问,所以访问控制模型多用于静态分配用户的权限.云计算中的
29、访问控制模型都是以传统的访问控制模型为基础,在传统的访问控制模型上进行改进,使其更适用于云计算的环境.目前,对云计算中访问控制模型的研究刚刚起步,根据访问控制模型功能的不同,研究的内容和方法也不同,研究比较多的有基于任务的访问控制模型、基于属性模型的云计算访问控制、基于UCON 模型的云计算访问控制、基于 BLP 模型的云计算访问控制等 .3.1.1 基于任务模型的云计算访问控制1997 年,Thomas 等人采用面向任务的观点,提出了基于任务的访问控制模型 (task-based access control,简称 TBAC) 14,从任务的角度来建立安全模型和实现安全机制,在任务处理的过程
30、中提供了动态实时的安全管理.该模型能够对不同工作流实行不同的访问控制策略,并且能够对同一工作流的不同任务实例实行不同的访问控制策略 15,非常适合云计算和多点访问控制的信息处理控制以及在工作流、分布式处理和事务管理系统中的决策制定 16.TBAC 在云计算中的研究多从工作流中的任务角度建模,依据任务和任务状态的不同对权限进行动态管理,使得对于用户级的每一次访问都可以根据任务约束进行建模分析,极大地增强了云中的访问控制的动态性.文献 17采用任务与 RBAC 结合的模型提出了 T-RBAC,将工作流分解为一些相互依赖的任务,然后将任务分配给角色,角色通过执行任务节点来取得.云服务器通过客体拥有者
31、授权获得权限,并在授权过程管理中充当传递访问请求的可信中间人,使得访问控制安全不需要完全依赖于云服务器的可信度,同时,利用云服务器分担部分授权工作,减轻用户负担.图 4 是 T-RBAC 访问控制模型.Fig. 4 T-RBAC model 17图 4 T-RBAC 模型 17Huang 等学者首先在云计算环境的服务端进行角色分类,根据访问客体的不同,分配不同的访问角色;然后,在任务分配权限的阶段对权限进行不同的分类,从而可以进一步解决主体对于客体访问过程中产生的效率低和频繁访问的问题 18.文献 19将 RBAC 应用于可扩展的分布式工作流系统中 ,在确保分布式工作流系统可扩展的前提下,该模
32、型能够有效地增强对授权访问工作流系统用户的安全控制,但缺乏对工作流在虚拟环境下访问控制问题的讨论.3.1.2 基于属性模型的云计算访问控制基于属性的访问控制针对目前复杂信息系统中的细粒度访问控制和大规模用户动态扩展问题,将实体属性( 组)的概念贯穿于访问控制策略、模型和实现机制这 3 个层次,通过对主体、客体、权限和环境属性的统一建模,描述授权和访问控制约束,使其具有足够的灵活性和可扩展性.简单来说,RBAC 是 ABAC 的一个子集,ABAC 可以提供基于各类对象属性的授权策略,同样支持基于用户角色的授权和访问控制,角色在ABAC 中仅仅是用户的一个单一属性 20.目前,基于属性的访问控制在
33、云安全领域主要集中在将 RBAC 和 ABAC 结合起来,既保证提高用户的隐私,同时也支持访问控制.Ei 等学者将云环境归纳为 3 种属性 21,分别是 U(云资源的使用者)、R(云资源) 、E(环境,具体的时间和位置),将云中的属性通过 RBAC 模型进行访问控制.他们还基于此模型开发了一个访问控制系统,这个系统的核心模块就是嵌入 ABAC 的 RBAC.文献 22采用一种分层的方法来整合 ABAC 和RBAC.上层是一个标准的 RBAC,支持模型的验证和审查;下层是基于属性的策略生成的安全信息,通过基于属性的策略来对系统进行 RBAC 控制,兼顾了两者的优点.另外,时间的约束是云计算环境下
34、比较重要的属性约束,时间因素无处不在,用户仅在特定的时间段具有特定的角色,而且云计算的工作模式就是按时计费,所以必须要通过时间来约束对云中数据的访问控制,因此迫切需要 RBAC 模型能够支持复杂的时间约束建模.目前,对单独时间约束的云计算访问控制模型也做了一些研究,Bertino 23很早就提出了一种基于时态特性的访问控制模型 (temporal role-based access control,简称 TRBAC),将时态约束加入到 RBAC 中.该模型带有时态约束,但是没有考虑对用户-角色分配和角色- 权限分配的时态因素.文献 24提出的时态模型把模型要素及其关系上的时态约束嵌入到模型中,
35、通过定义新的时态继承机制实现动态的基于角色的存取控制.该模型能够有效地减少约束规则库中的规则数量,提高存取控制效率,但不太适合大规模的分布式计算.3.1.3 基于 UCON 模型的云计算访问控制使用控制模型(usage control,简称 UCON) 25不仅包含了 DAC,MAC 和 RBAC,而且还包含了数字版权管理、信任管理等,涵盖了现代信息系统需求中的安全和隐私这两个重要的问题.因此,UCON 模型为研究下一代访问控制提供了一种新方法,被称作下一代访问控制模型.UCON 除了授权过程的基本元素以外,还包括义务和条件两个元素.当主体提出访问请求时,授权(authorization)组件
36、将根据主体请求的权限,检查主体和客体的安全属性,比如身份、角色、安全类别等,从而决定该请求是否被允许.义务(obligation)就是在访问请求执行以前或执行过程中必须由义务主体履行的行为;条件(condition)是访问请求的执行必须满足某些系统和环境的约束,比如系统负载、访问时间限制等(如图 5 所示).Fig. 5 UCON model 25图 5 UCON 模型 25云计算环境下的 UCON 模型主要研究以下两个方面:一是设计更适用于云计算的 UCON 访问控制机制和系统;二是研究由于义务和条件的加入,当用户在访问数据时,如何进行位置、时间等方面的约束才能使模型具有更高效的访问控制能力
37、.但是,如何在实际应用中有效地更新属性并确保属性更新的正确性,而更新过的属性能影响进一步的控制,这也给使用中的授权问题带来了更多的风险.文献 26将风险评估的方法引入UCON 的授权机制中,提高了使用访问控制模型的灵活性和安全性,使用控制模型的提出主要是面向分布式环境的访问控制需求.文献 27提出了一种分布式计算环境下使用控制的实施方案,虽然 UCON 模型在分布式、跨域环境下具有明显的优势,但是该模型的授权管理较为复杂.Tavizi 等人构造了一个新的 UCON 模型,主要解决了云计算环境下主体的属性易变性和义务的处理,但没有更深入的理论研究 28.Aliaksandr 等学者提出了一种基于
38、 UCON 和 XACML 标准规范的授权框架,框架整合 OpenNebula 工具箱来实施访问控制,在授权进行的过程中能够保持访问控制不中断 29.Msahli 等人在云计算环境中引入一个新的实体证据管理者(proof manager,简称 PM),以管理数据提供者和用户之间的证据,并使用 UCON 模型来对云计算中的访问控制管理建模.通过模型来管理两者之间的证据交换、授权等问题,保证云平台安全策略的正常下发 30.3.1.4 基于 BLP 模型的云计算访问控制BLP 模型是强制访问控制模型,主要用于比较强调机密等级的系统或者云环境,比如军事、金融等行业.目前,对 BLP 模型在云计算中的研
39、究主要集中在修改传统的 BLP 模型使其更适用于云计算环境上,并证明模型满足简单安全属性公理和*属性公理 *.文献 31以 BLP 模型和 Biba 模型为基础,借鉴有关行为定义的思想,结合云计算环境的特点,用行为综合角色、时态和环境状态的相关安全信息,将 BLP 和 Biba 模型相结合,提出了 CCACSM,并证明其满足简单安全属性和*属性公理.图 6 是 CCACSM 访问控制模型.Fig. 6 CCACSM model 31图 6 CCACSM 模型 31文献 32提出了一种基于 BLP 模型的访问控制机制的虚拟机系统,不仅实现了简单的虚拟机间的隔离,而且还能实现高效的共享,该文献从理
40、论上证明了该系统的安全性,也实现了一个基于 Xen 的虚拟机系统的访问控制机制原型系统.3.1.5 小 结为了更为直观、简洁地分析和对比各访问控制模型的能力、性能及安全性,我们定义了 14 个方面的指标,并进行了定性的比较.这些指标包括安全性(主体对客体授权是否是强制安全的) 、机密性(模型能否保证客体的机密性)、授权灵活性(给客体授权是否灵活高效)、最小特权( 模型是否具有最小特权原则) 、职责分离( 模型是否具有职责分离原则 )、描述能力(模型形式化描述是否逻辑清晰)、细粒度控制( 能否对云计算环境中的数据进行细粒度访问控制) 、云环境属性( 是否允许将云环境的相关属性 ,如时间、区域等加
41、入到模型中) 、约束描述(是否引入约束机制对授权的各个环节进行相应限制 )、云环境动态变化(模型能否动态地适应云计算环境的变化,并做出相应的调整)、兼容性( 模型能否兼容各种程序 )、扩展性(模型是否具有良好的扩展性) 、易管理程度(云平台管理员是否容易对模型进行管理)和建模容易度(模型建立是否容易简捷),见表 3.表 3 中的符号 “”表示该项指标性能较好,空白则表示不好或尚未具有该项指标特征.Table 3 Performance comparison among access control models 表 3 访问控制模型性能对比综上所述,访问控制模型在云计算环境下的研究取得了一些发
42、展,但总体来说还有些缺陷,主要体现在:1) 云计算中的访问控制模型的主体发生了变化.云计算中用户与租户的关系很复杂,两者同时都是访问控制模型的主体,所以要进一步形式化描述云计算中用户和租户的关系以及在模型中的作用.2) 没有综合考虑云计算的特性因素,如时间、位置的影响,云资源服务化、云资源迁移的影响等.云计算是一个动态的分布式系统,所以将云计算中动态的因素作为访问控制模型的约束条件进行研究,才可能更加适合云计算环境.3) 云计算将资源作为服务提供给用户,从模型角度来讲,访问的客体发生了变化:服务将成为直接客体,数据成为间接客体,将服务作为客体加入到模型中将更适合于云计算环境.所以,服务化模型也
43、是未来研究的重点.3.2 基于 ABE 密码机制的云计算访问控制研究密码机制是通过加密数据,使只有具备相应密钥的授权人员才能解密密文.密码机制访问控制技术可在服务器端不可信的环境中保证数据的机密性.数据所有者在数据进行存储之前预先对其进行加密,通过控制用户对密钥的获取来实现访问控制,这要求加密密钥必须由数据所有者自己生成并管理.目前已提出了大量层次访问控制的密码解决方案.之所以采用密码体制进行访问控制,是因为云平台大多不可信,用户将数据存放在不可信的平台上是不安全的,对于数据的隐私保护、机密性、完整性都不能达到很高的安全等级;并且一旦数据上传至云,数据提供者就不能对数据有更多的控制权,所以采用
44、密码方式对数据进行保护非常有必要.这种方法主要针对主客体之间交互比较多的数据和比较敏感的数据.目前,ABE(属性基加密) 就是一种最常见的密码机制.ABE 密码机制自 2005 年开始研究,其发展了传统的基于身份密码体制关于身份的概念,将身份看作是一系列属性的集合.Sahai 与 Waters 第一次提出基于模糊身份加密的方案 33,将生物学特性直接作为身份信息应用于基于身份的加密方案中,Sahai 在论文中引入了属性的概念 .2006 年,Goyal 等人在基于模糊身份加密方案的基础上提出了基于属性的加密方案 ABE 34,随后衍生出了两种与策略树有关的 ABE 算法,即,密钥策略 ABE(
45、key- policy attribute-based encryption,简称 KP-ABE)和密文策略 ABE(cipher-policy attribute-based encryption,简称 CP-ABE).2006 年,Sahai 等人 35首次提出了 KP-ABE 的概念,在 KP-ABE中,可描述的一组属性与密文相联系,解密密钥用策略树来约束,当访问控制策略树能够匹配属性后,解密者才能获取解密密钥.因此,加密方对明文没有任何的控制权,KP-ABE 适合于大规模网络环境下的密钥管理 36.2007 年,Sahai 和 Waters 又提出了 CP-ABE 37的概念,在 CP
46、-ABE 中,访问控制策略树与密文相联系,解密密钥用一组可描述的属性来约束,当解密方拥有的属性匹配策略树成功时才能获得解密密钥,获得对资源的访问权.与 KP-ABE 相比,CP-ABE 更适合于大规模环境下的访问控制,目前学术界对 ABE 在云计算环境下的应用大部分都采用 CP-ABE 算法 .图 7 是 ABE 密码体制在云计算环境下的模型,包括 4 个参与方:数据提供者、可信第三方授权中心、云存储服务器和用户.方案描述如下:首先,可信授权中心生成主密钥和公开参数,将系统公钥传给数据提供者;数据提供者收到系统公钥之后,用策略树和系统公钥对文件加密,将密文和策略树上传到云服务器;然后,当一个新
47、用户加入系统后,将自己的属性集上传给可信授权中心,并提交私钥申请请求,可信授权中心针对用户提交的属性集和主密钥计算生成私钥,传给用户;最后,用户下载感兴趣的数据.如果其属性集合满足密文数据的策略树结构,则可以解密密文;否则,访问数据失败.Fig. 7 Model of ABE for cloud computing environment 38图 7 ABE 在云计算环境下的模型 38ABE 包括 4 个步骤,见表 4.Table 4 ABE algorithm steps 表 4 ABE 算法步骤ABE 最突出的优点是很适合于分布式环境下解密方不固定的情况,加密方加密信息时无需知道具体是谁解
48、密,而解密方只需符合相应属性条件即可解密;并且 ABE 将加密规则蕴含在加密算法之中,可以免去密文访问控制中频繁出现的密钥分发代价.ABE 具有很强的安全性:(1) ABE 的算法基于椭圆曲线上的双线性对,从密码学理论上来讲,破译密码是不可能的;(2) ABE 的密文被附上了一个存取结构,这个存取结构的复杂性使得在安全性证明的模拟过程中,模拟者难以将其“嵌入” 一个普通简单的困难性假设 (如 Diffie-Hellman假设等), 这导致了挑战密文的困难;(3) ABE 私钥具有一定的属性,不同的私钥属性集合可能具有相交的属性 ,这样的私钥相关性也给模拟私钥提取问询造成了困难.目前,ABE 在
49、云计算环境中实现对数据的访问控制主要从 3 个方面进行研究:第一是细粒度访问控制,第二是用户属性撤销问题,第三是多授权中心(multi-authority)方案.ABE 在提供数据安全性的同时进行细粒度的访问控制,直接将 ABE 技术应用于云存储系统并不能很好地解决一些诸如效率和可扩展性的问题.例如,云存储系统涉及大量的用户和数据,加密、用户组和密钥的管理等机制都需要较高的可扩展性,直接应用 ABE会导致效率不高的问题;用户属性的撤销设计难度较大,实现起来效率不高;特权用户仍可获取用户敏感数据,数据属主仍未达到对共享数据访问的完全控制;将 ABE 与可信计算研究相结合等问题.3.2.1 ABE 细粒度访问控制研究ZHU 等人建立了一个有效的 RBAC 和 ABE 兼容的云数据加密体制 37,这种加密体制设计为将用户通过 RBAC 访问云中数据和数据在云中的