趙廷彬 丁岳偉
摘 要:云存儲服務(wù)是云計算領(lǐng)域最基本的服務(wù),具備較大發(fā)展?jié)摿?,近年來成為研究熱門。由于云存儲安全技術(shù)是一些現(xiàn)有技術(shù)綜合體,數(shù)據(jù)可能出現(xiàn)泄露,導(dǎo)致用戶對數(shù)據(jù)存儲安全產(chǎn)生擔(dān)憂。以提高云存儲安全加密算法性能為目的,通過對傳統(tǒng)安全加密算法的研究及優(yōu)缺點分析,針對其缺點進(jìn)行優(yōu)化改進(jìn),以對稱加密算法DES和非對稱加密算法RSA為基礎(chǔ),充分發(fā)揮傳統(tǒng)加密算法優(yōu)勢,提出一種更加安全高效的交叉加密算法。在Hadoop平臺上對不同類型文件進(jìn)行加解密實驗,并與傳統(tǒng)安全加密算法進(jìn)行對比,結(jié)果表明,該算法更加安全高效。
關(guān)鍵詞:云存儲安全;交叉加密算法;Hadoop平臺
DOIDOI:10.11907/rjdk.181135
中圖分類號:TP309.7
文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2018)010-0204-05
英文摘要Abstract:Cloud storage service is the most basic service in the field of cloud computing,which has great potential for development and has become increasingly hot in recent years.Cloud storage security technology is a combination of existing technologies so that there exists possibilities of data leakage and there are many concerns about users′ data storage security.It is hoped to improve the performance of cloud storage security encryption algorithm through the study of the traditional security encryption algorithm and analysis of its advantages and disadvantages.Aiming at its shortcomings,we propose a more secure and efficient cross-encryption algorithm based on symmetric encryption algorithm DES and asymmetric encryption algorithm RSA,which gives full play to the advantages of these two traditional encryption algorithms.At last,the performance of this algorithm is verified on Hadoop platform.With this method,different types of files are decrypted and compared with the traditional secure encryption algorithm.The results show that this algorithm is more secure and efficient.
英文關(guān)鍵詞Key Words:cloud storage service; cross-encryption algorithm;Hadoop platform
0 引言
云存儲服務(wù)是最基本的服務(wù)[1],在云計算中占有重要位置。與傳統(tǒng)存儲服務(wù)相比,具有以下優(yōu)勢:①云端具有超大存儲空間和超強計算能力;②云存儲平臺可以給用戶提供更加穩(wěn)定、可靠、便利的服務(wù),用戶僅按需訪問數(shù)據(jù),不需要管理、維護數(shù)據(jù),也使服務(wù)提供商以更經(jīng)濟的方式向用戶提供更高效服務(wù);③由于云端資源比較集中,服務(wù)提供商能以更低維護成本更好地管理數(shù)據(jù),用戶只需支付相對較少的費用即可獲得更好的服務(wù)[2]。
云存儲安全技術(shù)是一些現(xiàn)有技術(shù)的綜合體[4],用戶在享用高效云存儲服務(wù)時,也擔(dān)心云端數(shù)據(jù)安全性[3]。近年發(fā)生了一些云存儲安全事件,例如蘋果的iCloud安全漏洞,引發(fā)了好萊塢艷照事件;CSDN、小米論壇、天涯等大型網(wǎng)站數(shù)據(jù)庫被竊取,造成數(shù)百萬用戶信息被泄漏;亞馬遜等電商的用戶賬號數(shù)據(jù)庫被盜,造成數(shù)千用戶直接經(jīng)濟損失;谷歌云平臺故障造成客戶信息泄露;微軟Hotmail出現(xiàn)數(shù)據(jù)庫腳本錯誤,大量賬號被刪除等[5],引發(fā)了大眾擔(dān)憂。
目前在云存儲數(shù)據(jù)安全上常用的加密算法有對稱加密算法和非對稱加密算法,其中對稱加密算法有AES、DES、RC-4、RC-5;非對稱加密算法有RSA、DSA、ECC[6]。云存儲安全技術(shù)研究日漸增多,文獻(xiàn)[7]使用安全傳輸協(xié)議保護數(shù)據(jù)機密性,文獻(xiàn)[8]提出了一種商用模型,數(shù)據(jù)存儲服務(wù)和數(shù)據(jù)加解密服務(wù)由不同云服務(wù)供應(yīng)商提供,文獻(xiàn)[9]指出在數(shù)據(jù)授權(quán)上嚴(yán)格使用規(guī)章制度訪問數(shù)據(jù),用戶數(shù)據(jù)被分區(qū)存儲于云端,如果能看到數(shù)據(jù)也只是加密數(shù)據(jù)的一部分。關(guān)于云存儲安全技術(shù)的研究已有了一定成果,但是以上傳統(tǒng)安全加密算法仍然存在缺陷。
因此通過改進(jìn)傳統(tǒng)算法,引入非對稱加密算法RSA增強算法安全性、增加RSA算法對DES密鑰的二次加密,利用分段加密提升解密時尋找分界點的難度,運用并行思想以及對稱加密算法效率高的特點提高加解密效率,設(shè)計了一種加解密性能更好的交叉加密算法(Cross-encryption Algorithm,CEA),能更好地為云存儲服務(wù),促進(jìn)云存儲服務(wù)的推廣。
1 傳統(tǒng)加密算法
傳統(tǒng)加密算法通常分為對稱加密和非對稱加密,兩者各有優(yōu)缺點。前者加密效率高,但安全性較低;后者在加密安全性上相對較高,但加密效率較低[10]。
1.1 對稱加密算法DES
常見的對稱加密算法有AES、DES、RC-4、RC-5、IDEA等,對稱加解密秘鑰均為k,算法執(zhí)行過程如圖1所示。
雖然AES算法的性能優(yōu)于DES[11],但是DES一直被更廣泛地應(yīng)用于多個行業(yè)領(lǐng)域。對稱加密算法又分為分組密碼算法和流密碼算法,DES屬于分組密碼算法,主要用于用戶敏感文件加密。DES加密算法秘鑰長度為64位,共8個字節(jié),每個字節(jié)的最后一位為奇偶校驗位,即秘鑰有效長度為56位。由于對稱秘鑰的特點,加密效率相對較高[12],但是和AES相比加密效率還有待提升。
1.2 非對稱加密算法RSA
常見的非對稱加密算法有RSA、DSA、ECC等,非對稱加密算法加解密秘鑰各自不同,加密公鑰為pk,私鑰為sk,加解密過程如圖2所示。
RSA是典型的非對稱加密算法[13]和公鑰加密算法,算法比較完善,既可以用于數(shù)據(jù)加密,又可以用于數(shù)字簽名。難以分解的大素數(shù)保證了算法的高安全性[14]。其實現(xiàn)原理比對稱加密原理簡單,可以分兩個階段理解,第一階段是產(chǎn)生秘鑰階段,第二階段是加解密階段,具體過程如下所示:
秘鑰產(chǎn)生階段:①隨機產(chǎn)生兩個未知大素數(shù)p,q;②計算n=pq,歐拉函數(shù)φ(n)=(p-1)(q-1);③隨機選擇一個滿足gcd(e,φ(n))=1的e作為公鑰,加密秘鑰為(e,n);④計算ed=1(modφ(n))的d作為私鑰,解密秘鑰為(d,n)。
加解密階段:①將明文分組并數(shù)字化,每個數(shù)字化分組明文長度不大于log n[15];②對每個明文分組m依次進(jìn)行加解密運算,使用公鑰e和待加密明文m進(jìn)行c=me(mod n)運算即得密文,使用私鑰d和待解密密文c進(jìn)行m=cd(mod n)運算即得明文。
由于RSA算法安全性非常高,所以選為CEA算法的一部分用以提高算法安全性。
2 云存儲安全交叉加密算法設(shè)計
2.1 交叉加密算法設(shè)計思路
交叉加密的重點是確定交叉規(guī)則,可根據(jù)DES和RSA加密效率確定規(guī)則。為了實現(xiàn)高效并行處理,加密效率高的算法應(yīng)對更多字節(jié)的文件進(jìn)行加密,理想做法是使兩種加密算法同時完成整個文件的加解密,因此使用RSA算法對DES的秘鑰進(jìn)行二次加密,其加解密流程如圖3所示。
因DES秘鑰長度相對較小,所以加解密時間消耗量較小,應(yīng)考慮該時間消耗,使實驗結(jié)果更加準(zhǔn)確。
2.2 交叉加解密算法設(shè)計
交叉加密算法的設(shè)計目標(biāo)是既提升算法安全性又提高加密效率,在加密效率方面優(yōu)于非對稱加密算法,更趨于甚至超過對稱加密算法。以兩種算法的加密效率為出發(fā)點,由于非對稱加密算法RSA的加密效率比對稱加密算法DES的加密效率低,所以對某一給定大小的文件進(jìn)行加密處理時,把對該文件以兩種算法的加密效率制定的即定規(guī)則劃分成N個加密片段,N通過加密文件大小M、以及在算法中設(shè)置一個10~20之間的隨機數(shù)R確定,計算方法如下:
N=M/R(1)
DES算法加密效率為EDES,RSA算法加密效率為ERSA,每個明文片段記為Wi(i =1,2,3,…,n),密文片段記為:Si(i=1,2,3,…,n),W1、W2為明文加密片段,S1、S2為密文加密片段,其比值關(guān)系如下:
W1/W2=S1/S2=ERSA/EDES (2)
加密效率由RSA和DES加密算法通過Hadoop平臺計算同一類型不同大小的文件確定,由于它們的加密效率不同,所以加密文件根據(jù)文件大小被劃分成兩部分進(jìn)行單獨加密,其中較小的文件部分由加密效率低的非對稱加密算法RSA加密,另一部分由加密效率高的對稱加密算法DES加密,保證兩種算法基本上能夠以相同時間完成各部分加解密,達(dá)到了并行加解密的效果,交叉加密算法加密過程如下:
①根據(jù)制定的即定規(guī)則對所要加密的文件W根據(jù)文件大小劃分成N個明文片段W1,W2,W3,…,Wn;
②通過該算法對各明文片段W1,W2,W3,…,Wn進(jìn)行加密運算,得到密文片段S1,S2,S3,…,Sn;
③把各密文片段S1,S2,S3,…,Sn按順序合并得到密文S。
交叉加密算法解密過程如下:
①將得到的密文S按照即定規(guī)則劃分成N個密文片段S1,S2,S3,…,Sn;
②通過該算法對各密文片段S1,S2,S3,…,Sn進(jìn)行解密運算,得到明文片段W1,W2,W3,…,Wn;
③對各明文片段W1,W2,W3,…,Wn合并最終得到明文W。
該算法并行加解密流程如圖4、圖5所示。
由于在加解密兩個過程的執(zhí)行過程中并行加入對稱加密算法DES,從而整體上提升了加解密效率。因此,該算法的設(shè)計既保證了安全性又能提高整體加密效率,加密效率將用實驗進(jìn)行驗證。
2.3 算法安全性分析
主要從DES、RSA算法安全性、由RSA算法進(jìn)行DES算法對稱密鑰二次加密以及交叉加密算法DES-RSA的交叉性3個方面分析交叉加解密算法的安全性。
(1)因為DES屬于對稱加密算法,使用對稱秘鑰進(jìn)行加解密,所以安全性相對較低;而RSA屬于非對稱加密算法,由于加解密秘鑰不同,且算法原理涉及大素數(shù)分解,使其安全性相對較高。所以考慮將兩種算法結(jié)合,提升安全性。
(2)在算法設(shè)計上,由于DES對稱加密算法安全性不高,所以利用非對稱加密算法RSA對DES的秘鑰進(jìn)行二次加密,這樣即使在數(shù)據(jù)傳輸過程中DES秘鑰被攻擊者截取也無濟于事,因為攻擊者并不知道RSA算法私鑰,無法獲得被RSA算法加密前的秘鑰,因此安全性上得到一定提升。
(3)交叉性的特點使算法安全性有質(zhì)的提升,因為CEA算法原理是對需加密的文件按照保密的即定規(guī)則進(jìn)行分段加密,所以攻擊者很難分清DES加密和RSA加密的分界點,破解難度很大。即使攻擊者能夠分別破解DES加密和RSA加密,也難以對破解得到的秘鑰進(jìn)行組合,獲得DES加密和RSA加密的完整秘鑰。因此,該算法具有較高安全性。
3 實驗結(jié)果分析
3.1 實驗環(huán)境與數(shù)據(jù)需求
實驗環(huán)境是在本地搭建的偽分布式Hadoop平臺[16],Hadoop版本為2.8.3,在此平臺上將大小相同但類型不同的文件以及大小不同但類型相同的文件進(jìn)行加解密實驗,并與傳統(tǒng)算法進(jìn)行對比。該實驗充分考慮了Hadoop平臺的架構(gòu)要求,以6臺服務(wù)器構(gòu)成一個小型集群,性能最佳的1臺作為master,其它5臺作為slaves。
由于實驗結(jié)果會受到一些隨機因素影響,例如計算機硬件性能,文件類型與大小等,本實驗重復(fù)了8次取其平均值作為實驗結(jié)果,以減少實驗過程中隨機因素影響,提高實驗結(jié)果準(zhǔn)確度。對類型不同、大小相同的文件F1、F2、F3進(jìn)行實驗時,實驗選取的文件類型為常見的rmvb、pdf和zip,大小均為64MB,如表1所示。
對相同類型、不同大小的文件F4、F5、F6進(jìn)行實驗時,選取的文件類型為rmvb,大小分別為64MB、32MB、16MB,如表2所示。
3.2 實驗步驟與結(jié)果
在搭建好實驗環(huán)境后,把需要的數(shù)據(jù)按照表1、表2要求準(zhǔn)備好,然后在Hadoop平臺上對其進(jìn)行加解密存儲,重復(fù)8次求平均加解密時間,時間單位設(shè)置為ms,具體步驟如下:
(1)在Hadoop平臺上用算法CEA對表1中文件(明文W)按照設(shè)計的規(guī)則進(jìn)行分段處理,得到W1,W2,W3,…,Wn,然后進(jìn)行加密得到S1,S2,S3,…,Sn,合并后得到密文S,求得3種算法加密效率的實驗結(jié)果,如圖6所示(橫坐標(biāo)代表加解密文件類型,縱坐標(biāo)代表加解密時間)。
(2) 對加密后的文件(密文S)進(jìn)行分段處理得到S1,S2,S3,…,Sn,進(jìn)行解密得到W1,W2,W3,…,Wn,合并后得到W,實驗結(jié)果如圖7所示。
(3)把表2中相同類型文件的大小調(diào)整到128MB、64M、32MB,同樣執(zhí)行8次,加密實驗結(jié)果如圖8所示,解密實驗結(jié)果如圖9所示。
3.3 實驗結(jié)果分析
從圖6、圖7可以明顯看出CEA算法對大小相同、類型不同的文件加解密效率高于DES算法和RSA算法,符合預(yù)期結(jié)果,因為CES算法在加解密過程中的并行性一定程度上彌補了文件分段造成的額外耗時以及RSA算法的低效率對交叉加密算法整體效率的影響;圖8、圖9是對類型相同、大小不同的文件加解密實驗結(jié)果,反映了算法加解密時間與文件大小成正比,對每個加密算法加密效率幾乎沒有影響,但CEA加密算法的加解密效率依然是3種加密算法中最高的,通過以上實驗結(jié)果可以看出總體上CEA加解密效率比傳統(tǒng)加密算法DES和RSA加密效率高;同時在算法設(shè)計上對非對稱加密算法RSA增加了RSA算法對DES密鑰的二次加密,利用分段加密大幅提升解密時尋找分界點的難度,所以算法CEA無論在安全性還是加解密效率上都有較大改進(jìn),實現(xiàn)了交叉加密算法CEA的設(shè)計目標(biāo)。
4 結(jié)語
本文分析了目前主要的云存儲安全技術(shù),介紹了對稱加密算法DES和非對稱加密算法RSA的原理及優(yōu)缺點,將兩種算法改進(jìn)后相結(jié)合,設(shè)計了一種交叉加密算法CEA,在Hadoop平臺上利用不同類型的文件進(jìn)行加解密實驗,驗證該算法加解密效率,并與傳統(tǒng)算法進(jìn)行實驗結(jié)果對比。結(jié)果表明,CEA算法在安全性和加密效率方面比傳統(tǒng)加密算法表現(xiàn)更好,所以CEA算法適用于云存儲服務(wù),但在算法交叉過程中可能存在其它干擾因素,后續(xù)將研究如何提高CEA性能強度,使其能夠更好地為云存儲服務(wù)。
參考文獻(xiàn):
[1] MALIK K R,CHAUDHRY M U,IQBAL M,et al.Data security and privacy in cloud computing:threat level indications[J].Science International,2014,6(8):6-11.
[2] BAI X.A dynamic risk and role-based access control model in cloud computing environment[C].Changsha:International Conference on Computer Engineering,Information Science and Internet Technology,2016.
[3] PEARSON S.Taking account of privacy when designing cloud computing services[C].Proceedings Of The 2015 ICSE Workshop On Software Engineering Challenges of Cloud Computing,2015:44-52.
[4] ZHANG X,DU H T,CHEN J Q,et al.Ensure data security in cloud storage[C].International Conference On Network Computing and Information Security,2016:284-287.
[5] GROSSMAN R,Gu Y,SABALA M,et al.Compute and storage clouds using wide area high performance networks[J].Future Generation Computer Systems,2015,25(2):179-183.
[6] GARG K,SHAH R.Enhanced security in cloud computing:from single to multiclouds[C].International Journal Of Engineering Research and Technology,2014,23(6):5-19.
[7] PRABHAKAR S,SWAMY C,KUMAR S R.A hybrid encryption algorithm based on DES and RSA in bluetooth communication[C].IEEE 2010 Second International Conference on Modeling,Simulation and Visualization Methods,2014:221-225.
[8] ZHENG Q,XU S.Fair and dynamic proofs of retrievability [C].Proceedings of the First ACM Conference on Data and Application Security and Privacy,2011:237-248.
[9] SHACHAM H,WATERS B.Compact proofs of retrievability [J].Journal of Cryptology,2013,26(3):442-483.
[10] WANG Q,F(xiàn)ANG C,LI J,et al.Enabling public verifiability and data dynamics for storage security in cloud computing [C].Proceedings of the 14th European Symposiumon Research in Computer Security,2009:355-370.
[11] 張煥國,馮秀濤,覃中平,等.演化密碼與DES的演化研究[J].計算機學(xué)報,2003,26(12):1678-1684.
[12] ABBADI I M,ALAWNEH M .A framework for establishing trust in the Cloud[J].Computers and Electrical Engineering,2012,38(5):1073-1087.
[13] 李云飛,柳青,李彤,等.一種可有效并行的RSA算法的研究[J].計算機應(yīng)用研究,2016,30(9):293-297.
[14] BOWERS K D,JUELS A,OPREA A.HAIL:A high-availability and integrity layer for cloud storage[DB/OL].https://www.researchgate.net/publication/220335595_HAIL_A_High-Availability_and_Integrity_Layer_for_Cloud_Storage
[15] ZHANG J H,Zhang N.Cloud computing-based data storage and disaster recovery[C].International Conference on Future Computer Science and Education,2015:629-632.
[16] 唐世慶,李云龍,田鳳明,等.基于Hadoop的云計算與存儲平臺研究與實現(xiàn)[J].四川兵工學(xué)報,2014(8):97-100.
(責(zé)任編輯:江 艷)