APP下载

基于云计算的混合加密DAES算法研究

2017-03-02张少茹

电子设计工程 2017年3期
关键词:计算环境明文加密算法

战 非,张少茹

(1.西安航空学院 计算机学院,陕西 西安710077;2.西安交通大学 医学院护理系,陕西 西安710049)

基于云计算的混合加密DAES算法研究

战 非1,张少茹2

(1.西安航空学院 计算机学院,陕西 西安710077;2.西安交通大学 医学院护理系,陕西 西安710049)

文中针对云计算的特点,对云计算中数据混合加密算法进行研究。首先分析了传统对称加密算法DES和AES,对其在云计算模型中的优劣进行了对比,然后结合Hadoop分布式计算框架提出了一种DAES混合加密改进算法,该算法通过对明文划分进行混合加密,并且加入随机扰动信息,有效的提高了安全性。然后通过在Hadoop上搭建集群模拟云计算环境,对明文进行不同数据块的划分进行加密和解密实验,实验结果从安全性和算法执行效率等方面横向对比DES算法和AES算法,证明DAES算法更加适用于云计算环境中的数据加密。

云计算;对称加密算法;Hadoop;DES算法;AES算法

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

随着云计算的发展,海量的用户数据和大型数据被放入云计算系统中,由于云计算分布式及虚拟化的特点,用户不能直观的确定数据的存储位置和划分情况等,所以数据的安全问题就变得非常重要。在云计算中一般通过对数据加密和身份管理来保障数据安全。目前常见的加密算法分为对称加密算法及公钥加密算法。其中DES算法和AES算法是目前对称加密算法中被广泛使用的两种算法。

文中从云计算框架及实验环境Hadoop入手,分析了数据加密算法DES和AES针对云计算的优缺点,提出了一种DAES混合加密算法,通过对该算法的分析和实验,横向对比了DES算法及AES算法,证明了DAES算法更加适合云计算中数据的加密。

1 Hadoop框架分析

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

1.1 HDFS系统

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

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

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

1.2 MapReduce框架

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

2 传统加密算法

云计算中数据量非常大,并且往往分散在不同的计算节点上,安全性的保障显得至关重要,通过加密算法对数据进行加密和解密是保证数据安全的最有效方法之一。文中主要讨论传统加密算法中的对称加密算法并进行改进。

对称加密算法指使用同一个秘钥进行加密和解密,如DES和AES算法。一个对称加密系统构成可表示为CS={M,C,K,e,d},其中:

M={m}代表明文消息集;

C={c}代表密文消息集;

K={k}代表密钥集;

E代表加密映射过程,即E:K*M=C;

D代表解密映射过程,即D:K*C=M

2.1 DES算法和AES算法分析

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

图1 DES算法流程图

AES算法同样是对称密钥加密经典算法,AES中设区块长度为128比特,密钥长度可以选择128比特,192比特或256比特。AES加密过程是在一个4×4的字节矩阵上运作。AES加密过程主要进行4类操作:

1)字节替换(SubBytes),指通过S盒,用查找表的方式对每个字节进行替换。

2)行移位(ShiftRows),将4×4矩阵中的每行执行循环移位操作。

3)列混淆(MixColumns),使用线性转换来混合每列的4个字节。

4)轮密钥加(AddRoundKey),指加密过程中每轮输入与轮密钥进行异或操作,解密过程中再异或操作该轮密钥。

AES具体算法流程如图2所示。

图2 AES算法流程图

2.2 云计算中DES和AES算法的不足

随着云计算能力不断提高以及计算机硬件的快速发展,对于DES加密算法而言,它的最大短板就是密钥太短。密钥长度64位去除8位校验位,实际有效位数仅56位,若采用穷举法进行破解的话,只需要计算256种可能,特别是采用云平台的计算能力,在短时间完成破解密钥已成为可能。对于AES算法而言,其密钥长度最高达到256位,采用穷举法进行强行破解的可能性很小,但并非该算法是绝对安全的,若攻击者设计不同密钥测量出加密过程所需的精确时间。一旦加密例程被粗心编码,执行时间便依赖于密钥值,就有可能推导出有关密钥的信息[6-7]。

3 混合加密DAES算法分析

通过上节对两种传统加密算法优劣的讨论,为了更加适应云计算中对加密算法安全性的要求,这里提出一种基于 DES和 AES的混合加密算法DAES并对其进行研究。

3.1 DAES算法流程

DAES算法基于DES和AES算法的线性组合,并且为了进一步提高线性组合算法的安全性,在算法执行过程中加入干扰信息。算法加密流程如下:

1)DAES算法首先对明文数据M等比例分割,形成明文MD和MA;

2)提取当前系统时间后三位毫秒数字作为干扰信息,加入MD和MA末尾形成新明文MD1和MA1;

3)对MD1通过密钥K1进行DES加密,生成密文CD。对MA1通过密钥K2进行AES加密,生成密文CA;

4)通过CD和CA进行线性组合得到实际密文C;

DAES算法加密流程图如图3所示。

图3 DAES算法加密流程图

DAES算法解密流程为加密的逆过程,首先将密文C分割为CD和CA,对CD通过密钥K1解密生成中间明文MD1,对CA通过密钥K2解密生成中间明文MA1;然后分别去除最后三位的干扰信息,形成明文MD和MA;对二者进行组合得到最终明文M。解密算法流程图如图4所示。

图4 DAES算法解密流程图

3.2 DAES算法安全性分析

DAES算法基于DES和AES算法的混合,两种不同设计算法共同保证DAES的安全性,可以更好的对抗攻击。现从如下几方面对安全性进行分析:

1)密钥长度分析:DES算法密钥为64位,AES算法密钥最短为128位,所以混合加密算法DAES的密钥长度最短达到192位,这个密钥长度能够有效的阻挡暴力破解。

2)明文敏感性分析:如果没有干扰信息的加入,变换的明文分割后若落在MD段则明文敏感性同DES算法;若落在MA段则明文敏感性同AES算法。但由于算法执行过程中,针对两段明文都加入了随机变化干扰信息,DAES算法相对AES和DES具有更好的明文敏感性。

3)密钥敏感性分析:DAES算法密钥敏感性由混合AES和DES算法共同决定。若改变密钥K1则对应改变中间明文MD1对应密文;若改变密钥K2则对应改变中间明文MA1对应密文。当密钥有细小变化都会对最终密文产生较大的改变,该算法具有良好的密钥敏感性。

4)对抗攻击分析:攻击者攻击DAES算法意味着同时需要攻破DES和AES算法。对于密文攻击而言,所获得的密文刚好位于分割点的概率很小,即便获得密钥进行解密,从密文CD和CA也无法对应到分割后的明文MD和MA,就更难获得原始明文M。同样,对于明文攻击也难以推测原始明文信息。

4 Hadoop平台实验

4.1 实验平台配置和搭建

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

因为云计算中最大的优势就是处理大型数据的存储和计算,所以本次实验选取了大小为1 116.92 MB的文本文件作为实验数据,在Hadoop平台下通过MapReduce对数据进行计算,测试DAES算法的性能,并横向对比DES和AES算法。因为上节已经从多个方面分析了DAES算法得安全性,所以本次实验主要测试算法的执行效率。

4.2 实验结果

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

图5 平均加密时间对比图

图6 平均解密时间对比图

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

3种算法的横向比较由图5和图6可以分析得出,DAES算法和AES算法在加密和解密过程中的执行效率远高于DES算法,同时其二者的密钥长度也都高于DES算法,可以说DAES和AES算法优于DES算法。AES算法从执行时间上优于DAES算法,但二者差距并不算大,试验中采用6台普通个人计算机构建集群进行计算,在实际的云计算环境下其二者的执行时间差距还会进一步缩小。通过第4节的分析可知,DAES算法从安全性上来说要更优于AES算法。综上所述,DAES算法是一种兼顾安全性和执行效率的混合加密算法,适合于云计算环境。

5 结束语

云计算作为一种有广泛前途的商业计算模式,建立在将大量资源虚拟化的基础上,可以对大型海量数据进行计算和管理,根据用户对作业量的需求提供服务。文中分析了Hadoop技术并构建实验平台,在其上对数据加密算法进行研究。首先介绍了传统加密算法DES和AES的基本原理,并针对云计算环境下两种算法的不足进行了分析,提出了一种混合加密算法DAES并进行试验,横向对比传统DES和AES算法,证明DAES算法是一种适合云计算环境下的加密算法。

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

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

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

[4]刘鹏.云计算[M].北京:电子工业出版社,2010.

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

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

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

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

[9]李九永,王京.新型混沌粒子群算法在TSP中的应用[J].武汉科技大学学报,2011,34(2):131-136.

[10]LI Jing-wei,JIA Chun-fu,LI Jin,et al.Outsourcing encryption of attribute-based encryption with Map-Reduce[C]//Information and Communications Security-14th International Conference,2012:191-201.

[11]Sudha Sadasivam G,Baktavachalam G.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]WANG Chong,LI Jun,JING Ning,et al.A distributed cooperative dynamic task planning algorithm for multiple satellites based on muli-agent hybrid learning[J].Chinese Journal of Aeronautics,2011,(24):493-505.

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

[14]Melnik S,Gubarev A,Long JJ,etal.Dremel. interactive analysis of web-scaledatasets[J].Proceedings of the VLDB Endowment,2010,3(1-2): 330-339.

[15]Gorur P,Amrutur B.Speeded up gaussian mixture model algorithm for background Subtraction[C]// Proc of IEEE International Conference on Advanced Video and Signal Based Surveillance.Bangalore,India,2011:386-391.

Research on hybrid encryption DAES algorithm based on cloud computing

ZHAN Fei1,ZHANG Shao-ru2
(1.School of Computer Science,Xi'an Aeronautical Universities,Xi'an 710077,China;2.Health Science Center,Xian Jiaotong University,Xi'an 710049,China)

According to the characteristics of cloud computing,this paper analyzes the Hadoop distributed computing framework,and studies the data encryption algorithm in cloud computing.Firstly,the traditional encryption algorithm of DES and AES are analyzed, and the advantages and disadvantages of the algorithm in the cloud computing model are compared,and then a DAES hybrid encryption algorithm is proposed,and analyzed.Finally,experiments on the Hadoop platform,through the comparison of the division of the different data blocks and the efficiency of the algorithm,the DAES algorithm is more suitable for the data encryption in the cloud computing environment.

cloud computing;symmetric encryption algorithm;Hadoop;DES;AES

TN919

:A

:1674-6236(2017)03-0185-05

2016-06-07稿件编号:201606053

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

战 非(1981—),男,陕西西安人,硕士,讲师。研究方向:软件工程、通信工程、软件开发、移动互联网应用。

猜你喜欢

计算环境明文加密算法
云计算环境下网络安全等级保护的实现途径
奇怪的处罚
大数据云计算环境下的数据安全
奇怪的处罚
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争
云计算环境中任务调度策略
Hill加密算法的改进
对称加密算法RC5的架构设计与电路实现
基于云计算环境下的分布存储关键技术探讨