王 雙,盧 昱,陳立云
(軍械工程學(xué)院 信息工程系,河北 石家莊 050003)
云存儲(chǔ)中的混合加密算法研究
王 雙,盧 昱,陳立云
(軍械工程學(xué)院 信息工程系,河北 石家莊 050003)
針對(duì)云存儲(chǔ)服務(wù)中數(shù)據(jù)傳輸和存儲(chǔ)過程對(duì)數(shù)據(jù)的保密性、完整性和不可抵賴性等安全需求,根據(jù)云存儲(chǔ)的特點(diǎn),結(jié)合AES和RSA傳統(tǒng)加密算法特性,提出一種具有身份認(rèn)證的帶干擾混合加密算法。從多個(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-2]通過網(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)注[3]。
云存儲(chǔ)(Cloud Storage)[1-4]是云計(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è)人帶來不可估量的損失,由此帶來一系列的安全問題[5-6]。國際上,云數(shù)據(jù)丟失、泄露或被篡改的事例不勝枚舉。2009年3月,微軟Azure云平臺(tái)一度全線徹底奔潰,停止運(yùn)行22小時(shí),導(dǎo)致了大量用戶數(shù)據(jù)丟失;2011年3月,Gmail爆發(fā)大規(guī)模用戶數(shù)據(jù)丟失和泄露事件,導(dǎo)致使用Gmail的15萬用戶郵件和聊天記錄被刪,部分賬戶甚至被重置;就連云計(jì)算鼻祖Amazon的簡(jiǎn)易存儲(chǔ)服務(wù)S3也曾發(fā)生過大量用戶數(shù)據(jù)外泄事件,甚至還出現(xiàn)過整個(gè)計(jì)算中心宕機(jī)的嚴(yán)重事故。國內(nèi)部分云服務(wù)提供商也曝出過類似事件。這些事件不管對(duì)云用戶還是云服務(wù)提供商來說都造成了重大的損失。因此如何借鑒傳統(tǒng)信息安全技術(shù),探索如何保證云數(shù)據(jù)安全成為云存儲(chǔ)研究最為迫切要解決的問題。
文中充分分析了云存儲(chǔ)面臨的安全挑戰(zhàn),提出一種適合云存儲(chǔ),具有身份認(rèn)證的帶干擾混合加密算法 (Hybrid Encryption with IdentityAuthenticationandInterference,HEIAI)。該算法通過在原始明文中加入干擾信息從而提高數(shù)據(jù)安全性。同時(shí),通過結(jié)合AES和RSA算法,引入身份認(rèn)證機(jī)制確保數(shù)據(jù)在傳輸過程中的保密性、完整性和不可抵賴性[7-8]。理論分析和實(shí)驗(yàn)驗(yàn)證均表明該算法在增強(qiáng)云數(shù)據(jù)安全性的同時(shí)滿足了云數(shù)據(jù)處理要求高效性。在Hadoop平臺(tái)上實(shí)現(xiàn)了HEIAI算法,通過與同類算法實(shí)驗(yàn)對(duì)比,驗(yàn)證文中所提方法可行性和有效性。
1.1 對(duì)稱加密算法
對(duì)稱密碼體制又稱單鑰或私鑰或傳統(tǒng)密碼體制,是從傳統(tǒng)的簡(jiǎn)單換位-代替密碼發(fā)展而來的。對(duì)稱密碼體制的特點(diǎn)是加密和解密本質(zhì)上均采用同一密鑰,而且通信雙方都必須獲得這一密鑰,并保持密鑰的秘密[9-10]。對(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ì)
HEIAI算法由發(fā)送方A的簽名及加密過程和接收方B的解密和簽名驗(yàn)證過程組成。在發(fā)送方A進(jìn)行簽名和加密之前,加密算法先獲取當(dāng)前系統(tǒng)時(shí)間(格式:linux微秒數(shù),占用空間:8字節(jié)),然后將其追加到原始的明文M末尾形成新明文MI,之后進(jìn)行的簽名和加密等操作均對(duì)新明文MI進(jìn)行。HEIAI算法中所采用的摘要算法為SHA-1散列函數(shù)。生成的摘要信息H(MI)和新明文MI最終一并經(jīng)過AES算法加密。為增強(qiáng)AES密鑰的保密性,隨后再次使用RSA公鑰對(duì)AES的密鑰K加密。經(jīng)過如上的雙層保護(hù),進(jìn)一步增強(qiáng)了數(shù)據(jù)的保密性。同時(shí),所采用的簽名技術(shù)驗(yàn)證原始數(shù)據(jù)的完整性。算法流程圖如圖4所示。
圖4 HEIAI加密算法流程圖
發(fā)送方A加密過程如下:
1)發(fā)送方A在明文M末尾加入時(shí)間干擾信息I,生成帶干擾的新明文MI;
2)使用SHA-1散列函數(shù)計(jì)算獲得新明文MI的信息摘要H(MI);
3)采用RSA算法,利用發(fā)送方A的私鑰KPRA對(duì)消息摘要H(MI)進(jìn)行簽名,得到簽名的消息摘要D(H);
4)采用AES算法,利用密鑰K對(duì)新明文MI和消息摘要D(H)進(jìn)行加密,得到密文C;
5)再次采用RSA算法,使用接收方B的公鑰KPUB對(duì)AES的密鑰K加密形成Ck,保障密鑰K的安全性;
6)發(fā)送方A將密文C和Ck一起發(fā)送給接收方B。
接收方B解密和驗(yàn)證簽名的過程如下:
1)接收方B收到C和Ck后,先用自己的私鑰KPRB對(duì)Ck解密,得到AES密鑰K;
2)接收方B再通過密鑰K對(duì)密文信息C解密,得到干擾明文MI和消息摘要D(H);
3)接收方B用A的公鑰KPUA對(duì)D(H)進(jìn)行數(shù)據(jù)簽名驗(yàn)證,得到消息摘要H(MI);
4)同時(shí)接收方B也使用相同的SHA-1散列函數(shù)得出一個(gè)新的消息摘要H(MI)’。
5)接收方B對(duì)比H(MI)和H(MI)’,若兩者相同,說明簽名是真實(shí)有效,數(shù)據(jù)是完整的,此時(shí)去除干擾信息,提取出最初原文信息;否則說明簽名無效,數(shù)據(jù)被篡改或丟失,拒絕該簽名。
相比與其他加密方案,HEIAI結(jié)合傳統(tǒng)的混合加密算法,引入數(shù)字簽名技術(shù),克服了云存儲(chǔ)中的身份認(rèn)證問題;在加密時(shí)采用對(duì)稱密鑰加密,再用非對(duì)稱密鑰加密對(duì)稱密鑰,大大加快了加解密速度,滿足云存儲(chǔ)中對(duì)大數(shù)據(jù)加密的需求;采用消息認(rèn)證碼算法和時(shí)間干擾,進(jìn)一步提高了云存儲(chǔ)的安全強(qiáng)度。與同類算法相比,HEIAI算法具有更高的效率,更強(qiáng)的安全性,更適合于云存儲(chǔ)環(huán)境下巨大數(shù)據(jù)的傳輸和存儲(chǔ)。
2.2 算法安全性分析
2.2.1 密鑰長度
HEIAI算法是由AES和RSA共同構(gòu)成的集加密和身份驗(yàn)證于一體的混合加密算法,算法的密鑰長度取決于AES算法的密鑰長度。文中采用128位的AES密鑰和NIST推薦使用的3 072位RSA密鑰。對(duì)枚舉法攻擊來說,枚舉的空間將為達(dá)到2128,此空間對(duì)于當(dāng)今的計(jì)算機(jī)而言仍是巨大挑戰(zhàn)。
2.2.2 明文敏感性
HEIAI算法在明文敏感性上有顯著優(yōu)勢(shì)。對(duì)于普通的加密算法來說,如果密鑰不變,那么經(jīng)過加密獲得的密文也一定相同。但HEIAI算法在這點(diǎn)上表現(xiàn)完全不一樣。HEIAI算法因?yàn)樘砑恿水?dāng)前時(shí)間作為干擾信息,即使使用相同密鑰對(duì)相同信息進(jìn)行加密,所得到的密文也不一樣。因此,HEIAI加密算法在明文敏感性上表現(xiàn)較好,實(shí)驗(yàn)驗(yàn)證結(jié)果如表1所示:
表1 HEIAI明文敏感性
2.2.3 密鑰敏感性
從上小節(jié)HEIAI算法的明文敏感性分析中我們知道,因?yàn)楦蓴_信息的存在,HEIAI算法實(shí)際加密的明文隨時(shí)間一直在變動(dòng)。那么,密鑰的敏感性還受明文敏感性影響。因此HEIAI算法的密鑰敏感性要比常規(guī)RSA好,實(shí)驗(yàn)驗(yàn)證結(jié)果如表2所示:
表2 HEIAI密鑰敏感性
2.2.4 攻擊分析
HEIAI算法的安全性建立在AES和RSA的共同基礎(chǔ)上,因此算法安全度更高。對(duì)于選擇明文攻擊而言,由于本算法加入了干擾信息破解難度增強(qiáng)。攻擊者無法確定密文是否帶干擾消息,即使猜測(cè)帶有干擾消息也無法確定干擾消息的位置和格式。就算攻擊者拿到相同明文加密的密文也無法分析出這兩段密文對(duì)應(yīng)的明文是相同的。另外,如果攻擊者不能準(zhǔn)確分析出這些干擾信息,即使正確解密也難以還原出原始明文。同時(shí),本算法由于加入了簽名驗(yàn)證機(jī)制,能有效驗(yàn)證傳輸數(shù)據(jù)的完整性和不可抵賴性,能進(jìn)一步保證了云數(shù)據(jù)傳輸和存儲(chǔ)的安全。
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)的名稱空間和控制外部客戶訪問[11-12]。剩下的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 9種常見格式文件進(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)。
HEIAI的加密和解密主要由AES完成,因此我們首先將AES算法加入對(duì)比實(shí)驗(yàn)中。同時(shí),為進(jìn)一步驗(yàn)證HEIAI的性能,本文還將同類型的對(duì)稱加密DES算法加入對(duì)比實(shí)驗(yàn)中。
HEIAI、AES和DES 3種算法加密和解密所耗費(fèi)的時(shí)間分別如圖5和圖6所示。從兩幅圖中可以看出,文中所提出的具有身份認(rèn)證的帶干擾混合加密算法HEIAI的加解密時(shí)間開銷均與AES算法的加解密時(shí)間開銷相當(dāng),略高于后者,與設(shè)計(jì)預(yù)期相符。HEIAI設(shè)計(jì)思想是在AES算法的基礎(chǔ)之上加入了干擾信息和身份認(rèn)證技術(shù),因此時(shí)間開銷會(huì)有所增加。實(shí)驗(yàn)結(jié)果也表明,由干擾信息的和身份認(rèn)證技術(shù)的加入所帶來的加解密時(shí)間開銷較小,在可接受范圍之內(nèi)。此外,從圖5和圖6中還可看出,HEIAI算法的加密時(shí)間開銷遠(yuǎn)低于同類型對(duì)稱加密DES算法,這意味著相比DES算法,HEIAI算法更適合云存儲(chǔ)數(shù)據(jù)加密。對(duì)比圖5和圖6我們不難發(fā)現(xiàn),3種算法各自的加密和解密的時(shí)間基本相同,而同種算法的加解密時(shí)間與文件大小成正相關(guān),例如File4(格式:iso)與File5(格式:rar)分別對(duì)應(yīng)占用存儲(chǔ)空間最大和最小的文件,其加解密時(shí)間對(duì)應(yīng)最長和最短。通過以上分析表明,HEIAI算法在極大增強(qiáng)數(shù)據(jù)的保密性、完整性和不可抵賴性的同時(shí)較好保持了AES算法的高效性,能滿足云存儲(chǔ)數(shù)據(jù)加密需求。
圖5 HEIAI對(duì)比實(shí)驗(yàn)加密時(shí)間/ms
圖6 HEIAI對(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ù),提出一種具身份認(rèn)證的帶干擾混合加密算法,該算法通過在原始明文中加入干擾信息并結(jié)合AES和RSA算法優(yōu)勢(shì),進(jìn)一步保證了數(shù)據(jù)在傳輸存儲(chǔ)中的保密性、完整性和不可抵賴性,極大的提高了云存儲(chǔ)的安全性。
文中對(duì)云存儲(chǔ)數(shù)據(jù)加密相關(guān)背景做了簡(jiǎn)要介紹,提出了改進(jìn)方案,但在這項(xiàng)技術(shù)上仍有改進(jìn)空間,文中所提出的混合加密算法均是從不同角度結(jié)合已有基礎(chǔ)加密算法的改進(jìn),下步可以考慮從基礎(chǔ)加密算法內(nèi)部結(jié)構(gòu)的改進(jìn)入手,提升加密算法的效率和安全性。例如,可以通過改進(jìn)AES的輪函數(shù)來提升AES的加解密速度和安全性。除此之外,對(duì)云存儲(chǔ)當(dāng)前面臨的其他挑戰(zhàn),如云存儲(chǔ)服務(wù)的魯棒性、容災(zāi)備份等也將是云存儲(chǔ)下步研究方向。
[1]Miller M.Cloud computing[M].Beijing:Machinery Industry Press,2009.
[2]陳康,鄭緯民.云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀[J].軟件學(xué)報(bào),2009,20(5):1337-1348.
[3]徐小龍,周靜嵐,楊庚.一種基于數(shù)據(jù)分割與分級(jí)的云存儲(chǔ)數(shù)據(jù)隱私保護(hù)機(jī)制[J].計(jì)算機(jī)科學(xué),2013,40(2):98-102.
[4]馬瑋駿,吳海佳,劉鵬.MassCloud云存儲(chǔ)系統(tǒng)構(gòu)架及可靠性機(jī)制[J].河海大學(xué)學(xué)報(bào):自然科學(xué)版,2011,39(3):348-352.
[5]馮登國,張敏,張妍,等.云計(jì)算安全研究[J].軟件學(xué)報(bào),2011,22(1):71-83.
[6]鄒德清,金海,光衛(wèi)中,等.云計(jì)算安全挑戰(zhàn)與實(shí)踐 [J].中國計(jì)算機(jī)學(xué)會(huì)通訊,2011,7(12):55-61.
[7]Waters B.Efficient identity-based encryption without random oracles[C]//Advances in Cryptology:Proceedings of Eurocrypt 2005.Berlin:Springer-Verlag,2005:114-127.
[8]Gentry C.Practical identity-based encryption without random oracles[C]//Advances in Cryptology:Proceedings of Eurocrypt 2006.Petersberg,Russia,Berlin:Springer-Verlag,2006: 445-464.
[9]但光祥.云計(jì)算環(huán)境下混合加密算法研究與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2013.
[10]龍冬陽.網(wǎng)絡(luò)安全技術(shù)及應(yīng)用[M].廣州:華南理工大學(xué)出版社,2006.
[11]王彥明,奉國和,薛云.近年來Hadoop國外研究綜述[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(6):1-5.
[12]唐世慶,李云龍,田鳳明,等.基于Hadoop的云計(jì)算與存儲(chǔ)平臺(tái)研究與實(shí)現(xiàn)[J].四川兵工學(xué)報(bào),2014(8):97-100.
Research of mixed encryption algorithm in cloud storage
WANG Shuang,LU Yu,CHEN Li-yun
(Dept.of Information Engineering,Ordnance Engineering College,Shijiazhuang 050003,China)
In cloud storage,to meet the demands of confidentiality,integrity and non-repudiation in the process of data transmission and storage,we proposed a mixed encryption algorithmwith identity authentication and interference on the basis of the characteristics of cloud storage and traditional encryption algorithm of AES and RSA.We analyzed the security of the algorithm from various perspectives.Different algorithms were used to encrypt and decrypt multiple types of files on Hadoop platform and then we compared the encryption and decryption time of the algorithms.The results of the experiments show that the mixed encryption algorithm has significant advantages over the traditional encryption algorithms in cloud storage.
cloud storage;mixed encryption;encryption algorithm;security;hadoop
TN 918
A
1674-6236(2016)23-0054-04
2015-11-02稿件編號(hào):201511019
王 雙(1991—),男,四川達(dá)州人,碩士。研究方向:網(wǎng)絡(luò)信息安全。