云存储安全交叉加密算法研究

2018-01-19 11:35赵廷彬丁岳伟
软件导刊 2018年10期

赵廷彬 丁岳伟

摘 要:云存储服务是云计算领域最基本的服务,具备较大发展潜力,近年来成为研究热门。由于云存储安全技术是一些现有技术综合体,数据可能出现泄露,导致用户对数据存储安全产生担忧。以提高云存储安全加密算法性能为目的,通过对传统安全加密算法的研究及优缺点分析,针对其缺点进行优化改进,以对称加密算法DES和非对称加密算法RSA为基础,充分发挥传统加密算法优势,提出一种更加安全高效的交叉加密算法。在Hadoop平台上对不同类型文件进行加解密实验,并与传统安全加密算法进行对比,结果表明,该算法更加安全高效。

关键词:云存储安全;交叉加密算法;Hadoop平台

DOIDOI:10.11907/rjdk.181135

中图分类号:TP309.7

文献标识码:A 文章编号:1672-7800(2018)010-0204-05

英文摘要Abstract:Cloud storage service is the most basic service in the field of cloud computing,which has great potential for development and has become increasingly hot in recent years.Cloud storage security technology is a combination of existing technologies so that there exists possibilities of data leakage and there are many concerns about users′ data storage security.It is hoped to improve the performance of cloud storage security encryption algorithm through the study of the traditional security encryption algorithm and analysis of its advantages and disadvantages.Aiming at its shortcomings,we propose a more secure and efficient cross-encryption algorithm based on symmetric encryption algorithm DES and asymmetric encryption algorithm RSA,which gives full play to the advantages of these two traditional encryption algorithms.At last,the performance of this algorithm is verified on Hadoop platform.With this method,different types of files are decrypted and compared with the traditional secure encryption algorithm.The results show that this algorithm is more secure and efficient.

英文關键词Key Words:cloud storage service; cross-encryption algorithm;Hadoop platform

0 引言

云存储服务是最基本的服务[1],在云计算中占有重要位置。与传统存储服务相比,具有以下优势:①云端具有超大存储空间和超强计算能力;②云存储平台可以给用户提供更加稳定、可靠、便利的服务,用户仅按需访问数据,不需要管理、维护数据,也使服务提供商以更经济的方式向用户提供更高效服务;③由于云端资源比较集中,服务提供商能以更低维护成本更好地管理数据,用户只需支付相对较少的费用即可获得更好的服务[2]。

云存储安全技术是一些现有技术的综合体[4],用户在享用高效云存储服务时,也担心云端数据安全性[3]。近年发生了一些云存储安全事件,例如苹果的iCloud安全漏洞,引发了好莱坞艳照事件;CSDN、小米论坛、天涯等大型网站数据库被窃取,造成数百万用户信息被泄漏;亚马逊等电商的用户账号数据库被盗,造成数千用户直接经济损失;谷歌云平台故障造成客户信息泄露;微软Hotmail出现数据库脚本错误,大量账号被删除等[5],引发了大众担忧。

目前在云存储数据安全上常用的加密算法有对称加密算法和非对称加密算法,其中对称加密算法有AES、DES、RC-4、RC-5;非对称加密算法有RSA、DSA、ECC[6]。云存储安全技术研究日渐增多,文献[7]使用安全传输协议保护数据机密性,文献[8]提出了一种商用模型,数据存储服务和数据加解密服务由不同云服务供应商提供,文献[9]指出在数据授权上严格使用规章制度访问数据,用户数据被分区存储于云端,如果能看到数据也只是加密数据的一部分。关于云存储安全技术的研究已有了一定成果,但是以上传统安全加密算法仍然存在缺陷。

因此通过改进传统算法,引入非对称加密算法RSA增强算法安全性、增加RSA算法对DES密钥的二次加密,利用分段加密提升解密时寻找分界点的难度,运用并行思想以及对称加密算法效率高的特点提高加解密效率,设计了一种加解密性能更好的交叉加密算法(Cross-encryption Algorithm,CEA),能更好地为云存储服务,促进云存储服务的推广。

1 传统加密算法

传统加密算法通常分为对称加密和非对称加密,两者各有优缺点。前者加密效率高,但安全性较低;后者在加密安全性上相对较高,但加密效率较低[10]。

1.1 对称加密算法DES

常见的对称加密算法有AES、DES、RC-4、RC-5、IDEA等,对称加解密秘钥均为k,算法执行过程如图1所示。

虽然AES算法的性能优于DES[11],但是DES一直被更广泛地应用于多个行业领域。对称加密算法又分为分组密码算法和流密码算法,DES属于分组密码算法,主要用于用户敏感文件加密。DES加密算法秘钥长度为64位,共8个字节,每个字节的最后一位为奇偶校验位,即秘钥有效长度为56位。由于对称秘钥的特点,加密效率相对较高[12],但是和AES相比加密效率还有待提升。

1.2 非对称加密算法RSA

常见的非对称加密算法有RSA、DSA、ECC等,非对称加密算法加解密秘钥各自不同,加密公钥为pk,私钥为sk,加解密过程如图2所示。

RSA是典型的非对称加密算法[13]和公钥加密算法,算法比较完善,既可以用于数据加密,又可以用于数字签名。难以分解的大素数保证了算法的高安全性[14]。其实现原理比对称加密原理简单,可以分两个阶段理解,第一阶段是产生秘钥阶段,第二阶段是加解密阶段,具体过程如下所示:

秘钥产生阶段:①随机产生两个未知大素数p,q;②计算n=pq,欧拉函数φ(n)=(p-1)(q-1);③随机选择一个满足gcd(e,φ(n))=1的e作为公钥,加密秘钥为(e,n);④计算ed=1(modφ(n))的d作为私钥,解密秘钥为(d,n)。

加解密阶段:①将明文分组并数字化,每个数字化分组明文长度不大于log n[15];②对每个明文分组m依次进行加解密运算,使用公钥e和待加密明文m进行c=me(mod n)运算即得密文,使用私钥d和待解密密文c进行m=cd(mod n)运算即得明文。

由于RSA算法安全性非常高,所以选为CEA算法的一部分用以提高算法安全性。

2 云存储安全交叉加密算法设计

2.1 交叉加密算法设计思路

交叉加密的重点是确定交叉规则,可根据DES和RSA加密效率确定规则。为了实现高效并行处理,加密效率高的算法应对更多字节的文件进行加密,理想做法是使两种加密算法同时完成整个文件的加解密,因此使用RSA算法对DES的秘钥进行二次加密,其加解密流程如图3所示。

因DES秘钥长度相对较小,所以加解密时间消耗量较小,应考虑该时间消耗,使实验结果更加准确。

2.2 交叉加解密算法设计

交叉加密算法的设计目标是既提升算法安全性又提高加密效率,在加密效率方面优于非对称加密算法,更趋于甚至超过对称加密算法。以两种算法的加密效率为出发点,由于非对称加密算法RSA的加密效率比对称加密算法DES的加密效率低,所以对某一给定大小的文件进行加密处理时,把对该文件以两种算法的加密效率制定的即定规则划分成N个加密片段,N通过加密文件大小M、以及在算法中设置一个10~20之间的随机数R确定,计算方法如下:

N=M/R(1)

DES算法加密效率为EDES,RSA算法加密效率为ERSA,每个明文片段记为Wi(i =1,2,3,…,n),密文片段记为:Si(i=1,2,3,…,n),W1、W2为明文加密片段,S1、S2为密文加密片段,其比值关系如下:

W1/W2=S1/S2=ERSA/EDES (2)

加密效率由RSA和DES加密算法通过Hadoop平台计算同一类型不同大小的文件确定,由于它们的加密效率不同,所以加密文件根据文件大小被划分成两部分进行单独加密,其中较小的文件部分由加密效率低的非对称加密算法RSA加密,另一部分由加密效率高的对称加密算法DES加密,保证两种算法基本上能够以相同时间完成各部分加解密,达到了并行加解密的效果,交叉加密算法加密过程如下:

①根据制定的即定规则对所要加密的文件W根据文件大小划分成N个明文片段W1,W2,W3,…,Wn;

②通过该算法对各明文片段W1,W2,W3,…,Wn进行加密运算,得到密文片段S1,S2,S3,…,Sn;

③把各密文片段S1,S2,S3,…,Sn按顺序合并得到密文S。

交叉加密算法解密过程如下:

①将得到的密文S按照即定规则划分成N个密文片段S1,S2,S3,…,Sn;

②通过该算法对各密文片段S1,S2,S3,…,Sn进行解密运算,得到明文片段W1,W2,W3,…,Wn;

③对各明文片段W1,W2,W3,…,Wn合并最终得到明文W。

该算法并行加解密流程如图4、图5所示。

由于在加解密两个过程的执行过程中并行加入对称加密算法DES,从而整体上提升了加解密效率。因此,该算法的设计既保证了安全性又能提高整体加密效率,加密效率将用实验进行验证。

2.3 算法安全性分析

主要从DES、RSA算法安全性、由RSA算法进行DES算法对称密钥二次加密以及交叉加密算法DES-RSA的交叉性3个方面分析交叉加解密算法的安全性。

(1)因为DES属于对称加密算法,使用对称秘钥进行加解密,所以安全性相对较低;而RSA属于非对称加密算法,由于加解密秘钥不同,且算法原理涉及大素数分解,使其安全性相对较高。所以考虑将两种算法结合,提升安全性。

(2)在算法设計上,由于DES对称加密算法安全性不高,所以利用非对称加密算法RSA对DES的秘钥进行二次加密,这样即使在数据传输过程中DES秘钥被攻击者截取也无济于事,因为攻击者并不知道RSA算法私钥,无法获得被RSA算法加密前的秘钥,因此安全性上得到一定提升。

(3)交叉性的特点使算法安全性有质的提升,因为CEA算法原理是对需加密的文件按照保密的即定规则进行分段加密,所以攻击者很难分清DES加密和RSA加密的分界点,破解难度很大。即使攻击者能够分别破解DES加密和RSA加密,也难以对破解得到的秘钥进行组合,获得DES加密和RSA加密的完整秘钥。因此,该算法具有较高安全性。

3 實验结果分析

3.1 实验环境与数据需求

实验环境是在本地搭建的伪分布式Hadoop平台[16],Hadoop版本为2.8.3,在此平台上将大小相同但类型不同的文件以及大小不同但类型相同的文件进行加解密实验,并与传统算法进行对比。该实验充分考虑了Hadoop平台的架构要求,以6台服务器构成一个小型集群,性能最佳的1台作为master,其它5台作为slaves。

由于实验结果会受到一些随机因素影响,例如计算机硬件性能,文件类型与大小等,本实验重复了8次取其平均值作为实验结果,以减少实验过程中随机因素影响,提高实验结果准确度。对类型不同、大小相同的文件F1、F2、F3进行实验时,实验选取的文件类型为常见的rmvb、pdf和zip,大小均为64MB,如表1所示。

对相同类型、不同大小的文件F4、F5、F6进行实验时,选取的文件类型为rmvb,大小分别为64MB、32MB、16MB,如表2所示。

3.2 实验步骤与结果

在搭建好实验环境后,把需要的数据按照表1、表2要求准备好,然后在Hadoop平台上对其进行加解密存储,重复8次求平均加解密时间,时间单位设置为ms,具体步骤如下:

(1)在Hadoop平台上用算法CEA对表1中文件(明文W)按照设计的规则进行分段处理,得到W1,W2,W3,…,Wn,然后进行加密得到S1,S2,S3,…,Sn,合并后得到密文S,求得3种算法加密效率的实验结果,如图6所示(横坐标代表加解密文件类型,纵坐标代表加解密时间)。

(2) 对加密后的文件(密文S)进行分段处理得到S1,S2,S3,…,Sn,进行解密得到W1,W2,W3,…,Wn,合并后得到W,实验结果如图7所示。

(3)把表2中相同类型文件的大小调整到128MB、64M、32MB,同样执行8次,加密实验结果如图8所示,解密实验结果如图9所示。

3.3 实验结果分析

从图6、图7可以明显看出CEA算法对大小相同、类型不同的文件加解密效率高于DES算法和RSA算法,符合预期结果,因为CES算法在加解密过程中的并行性一定程度上弥补了文件分段造成的额外耗时以及RSA算法的低效率对交叉加密算法整体效率的影响;图8、图9是对类型相同、大小不同的文件加解密实验结果,反映了算法加解密时间与文件大小成正比,对每个加密算法加密效率几乎没有影响,但CEA加密算法的加解密效率依然是3种加密算法中最高的,通过以上实验结果可以看出总体上CEA加解密效率比传统加密算法DES和RSA加密效率高;同时在算法设计上对非对称加密算法RSA增加了RSA算法对DES密钥的二次加密,利用分段加密大幅提升解密时寻找分界点的难度,所以算法CEA无论在安全性还是加解密效率上都有较大改进,实现了交叉加密算法CEA的设计目标。

4 结语

本文分析了目前主要的云存储安全技术,介绍了对称加密算法DES和非对称加密算法RSA的原理及优缺点,将两种算法改进后相结合,设计了一种交叉加密算法CEA,在Hadoop平台上利用不同类型的文件进行加解密实验,验证该算法加解密效率,并与传统算法进行实验结果对比。结果表明,CEA算法在安全性和加密效率方面比传统加密算法表现更好,所以CEA算法适用于云存储服务,但在算法交叉过程中可能存在其它干扰因素,后续将研究如何提高CEA性能强度,使其能够更好地为云存储服务。

参考文献:

[1] MALIK K R,CHAUDHRY M U,IQBAL M,et al.Data security and privacy in cloud computing:threat level indications[J].Science International,2014,6(8):6-11.

[2] BAI X.A dynamic risk and role-based access control model in cloud computing environment[C].Changsha:International Conference on Computer Engineering,Information Science and Internet Technology,2016.

[3] PEARSON S.Taking account of privacy when designing cloud computing services[C].Proceedings Of The 2015 ICSE Workshop On Software Engineering Challenges of Cloud Computing,2015:44-52.

[4] ZHANG X,DU H T,CHEN J Q,et al.Ensure data security in cloud storage[C].International Conference On Network Computing and Information Security,2016:284-287.

[5] GROSSMAN R,Gu Y,SABALA M,et al.Compute and storage clouds using wide area high performance networks[J].Future Generation Computer Systems,2015,25(2):179-183.

[6] GARG K,SHAH R.Enhanced security in cloud computing:from single to multiclouds[C].International Journal Of Engineering Research and Technology,2014,23(6):5-19.

[7] PRABHAKAR S,SWAMY C,KUMAR S R.A hybrid encryption algorithm based on DES and RSA in bluetooth communication[C].IEEE 2010 Second International Conference on Modeling,Simulation and Visualization Methods,2014:221-225.

[8] ZHENG Q,XU S.Fair and dynamic proofs of retrievability [C].Proceedings of the First ACM Conference on Data and Application Security and Privacy,2011:237-248.

[9] SHACHAM H,WATERS B.Compact proofs of retrievability [J].Journal of Cryptology,2013,26(3):442-483.

[10] WANG Q,FANG C,LI J,et al.Enabling public verifiability and data dynamics for storage security in cloud computing [C].Proceedings of the 14th European Symposiumon Research in Computer Security,2009:355-370.

[11] 张焕国,冯秀涛,覃中平,等.演化密码与DES的演化研究[J].计算机学报,2003,26(12):1678-1684.

[12] ABBADI I M,ALAWNEH M .A framework for establishing trust in the Cloud[J].Computers and Electrical Engineering,2012,38(5):1073-1087.

[13] 李云飞,柳青,李彤,等.一种可有效并行的RSA算法的研究[J].计算机应用研究,2016,30(9):293-297.

[14] BOWERS K D,JUELS A,OPREA A.HAIL:A high-availability and integrity layer for cloud storage[DB/OL].https://www.researchgate.net/publication/220335595_HAIL_A_High-Availability_and_Integrity_Layer_for_Cloud_Storage

[15] ZHANG J H,Zhang N.Cloud computing-based data storage and disaster recovery[C].International Conference on Future Computer Science and Education,2015:629-632.

[16] 唐世慶,李云龙,田凤明,等.基于Hadoop的云计算与存储平台研究与实现[J].四川兵工学报,2014(8):97-100.

(责任编辑:江 艳)