基于同态加密机制的云平台计算安全与完整性保护算法*

王志高,邓 科,严利雄,王身丽,李 挺

(国网湖北省电力公司 检修公司,武汉 430050)

摘 要:针对云平台潜在的信息泄露、数据种类多样的风险,提出了一种基于同态加密机制的云平台安全保护算法,采用该算法对加密后的用户数据进行安全计算.使用同态加密算法保护用户详细信息,采用数据完整性隐私保护算法实现数据完整性验证,并采用RS编码算法在数据遭受破坏时恢复出原始数据.基于阿里云平台的仿真测试与实验结果表明,所提出的算法能够以较小的计算代价实现云平台数据安全保护,并能恢复出被破坏的数据.

关 键 词:云平台;数据安全;同态加密;RS编码;数据完整;阿里云;计算安全;隐私

在云计算时代,人们的生产和生活方式发生了深刻的改变,云计算平台具有巨大的存储空间和强大的计算能力[1].在越来越多的数据被迁移到云平台的同时,云平台的安全问题也越发受到关注[2-3].使用云平台存储海量数据主要存在两方面的潜在危险:一是数据采集过程中使用大量的虚拟化基础设备,为数据带来了泄露或丢失的风险;二是数据量呈爆发式增长,结构化和非结构化数据的混合使用也会造成其安全性问题[4].目前,主要通过采用各种加密机制来保护其安全,这些加密机制根据数据类型主要分为动态加密机制和静态加密机制[5-6].静态加密主要包括对称和非对称两种加密算法,对称加密算法使用相同的加密密钥与解密密钥,如RC4、RC5和RC6等;而非对称加密算法对加密与解密使用不同的密钥,如RSA及EIGamal算法等.动态加密机制主要使用同态加密机制,如基于理想格的同态加密算法能够实现所有属性的同态加密[7-8].

在云平台下数据的备份和恢复主要采用异地备份、快照和数据镜像等方式[9-10].而数据的隐私保护主要采用基于匿名化的隐私保护技术、基于完整性验证的隐私保护技术和基于数据变换的隐私保护技术[11],其中,基于匿名化的隐私保护技术和基于数据变换的隐私保护技术容易导致数据丢失;基于完整性验证的隐私保护技术需要较大的计算开销,因此,研究针对不同的数据,根据其实际需求采用不同的隐私保护技术,可以极大地实现隐私保护的目的[12-14].

本文充分考虑云平台下数据计算和存储问题,提出了一种基于同态加密机制的云平台安全保护算法,该算法能系统地保证云平台数据的安全,达到计算信息和数据隐私保护的目的,并且解决了协议进行的数据恢复与完整性验证的问题.

1 云平台计算安全保护算法

1.1 算法描述

本文基于阿里云服务系统,提出了一种基于云端多服务器的计算保护算法.该算法使用多个云服务器存储加密后的数据,由一个代理服务器按照用户的需求对不同的数据生成不同的加密结果,并反馈给用户.该算法不仅能获得更精确、更快捷的计算结果,且还能节省数据使用者的存储空间和存储成本.

计算保护算法的目标是实现数据的完整性、用户响应的正确性和用户信息的隐私性.本文所使用的计算保护算法架构如图1所示,架构使用了4个不同的网络实体,各实体定义如下:1)User(用户),为云平台的使用者,从云平台获取数据存储的结果;2)Data Owner(数据拥有者),云计算平台通常含有多个User,该算法设计了多用户拥有者,并设置各用户具有多个数据条目;3)Cloud Server(云服务器),云服务器为Data Owner提供存储空间以存储海量数据;4)Proxy Server(代理服务器),代理服务器负责接收并响应User的数据存储请求.

图1 计算保护算法架构

Fig.1 Architecture of computing protection algorithm

计算保护算法包括准备、数据上传和计算3个阶段,各阶段具体描述如下:

1)准备阶段.User通过调用密钥生成算法,输入安全参数即可生成输出加密密钥Ke和解密密钥Kd,并与Data Owner共享密钥且确定最大样本数MAX.

2)上传阶段.上传阶段包括数据标识生成、加密、添加空样本和Salt-hash生成4个步骤:

① 标识生成.第i个Data Owner调用标识生成函数并输入第j条数据条目Tij,即可生成Tij所对应的标识Tagij

② 加密.第i个Data Owner调用同态加密算法并输入加密密钥及Tij所对应的数据值Vij,可生成密文cij,即可生成数据条目及其值对应的二元组(Tagijcij);

③ 添加空样本.当Data Owner所拥有的总数据条目小于最大样本数时,生成一个与(Tagijcij)等长的空样本(dtagdvalue),其中,dtag为空样本条目,dvalue为空样本的值.该样本并不具有实际意义,但有助于保护用户数据;

④ Salt-hash生成.对每个Data Owner计算出个Salt-hash值hk,其中,xj为每个数据条目所添加的Salt值的数量.

3)计算阶段.计算阶段包括数据请求、验证和计算3个步骤:

① 数据请求.用户通过(Tij,Tagij)查找数据条目Tij所对应的Tagij和Cloud Server,并随即添加dtag来保证请求的隐私性,且根据结果查找随机数δk.查找结束后,将δkhk及随机数生成法则发送给代理服务器.

② 验证.验证步骤实现User和Cloud Server的完整性验证,首先代理服务器将δkhk发送给Cloud Server,Cloud Server根据接收的信息作应答并返回(Tagijcijdtaghk)给代理服务器,之后代理服务器将hk发送给User,最后User比较加收的hk和本地存储的hk,若hk=hk,表明数据完整,并将结果发送给代理服务器,结束验证.

③ 计算.代理服务器接收到验证结果后,根据随机数生成法则计算验证结果并发送给User.若无法通过完整性验证则向代理服务器发送错误信息;若通过验证,User使用解密算法得到解密后的结果.

1.2 算法分析

对上述算法进行安全和效率分析:

1)安全分析.计算保护算法为了保证数据的安全隐私,对数据拥有者上传的所有数据均进行了同态加密.当云平台受到攻击时,其只能获取加密后的数据,而无法获取密钥且不能恢复出原数据,因此,该算法能保证用户数据的隐私性.

在数据协议处理过程中,代理服务器和云服务器可能会统计分析各条目内容及其对应值.而在数据上传的过程中,已使用密钥生成函数对其进行了处理.由于密钥具有不可逆性,因此代理服务器和云服务器均无法得知条目的内容.同时,算法为了保护用户数据添加空样本,空样本也会参与计算过程,所以代理服务器和云服务器无法确定用户数据情况,该算法能同时保护条目内容和条目数的隐私性.

该算法也使用了挑战-应答的形式来验证数据的完整性,并使用了Salt-hash值规避代理服务器和云服务器会隐瞒已发生的数据事故的问题,因此,算法能保证计算结果的完整性和正确性.

2)效率分析.计算保护算法包含数据拥有者和计算结果使用者,但对于计算结果使用者而言,其主要计算代价包括应答验证和数据加解密.应答验证为简单的数值比对,其耗时可以忽略,而数据加解密具体的计算代价与加密算法的选择有关.对于数据拥有者来说,其计算代价主要包含同态加密计算时间和提供给计算结果使用者的标识验证.其中,标识验证一共要处理个Salt-hash值,因此,数据条目越多,则需要的计算时间越长.

2 云平台数据完整性隐私保护算法

数据完整性隐私保护算法用于验证数据完整性及在数据发生损坏时,能及时恢复被破坏的数据的能力.该算法的系统模型与计算保护算法类似,且对User、Data Owner和Proxy Server的定义与计算保护算法的定义一致,而这里的Cloud Server定义是为Data Owner提供存储空间以存储海量数据,与计算保护算法不同,这里不再为数据拥有者指定特定的云服务器,数据拥有者只需将数据发送给云平台即可.

该算法主要考虑云计算平台对数据完整性造成的威胁,即云平台管理不善或受黑客攻击时对数据的破坏.此处使用RS编码算法对文件进行编码,假设待编码文件为Ci={Ci,1Ci,2,…,Ci,MAX},编码参数为t,编码后的结果为Cicode={Cicode,1Cicode,2,…,Cicode,MAX}.RS编码算法使用纠错能力较强的多元BCH码,具体编码算法为

CiD=(Ci,1Ci,2,…,Ci,MAX)(I|R)=

{Ci,1Ci,2,…,Ci,MAXCi,MAX+1,…,Cit}=

{Cicode,1Cicode,2,…,Cicode,MAX}

式中:D=(I|R)为分布矩阵;R为监督码多项式.

数据完整性隐私保护算法包括准备阶段、上传阶段、验证阶段和数据恢复4个模块,具体实现过程如下:

1)准备阶段.准备阶段由用户调用秘钥生成算法,输入安全参数即可生成输出加密密钥Ke和解密密钥Kd,并与Data Owner共享密钥且确定最大样本数MAX及编码参数t.

2)上传阶段.数据拥有者调用编码函数,生成密文Ci={Ci,1Ci,2,…,Ci,MAX}和编码文件Cicode={Cicode,1Cicode,2,…,Cicode,t}以及每个文件对应的Hash值{H(Cicode,1),H(Cicode,2),…,H(Cicode,t)}.

3)验证阶段.验证阶段包括挑战值生成、应答值生成和验证3个步骤.首先,User选择需要验证的数据块集合S={s1s2,…,sc},并对S中的每一个元素sy选择一个随机值vsy;随后,User将生成的挑战值(syvsy)发送到云平台,云平台接收到挑战值后,计算生成应答值并反馈给User;最后,User根据收到的反馈结果判断数据集是否完整.若完整,则向云平台发送数据完整报告;否则,发送报错信息.挑战应答过程如图2所示.

图2 挑战应答过程

Fig.2 Challenge-response process

4)数据恢复.当云平台接收到报错信息后,启动数据恢复机制即可根据文件的哈希值和RS编码算法恢复出不完整的数据块.假设需要恢复的数据块为D,则数据恢复表达式为

(Cicode,r1Cicode,r2,…,Cicode,rn)(I|R)-1D=

{Cicode,s1Cicode,s2,…,Cicode,sn}

式中:{Cicode,r1Cicode,r2,…,Cicode,rn}为编码文件;{Cicode,s1Cicode,s2,…,Cicode,sn}为恢复后的文件;(I|R)-1DD对应的分布矩阵构成的逆矩阵.

3 实验与仿真分析

为了验证本文所提出算法的有效性,文中基于阿里云平台进行仿真测试.本文采用个人医疗记录数据作为需要加密存储的数据,这些数据为非结构性数据,包含文本和图片.数据的最大样本数MAX固定为20,使用MD5哈希算法对数据进行编码,每个数据样本的大小为1 MB.

本文使用不同数量的数据测试本文算法进行数据编解码所需时间,结果如图3所示.从图3可以看出,计算保护算法和数据完整性隐私保护算法均能在较短的时间内完成数据编码和隐私保护,且数据完整性隐私保护算法所需的计算时间更短.计算保护算法在处理时需要预计算多个Salt-hash值,这会导致一定程度的时间浪费.

图3 不同长度数据的处理时间

Fig.3 Processing time of data with different length

本文通过添加不同长度冗余数据测试了数据完整性隐私保护算法的数据恢复能力,不同长度数据的编码及解码结果如图4、5所示.实验结果表明,添加越多的冗余数据所需要的编码时间越长.但当数据发生错误时,能正确恢复的概率越高.而对于数据解码所需的时间并无明显的规律,表明用户选择不同的参数并不能影响云平台的工作效率.

图4 不同长度数据编码所需时间

Fig.4 Encoding time required for data with different length

图5 不同长度数据解码所需时间

Fig.5 Decoding time required for data with different length

本文从数据存储和计算结果两方面分析所提出算法的安全性.本文算法只将用户上传的数据存储在云服务器,并对数据进行加密,当服务器受到攻击时,黑客只能获取加密后的密文,而由于秘钥是保存在用户本地的,因此,黑客无法恢复出原始数据.对于计算结果,本文算法使用Proxy Server接收用户的请求,并计算云服务器所存储的数据,然后返回计算结果给用户,但是Proxy Server并不拥有数据秘钥,因此能保证计算结果的隐私性.

4 结 论

为了保证云平台的安全,在充分考虑云平台数据计算和存储问题的基础上,提出一种基于同态加密机制的云平台计算安全保护算法和云平台数据完整性隐私保护算法.云平台计算安全保护算法能成功实现云平台对加密后的用户数据进行安全计算,并使用同态加密算法保护用户详细信息.云平台数据完整性隐私保护算法能保证数据的完整性,并在数据遭受破坏时恢复出原始数据.仿真测试与实验结果表明,所提出的方法使用较小的计算代价即可有效保证云平台数据的安全.

参考文献(References):

[1] 姚禹丞,宋玲,鄂驰.同态加密的分布式K均值聚类算法研究[J].计算机技术与发展,2017,27(2):81-85.

(YAO Yu-cheng,SONG Ling,E Chi.Distributed K mean clustering algorithm for homomorphic encryption[J].Computer Technology and Development,2017,27(2):81-85.)

[2] 舒晓飞,蒋念平.基于SSLVPN的密钥分配的安全性分析[J].电子科技,2017,30(2):165-168.

(SHU Xiao-fei,JIANG Nian-ping.Security analysis of key distribution based on SSVPN[J].Electronic Science and Technology,2017,30(2):165-168.)

[3] 郭平.大数据分析中基于 MapReduce 的空间权重创建方法研究[J].重庆邮电大学学报(自然科学版),2016,28(4):533-538.

(GUO Ping.Research on construction method of spatial weights based on MapReduce in analysis of big data[J].Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition),2016,28(4):533-538)

[4] Zhou J,Cao Z F,Dong X,et al.PPDM:privacy-preserving protocol for dynamic medical text mining and image feature extraction from secure data aggregation in cloud-assisted e-health care systems[J].IEEE Journal of Selected Topics in Signal Processing,2015,9(7):1-7.

[5] Ding W,Yan Z,Deng R.Privacy-preserving data processing with flexible access control[J].IEEE Tran-sactions on Dependable and Secure Computing,2017,29(6):19-31.

[6] Fan K,Wang X,Suto K,et al.Secure and efficient privacy-preserving ciphertext retrieval in connected vehicular cloud computing[J].IEEE Network,2018,32(3):52-57.

[7] Xue K,Hong J,Ma Y,et al.Fog-aided verifiable privacy preserving access control for latency-sensitive data sharing in vehicular cloud computing[J].IEEE Network,2018,32(3):7-13.

[8] Shila D M,Shen W,Cheng Y,et al.AMCloud:toward a secure autonomic mobile Ad Hoc cloud computing system[J].IEEE Wireless Communications,2017,24(2):74-81.

[9] Alamer A,Deng Y,Wei G,et al.Collaborative security in vehicular cloud computing:a game theoretic view[J].IEEE Network,2018,32(3):72-77.

[10] Zhang J,Zhang Z,Guo H.Towards secure data distribution systems in mobile cloud computing[J].IEEE Transactions on Mobile Computing,2017,9:39-47.

[11] 施佺,韩赛飞,黄新明,等.面向全同态加密的有限域FFT算法FPGA设计[J].电子与信息学报,2018,40(1):57-62.

(SHI Quan,HAN Sai-fei,HUANG Xin-ming,et al.Design of finite-domain FFT algorithm for homomorphic encryption based on FPGA[J].Journal of Electronics and Information,2018,40(1):57-62.)

[12] 姚霁.基于FPGA的加密算法验证平台设计[J].电子科技,2017,30(6):21-23.

(YAO Ji.Design of verification platform based on FPGA encryption algorithm[J].Electronic Science and Technology,2017,30(6):21-23.)

[13] Dong P,Zheng T,Du X,et al.SVCC-HSR:providing secure vehicular cloud computing for intelligent high-speed rail[J].IEEE Network,2018,32(3):64-71.

[14] Bhatia T,Verma A K.Data security in mobile cloud computing paradigm:a survey,taxonomy and open research issues[J].Journal of Supercomputing,2017,73(6):1-4.

Cloud platform computing security and integrity protection algorithm based on homomorphic encryption mechanism

WANG Zhi-gao, DENG Ke, YAN Li-xiong, WANG Shen-li, LI Ting

(Overhaul Company, State Grid Hubei Electric Power Company, Wuhan 430050, China)

AbstractAiming at the risks of potential information leakage and data type variety of cloud platform, a cloud platform security protection algorithm based on homomorphic encryption mechanism was proposed.The encrypted users’ data were calculated with the as-proposed algorithm.In addition, the homomorphic encryption algorithm was used to protect the users’ detailed information; the data integrity privacy protection algorithm was used to accomplish the data integrity verification, and the RS coding algorithm was used to recover the original data when the data were damaged.The simulation test and experimental results based on Alibaba Cloud platform show that the as-proposed algorithm can realize the security protection of cloud platform data with less computational cost and recover the damaged data.

Key wordscloud platform; data security; homomorphic encryption; RS coding; data integrity; Alibaba Cloud; computing security; privacy

中图分类号:TP 309.7

文献标志码:A

文章编号:1000-1646(2020)05-0559-05

收稿日期2018-11-22.

基金项目国家自然科学基金项目(61701381).

作者简介王志高(1978-),男,湖北武汉人,高级工程师,硕士,主要从事超特高压变电站电力设备监督与管理技术等方面的研究.

*本文已于2020-09-11 11∶06在中国知网优先数字出版.网络出版地址:http:∥kns.cnki.net/kcms/detail/21.1189.T.20200909.2048.021.html

doi:10.7688/j.issn.1000-1646.2020.05.15

(责任编辑:景 勇 英文审校:尹淑英)