APP下载

一种基于数据分块与CP-ABE的云数据共享机制

2018-02-12荣静殷新春徐明张蕾

软件导刊 2018年12期
关键词:数据共享

荣静 殷新春 徐明 张蕾

摘要:为解决云存储中数据共享与数据安全问题,通过使用数据分块技术将数据分割,对得到的每一块数据作对称加密,将加密后的密文存储在云上,实现数据安全存储。为达到数据分享的目的,使用密文策略的属性基加密技术对上述过程中对称加密的一系列密钥进行加密,通过共享密钥实现数据共享;当用户需要解密数据时,客户端系统会先验证用户身份,验证通过则解密得到数据。同时通过将用户ID存入权限撤销列表中,实现撤销用户功能,在实现数据共享的同时保证数据安全性。

关键词:云数据;密文策略属性基加密;数据分块;数据共享;撤销用户

A Cloud Data Sharing Mechanism Based on CP ABE and Data Partition

RONG Jing YIN Xin chun1,2,XU Ming ZHANG Lei 1

(1.Guangling College, Yangzhou University,Yangzhou,225009,China;

2.College of Information and Engineering, Yangzhou University. Yangzhou 225127, China )

Abstract:To solve problem of the data sharing and data security stored in the cloud, we introduce the data partition technology to divide data into lots of parts. After encrypting them one by one with different symmetric keys, the encrypted data is stored in the cloud. To realize data sharing, we use the ciphertext policy attribute based encryption technology to encrypt the symmetric keys, so we can share the data by sharing the encrypted key. When a user wants to decrypt the data, the client system validates his identity first, if his identity is legal, he can decrypt the key to get the plaintext . Simultaneously, we add the revoked ID into the revocation list in order to revoke user. Eventually, we realize data sharing and data security.

Key Words:cloud environment;CP ABE;data partition;data sharing;revoke user.

0 引言

云计算[1 2]应用因其便捷、灵活、费用合理等优势发展迅速,用户将大量数据存储在云端,利用云端丰富的计算资源完成大规模的计算工作。与此同时,将数据存储在云端也带来了诸多安全威胁,如何安全高效地存取以及分享存储在云端的数据越来越受到关注[3]。

属性基加密机制[4 7](Attribute-Based Encryption, ABE)可以为云数据共享提供安全、可靠、便捷的服务。ABE原理是在加密时将访问策略与用户属性分别嵌入到密钥和密文中,只有当用户的属性满足设定的访问策略时才可解密消息。依据上述加解密原理,ABE分为密文策略(Ciphertext Policy, CP)和密钥策略(Key Policy,KP)两类。KP-ABE是将用户的属性与密文关联,将设置的访问策略与用户私钥关联。而CP-ABE是将用户的属性与密钥关联,而将设置的访问策略与密文关联起来,这种设定更加符合实际应用需求。通过属性基加密算法实现云数据共享的方案很多,如文献[8]提出了一种在云存储环境下的共享方案,该方案使用了两个半可信中心进行密钥的生成与分发,降低第三方依赖性;文献[9]通过外包解密的方法降低用户解密的计算量大等问题。

数据量很可能十分庞大,虽然云存储采用的是分布式存储[10],但为了其安全性,可先将数据按一定的规则分块[11 13],然后将分块后的数据再加密上传到云端进行分布式存储,同时在用户请求数据时可根据规则将数据恢复。

1 方案概述

在此将云服务[14]供应商及存储设备提供商等都视为不可信的,所有加解密工作都在客户端实现。当用户需要共享全部数据时,用户将数据在客户端加密后再上传给云服务供应商。

数据属主首先将数据分块,然后对每一块数据分别使用对称加密算法加密。 密鑰为:{K 0,K 1,…,K n},随后数据属主将加密好的数据上传到云存储设备上。对于对称加密的密钥[15]{K 0,K 1,…,K n},系统使用数据属主设置的访问策略进行加密。根据所拥有的属性为用户生成属于自己的解密密钥K u ,只要用户所拥有的属性能够满足这个访问策略,用户的私钥便可以解密,最终得到数据明文,实现密钥共享。使用CP-ABE算法加密密钥主要是为了实现用户共享数据,此外还增加了撤销机制[16 17]以便灵活地控制用户权限。

2 方案实现

数据加密:数据加密包括两种方式:①使用对称加密算法加密每一块数据;②使用CP-ABE算法对称密钥。加密过程如下:

(1)在客户端,数据属主先进行数据分块。本文采用固定大小分割法,即每一个数据块的长度相同且固定。数据属主输入分块数n,根据n的值系统将数据均匀划分为等长的数据块(设数据块的大小为m),若最后一个数据块不足,则需补充字节。

将数据分块后在本地生成一个数据块索引目录,索引目录的主要作用是恢复数据。索引目录中包括数据块的索引信息(序号):i、n个随机值R i及n个密钥K i,(i{1,2,…,n})。

(2)系统随机生成n个密钥,为划分的每一块数据选取一个密钥K i(i{1,2,…,n}),将密钥与数据块索引信息一一对应地添加到索引目录中。

(3)对称加密。使用步骤(2)中生成的对称密钥K i加密第i个数据块,分别得到密文Cipher i。系统生成n个随机值R i,并将这个随机参数添加到密文Cipher i后面。

在此以AES算法为例说明:AESEncrypt(M i,K i)→CT i:输入数据块M i,其对称密钥K i,输出密文Cipher i。在密文Cipher i后面加上参数R i,分别得到CT i,依次组合n块数据得到密文cipher。数据属主上传数据密文cipher到云端存储。

n 个对称密钥按随机排列组成的消息为:

(4)为实现数据共享,使用CP-ABE算法对所有 n 个对称密钥进行加密[18 19]。设定云服务供应商、设备提供商都不可信,且用户存在因私利泄露密钥等情况,因此除了加密数据外还要有针对用户的撤销机制,以实时撤销用户的访问权限,抵御来自内部的攻击,保护数据。主要算法[20]如下:

ABESetup(λ,U)→PK,MSK:输入安全参数λ,通过群生成算法得到一个N阶循环群G。随机选取U个(U是整个系统中的属性集合)群元素h 1,h 2,…,h U∈G,将这U个随机群元素与U个属性相关联。算法随机选取α,a∈Z N以及群G的生成元g,最终得到主密钥:MSK=;系统公钥:PK={N,g,e(g,g)α,ga,ga 2,H x=gh x}。

ABEKeyGen(id, PK, MSK, S)→SK:S表示一个用户的属性集合,系统通过计算得出该用户的私钥。算法选取随机值t∈Z N以及随机群元素R,R′,R″,{R x} x∈S∈G p 3,计算得到用户私钥如下:

由合数阶群的定义可知,不同子群之间存在两两正交关系,因此随机值R可以被约去。

ABEEncrypt(MS, A, PK, RU)→C 1:数据属主设置一个访问策略A,用线性秘密共享方案[21]实现;MS是步骤(3)中对称密钥消息,RU是被撤销权限的用户的id集合。最终输出加密后的密文C 1。

该算法中,令(M,ρ)表示访问结构A,其中M是一个l×m矩阵,矩阵M的第i行M i通过ρ映射到属性集合U中的一个属性:ρ(i)。注:ρ只能映射到一个属性上。

随机选取向量v=(s,v 1,v 2,…,v m)∈Z m N,对矩阵的每一行M i计算内积λ i=M i·v;选取随机值r i∈Z N,其中i∈{1,2,…,l};令Q=|RU|表示被撤销的用户数量,选取Q个随机值s 1,s 2,…,s Q,并令s=s 1+s 2+…+s Q,令ID i表示其中第i个被撤销用户的id,最后得到的密文如下:

生成的密文为: C 1={C′,C 0,C i,1,C i,2,C j,D j}。

(5)每次撤销某一个用户时,RU集合更新,需要使用对称加密算法对C 1进行重新加密,算法如下:

ReEncrypt(Key, C 1)→C 2。算法随机生成一个对称密钥Key,使用密钥Key加密密文C 1生成新密文C 2。将Key分发给未被撤销的用户;如果RU集合更新,那么对称密钥Key也要更新,未被撤销的用户便会得到一个最新的对称密钥,而已被撤销的用户则没有。只有拥有这个最新的对称密钥Key的用户才可解密C 2,再解密C 1,所以用户拥有的密钥应为:SK={K, K′, L, Kx, Key}。

系统加密过程如图1所示。

数据解密:解密过程即是加密过程的逆操作,主要步骤如下:

(1)用户请求解密数据。首先客户端系統验证用户身份,系统解析用户私钥后若得到最新对称加密密钥Key,则可 解密得到密文C 2。

ReDecrypt(Key, C 2)→C 1。重对称解密算法ReEncrypt的逆操作、解密C 2。

(2)解密密文C 2后系统将执行ABEDecrypt算法。

ABEDecrypt(C 1, SK, RU)→MS:输入私钥,连同步骤(1)得到的密文C 1,检测用户是否在被撤销用户集合中。若不在,解密得到密钥消息MS。计算过程如下:

由 C=MS·e(g,g)αs可以得到MS=CF。

注意:用户不能获取对称密钥消息MS,MS是解密数据的过渡阶段,用户得到的是解密后的数据,即便是合法用户也得不到加密数据的密钥消息,排除了来自系统内部用户的安全隐患。

(3)步骤(2)中,用户通过系统身份验证后,系统将根据索引目录中密钥与数据块的对应关系一一解密数据块。

AESDecrypt(K i, CT i)→MS i:系统根据密钥K i和密文数据块CT i,解密得到明文数据块MS i。

(4)系统根据索引目录中的信息将数据块合并,恢复为原始数据。解密过程如图2所示。

3 结语

本文将数据分块技术与CP ABE加密机制结合起来实现云数据共享,将数据的加解密与数据共享分开实现。先使用对称密码对数据加密,然后使用属性基密码共享数据,实际上是通过共享对称密钥共享数据。在使用属性基密码算法中加入了用户撤销机制,从而实现对用户权限的灵活控制。

参考文献:

[1] 冯登国,张敏,张妍,等. 云计算安全研究[J]. 软件学报,2011,22(1):49 52.

[2] GUPTA R. Above the clouds: a view of cloud computing[J]. Eecs Department University of California Berkeley, 2009,53(4):50 58.

[3] 俞能海,郝卓,徐甲甲,等.云安全研究進展综述[J].电子学报,2013,41(2):371 381.

[4] 冯登国,陈成.属性密码学研究[J].密码学报,2014,1(1):1 12.

[5] 苏金树,曹丹,王小峰,等.属性基加密机制[J].软件学报,2011,22(6):1299 1315.

[6] 刘雪艳.基于属性加密的数据访问控制方法研究[D].兰州:兰州理工大学,2016.

[7] 马潇潇,于刚.可公开定责的密文策略属性基加密方案[J].计算机科学,2017,44(5):160 165.

[8] 姚文斌,韩司,李小勇.云存储环境下的密文安全共享机制[J].通信学报,2015(10):1211 1216.

[9] 张桂榕.云存储数据安全访问与共享机制研究[D].北京:北京交通大学,2015.

[10] 王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报,2012,23(4):2021 2029.

[11] 张薇,马建峰. LPCA——分布式存储中的数据分离算法[J].系统工程与电子技术, 2007(3):453 458.

[12] 徐小龙,周静岚,杨庚. 一种基于数据分割与分级的云存储数据隐私保护机制[J]. 计算机科学, 2013 (2):98 102.

[13] 王保兵. 电子数据分离存储与安全恢复系统的研究及实现[D]. 南京:南京邮电大学, 2009.

[14] GHEMAWAT S, GOBIOFF H, LEUNG S T. The Google file system[J]. Acm Sigops Operating Systems Review, 2003(37):29 43.

[15] 唐勇.基于属性加密的云数据访问控制研究[D]. 武汉:华中科技大学, 2013.

[16] 姚亮,杨超,马建峰,等.云端数据访问控制中基于中间代理的用户撤销新方法[J]. 通信学报, 2015, 36(11):92 101.

[17] KIM J, NEPAL S. A cryptographically enforced access control with a flexible user revocation on untrusted cloud storage[J]. Data Science & Engineering, 2016,1(3):149 160.

[18] 牛德华,马建峰,马卓,等.基于属性的安全增强云存储访问控制方案[J]. 通信学报, 2013(S1): 276 284.

[19] 宋开波,罗军,孙金涛.基于CP ABE算法的云存储数据保护机制[J]. 华中科技大学学报:自然科学版, 2012(S1):266 269.

[20] LI Y, ZHU J, WANG X, et al. Optimized ciphertext policy attribute based encryption with efficient revocation[J]. International Journal of Security & Its Applications, 2013(7):281 287.

[21] WATERS B. Ciphertext policy attribute based encryption: an expressive, efficient, and provably secure realization[J]. Lecture Notes in Computer Science, 2008(8):321 334.

猜你喜欢

数据共享
浅谈天津气象信息化发展现状和发展趋势
网络时代电子文件和档案管理的探索
高校一表通系统建设探究