戰(zhàn) 非,張少茹
(1.西安航空學院 計算機學院,陜西 西安710077;2.西安交通大學 醫(yī)學院護理系,陜西 西安710049)
基于云計算的混合加密DAES算法研究
戰(zhàn) 非1,張少茹2
(1.西安航空學院 計算機學院,陜西 西安710077;2.西安交通大學 醫(yī)學院護理系,陜西 西安710049)
文中針對云計算的特點,對云計算中數(shù)據(jù)混合加密算法進行研究。首先分析了傳統(tǒng)對稱加密算法DES和AES,對其在云計算模型中的優(yōu)劣進行了對比,然后結合Hadoop分布式計算框架提出了一種DAES混合加密改進算法,該算法通過對明文劃分進行混合加密,并且加入隨機擾動信息,有效的提高了安全性。然后通過在Hadoop上搭建集群模擬云計算環(huán)境,對明文進行不同數(shù)據(jù)塊的劃分進行加密和解密實驗,實驗結果從安全性和算法執(zhí)行效率等方面橫向對比DES算法和AES算法,證明DAES算法更加適用于云計算環(huán)境中的數(shù)據(jù)加密。
云計算;對稱加密算法;Hadoop;DES算法;AES算法
云計算是一種應用于互聯(lián)網(wǎng)中的新興計算模式,將基礎資源設施、應用系統(tǒng)、軟件平臺等作為服務提供給用戶[1]。云計算也是一種以虛擬化為基礎的架構方式,能夠將資源虛擬化并構建規(guī)模較大的資源池,對外以服務方式進行管理。
隨著云計算的發(fā)展,海量的用戶數(shù)據(jù)和大型數(shù)據(jù)被放入云計算系統(tǒng)中,由于云計算分布式及虛擬化的特點,用戶不能直觀的確定數(shù)據(jù)的存儲位置和劃分情況等,所以數(shù)據(jù)的安全問題就變得非常重要。在云計算中一般通過對數(shù)據(jù)加密和身份管理來保障數(shù)據(jù)安全。目前常見的加密算法分為對稱加密算法及公鑰加密算法。其中DES算法和AES算法是目前對稱加密算法中被廣泛使用的兩種算法。
文中從云計算框架及實驗環(huán)境Hadoop入手,分析了數(shù)據(jù)加密算法DES和AES針對云計算的優(yōu)缺點,提出了一種DAES混合加密算法,通過對該算法的分析和實驗,橫向對比了DES算法及AES算法,證明了DAES算法更加適合云計算中數(shù)據(jù)的加密。
Hadoop是Apache基金會所開發(fā)的一種分布式計算框架,非常適用于云計算環(huán)境,可以對海量的數(shù)據(jù)提供存儲和計算[2]。Hadoop框架最核心的設計就是分布式文件系統(tǒng)(HDFS)和并行計算框架(MapReduce)。HFDS負責對數(shù)據(jù)進行分配和提供存儲,MapReduce負責對數(shù)據(jù)提供計算。
1.1 HDFS系統(tǒng)
HDFS本質是一種分布式文件系統(tǒng),它可以將一個大的數(shù)據(jù)進行劃分,形成若干小的數(shù)據(jù)集,并對其進行備份,分布存儲于云環(huán)境中的不同節(jié)點上[3]。但對于單個用戶來說,HDFS就好像一個傳統(tǒng)的分級文件系統(tǒng),在使用時可以像操作單個文件一樣對大數(shù)據(jù)進行操作。
HDFS框架是基于一組特定節(jié)點構建的,這些節(jié)點包括唯一的一個NameNode,用來提供元數(shù)據(jù)服務,指導計算節(jié)點和數(shù)據(jù)節(jié)點處理所分配的任務;多個DataNode,主要為HDFS提供存儲塊,并進行分布式文件的讀寫操作。Hadoop平臺中數(shù)據(jù)冗余為三,每一塊數(shù)據(jù)對應存儲在3個DataNode之中[4]。
在云計算環(huán)境中,HDFS通過以下措施保證海量數(shù)據(jù)的可靠存儲。DataNode定期給NameNode發(fā)送“心跳”報文,并發(fā)送數(shù)據(jù)塊列表信息,判斷該節(jié)點是否正常;提供安全模式,在該模式下只提供只讀視圖,不允許進行增刪改操作;記錄詳細的日志文件;對用戶所取數(shù)據(jù)進行完整性檢測[5]。
1.2 MapReduce框架
MapReduce是一種并行處理大數(shù)據(jù)集的軟件框架。MapReduce的根源是函數(shù)性編程中的map()和reduce()函數(shù),對應計算過程中的映射和規(guī)約。Map過程中接受一組數(shù)據(jù)并將其轉換為一個鍵/值對列表,然后對其進行傳輸和重新排序。Reduce過程中接受Map生成的列表,然后根據(jù)它們的鍵(為每個鍵生成一個鍵/值對)縮小鍵/值對列表。也就是說,Reduce過程對Map過程產(chǎn)生的中間結果進行處理整合和排序,進而形成最終結果。
云計算中數(shù)據(jù)量非常大,并且往往分散在不同的計算節(jié)點上,安全性的保障顯得至關重要,通過加密算法對數(shù)據(jù)進行加密和解密是保證數(shù)據(jù)安全的最有效方法之一。文中主要討論傳統(tǒng)加密算法中的對稱加密算法并進行改進。
對稱加密算法指使用同一個秘鑰進行加密和解密,如DES和AES算法。一個對稱加密系統(tǒng)構成可表示為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算法執(zhí)行過程中,對明文以64比特進行分組,最后一組不滿64比特的按照特定方法進行補齊,密鑰長度為8個字節(jié),但有8個比特位為校驗位。在加密階段,首先通過初始置換將明文分為32位的兩部分,用左半部分和右半部分代表。然后進行16輪運算,對數(shù)據(jù)和密鑰進行結合。在每一輪運算中對密鑰進行移位,在選取密鑰56位中的48位,將右半部分的原始32位通過擴展置換為48位,然后進行異或操作和48位密鑰結合,再通過S盒將此48位轉換為32位,然后再與左半部分原始32位進行異或操作。最后通過逆初始置換,得到最終的密文。算法流程圖如圖1所示。

圖1 DES算法流程圖
AES算法同樣是對稱密鑰加密經(jīng)典算法,AES中設區(qū)塊長度為128比特,密鑰長度可以選擇128比特,192比特或256比特。AES加密過程是在一個4×4的字節(jié)矩陣上運作。AES加密過程主要進行4類操作:
1)字節(jié)替換(SubBytes),指通過S盒,用查找表的方式對每個字節(jié)進行替換。
2)行移位(ShiftRows),將4×4矩陣中的每行執(zhí)行循環(huán)移位操作。
3)列混淆(MixColumns),使用線性轉換來混合每列的4個字節(jié)。
4)輪密鑰加(AddRoundKey),指加密過程中每輪輸入與輪密鑰進行異或操作,解密過程中再異或操作該輪密鑰。
AES具體算法流程如圖2所示。

圖2 AES算法流程圖
2.2 云計算中DES和AES算法的不足
隨著云計算能力不斷提高以及計算機硬件的快速發(fā)展,對于DES加密算法而言,它的最大短板就是密鑰太短。密鑰長度64位去除8位校驗位,實際有效位數(shù)僅56位,若采用窮舉法進行破解的話,只需要計算256種可能,特別是采用云平臺的計算能力,在短時間完成破解密鑰已成為可能。對于AES算法而言,其密鑰長度最高達到256位,采用窮舉法進行強行破解的可能性很小,但并非該算法是絕對安全的,若攻擊者設計不同密鑰測量出加密過程所需的精確時間。一旦加密例程被粗心編碼,執(zhí)行時間便依賴于密鑰值,就有可能推導出有關密鑰的信息[6-7]。
通過上節(jié)對兩種傳統(tǒng)加密算法優(yōu)劣的討論,為了更加適應云計算中對加密算法安全性的要求,這里提出一種基于 DES和 AES的混合加密算法DAES并對其進行研究。
3.1 DAES算法流程
DAES算法基于DES和AES算法的線性組合,并且為了進一步提高線性組合算法的安全性,在算法執(zhí)行過程中加入干擾信息。算法加密流程如下:
1)DAES算法首先對明文數(shù)據(jù)M等比例分割,形成明文MD和MA;
2)提取當前系統(tǒng)時間后三位毫秒數(shù)字作為干擾信息,加入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的安全性,可以更好的對抗攻擊。現(xiàn)從如下幾方面對安全性進行分析:
1)密鑰長度分析:DES算法密鑰為64位,AES算法密鑰最短為128位,所以混合加密算法DAES的密鑰長度最短達到192位,這個密鑰長度能夠有效的阻擋暴力破解。
2)明文敏感性分析:如果沒有干擾信息的加入,變換的明文分割后若落在MD段則明文敏感性同DES算法;若落在MA段則明文敏感性同AES算法。但由于算法執(zhí)行過程中,針對兩段明文都加入了隨機變化干擾信息,DAES算法相對AES和DES具有更好的明文敏感性。
3)密鑰敏感性分析:DAES算法密鑰敏感性由混合AES和DES算法共同決定。若改變密鑰K1則對應改變中間明文MD1對應密文;若改變密鑰K2則對應改變中間明文MA1對應密文。當密鑰有細小變化都會對最終密文產(chǎn)生較大的改變,該算法具有良好的密鑰敏感性。
4)對抗攻擊分析:攻擊者攻擊DAES算法意味著同時需要攻破DES和AES算法。對于密文攻擊而言,所獲得的密文剛好位于分割點的概率很小,即便獲得密鑰進行解密,從密文CD和CA也無法對應到分割后的明文MD和MA,就更難獲得原始明文M。同樣,對于明文攻擊也難以推測原始明文信息。
4.1 實驗平臺配置和搭建
本次實驗在Java環(huán)境中配置SSH框架,實現(xiàn)Hadoop平臺搭建集群模擬云計算環(huán)境,集群由6臺計算機組成,其中一臺配置為“CPU I7-4790,8 G內存,主頻3.2 GHz,1T硬盤”作為NameNode,扮演Master和JobTracker的角色。為了更好模擬云環(huán)境,其余5臺計算機選取實驗室中配置各不相同的5臺機器,作為Slave和DataNode。
因為云計算中最大的優(yōu)勢就是處理大型數(shù)據(jù)的存儲和計算,所以本次實驗選取了大小為1 116.92 MB的文本文件作為實驗數(shù)據(jù),在Hadoop平臺下通過MapReduce對數(shù)據(jù)進行計算,測試DAES算法的性能,并橫向對比DES和AES算法。因為上節(jié)已經(jīng)從多個方面分析了DAES算法得安全性,所以本次實驗主要測試算法的執(zhí)行效率。
4.2 實驗結果
MapReduce對數(shù)據(jù)進行計算默認以64 MB為單位劃分數(shù)據(jù)塊,為了更直觀的表現(xiàn)算法性能,試驗中分別設置了64 MB、32 MB、16 MB、8 MB、4 MB和2 MB的文件分塊大小。分別測試DAES、DES和AES算法。進行8組加密實驗和8組解密試驗,取算法的平均執(zhí)行時間,實驗結果如圖5和圖6所示。

圖5 平均加密時間對比圖

圖6 平均解密時間對比圖
由圖5和圖6可分析得出,在Hadoop平臺中,原始數(shù)據(jù)的分塊大小對3種算法的執(zhí)行效率都存在類似的影響,從64 MB分塊值變化至32 MB或16 MB分塊值時3種算法執(zhí)行效率最高,若繼續(xù)減小分塊值特別是當分塊值為2 MB時,3種算法執(zhí)行時間都急劇上升,這是因為當數(shù)據(jù)塊單位過小,分塊數(shù)量就會激增,在MapReduce計算中,Reduce過程對Map過程產(chǎn)生的結果進行整合排序的時間就越長。所以在云計算中,對大型數(shù)據(jù)的劃分應取適當?shù)膯挝唬駝t會影響計算時間。
3種算法的橫向比較由圖5和圖6可以分析得出,DAES算法和AES算法在加密和解密過程中的執(zhí)行效率遠高于DES算法,同時其二者的密鑰長度也都高于DES算法,可以說DAES和AES算法優(yōu)于DES算法。AES算法從執(zhí)行時間上優(yōu)于DAES算法,但二者差距并不算大,試驗中采用6臺普通個人計算機構建集群進行計算,在實際的云計算環(huán)境下其二者的執(zhí)行時間差距還會進一步縮小。通過第4節(jié)的分析可知,DAES算法從安全性上來說要更優(yōu)于AES算法。綜上所述,DAES算法是一種兼顧安全性和執(zhí)行效率的混合加密算法,適合于云計算環(huán)境。
云計算作為一種有廣泛前途的商業(yè)計算模式,建立在將大量資源虛擬化的基礎上,可以對大型海量數(shù)據(jù)進行計算和管理,根據(jù)用戶對作業(yè)量的需求提供服務。文中分析了Hadoop技術并構建實驗平臺,在其上對數(shù)據(jù)加密算法進行研究。首先介紹了傳統(tǒng)加密算法DES和AES的基本原理,并針對云計算環(huán)境下兩種算法的不足進行了分析,提出了一種混合加密算法DAES并進行試驗,橫向對比傳統(tǒng)DES和AES算法,證明DAES算法是一種適合云計算環(huán)境下的加密算法。
[1]孟湘來.基于云計算的數(shù)據(jù)中心構建探析[J].中國企業(yè)教育,2012(22):240-241.
[2]劉正偉,文中領,張海濤.云計算和云數(shù)據(jù)管理技術[J].計算機研究與發(fā)展,2012,49(z1):56-27.
[3]崔杰,蘭紅星,李陶深.基于Hadoop的海量數(shù)據(jù)存儲平臺設計與開發(fā)[J].計算機研究與發(fā)展,2012,49: 12-18.
[4]劉鵬.云計算[M].北京:電子工業(yè)出版社,2010.
[5]王鵬,董靜宜.一種云計算架構的實現(xiàn)方法研究[J].計算機工程與科學,2009(S1):11-13.
[6]侯佩,寇雅楠,黃利斌.混合加密體制在數(shù)字簽名中的應用[J].計算機工程與計,2011,32(6):1942-1945.
[7]陳樹平,侯賢良.計算機網(wǎng)絡中DES數(shù)據(jù)加密與解密技術[J].現(xiàn)代電子技術,2005,200(9):114-115.
[8]王意潔,孫偉東,周松,等.云計算環(huán)境下的分布存儲關鍵技術[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)
戰(zhàn) 非(1981—),男,陜西西安人,碩士,講師。研究方向:軟件工程、通信工程、軟件開發(fā)、移動互聯(lián)網(wǎng)應用。