盧 昱,王 雙,陳立云
(軍械工程學(xué)院 信息工程系,石家莊 050003)
?
基于云存儲(chǔ)的混合加密算法研究
盧 昱,王 雙,陳立云
(軍械工程學(xué)院 信息工程系,石家莊 050003)
近些年來,云存儲(chǔ)技術(shù)得到了高速發(fā)展,對(duì)云存儲(chǔ)的安全也提出了更高的要求;針對(duì)目前云存儲(chǔ)的數(shù)據(jù)安全問題,通過對(duì)傳統(tǒng)加密算法的研究與分析,提出了一種適合云存儲(chǔ)的線性AES-ECC混合加密算法;算法綜合了AES適應(yīng)于大塊數(shù)據(jù)加密且加解密速度快而ECC加密強(qiáng)度高的特點(diǎn),使用交叉加密的方式,極大地提高了云存儲(chǔ)的安全性,并從多個(gè)角度對(duì)算法進(jìn)行了安全性分析;最后在Hadoop平臺(tái)上用不同算法對(duì)多種文件類型進(jìn)行加密、解密實(shí)驗(yàn),并對(duì)比其加密解密時(shí)間;實(shí)驗(yàn)結(jié)果表明,算法在云存儲(chǔ)中相比傳統(tǒng)加密算法有顯著優(yōu)勢(shì)。
云存儲(chǔ);混合加密;加密算法;安全性;Hadoop
云計(jì)算(cloud computing)[1-3]通過網(wǎng)絡(luò)有效聚合被虛擬化的計(jì)算資源,基于集中構(gòu)建的數(shù)據(jù)中心為單一的用戶或多租客提供動(dòng)態(tài)的、高性價(jià)比的、彈性規(guī)模擴(kuò)展的計(jì)算、存儲(chǔ)和各類信息服務(wù),改變了傳統(tǒng)信息技術(shù)產(chǎn)業(yè)的體系架構(gòu)和運(yùn)作模式,目前受到了國內(nèi)外學(xué)術(shù)界和產(chǎn)業(yè)界的極大關(guān)注[4]。
云存儲(chǔ)(cloud storage)[1,5]是云計(jì)算中最重要的技術(shù)支撐之一,它通過軟件將網(wǎng)絡(luò)中大量不同類型的存儲(chǔ)設(shè)備整合起來,共同對(duì)外提供存儲(chǔ)服務(wù)。相比傳統(tǒng)數(shù)據(jù)存儲(chǔ),云存儲(chǔ)具有擴(kuò)展性好、便攜性好、可靠性高、成本低廉、易于管理等多方面優(yōu)勢(shì)。正是因?yàn)檫@些優(yōu)勢(shì),當(dāng)下云存儲(chǔ)已開始在多種行業(yè)中嶄露頭角。
安全性是云計(jì)算和云存儲(chǔ)現(xiàn)在面臨的最大挑戰(zhàn)。云存儲(chǔ)用戶將他們的數(shù)據(jù)存放到云端,這些數(shù)據(jù)中可能就包括企業(yè)的商業(yè)機(jī)密、個(gè)人的隱私秘密等重要機(jī)密數(shù)據(jù),如果這些數(shù)據(jù)丟失、泄露或者被篡改,那么將給使用云存儲(chǔ)的企業(yè)和個(gè)人帶來不可估量的損失,由此帶來一系列的安全問題[6-7]。國際上,云數(shù)據(jù)丟失、泄露或被篡改的事例不勝枚舉。例如,2009年3月Google云計(jì)算服務(wù)系統(tǒng)發(fā)生了用戶數(shù)據(jù)泄露事件;同年,Microsoft、Amazon等公司的云服務(wù)系統(tǒng)均出現(xiàn)了重大故障,導(dǎo)致許多客戶的數(shù)據(jù)存儲(chǔ)和信息服務(wù)受到影響,進(jìn)一步加劇了業(yè)界對(duì)云存儲(chǔ)安全性的擔(dān)憂;亞馬遜云服務(wù)平臺(tái)AWS(amazon web services)2010年的租戶協(xié)議就明確指出AWS不能保證用戶數(shù)據(jù)的安全性。這些事件不管對(duì)云用戶還是云服務(wù)提供商來說都造成了重大的損失。因此如何借鑒傳統(tǒng)信息安全技術(shù),探索如何保證云數(shù)據(jù)安全成為云存儲(chǔ)研究最為迫切要解決的問題。
本文充分分析了云存儲(chǔ)面臨的安全挑戰(zhàn),結(jié)合AES和ECC加密算法的優(yōu)勢(shì),提出一種適合云存儲(chǔ)的線性AES-ECC混合加密算法(Linear AES-ECC Hybrid Encryption, LAEHE)。該算法首先將待加密的明文或帶解密的密文按照既定策略分成若干段,然后對(duì)各段交叉使用AES和ECC算法進(jìn)行加密或解密。這樣密文的強(qiáng)度將由AES和ECC算法共同構(gòu)成,進(jìn)一步增強(qiáng)了數(shù)據(jù)的安全性。理論分析和實(shí)驗(yàn)驗(yàn)證均表明該算法既有效增強(qiáng)云數(shù)據(jù)安全性又保持了加解密的速度。
在Hadoop平臺(tái)上實(shí)現(xiàn)了LAEHE算法,通過與同類算法實(shí)驗(yàn)對(duì)比,驗(yàn)證本文所提方法可行性和有效性。
1.1 對(duì)稱加密算法
對(duì)稱密碼體制又稱單鑰或私鑰或傳統(tǒng)密碼體制,是從傳統(tǒng)的簡(jiǎn)單換位-代替密碼發(fā)展而來的。對(duì)稱密碼體制的特點(diǎn)是加密和解密本質(zhì)上均采用同一密鑰,而且通信雙方都必須獲得這一密鑰,并保持密鑰的秘密。對(duì)稱密碼體制的模型如圖1所示。
圖1 對(duì)稱加密過程
在學(xué)術(shù)界比較有名的對(duì)稱加密算法有DES算法,三重DES算法,AES算法,IDEA算法等。對(duì)稱加密算法有加解密速度快,計(jì)算開銷小,長密鑰,保密性較高的優(yōu)點(diǎn),但同時(shí)也有密鑰傳遞和管理比較困難,相同密鑰,安全性得不到保證,缺乏簽名功能等缺點(diǎn)。
1.2 非對(duì)稱加密算法
非對(duì)稱密碼體制也稱公鑰密碼體制,其在加密和解密時(shí)使用不同的密鑰,即加密和解密功能分開。在非對(duì)稱密碼體制中每個(gè)用戶保存一對(duì)密鑰,公鑰PK和私鑰SK,公鑰是公開信息,不需要保密。非對(duì)稱密碼體制包括兩種基本模型,一種是加密模型,如圖2所示,一種是認(rèn)證模型,如圖3所示。
圖2 非對(duì)稱密碼體制中的加密模型
圖3 非對(duì)稱密碼體制中的認(rèn)證模型
用接收者的公鑰作為加密密鑰,用接收者的私鑰作為解密密鑰,即只有接收者才能解密消息,這是加密模型。用發(fā)送者自己的私鑰作為加密密鑰,用他的公鑰作為解密密鑰,即只有擁有私鑰的發(fā)送者才能發(fā)送該消息,而任何人都可以用公鑰來解讀消息,這是認(rèn)證模型。
在學(xué)術(shù)界比較有名的非對(duì)稱加密算法由RSA、DSA、ECC等。非對(duì)稱加密算法具有密鑰傳遞和管理比較簡(jiǎn)單,安全性高的優(yōu)點(diǎn),同時(shí)也有加解密速度慢,復(fù)雜性高等缺點(diǎn)。
2.1 算法設(shè)計(jì)
AES算法作為美國的高級(jí)加密標(biāo)準(zhǔn),堪稱對(duì)稱加密算法中的經(jīng)典算法。而ECC則是非對(duì)稱加密中性能較高的算法,具有加解密速度快,所占用存儲(chǔ)空間小等優(yōu)點(diǎn)。AES和ECC兩種算法的安全性在長期的商用使用中得到驗(yàn)證。本文提出結(jié)合AES和ECC的優(yōu)點(diǎn),組合成一種線性AES-ECC混合加密算法LAEHE。LAEHE首先按照加密單元和分界線兩個(gè)參數(shù)將明文劃分為若干子明文段。加密單元即為加密的元單位,分界線用于劃分加密單元中AES和ECC加密的比例。處于每個(gè)加密單元分界線及之前的數(shù)據(jù)使用AES加密,分界線之后的數(shù)據(jù)使用ECC進(jìn)行加密。LAEHE算法的安全性建立在AES和ECC共同的基礎(chǔ)上,因此其安全性得到加強(qiáng)。算法流程圖如圖4。
圖4 LAEHE加密算法流程圖
LAEHE算法詳細(xì)的加密流程如下:
1)將待加密明文段按照既定策略分割成若干子明文段(策略加密單元和分界線兩參
數(shù)共同決定。加密單元決定加密的粒度,分界線決定AES和ECC加密的數(shù)據(jù)比例);
2)交叉使用AES和ECC加密算法對(duì)第一步中劃分好的子明文段加密,生成各子密
文段C1,C2,C3...;
3)合并第二步中生成的各子密文段,形成最終密文C;
LAEHE算法詳細(xì)的解密流程如下:
1)按照加密過程中所定義策略,將密文C分割還原為加密階段生成的子密文段C1,
C2, C3...;
2)交叉使用AES和ECC對(duì)上一步生成的各子密文段解密,解密出各子明文段M1,
M2, M3;
3)合并上一步生成的各明文段,即為最終解密出的明文。
相比與其他加密方案,LAEHE利用了云計(jì)算存儲(chǔ)容量大、運(yùn)算速度快、并行性強(qiáng)的特征,結(jié)合傳統(tǒng)的AEC與ECC加密算法,對(duì)數(shù)據(jù)進(jìn)行分割與線性組合,在加密時(shí)交叉使用兩種算法,大大提高了云存儲(chǔ)的安全強(qiáng)度。與同類算法相比,LAEHE算法具有更高的效率,更強(qiáng)的安全性,更適合于云存儲(chǔ)環(huán)境下巨大數(shù)據(jù)的傳輸和存儲(chǔ)。
2.2 算法安全性分析
2.2.1 密鑰長度
LAEHE算法密鑰由AES密鑰和ECC密鑰共同構(gòu)成。本文AES密鑰取128位,ECC密鑰取256位,那么線性AES-ECC混合加密算法密鑰長度變?yōu)?84位。但混合加密后的密鑰仍由128位的AES密鑰和256位的ECC密鑰分別構(gòu)成,這樣計(jì)算機(jī)可并行破解密鑰,那么LAEHE算法的密鑰搜索空間為2256。
2.2.2 明文敏感性
LAEHE算法的明文敏感性由AES算法或者ECC算法構(gòu)成。當(dāng)明文落入AES加密段,那么該段明文敏感性與AES算法相同,如果落在ECC加密段,該段明文敏感性與ECC算法相同。簡(jiǎn)單文本文件加密明文敏感性實(shí)驗(yàn)結(jié)果如表1所示。
從實(shí)驗(yàn)結(jié)果可以看出,當(dāng)明文有小幅度變化時(shí),密文都有相應(yīng)變化,LAEHE算法的明文敏感性較好。
2.2.3 密鑰敏感性
同理,LAEHE算法的密文敏感性也由AES或者ECC算法構(gòu)成。如果修改AES算法密鑰,那么由AES加密的子明文塊對(duì)應(yīng)的密文將改變。同樣,如果修改ECC算法密鑰,由ECC加密的子明文塊對(duì)應(yīng)的密文也將發(fā)生改變。簡(jiǎn)單文本文件加密密鑰敏感性實(shí)驗(yàn)結(jié)果表2所示。
表1 HEIAI明文敏感性
表2 HEIAI密鑰敏感性
因?yàn)镋CC密鑰是自動(dòng)生成的,表2中僅呈現(xiàn)了密文隨AES密鑰變化的情況。從表中可看出當(dāng)AES密鑰發(fā)生細(xì)微變化時(shí),LAEHE加密后的密文會(huì)有直接的變化,因此LAEHE加密算法有良好的密鑰敏感性。
2.2.4 攻擊分析
LAEHE算法由AES和ECC加密算法線性混合而成,因此它無論是對(duì)唯密文攻擊還是選擇密文攻擊都有較好防御效果。在LAEHE算法中,即使攻擊者獲得若干明文和密文也難以找到明文和密文的對(duì)應(yīng)關(guān)系。因?yàn)樵诩用苓^程中,AES和ECC加密算法是交叉混合加密的,很難尋找分割點(diǎn),由此大幅增加了對(duì)選擇密文攻擊的防御。再退一步說即使攻擊者能通過其他攻擊獲取AES和ECC的密鑰,但因?yàn)闊o法確認(rèn)加密單元和分界線這兩項(xiàng)參數(shù),也難以對(duì)加密信息進(jìn)行正確解密。由此可以看出,LAEHE算法是一種安全性較強(qiáng)的混合加密算法,能夠極大保證云存儲(chǔ)環(huán)境下數(shù)據(jù)的安全性。
3.1 實(shí)驗(yàn)環(huán)境
通過在Hadoop平臺(tái)上進(jìn)行加解密對(duì)比實(shí)驗(yàn),來驗(yàn)證本文所提出云存儲(chǔ)數(shù)據(jù)加密算法的有效性。該云平臺(tái)共由8臺(tái)服務(wù)器集群構(gòu)成,根據(jù)Hadoop平臺(tái)架構(gòu)的要求,CPU性能最佳的服務(wù)器Node1充當(dāng)Namenode,負(fù)責(zé)管理HDFS(Hadoop Distributed File System)的名稱空間和控制外部客戶訪問[10-11]。剩下的7臺(tái)服務(wù)器Node2-Node8充當(dāng)DataNode,作為存儲(chǔ)和計(jì)算節(jié)點(diǎn)。此外,每臺(tái)服務(wù)器均使用CentOS release 6.2 (Final)作為操作系統(tǒng),所使用的Hadoop版本均為Hadoop2.6.0。
3.2 實(shí)驗(yàn)數(shù)據(jù)
本文加解密對(duì)比實(shí)驗(yàn)使用的數(shù)據(jù)情況如表3所示??紤]到云存儲(chǔ)需要支持大型文件存儲(chǔ)的特點(diǎn),實(shí)驗(yàn)所采用的文件均大于128 MB。由于Hadoop平臺(tái)具有良好的大型文件處理機(jī)制,這些大型文件存儲(chǔ)到HDFS之前會(huì)被分割成若干獨(dú)立的塊文件,因此即使采用大型文件作為實(shí)驗(yàn)數(shù)據(jù),仍能檢驗(yàn)加云存儲(chǔ)加密算法對(duì)小型文件加密和解密的有效性。Hadoop默認(rèn)的數(shù)據(jù)分塊大小為64 MB,同時(shí)支持用戶指定分塊大小。本實(shí)驗(yàn)采用默認(rèn)的64 MB分塊大小分別對(duì)txt、pdf、csv、rmvb、zip、iso、psd、exe、db九種常見格式文件進(jìn)行加密和解密操作,以驗(yàn)證本文提出的兩種混合加密算法在Hadoop平臺(tái)的真實(shí)運(yùn)行情況。
表3 HEIAI加密實(shí)驗(yàn)數(shù)據(jù)
3.3 實(shí)驗(yàn)結(jié)果與分析
為盡可能消除其他隨機(jī)因素帶來的影響,更客觀反映加密算法的性能,本文所有的加密和解密實(shí)驗(yàn)均重復(fù)10次,取10次實(shí)驗(yàn)的平均值作為最終實(shí)驗(yàn)結(jié)果。同時(shí),為更直觀體現(xiàn)出本文所提混合加密算法的性能,本文也實(shí)現(xiàn)了同類型的兩種算法進(jìn)行對(duì)比實(shí)驗(yàn)。
LAEHE算法是由AES和ECC線性組合而成的混合加密算法,因此我們將其與AES和ECC做對(duì)比。實(shí)驗(yàn)中,加密單元uint和分界線border兩變量分別取值1280和1024,意味著每個(gè)加密單元為1280比特,單元的前1024比特使用AES加密,剩下256比特使用ECC加密,加密比為4:1。
LAEHE、AES和ECC 3種算法加密和解密所耗費(fèi)的時(shí)間分別如圖5和6所示。從兩幅圖中不難看出,本文所提出的線性AES-ECC混合加密算法LAEHE加密時(shí)間開銷與AES算法的加密時(shí)間開銷相當(dāng),而解密時(shí)間開銷均小于AES算法。同時(shí),LAEHE和AES算法的加解密時(shí)間開銷均高于ECC算法。這與LAEHE算法的設(shè)計(jì)思路相符。LAEHE算法中,AES和ECC交叉對(duì)原明文/原密文子塊進(jìn)行加密/解密,因此其加密和解密的時(shí)間開銷應(yīng)該介于AES和ECC加密和解密時(shí)間開銷之間,圖5和圖6中呈現(xiàn)的實(shí)驗(yàn)結(jié)果剛好印證了這一點(diǎn)。對(duì)比圖5和圖6可以發(fā)現(xiàn),AES的解密時(shí)間開銷均略高于它的加密時(shí)間開銷,而LAEHE則恰好相反。這是因?yàn)樵贚AEHE加密和解密過程中之前需要對(duì)原始明文/密文分塊,由此帶來了額外時(shí)間開銷,而加密的分塊時(shí)間開銷大于解密的分塊開銷。以上分析表明,LAEHE算法在結(jié)合AES和ECC安全性的同時(shí)保持了算法的高效性,能滿足云存儲(chǔ)數(shù)據(jù)加密需求。
圖5 LAEHE對(duì)比實(shí)驗(yàn)加密時(shí)間(ms)
圖6 LAEHE對(duì)比實(shí)驗(yàn)解密時(shí)間(ms)
作為云計(jì)算最重要技術(shù)支撐之一,云存儲(chǔ)隨著云計(jì)算的飛速發(fā)展正逐漸走進(jìn)我們的生活,改變著我們的生活、生產(chǎn)和學(xué)習(xí)的方式。云存儲(chǔ)給我們帶來極大便利的同時(shí)也面臨著包括安全性、性能和可用性等在內(nèi)的眾多挑戰(zhàn)。本文立足解決云存儲(chǔ)面臨的安全挑戰(zhàn),重點(diǎn)研究了云存儲(chǔ)中的數(shù)據(jù)加密技術(shù),提出一種線性AES-ECC混合加密算法。LAEHE利用AES適應(yīng)于大塊數(shù)據(jù)加密且加解密速度快而ECC加密強(qiáng)度高的特點(diǎn),首先將原始明文(密文)分解成若干子明文段(子密文段),然后再交叉使用AES和ECC進(jìn)行加密(解密)。LAEHE的安全性由AES和ECC共同構(gòu)成,由此極大的提高了云存儲(chǔ)的安全性。
本文對(duì)云存儲(chǔ)數(shù)據(jù)加密相關(guān)背景做了簡(jiǎn)要介紹,提出了改
進(jìn)方案,但在這項(xiàng)技術(shù)上仍有改進(jìn)空間。下步可以考慮深入研究算法中干擾因素的選擇以及加入方式,引入一些相對(duì)復(fù)雜或者已經(jīng)成熟的算法結(jié)構(gòu),并充分考慮算法本身是否適合云計(jì)算的特性。
[1] Miller M. Cloud computing[M]. Beijing: Machinery Industry Press, 2009.
[2] 金 海, 吳 松, 廖小飛, 等. 云計(jì)算的發(fā)展與挑戰(zhàn)[R]. 2009年中國計(jì)算機(jī)科學(xué)技術(shù)發(fā)展報(bào)告. 北京: 計(jì)機(jī)械工業(yè)出版社, 2010.
[3] 劉 鵬. 云計(jì)算(第二版)[M]. 北京: 電子工業(yè)出版社, 2011.
[4]徐小龍, 周靜嵐, 楊 庚. 一種基于數(shù)據(jù)分割與分級(jí)的云存儲(chǔ)數(shù)據(jù)隱私保護(hù)機(jī)制[J]. 計(jì)算機(jī)科學(xué), 2013,40(2): 98-102.
[5] 馬瑋駿, 吳海佳, 劉 鵬. MassCloud云存儲(chǔ)系統(tǒng)構(gòu)架及可靠性機(jī)制[J].河海大學(xué)學(xué)報(bào): 自然科學(xué)版, 2011,39(3): 348-352.
[6] 馮登國, 張 敏, 張 妍, 等. 云計(jì)算安全研究[J]. 軟件學(xué)報(bào), 2011,22(1): 71-83.
[7] 鄒德清, 金 海, 光衛(wèi)中, 等. 云計(jì)算安全挑戰(zhàn)與實(shí)踐[J].中國計(jì)算機(jī)學(xué)會(huì)通訊, 2011,7(12): 55-61.
[8] 但光祥. 云計(jì)算環(huán)境下混合加密算法研究與實(shí)現(xiàn)[D].重慶:重慶大學(xué), 2013.
[9] 龍冬陽. 網(wǎng)絡(luò)安全技術(shù)及應(yīng)用[M].廣州:華南理工大學(xué)出版社, 2006.
[10] 王彥明, 奉國和, 薛 云. 近年來Hadoop國外研究綜述[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2013,22(6):1-5.
[11] 唐世慶, 李云龍, 田鳳明, 等. 基于Hadoop的云計(jì)算與存儲(chǔ)平臺(tái)研究與實(shí)現(xiàn)[J]. 四川兵工學(xué)報(bào), 2014(8):97-100.
Research of Mixed Encryption Algorithm Based on Cloud Storage
Lu Yu,Wang Shuang,Chen Liyun
(Dept. of Information Engineering, Ordnance Engineering College, Shijiazhuang 050003, China)
In recent years, as cloud storage is developing very fast, the higher safety standard is needed. For the confidentiality of the data storage, we analyzed traditional encryption algorithms and proposed a mixed linear AES-ECC encryption algorithm which is suitable for cloud storage.AES is capable of dealing with large files while ECC achieves high efficiency in both encryption and decryption. AES-ECC encryption algorithm combines their advantages together. We analyzed the security of the algorithm from various angles and then we use different algorithms to encrypt and decrypt some types of files on Hadoop platform and compared the encryption and decryption time of the algorithms.The results show that the algorithm has significant advantages over the traditional encryption algorithms in cloud storage.
cloud storage;mixed encryption;encryption algorithm;security;hadoop
2015-09-01;
2015-10-26。
盧 昱(1960-),男,河南洛陽人,博士,教授,主要從事網(wǎng)絡(luò)安全方向的研究。
1671-4598(2016)03-0129-04
10.16526/j.cnki.11-4762/tp.2016.03.035
TP309
A