摘 要:存儲在云端服務(wù)器中的敏感數(shù)據(jù)的保密和安全訪問是云存儲安全研究的重要內(nèi)容。針對真實(shí)的云存儲環(huán)境中云服務(wù)提供商不可信的情況,采用同態(tài)加密算法,提出了一種安全、準(zhǔn)確性高的面向云存儲密算的法。與現(xiàn)有算法相比,該算法在進(jìn)行密文檢索時不需要用戶上傳密鑰,并且極大地提高了密文檢索的準(zhǔn)確性。
關(guān)鍵詞:云存儲;同態(tài)加密算法;密文檢索
中圖分類號:TP309.7
隨著信息數(shù)據(jù)量的急速增長,信息數(shù)據(jù)的存儲和管理都變得越來越困難。釆用傳統(tǒng)的本地存儲策略己經(jīng)逐漸難以滿足人們對信息的存儲和管理需要,而云存儲技術(shù)的提出,成為了一種解決信息數(shù)據(jù)存儲和管理的有效途徑。但是大多數(shù)云存儲平臺忽視了用戶數(shù)據(jù)的安全性,將用戶的信息未經(jīng)任何加密處理直接存放在云存儲平臺上,很容易造成用戶數(shù)據(jù)的泄露,云存儲的安全問題變得十分重要。另外,當(dāng)保存在云服務(wù)器端的密文數(shù)據(jù)發(fā)展到了一定的規(guī)模時,對密文數(shù)據(jù)的有效檢索將是一個亟待解決的問題,傳統(tǒng)的信息檢索技術(shù)已經(jīng)難以滿足云存儲環(huán)境下海量數(shù)據(jù)檢索的需要,云端加密數(shù)據(jù)的有效檢索成為當(dāng)前亟待解決的重要研究課題之一。
為了解決上述問題,文獻(xiàn)提出一個基于云存儲的文檔加解密及密文檢索算法,該算法允許用戶將密鑰存儲在本地,服務(wù)器上不會存儲用戶擁有的密鑰。用戶將文檔加密后上傳到服務(wù)器,當(dāng)用戶想要解密文檔時,首先從云端下載加密后的文檔,然后對文檔進(jìn)行解密后得到明文。當(dāng)用戶需要對存儲在云端加密文檔進(jìn)行檢索時,不需要上傳密鑰到服務(wù)器,從而保證了在云存儲平臺不可信的情況下用戶數(shù)據(jù)的安全性。
1 現(xiàn)有的同態(tài)加密方案及其局限性
1.1 DGHV方案和CAFED方案
DGHV方案和CAFED方案適用于服務(wù)器可信的情況下,因?yàn)槭褂迷撍惴〞r,在用戶請求服務(wù)器對關(guān)鍵詞進(jìn)行檢索的時候,用戶必須將加密密明P發(fā)送給服務(wù)器。這樣對于服務(wù)器而言,用戶存儲的密文數(shù)據(jù)將是完全透明的。若將該算法應(yīng)用于服務(wù)器不可信的云存儲系統(tǒng)中,用戶的存儲在服務(wù)器上的信息很有可能被泄露,信息的安全性得不到保障。
1.2 ADC方案
ADC方案在DGHV方案和CAFED方案的基礎(chǔ)上做了進(jìn)一步的改進(jìn)。用戶請求對關(guān)鍵詞進(jìn)行檢索時,不需要上傳加密密鑰P。但ADC方案有一個巨大的缺陷,那就是只有當(dāng)檢索詞與加密明文段完全相同時,ADC提出的檢索方法才有效,這導(dǎo)致在檢索的過程中存在以下兩個問題:(1)當(dāng)檢索詞只是加密明文段的一部分時,檢索結(jié)果將顯示檢索詞不存在,這顯然與事實(shí)不符(2)由于在實(shí)際的檢索情況下,檢索詞比較短,這也就限制了加密明文段的長度,大大增加了關(guān)鍵字被分割在多個加密明文段中的概率,此時該檢索方法也將失效。這些都導(dǎo)致了ADC提出的密文檢索方法實(shí)用性很低。
2 本文提出的方案
2.1 加密過程
首先將明文進(jìn)行比特分組(分組長度可以根據(jù)安全需求來確定),然后對每個明文分組mi做加密運(yùn)算,對明文的加密過程分為如下幾步:(1)選取隨機(jī)產(chǎn)生的安全大素數(shù)P,選取隨機(jī)產(chǎn)生的安全大素數(shù)Q(Q的長度>P的長度>明文分組長度);(2)把消息M劃分成長度為L的明文分組M=m1m2m3…mi;(3)使用加密算法ci=mi+P+P*Q,計算出密文C=c1c2c3…ci;(4)將密文消息C和安全大素數(shù)Q發(fā)送給服務(wù)器。
2.2 解密過程
(1)用戶收到密文后,將密文消息 后,對密文消息進(jìn)行分組,得到C=c1c2c3…ci;(2)使用密銅P和解密算法mi=cimodQ,計算mi;(3)得到明文消息M=m1m2m3…mi;
2.3 密文檢索過程
本文的算法對關(guān)鍵字Kindex的檢索過程如下:(1)用戶用加密算法Cindex[j]=mi+p(x,y),Cindex[j+1]=mi+p(x,y)+1對mi進(jìn)行加密,其中p(x,y)指的是截取P的第x位到第y位生成的一個大整數(shù),加密的結(jié)果將得到一個數(shù)組Cindex,記錄Cindex[j+1]=mi+p(x,y)+1是為了剔除前一個運(yùn)算造成的進(jìn)位誤差;(2)服務(wù)器接收到檢索詞密文信息Cindex,然后從存儲密文的文件中讀取密文信息C=c1c2c3…ci;(3)服務(wù)器使用檢索算法di=cimodQ,然后以字符串的方式統(tǒng)計Cindex在di中出現(xiàn)的次數(shù),這樣不僅能實(shí)現(xiàn)對加密后的信息進(jìn)行搜索,同時可以統(tǒng)計出檢索詞在加密后的文本中出現(xiàn)的次數(shù)。
3 方案特點(diǎn)
3.1 文檔檢索的安全性
與其他的同態(tài)加密方法相比,如DGHV算法和CAFED算法,在用戶請求服務(wù)器對關(guān)鍵詞進(jìn)行檢索的時候,用戶必須將加密密明P發(fā)送給服務(wù)器。這樣對于服務(wù)器而言,用戶存儲的密文數(shù)據(jù)將是完全透明的。若將該算法應(yīng)用于服務(wù)器不可信的云存儲系統(tǒng)中,用戶的存儲在服務(wù)器上的信息很有可能被泄露,信息的安全性得不到保障。本文采用的文檔檢索方案,不需要使用密鑰P,從而可以保證在服務(wù)器端不可信的情況下用戶數(shù)據(jù)的安全性。
3.2 密文檢索的準(zhǔn)確性
與其他的密文檢索算法相比,本文提出的密文檢索實(shí)現(xiàn)的方式大幅提高了檢索結(jié)果的準(zhǔn)確性。其他的一些密文檢索算法,ADC加密算法,該算法原本的密文檢索存在嚴(yán)重的缺陷,只有當(dāng)加密的密文段對應(yīng)的明文和檢索詞完全相同時才能確定加密文檔中存在檢索詞。例如當(dāng)明文段mi=“我愛你中國,我愛你中國,美麗的中國”,當(dāng)檢索詞為“中國”時,該算法的檢索結(jié)果是明文段mi與“中國”不相等,從而無法檢測到mi中包含“中國”。而我們采用的檢索詞加密以及密文搜索方法可以解決這個問題,并且可以統(tǒng)計出明文中包含的檢索詞“中國”的個數(shù),而且沒有檢索詞長度必須要等于明文段長度的限制。
4 結(jié)束語
本文提出一種安全云存儲系統(tǒng)實(shí)現(xiàn)方案,該方案采用同態(tài)加密算法來實(shí)現(xiàn),包括文檔加密、文檔解密以及加密文檔搜索等三個核心部分。與其他的同態(tài)加密算法相比,該方案在密文檢索的過程中不需要用戶上傳密鑰,保證了在云端服務(wù)器端不可信的情況下用戶數(shù)據(jù)的安全性。其次,該算法極大地提高了加密文檔搜索的準(zhǔn)確性,檢索的過程中,在不對加密文檔進(jìn)行解密的情況下,不僅可以發(fā)現(xiàn)一個文檔中是否包含檢索詞,同時可以統(tǒng)計出文檔中包含的檢索詞的個數(shù)。希望本文提出的面向云存儲的加密方案能對云存儲加密特別是在密文檢索方面能起到一定的推動作用。
參考文獻(xiàn):
[1]王映康,羅文俊.云存儲環(huán)境下多用戶可搜索加密方案[J].電力科學(xué),2012(09).
[2]齊哲.基于云存儲的密文檢索研究和實(shí)現(xiàn)[D].北京郵電大學(xué),2013(01).
[3]張雪嬌.基于整數(shù)上同態(tài)加密的云存儲密文檢索系統(tǒng)[D].中國海洋大學(xué),2013.
[4]董勇,謝雪峰,鄭瑾.文檔安全防泄漏系統(tǒng)的研究與實(shí)現(xiàn)[J].電力信息化,2013(01).
[5]梅凱珍,李永忠.基于過濾驅(qū)動的局域網(wǎng)透明文件安全加密方法[J].計算機(jī)技術(shù)與發(fā)展,2012(04).
[6]蔡洪民,伍乃騏,胡奕全.分布式文檔管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2010(06).
[7]譚武征.云安全存儲解決方案[J].信息安全與通信保密,2012(11).
[8]陳燕俐,楊庚,陳軍軍.面向云存儲的安全密文訪問控制方案[J].南京郵電大學(xué)學(xué)報(自然科學(xué)版),2013(05).
作者單位:四川大學(xué) 軟件學(xué)院 軟件工程專業(yè),成都 610200