基于密钥树的云平台隐私保护与分享技术研究

2015-03-07 09:24朱晓姝孙小雁张茂胜
关键词:公钥解密密钥

朱晓姝, 孙小雁, 熊 莉, 张茂胜

(1.广西师范大学 多源信息挖掘与安全重点实验室,广西桂林 541004;2.玉林师范学院计算机科学与工程学院,广西玉林 537000;3.广西电网公司电力调度控制中心,广西 南宁 530023;4.玉林师范学院 数学与信息科学学院,广西 玉林 537000)

云计算利用互联网平台为用户提供分布式、可靠、低成本、强大的计算力和无限的存储、数据、信息、知识和协作可能[1],使人类信息技术达到无时无处不在的可用性和服务能力[2-3]。作为云计算的基础、核心技术,云存储受到了广泛的关注与研究[4]。尽管云存储平台能明显降低企业成本、提高工作效率,但是当用户将数据上传到云存储平台后,信息将完全暴露在云存储平台的提供商(cloud service provider,CSP)面前,也极有可能被其他用户非法获取。因此,云存储平台中用户的隐私问题引起了广大用户极大的关注[5]。

对云存储的数据进行加密是一种常见的保护隐私的方式。用户向CSP上传数据之前先将数据进行加密,然而这种方式给密钥的管理带来极大不便,当需要将部分数据向特定用户(如合作者)分享时,必须提供密钥给对方,造成其他隐秘数据的泄露。文献[6-7]提出了ABE加密方案,在加密算法中蕴含解密规则,免去密文访问控制中频繁出现的密钥分发代价;该方案要求信息所有者多次进行重加密,导致加密的效率不高[8-9]。文献[10]提出一种引用第三方可信服务器的云存储隐私保护方案,将可信服务器作为用户与云存储服务器之间的沟通媒介;当用户需要存储数据时必须先向可信服务器进行认证,获得存储权限;认证通过后可信服务器分别向云服务器和用户发送相同的对应于某个文件的存储认证码,用户用此存储认证码作为存储权限凭证,向云服务器存储数据;在该结构中,用户、云存储服务器、可信服务器之间频繁交互,CSP的数据存取权被可信服务器控制,降低了数据交互的效率。

利用密钥派生树技术和信息安全技术,本文构造了一种可保护用户隐私的云存储架构。信息属主随机生成根密钥并基于密钥树生成密钥序列,将隐私数据加密后提交到云存储平台,使得CSP无法访问隐私信息。当需要将部分数据共享给其他用户(如合作对象)同时又不希望CSP或非法用户访问时,信息属主利用目标用户的公钥将块密钥加密传递至目标用户,从而使目标用户也能解密共享的数据。

1 隐私保护的云存储架构设计

1.1 多密钥生成

Google公司提出的云计算平台中使用的文件系统 (Google file system,GFS)采用主从(Master/Slave)结构,由1个目录服务器(Master)和大量的块服务器(Chunk Server)构成[11]。GFS中的文件被分成固定大小的块(Block),每个块有1个chunk-handle标识且被复制到多个块服务器上。为保证数据隐私,每个块均需加密。数据的拥有者(Owner)在本地进行分块后再加密,上传或更新至CSP。为了增强安全性,对每个块使用不同的密钥进行加密,导致密钥量巨大,对密钥的生成与管理提出了较高的要求。

对于云平台中的隐私数据M,Owner在本地端分成n块M,M={M1,…,Mn},生成n个不同的密钥对n块数据分别进行加密。随机生成根密钥k0,1,设计密钥生成函数FL、FR,根据n值生成深度为d+1的二叉树,计算过程如下:

其中,d=lbn,x运算为大于x的最小整数;T为随机数种子,可以用时间戳或其他扰动因素作为种子;H1、H2为2个密钥派生函数,分别生成左孩子、右孩子,从安全性考虑,应使用单向散列函数,使得从双亲节点可以高效计算左、右孩子节点,而由左、右孩子节点不能得出双亲节点,同时为了减少密文泄露(分享)带来的安全性上的威胁,可采用2个不同的哈希函数,如SHA-2、MD5,即

重复此过程,直到生成的二叉树的叶节点个数大于或等于分块数n即可,生成的二叉树如图1所示。选定该二叉树的叶节点作为隐私分块的加密密钥,可得加密密钥K={k1,…,kn}={kd,1,…,kd,n}。对于 Owner而言,只需要保存根密钥k0,1和派生算法FL、FR即可,其他各层的密钥均无需存储,因此尽管分块加密所需要的密钥量较大,但需存储的密钥很少,在密钥管理方面十分方便与高效。

图1 生成的密钥树

1.2 隐私数据存取与分享

生成加密密钥后,将每一个块Mi通过加密变换F得到密文C={C1,…,Cn},即

从安全性和效率2方面综合考虑,加密变换F可使用高级加密标准AES(Advanced Encryption Standard)。通过与 Master通信,将C={C1,C2,…,Cn}存放至块服务器,隐私信息存储过程如图2所示。Owner完成对块的加密后,首先向Mas-ter请求存储数据,Master与块服务器通信确定可用的块服务器,并将选择的块服务器信息返回给Owner,Owner据此信息将密文块上传至块服务器,块服务器存储数据后返回相关信息给Owner。

图2 隐私信息存储过程示意图

假设Owner需要将数据块M={M1,…,Mn}传递至其他用户(User),除了传递块位置信息外,还需要将解密密钥传送给对方,而且不能让网络中的第三方(包括CSP)获取密钥。Owner获取User的公钥,利用User的公钥加密、解密密钥后再发送给User,实现密钥的传递。整体框架如图3所示,隐私信息向特定用户分享的具体过程如下:

(1)Owner向 Master发送文件名、块索引,请求读取指定文件。

(2)Master与块服务器通信,确认文件名所在位置和可用的块服务器。

(3)Master向 Owner回复(Chunk handle,Chunk location),告知Owner可用的块服务器所在位置。

(4)Owner根据User的公钥kup对块密钥K= {k1,…,kn}进行加密,CK=E(K,kup),同时将(Chunk handle,Chunk location)加密发送给User。

(5)User用自己的私钥解密后根据(Chunk handle,Chunk location)向对应的块服务器申请访问资源C={C1,…,Cn}。

(6)块服务器将指定的资源C={C1,…,Cn}发送给User。

(7)User用解密后得到的块密钥K解密C={C1,…,Cn},可得数据块M={M1,…,Mn},其中Mi=AES-1(ki,Ci)。

图3 隐私信息分享示意图

2 安全性分析

内容的安全性和密钥的安全性是本文设计方案隐私保护的关键,即CSP和非法用户能否获得隐私信息、密钥是否泄露。

(1)CSP无法读取Owner存储的内容。尽管CSP存储着Owner的隐私数据,但由于Owner对其中的数据进行了加密,且加密算法使用了AES算法,作为对称密码体制,AES的加、解密效率远高于公钥密码体制,其安全性也得到了全球密码专家的论证,完全可以保证隐私数据不会泄露给CSP。由于设计方案使用树密钥,每个加密块使用的密钥均不相同,类似于“1次1密”体制,增加了加密算法的安全性,因此,此方案在理论上可以确保隐私信息不会被CSP查看。

(2)非法用户窃取隐私信息的可能性。假设有s个块服务器,Owner的数据被分为n个数据块,这些数据块存储在同一个块服务器上的概率为1/sn-1;再设该块服务器有q个用户,每个用户存储了k个数据块,则非法用户从此服务器取出指定 Owner的n个数据块的概率为(1/s)n-1×(1/Cnmk+n)[9];显然非法用户选出 Owner数据的可能性接近于0。从另一方面来说,即使非法用户获得了Owner的数据,正如CSP一样,每个数据块使用了不同的密钥且采用了AES加密,非法用户不可能由窃取的数据还原出隐私信息。

(3)密钥的安全性。在Owner向User传递密钥的过程中,Owner用User的公钥加密、解密后传递至User,由于只有User能用私钥解密,网络中任何非法用户均无法解密,因此可保证只有User可以获得数据块的名称、位置以及解密密钥,在Owner与User之间的数据传递过程中,均以密文的形式传递,保证了数据的安全性。对接收到部分密钥的User而言,虽然掌握着部分密钥,但是由于并不知道生成算法FL、FR,因此无法计算出正确的左、右孩子。同样,由于FL、FR采用的哈希函数具有单向性、抗碰撞性等优点,User无法由掌握的密钥计算出父密钥,使得User只能获得Owner发送的密钥,而无法推测出更多密钥,确保了密钥的安全性。

3 结束语

在现有的云存储平台的基础上,本文提出使用密钥树生成多密钥、采用高效对称密码机制加密隐私信息、公钥密码体制传递解密密钥的隐私保护方案,在通信过程中,信息属主没有向云存储平台泄露额外的信息,保证了用户的隐私以及网络传递过程中云数据的安全性。本文方案无需假设用户与CSP之间、用户与用户之间存在安全通道,不需要增加现有云存储平台的硬件设备或修改存储架构,不用CSP提供其他额外的服务;分析表明此方案能使用户主动保护自己的隐私、高效管理密钥、快捷实现数据向特定用户共享,且不会额外增加通信负担。

[1] 林 闯,苏文博,孟 坤,等.云计算安全:架构,机制与模型评价[J].计算机学报,2013,36(9):1765-1784.

[2] 曾文英,赵跃龙,尚 敏.云计算及云存储生态系统研究[J].计算机研究与发展,2011,48(Z1):234-239.

[3] 刘正伟,文中领,张海涛.云计算和云数据管理技术[J].计算机研究与发展,2012,49(Z1):26-31.

[4] 侯清铧,武永卫,郑纬民,等.一种保护云存储平台上用户数据私密性的方法[J].计算机研究与发展,2011,48(7):1146-1154.

[5] 蔡 茂,徐凌宇,东 韩,等.基于云平台的软件服务流引擎技术研究[J].合肥工业大学学报:自然科学版,2012,35(8):1017-1021.

[6] Goyal V,Pandey O,Sahai A,et al.Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM conference on Computer and Communications Security.ACM,2006:89-98.

[7] Bethencourt J,Sahai A,Waters B.Ciphertext-policy attribute-based encryption[C]//IEEE Symposium on Security and Privacy.IEEE,2007:321-334.

[8] 洪 澄,张 敏,冯登国.面向云存储的高效动态密文访问控制方法[J].通信学报,2011,32(7):125-132.

[9] Victor E,Liebrock L M,Shin D.Permission management system:permission as a service in cloud computing[C]//Computer Software and Applications Conference Workshops.IEEE,2010:371-375.

[10] 毛 剑,李 坤,徐先栋.云计算环境下隐私保护方案[J].清华大学学报:自然科学版,2011,51(10):1357-1362.

[11] 陈 康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337-1348.

猜你喜欢
公钥解密密钥
幻中邂逅之金色密钥
炫词解密
解密“一包三改”
密码系统中密钥的状态与保护*
炫词解密
一种基于混沌的公钥加密方案
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
P2X7 receptor antagonism in amyotrophic lateral sclerosis
HES:一种更小公钥的同态加密算法