余 波,杨明广,李传学
(成都工业学院 a.通信工程系;b.计算机工程学院,成都 611730)
信任实体与ABE密码体制相结合的云存储加密模型
余 波a,杨明广b,李传学a
(成都工业学院 a.通信工程系;b.计算机工程学院,成都 611730)
为了实现云存储加密数据快速检索及确保数据存储和传送的安全,提出了一种云计算环境下基于信任实体与ABE密钥体制相结合的云存储加密模型。在分析现有云存储加密技术面临问题的基础上,将ABE密钥体制中非对称公私密钥对模型,结合介于数据提供者、云服务器和云用户三者都信任的第三方机构来实现云存储加密设计,给出了云中数据在存储和传送中的访问控制流程。该模型对云存储密钥由谁控制、在哪儿管理进行了重新界定,保证了云存储环境下数据的安全性和可靠性,并且具有较好的灵活性。
云存储;加密技术;ABE密钥体制;访问控制服务中心
云计算安全联盟(Cloud Security Alliance,CSA)指出,云计算安全面临最显著的威胁主要来自3个方面:数据泄露、数据丢失、数据劫持[1]。鉴于云存储环境中共享性、动态性和开放性以及“可控信任域”不复存在等特点,使云数据存储的安全性问题比以往环境下更加复杂[2]。有效处理云服务器(Cloud Provider,CP)、数据提供者(Data Owner,DO)、用户(Consumer)之间的相互联系与权限控制问题,成为云存储安全的核心问题。研究人员从可信访问控制、虚拟安全技术、数据加密技术、数据备份技术等方面对此进行了大量的研究工作,应对来自开放环境和云运维服务环境的安全挑战[3]。其中以加密安全处理为基础的访问策略方式一直是云存储安全技术领域着重讨论的内容。
加密技术以体系完善、安全可靠的密钥管理系统为核心,依赖敏感数据进行加密为基础,按照权责分立方式实现敏感数据的访问控制。从数据安全的角度来看,避免数据泄露、丢失、劫持的责任不全在云服务器CP,也在于数据提供者。
通常当用户向云端上传数据时,为确保其存储数据的安全性,传输过程自身就是一个加密过程,并需要实现快速检索加密之后的文件;同时在云中的数据一般处于3种状态:传输中的数据、使用中的数据和静态数据[4]。对于传输中的数据,可以将其从用户的键盘或服务器传送到互联网应用程序,采用传输层安全(TLS)加密连接,以达到较好的保护目的;但是针对静态数据和使用中的数据而言,仍然无法有效解决安全性问题。此外,有效提高数据快速检索也是云存储应用完善的关键。因此,在云存储中数据加密技术中进行突破,是解决云存储数据安全问题的途径之一。
针对上述问题,本文将可信访问控制技术中第三方信任模型集成到ABE(Attribute-based Encryption,基于属性的加密方法)中。在通过ABE机制进行云加密的时候,参考信任值决定数据提供者(DO)、云服务器(CP)、用户(Consumer)之间的信任关系,如果信任值符合要求,就在可信强大的云环境中进行复杂的密钥管理和加解密方式,且将解密中枢从用户终端独立出来,既实现了数据的检索,也充分利用了以加密保护为基础的技术路线来实现云中数据存储的安全问题。
1.1 加密模型结构
实现以敏感数据加密为基础的技术路线,核心问题就是“密钥在哪儿管理、由谁控制”,同时需要解决数据加密防护和密钥管理引起的系统运行效率,系统部署和改造的代价,自动化运维的影响等一系列问题。
目前针对云存储加密的研究,主要有基于属性加密(Attribute-based Encryption,ABE)实现的细粒度访问控制的云存储系统,有面向云存储的安全存储模型及存取策略,有云存储密文策略属性基加密方案,但这些均采用为客户加密数据的模式,并未解决自身的不足问题[3]。如,云存储中涉及大量的用户和数据,加密、用户组和密钥的管理等机制都需要较高的可扩展性,用户属性的撤销难度较大,直接应用ABE会导致效率不高[4],数据所有者仍未完全控制共享数据,用户敏感数据被特权用户获取。而解决这些问题的途径之一就是将ABE与可信控制研究相结合,在采用ABE密码机制进行云存储数据访问控制的时候,通过第三方可信实体决定数据提供者、云服务器CP、用户的信任关系。如果信任值符合要求,就在云环境下进行加解密处理和复杂密钥管理,既利用了云中的计算能力来减轻整个云存储系统的计算负担,数据访问控制协议与云服务器中存储的数据分离存放,也保证了云中数据的安全性[3]。这种思路就是本文探讨的主要内容。
数据所有者在数据进行存储之前预先对其进行加密,密文与私钥分别与一组属性关联,当用户的私钥属性与密文属性相互匹配到达一个门限值时,该用户才能解密密文,这种方式就称为基于属性的加密方法ABE[5]。有效管理用户对存储数据的操作访问,最直接的方式就是控制用户对密钥的获取。
在ABE密码体制模型的基础上,除数据提供者、云服务器CP、用户以外,模型中明确可信实体服务中心,即访问控制服务中心(Access Control Provider, ACP),进一步细化它们之间的关系如图1所示。
图1 融合ABE密钥体制4+1云存储加密模型
对以上4个参与者,建立它们之间的信任关系如下:访问控制服务中心首先生成公私密钥对,其中公钥对CP来说都是共享的,并将系统公钥传给数据提供者;数据提供者创建与数据对应的访问控制协议,将其访问控制协议存储在ACP中,ACP反馈给数据提供者协议中包含的应用程序统一标识符(URIap),数据提供者收到系统公钥之后,生成策略树,结合系统公钥对文件加密,将加密的数据上传到云服务器进行存储;同时信任访问控制服务中心针对用户提交的属性集合和私钥申请请求来判断用户是否符合访问策略规则?计算生成私钥(含属性集合和主密钥)授权用户;最后,用户向云服务器提出访问操作申请,并在内部网中,独立的解密中枢中,根据授权私钥进行对应的加密密文解密操作。如果解密之后获得的简易签名牌,不满足配对及策略树结构,则用户无法进行数据访问。其中包含了信任关系:访问控制服务中心与数据提供者之间,通过数据提供者提供的访问控制协议实现对ACP的控制,那么信任关系在它们之间得以建立(例如,由访问控制服务中心管理企业的用户管理系统)。数据提供者已经和云服务器之间形成一种信任关系,之间关系通过简易签名牌进行配对,来完善鉴定云端数据是否被伪造和修改。因此,第二种在数据提供者和云服务器之间信任关系也有效建立。
1.2 模型的相关定义
下面给出该模型的相关定义:
定义1:数据提供者(Data Owner):指将数据共享到域内服务器或者多域公有云端的拥有者。如企业。
定义2:访问控制服务中心(Access Control Provider, ACP):界于数据提供者和用户之间的第三方信任实体机构,存储数据提供者特定的安全策略,并代表云服务器进行访问控制。
定义3:云服务器(Cloud provider, CP),是云计算服务的重要组成部分,是面向各类互联网用户提供综合业务能力的服务平台。
定义4:访问控制策略(协议)(Access control policies)是主体(用户)对客体(指被访问资源的实体)的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认,是面向服务应用安全管理的关键[6]。
定义5:公私密钥对(非对称密钥对)(public-private key pair)与对称加密算法不同,非对称加密算法需要2个密钥:公开密钥(public key)和私有密钥(private key),如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
定义6:统一资源标识符(Uniform Resource Identifier,URI)用于唯一地标识元素或属性的数字或名称[7]。
定义7:访问控制协议的应用程序统一标识符(The URI of an access control policy,URIap)是由数据提供者为保护CP中执行的每一次应用程序的操作而创建的。
定义8:解密中枢(proxy decryption server)存在于用户终端内部网络又独立存在,为用户提供解密服务。
1.3 模型目标
模型的目标是建立一个有如下属性的系统:
系统的安全性:如果系统中所有的实体都尊重描述的信任关系,则不可能对未经授权的用户执行受保护的操作,且云端数据一旦发生修改或者蓄意破坏,也无法使访问操作正常进行。ACP、CP之间是相互独立的实体,之间的联系通过相应的标识符(消息)等传送操作形成一个完整的处理系统。
数据在存放在云端前,通过ACP进行加密,而密钥的流通仅仅在ACP及被授权的移动用户之间,对CP而言,是屏蔽的。也就是说数据解密密钥是与存储加密数据的云存储服务器进行分离的,以此来确保数据的安全性。
保留用户的隐私权:访问控制服务中心ACP不能够透露用户要执行的操作或访问的数据,云服务器只知道用户可以通过一个特定的ACP授权,对于用户本身信息知道得很少。
数据采用复制与粘贴策略的方式在不同的云服务器之间迁移,访问控制策略易于修改:访问控制策略及其实现细节的唯一实体是访问控制服务中心和数据提供者。云服务器CP不知道访问控制策略的具体内容和实现细节。对于云存储中多个服务器而言,只需要遵照共同的策略,将数据从一个移动到另一个,实现了在同一访问控制策略模式下被保护的多重操作及访问控制策略的多重复用。
访问控制策略从数据和它们保护的操作中分离:一个访问控制策略被定义为仅仅考虑用户属性,存放在ACP中,而数据的访问及存储操作却在CP中进行,因此并没有显示任何关于数据和它保护的操作。
在ACP和CP间设立有一个基于信任关系的公私密钥对。公钥(public key,即:PUBcp或PUBacp)对ACP、CP来说都是共享的,私钥由ACP使用。所有消息都通过一个安全通道交换。
具体过程,分为4个步骤(如图2所示)。
第1步:访问控制协议的创建和数据存储及加密。
数据提供者与ACP之间:数据提供者在存放数据前按照系统公钥生成策略树形式对数据加密,并将加密数据信息存放在公有云端,创建与数据信息对应的访问控制协议,并将其访问控制协议存储在ACP中,ACP反馈给数据提供者协议包含的应用程序统一标识符URIap。
ACP与CP之间:建立一对公私密钥对。公钥对ACP、CP来说都是共享的,私钥由ACP使用。
数据提供者与CP之间:数据提供者在CP中设立访问控制表(access table),表中包含了:某项操作、其对应的应用程序统一标识符URIap、ACP的公共密钥PUBacp,加密数据。
第2步:用户注册信息(未授权的请求)。
用户的第一次操作,注册用户信息。
用户与CP之间:用户向CP发送操作请求,收到请求的CP反馈给用户一个独特的令牌(如:一个随机数)及一次应用程序的操作请求对应的统一标识符URIap。
发生以下的消息交换:
用户→CP:操作请求。
CP→用户:应用程序统一标识符URIap,令牌。
图2 4+1云存储加密模型实现细节
为了跟踪生成的新令牌,在CP中创建有一个令牌表(token table),表中包括:身份验证令牌,令牌过期字段值,令牌的有效期时间,应用程序统一标识符URIap,每当一个新的令牌生成,表中将添加一条新的数据条目。此项的认证字段的初值被设置为假(false)。
第3步:用户的身份验证和授权请求。
此过程是由用户已经完成注册之后进行的。
用户与ACP之间:用户将身份资料、令牌、应用程序统一标识符URIap、以及已经在CP中注册之后获得的公共密钥PUBcp提交给ACP,ACP负责评估与URIap对应的访问控制策略。如果用户符合URIap对应的访问控制策略,ACP将创建一个授权信息,包含用户令牌、该令牌的有效期、CP的公共密钥PUBcp、URIap。同时,ACP将签署的私钥反馈给用户。
因此,下面的消息被交换:
用户→ACP:ID身份资料、PUBcp、URIap、令牌。
ACP→用户:授权信息、ACP的私钥SIGNacp(如果ACP评估用户符合URIap对应的访问控制策略)。
授权信息=用户令牌、令牌的有效期、URIap、PUBcp。
换句话说,如果ACP评估用户不符合URIap对应的访问控制策略,将无法获得授权信息、ACP的私钥SIGNacp。
第4步:授权请求及用户操作。
本程序是用户在获取由ACP授权之后,向CP申请一次操作时执行的。
用户与CP之间:用户发送一个消息,包括操作请求、用户令牌、该令牌的有效期、CP的公共密钥PUBcp、URIap和授权中心ACP的签名(即:SIGNacp)给CP。
CP收到这些消息后,进行下面算法来决定用户是否允许执行所请求的操作。
算法关系如下:
1)检索CP令牌表(token table),比对该令牌的输入,并检查令牌是否已过期?如果已经过期,那么返回一个错误。
2)比对未过期的令牌表中对应的记录条目的身份验证字段是否符合要求,如果符合,进行如下操作:
a)检索访问控制表(access table)中对应的操作项的公共密钥PUBacp是否与用户提交提供的公共密钥PUBcp匹配?
b)检索来自令牌表(token table)对应令牌的URIap与用户中操作请求中提交的URIap是否匹配?
c)如果a)和b)中的被检测数据匹配,重建授权信息,更新令牌表(token table),设置授权消息令牌的有效期域,并将该验证域布尔变量设置为真。同时用户授权解密中枢,对加密数据进行解密,并按照一定的计算办法生成简易签名牌,与第3步中ACP提供的简易签名牌进行配对,如果符合,则实现用户对CP中存在数据的明文访问操作。
数据提供者在存放数据前,构造一个双线群G0,随机选择指数α,β∈Zp则造系数h=gβ,公钥PUBacp=(B0,g,h,e(g,g)α)(其中:e(g,g)α为双线性配对;g为生成元),公钥在系统中公开。结合系统公钥对数据进行哈希运算生成应用程序统一标识符:URIap=H1(m)(H1为一个哈希运算函数),即相对数据访问控制策略标识符。
主密钥PRIacp=(β,gα)(其中gα为生成数据),由ACP保管。利用加密算法Enerypt(PUBacp,M,T)→Cm(其中:M需要加密保护的数据明文;T是策略树访问结构),密文Cm通过策略树T进行构建,令Y是树T中的叶子节点集合,对于每个叶子节点y∈Y,则Cm=(T,e(g,g)α.s,hs,∀y∈Y:Cy=gqy(0),H(att(y))(其中随机数s∈Zp)[8],并设qR(0)=S),加密密文存放在CP中。
用户首次注册中,CP提供给用户随机令牌γ∈Zp,每个属性j∈S选择好随机数γj=Zp。用户根据自己的属性,设置用于会话的私钥(注册密码),结合系统公钥加密属性证书,生成用户属性私钥PRIus。
从整个模型可以看出,系统的安全性保证从4个方面体现:
1)访问控制协议由数据提供者创建只存储在访问控制服务中心(ACP)中,如果需要修改,只需要在数据提供者和ACP中进行,对于存放数据的云服务器和用户都是屏蔽的。
2)用户对CP进行操作访问是由ACP判断用户属性证书的有效性,生成私钥给CP授权;解密加密文件时,由既独立于用户终端又和用户处于一个内部网络的解密中枢进行解密,对外部来说,又是屏蔽的。解密中枢操作受到终端用户授权控制,即使系统中访问控制策略和密文被更改后,没有用户授权,依然无法解密CP中新的密文。
3)加密和解密进行分离,且独立于CP和终端用户,从模型算法中看出,数据加密密文与签署的私钥部分相互匹配,这样即使获取部分算法值,也不能轻易解密加密文件。
4)本模型采用4+1实体模型进行设计,除数据拥有者、CP、用户终端而言,云端数据加密在访问控制服务中心ACP实现与访问控制策略的捆绑,解密密钥在ACP及用户终端的解密中枢中实现与用户属性证书进行捆绑,有效的实现了访问控制策略中对用户属性的界定,且又不是通过直接方式进行界定,加强了系统的安全性并实现了较好的细粒度访问模式。
基于第三方可信实体与其他存储技术深度融合的加密存储技术是目前学术界一直不断探索和实践的重要技术。本文提出的可信实体与ABE密钥体制的有效结合的云存储访问控制模型,进一步将基于信任实体的云存储系统结构进行完善,其突破点在于梳理了云中4+1实体数据存储与访问的流程,模型结构更加易于实际运用。该方案重新对云存储操作中主体和客体关系进行了界定,实现灵活、安全、细粒度的云存储访问控制,下一步的工作是基于该模型的实现算法的程序设计优化和信任值评价准确度的研究。
[1]佚名.2013年云计算面临的九大安全威胁[J].电子产品可靠性与环境试验,2013(4):67.
[2]常玲霞,王凤英,赵连军,等.CT-RBAC:一种云计算环境下的访问控制模型[J].微电子学与计算机,2014,31(6):152-157.
[3]王于丁,杨家海,徐聪,等.云计算访问控制技术研究综述[J].软件学报,2015,26(5):1129-1150.
[4]刘帆,杨明.一种用于云存储的密文策略属性基加密方案[J].计算机应用研究,2012,29(4):1452-1456.
[5]冯朝胜,秦志光,袁丁,等.云计算环境下访问控制关键技术[J].电子学报,2015,43(2):312-319.
[6]吴迎红,黄皓,周靖康,等.分布式应用访问控制策略精化冲突分析[J].计算机应用,2014,34(2):421-427.
[7]YANG K, JIA X. Attributed-based access control for multi-authority systems in cloud storage[C]//IEEE, International Conference on Distributed Computing Systems. IEEE, 2012:536-545.
[8] 冯澄,张敏,冯登国.AB-ACCS一种云存储密文访问控制方法[J].计算机研究与发展,2010,47(1):259-265.
“℃”的中文符号是什么?
问:摄氏温度单位“℃”的中文符号是什么?
答:按规则,单位名称的简称即为该单位的中文符号,如压强单位Pa的中文名称为帕斯卡,其简称“帕”即为Pa的中文符号。“℃”的中文名称为摄氏度,而摄氏度没有简称,所以,“摄氏度”就是摄氏温度单位“℃”的中文符号。然而,“℃”是一个特殊的单位符号,根据《中华人民共和国法定计量单位使用方法》,它还“可作为中文符号使用,可与其他中文符号构成组合形式的单位”。可见,“℃”的中文符号有“摄氏度”和“℃”2个。例如质量热容的单位J/(kg·℃)的中文符号,既可写作“焦/(千克·摄氏度)”,也可写作“焦/(千克·℃)”。
——摘自http://zhaodal.blog.163.com
Cloud Storage Encryption Model based on Trust-entity Combined with ABE
YUBoa,YANGMingguangb,LIChuanxuea
(a.School of Communication Engineering;b.School of Computer Engineering, Chengdu Technological University, Chengdu 611730, China)
With the increase of user data in the cloud storage,and the characteristics of cloud computing such as “controllable trust domain” ceasing to exist,sharing,dynamic and openness,the authors proposes an access control,whic is more complicated in cloud computing environment than it in traditional one. In order to achieve rapid retrieval and guarantee the security and reliability of cloud storage encryption data in the accessing process,this paper puts forward a kind of cloud storage encryption model based on a trust entity combined with ABE key system. On the analysis of the existing cloud storage encryption models which are facing with the problem,choosing a public-private key pair model from the ABE key system,the authors combine it with the third party which is trusted by the data provider,the cloud and cloud users,and give users the implementation process access to the cloud data. This model redefines the relationship between the subject and object in the cloud storage,ensures the data security and reliability of the cloud computing environment,and has good flexibility.
cloud storage;encryption technology;ABE secret key system;Access Control Provider
10.13542/j.cnki.51-1747/tn.2017.01.001
2017-01-20
余波(1978—),女,讲师,硕士,研究方向:通信与计算机系统,电子邮箱:14392926@qq.com。
TP391
A
2095-5383(2017)01-0001-06