APP下载

云计算中基于Tent映射的混沌混合加密算法研究

2017-07-12战非张少茹

计算技术与自动化 2017年2期
关键词:云计算

战非+张少茹

摘 要:本文介绍了云计算特点及Hadoop分布式计算框架,对云计算中引入混沌理论的混合加密算法进行研究。首先分析了传统加密算法DES和RSA,对其二者在云计算中的缺陷进行了阐述,通过引入混沌理论提出了一种混沌混合加密算法(CDR)。该算法通过Tent映射产生随机混沌序列,转换为初始密钥,利用混沌特性对密钥进行优化,然后对DES及RSA算法进行混合。最后在Hadoop平台上进行实验,搭建集群模拟云平台,通过MapReduce过程执行CDR算法对数据进行加密和解密实验,通过实验分析证明CDR算法从安全性和效率上优于DES和RSA算法,更加适用于云计算环境。

关键词:云计算;混沌理论;Hadoop平台;DES算法;RSA算法

中图分类号: TP391.9 文献标识码:A

Abstract: This paper introduces the characteristics of cloud computing and the Hadoop distributed computing framework, and studies the hybrid encryption algorithm which introduces chaos theory into the cloud computing. Firstly, the traditional encryption algorithm DES and RSA are analyzed, and the defects of the two in the cloud computing are described. A chaotic hybrid encryption algorithm (CDR) is proposed by introducing the chaos theory. The algorithm generates random chaotic sequences by Tent mapping, and converts it to the initial key, and then mixed with DES and RSA algorithm to encrypt and decrypt the data, which effectively improves the efficiency and security of the algorithm. Finally, experiments are conducted on the Hadoop platform, in which a cluster simulation cloud environment is built, through horizontal comparison of the experimental results with DES and RSA algorithm, the CDR algorithm is proved to be more suitable for data encryption in the cloud computing environment.

Key words:Cloud Computing;Chaos Theory;Hadoop;DES;RSA

1 引言

云計算作为一种应用于互联网的新兴的计算模式,将基础资源设施、应用系统、软件平台等作为服务提供给用户[1]。云计算也是一种以虚拟化为基础的架构方式,能够将资源虚拟化并构建规模较大的资源池,对外以服务方式进行管理。

随着云计算的发展,海量的用户数据和大型数据被放入云计算系统中,由于云计算分布式及虚拟化的特点,用户不能直观的确定数据的存储位置和划分情况等,所以数据的安全问题就变得非常重要。对传输数据进行加密处理是目前最直观最可行的保障数据安全的方法。目前有很多成熟的加密算法基本能够保证加密密文不被轻易破解,例如本文讨论的RSA算法。但是,由于云计算提供的服务主要面向互联网用户,在目前带宽成本和配套设施的限制下,要保证云计算的服务速度,对加密算法的效率就提出了较高的要求,RSA算法密钥生成较为复杂,对云计算中的大型数据加密时间较长,不适合应用在云计算中。

DES算法提出较早,是一种典型的对称加密算法,DES最大的优势在于软硬件上实现起来较为简单,执行速度较快,从效率角度出发适合应用在云计算中。但是较RSA算法而言,仅64位的密钥长度,在目前计算机硬件发展水平下,存在被暴力破解的可

能,从安全性上不适合应用在云计算中。

本文从改进RSA和DES算法在云计算中的缺点出发,提出一种适合云计算的混沌混合加密算法(CDR)。该算法引入混沌理论,通过混沌映射变量的随机性和遍历性对初始密码优化,同时对RSA和DES两种算法进行混合。提出算法对明文通过效率较高的DES算法进行加密以保证云计算下的效率,对通过混沌映射得到的密钥进行RSA算法加密传输,以保证云计算中的安全性。

最后通过搭建Hadoop云平台,创建集群模拟云计算环境。通过MapReduce执行CDR算法进行数据加密解密实验,通过对明文数据不同大小的划分,测试了提出算法在云环境下的表现,并且横向对比了RSA和DES在相同实验环境下的数据,从执行效率及安全性角度证明CDR算法更适合于云计算的要求。

2 Hadoop框架分析

Hadoop是Apache基金会所开发的一种分布式计算框架,非常适用于云计算环境,可以对海量的数据提供存储和计算[2]。Hadoop框架最核心的设计就是分布式文件系统(HDFS)和并行计算框架(MapReduce)。HFDS负责对数据进行分配和提供存储,MapReduce负责对数据提供计算。

2.1 HDFS系统

HDFS本质是一种分布式文件系统,它可以将一个大的数据进行划分,形成若干小的数据集,并对其进行备份,分布存储于云环境中的不同节点上。但对于单个用户来说,HDFS就好像一个传统的分级文件系统,在使用时可以像操作单个文件一样对大数据进行操作[3]。

HDFS框架是基于一组特定节点构建的,这些节点包括唯一的一个NameNode,用来提供元数据服务,指导计算节点和数据节点处理所分配的任务;多个DataNode,主要为HDFS提供存储块,并进行分布式文件的读写操作。Hadoop平台中数据冗余为三,每一块数据对应存储在三个DataNode之中。

在云计算环境中,HDFS通过以下措施保证海量数据的可靠存储。DataNode定期给NameNode发送“心跳”报文,并发送数据块列表信息,判断该节点是否正常;提供安全模式,在该模式下只提供只读视图,不允许进行增删改操作;记录详细的日志文件;对用户所取数据进行完整性检测[4][5]。

2.2 MapReduce框架

MapReduce 是一种并行处理大数据集的软件框架。MapReduce是基于函数性编程中的 map() 和 reduce() 函数,对应计算过程中的映射和规约。Map过程中接受一组数据并将其转换为键/值对列表,然后对其进行传输和重新排序。Reduce过程对Map过程产生的中间结果进行处理整合和排序,进而形成最终结果。

3 DES及RSA算法分析

云计算中数据量非常大,并且往往分散在不同的计算节点上,安全性的保障显得至关重要,通过加密算法对数据进行加密和解密是保证数据安全的最有效方法之一。对称加密算法DES和公钥加密算法RAS都是成熟并且被广泛应用的加密算法,这里对这两种算法进行分析,并指出其二者在云计算中应用的优缺点。

3.1 DES算法

DES算法执行过程中,对明文以64比特进行分组,最后一组不满64比特的按照特定方法进行补齐,密钥长度为8个字节,但有8个比特位为校验位。在加密阶段,首先通过初始置换将明文分为32位的两部分,用左半部分和右半部分代表。然后进行16轮运算,对数据和密钥进行结合。在每一轮运算中对密钥进行移位,在选取密钥56位中的48位,将右半部分的原始32位通过扩展置换为48位,然后进行异或操作和48位密钥结合,再通过S盒将此48位转换为32位,然后再与左半部分原始32位进行异或操作。最后通过逆初始置换,得到最终的密文。算法流程图如图1所示:

作为对标准DES算法的改进,Tuchman提出使用两个密钥的三重DES加密方法,该方法使用两个密钥,执行三次DES算法。加密的过程是加密—解密—加密,解密的过程是解密—加密—解密。两个密钥组合有效长度有112比特,有效的提升了DES算法安全性。以 表示明文,以 代表密钥,以 代表密文,设EK()和DK()代表加密和解密的方法,则3DES算法的过加密解密过程如下所示:

加密:

解密:

3.2 RSA算法

RSA算法通過大数难以分解的数学问题保证其安全性,密钥长度也远高于DES算法,达到1024位。RSA是一种能够抵御目前绝大多数密码攻击的公钥加密算法,其密钥产生及加密解密流程如下:

(1) 产生两个大素数 和 , ;

(2) 计算 ,根据欧拉公式 ;

(3) 随机选择满足 的 作为公钥;

(4) 计算 ,以 作为私钥;

(5) 对明文按式 进行加密;

(6) 对密文按式 进行解密;

3.3 云计算中DES和RSA算法的不足

随着云计算能力不断提高以及计算机硬件的快速发展,对于DES加密算法而言,加密速度快是它的优势,比较适合处理云计算中的海量数据。但是DES最大短板就是密钥太短。密钥长度64位去除8位校验位,实际有效位数仅56位,若采用穷举法进行破解的话,只需要计算 种可能,特别是采用云平台的计算能力,在短时间完成破解密钥已成为可能[6]。3DES算法虽然通过多次解密解密进行了改进,但是由于其基本算法仍然沿用DES算法,所以在安全性上也不能完成保证被破解的可能。

对于RSA算法而言,其密钥长度最高达到1024位,并且公钥算法安全性本身要强于对称加密算法。采用穷举法进行强行破解的可能性很小,可以说是目前较为安全的加密算法。但是RSA算法缺点是加密过程每次要产生大素数,密钥产生异常复杂耗时,导致算法执行时间远高于DES算法,不适合在云计算中对大型数据进行加密。

4 混沌混合加密算法(CDR)研究

混沌是一种典型的非线性现象,能够按照自己规律,在一定范围内无重复遍历全部状态[6]。典型混沌特征包括:随机性、规律性、遍历性和对初值敏感性等。混沌通常指由确定性方程得到的随机运动状态,常见的混沌系统有Logistic映射、Tent映射、Chen系统、Lorenz系统等[7][8]。本文综合DES和RSA算法的优缺点,引入混沌理论,通过Tent映射生成密钥,提出一种混沌混合加密算法(CDR),该算法综合了DES和RSA算法的优点,并且进一步提高了算法执行效率和安全性。

4.1 Tent映射

Tent映射也称帐篷映射,它和Logistic映射目前被广泛使用,较Logistic映射而言Tent映射产生的混沌序列对初值较不敏感,分布较均匀[9],本文采用Tent映射作为混沌信号发生器。其表达式为:

(1)

4.2 算法原理

CDR混合算法原理为:首先通过Tent映射产生随机混沌信号,然后通过数学转换生成DES算法密钥,此举利用混沌系统的随机特性可以提高密钥的安全性和加密速度;然后通过此密钥利用3DES算法对明文进行加密;再通过RSA算法对混沌系统产生的密钥进行加密,将加密密钥和密文发送接收方;接收方通过RSA解密得到3DES密钥,由于3DES为对称加密算法,接收方通过此密钥可对密文进行解密。算法流程示意图如图2所示:

4.3 混沌密钥生成策略

通过Tent映射生成混沌密钥过程如下:

(1) 随机产生0到1之间的随机数 ,根据DES算法密钥长度确定迭代次数n=64;

(2) 将 和n代入式1,通过Tent映射产生长度为64的混沌序列 ;

(3) 对序列 按 进行重写,得到整数序列I;

(4) 对I表示为对应64位二进制形式K,即为DES算法密钥;

4.4 CDR算法分析

混沌混合加密算法(CDR)综合了DES算法和RSA算法的优点并加入混沌理论进一步改进,针对云计算特点算法优势从以下几个方面分析:

(1)引入混沌系统的优势。利用混沌运动的非线性、随机性和有界性对初始密钥进行生成。使密钥也具有了混沌的随机特征,同时使该算法在获得等价安全强度下节省了密钥长度,提高了密钥传输的安全性,增强了密钥敏感性。

(2)算法效率优势。DES算法实现过程较为简单,能够快速通过软件或硬件实现,比较适合处理云计算中的大型数据。而RSA由于每次加密过程要至少产生512比特的大素数,密钥生成策略既复杂又耗时,很难做到一次一密。所以RSA算法在云计算环境中对大型数据加密速度是远高于DES算法的。CDR算法主体加密过程遵循DES算法,仅对混沌产生的密钥通过RSA进行加密传输。所以CDR算法的加密解密效率靠近与DES算法,要优于RSA算法。

(3)安全性优势。DES算法实现上虽然较为简单高效,但是由于密钥位数较短,存在被暴力破解的可能。所以在密钥的传输和管理上会消耗较多的系统开销。一般的做法为在通信前对密钥进行秘密分配,不定期进行密钥的更换,对不同数据也需要更换密钥。但是在CDR算法中,通过RSA算法对64位的密钥进行加密传输,根据前文分析,RSA算法目前可被认为是绝对安全的一种加密算法,所以很难破解RSA算法进而获得初始DES算法密钥,也省去对普通DES算法密钥的管理过程。

5 Hadoop平台实验

5.1 实验平台配置和搭建

本次实验在Java环境中配置SSH框架,实现Hadoop平台搭建集群模拟云环境,集群由6台计算机组成,其中一台配置为“CPU I7-4790,8G内存,主频3.2GHZ,1T硬盘”作为NameNode,扮演Master和JobTracker的角色。为了更好模拟云环境,其余五台计算机选取实验室中配置各不相同的五台机器,作为Slave和DataNode,即云计算中的计算节点。

因为云计算中最大的优势就是处理大型数据的存储和计算,所以本次实验选取了大小为1116.92MB的文本文件作为实验数据,在Hadoop平台下进行加密解密实验。测试CDR算法的性能,并横向对比DES和RSA算法。

实验执行加密过程步骤为:

(1) 首先将需加密明文文件放至HDFS分布式存储系统。

(2) 对整体明文文件根据不同的数据块大小进行切分,以作业形式分发至集群中的计算节点。

(3) 重写map()函数,调用算法实现代码,实现对明文的加密过程。

(4) 通过reduce()过程对所有作业结果进行整合得到最终密文。

实验解密流程和加密流程类似,此处不再重复阐述。

5.2 实验结果

MapReduce对数据进行计算默认以64MB为单位划分数据块,为了更直观的表现算法性能,试验中分别设置了64MB、32MB、16MB、8MB、4MB和2MB的文件分块大小。分别测试CDR、DES和RSA算法。进行10组加密实验和10组解密试验,取算法的平均执行时间,实验结果如图3和图4所示。

由图3和图4可分析得出,在Hadoop平台中,原始数据的分块大小对三种算法的执行效率都存在类似的影響,从64MB分块值变化至32MB或16MB分块值时三种算法执行效率最高,若继续减小分块值特别是当分块值为2MB时,三种算法执行时间都急剧上升,这是因为当数据块单位过小,分块数量就会激增,在MapReduce计算中,Reduce过程对Map过程产生的结果进行整合排序的时间就越长。所以在云计算中,对大型数据的划分应取适当的单位,否则会影响计算时间。

为进一步横向比较三种算法执行效率之间的量级关系,取执行效率最高的32MB数据块划分,算法执行一次对比三种算法加密时间和解密时间。如图5所示:

由以上实验分析得,通过RSA算法进行数据加密解密时间远高于其他两种算法,实验加密文本数据大小为1G左右,实际云计算中数据量要远大于此,RSA算法执行效率较低不适合应用在云计算中。CDR和DES算法比较,CDR算法执行时间略高于DES算法,但是实验环境为6台计算机搭建集群,实际云环境中计算能力会大幅度提高,而且随着加密数据量的增大,根据本文上节的分析,其二者的执行效率差距会进一步缩小。从安全性角度上考虑,CDR算法结合了RSA算法和混沌随机性的优点,安全性要远高于DES算法。综上所述,CDR算法是一种兼顾效率和安全性的算法,更加适合于云计算。

6 结论

云计算作为一种有广泛前途的商业计算模式,建立在将大量资源虚拟化的基础上,可以对大型海量数据进行计算和管理,根据用户对作业量的需求提供服务。本文讨论了云计算环境下的加密算法问题,分析了DES和RSA算法在云计算环境下的不足,结合混沌理论提出了一种混沌混合加密算法,通过搭建Hadoop实验平台,结合实验结果分析证明该算法从效率和安全性上都进行了改进,更加适合于云计算环境。

参考文献:

[1] 孟湘来.基于云计算的数据中心构建探析[J].中国企业教育,2012(22):240-241.

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

[3] 崔杰,兰红星,李陶深.基于Hadoop的海量数据存储平台设计与开发[J].计算机研究与发展,2012,49:12-18.

[4] 王鹏,董静宜.一种云计算架构的实现方法研究[J].计算机工程与科学,2009(S1):11-13

[5] 王意洁,孙伟东,周松,裴晓强,李小勇.云计算环境下的分布存储关键技术[J].软件学报, 2012,23(4),962-986..

[6] 张京华,陈谊.一种混沌加密算法的设计与实现[J].北京工商大学学报,2004,4(22):33-35.

[7] 陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009(9):2563-2564.

[8] 侯佩,寇雅楠,黄利斌.混合加密体制在数字签名中的应用[J].计算机工程与计,2011,32(6):1942-1945.

[9] 陈树平,侯贤良.计算机网络中DES 数据加密与解密技术[J].现代电子技术,2005,200(9):114-115.

[10] Li Jingwei,Jia Chunfu,Li Jin,Chen Xiaofeng,Outsourcing encryption of attribute-based encryption with MapReduce[C].Information and Communications Security-14th International Conference, ICICS.2012:191-201.

[11] G.Sudha Sadasivam,G.Baktavachalam.A novel approach to mutiple sequence alignment using hadoop data grids[C].Proceedings of the 2010 Workshop on Massive Data Analytics on the Cloud,2010:472-483.

[12] Bilu Y,Hanrot G,Voutier P M.Existence of primitive divisors of Lucas and Lehmer numbers[J].Journal fur die Reine und Angewandte Mathematik,2001,539:75-122.

[13] Choi J, Reaz A, Mukheijee B. A survey of user behavior in VoD service andbandwidth-saving multicast streaming schemes. Communications Surveys &Tutorials, IEEE, 2012,14(1): 156-169.

[14] Agrawal M,Kayal N,Saxena N.PRIMES is in P[J].Annals of mathematics, 2004:781-793.

基金項目

国家自然科学基金项目:基于GIS的高校学生结核病防治管理体系及信息系统构建与应用研究,编号:71373203,项目负责人张少茹

作者简介:

第一作者:战非(1981.11),男,汉族,陕西西安,计算机软件工程专业硕士,西安航空学院计算机学院教师、讲师。研究方向:软件工程、通信工程、软件开发、移动互联网应用。

第二作者:张少茹,女,汉族,陕西韩城,博士,西安交通大学教授,博士生导师。研究方向:慢性病、传染性疾病防治管理。

联系方式:

第一作者:陕西省西安市西二环259号西安航空学院,邮编:710077。电话:18629070825。E-mail: zhanfei_xd@126.com

第二作者:张少茹:陕西省西安市咸宁西路28号,邮编:710049,电话:85323222,E-mail:shaoru@mail.xjtu.edu.cn

猜你喜欢

云计算
云计算虚拟化技术在电信领域的应用研究
基于云计算的医院信息系统数据安全技术的应用探讨
谈云计算与信息资源共享管理
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
基于云计算环境下的ERP教学改革分析
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用