摘 要: 提出一種有效提高加密云數據搜索效率的方法,通過制定搜索相關文件的標準并返回匹配文件,可以部分實現云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算" title="云計算">云計算的數據安全托管服務。相關實驗通過與可搜索對稱加密技術進行對比和分析,說明該方法具有更好的高效性和魯棒性。
關鍵詞: 氣象業(yè)務系統;云計算;加密數據保護;可搜索對稱加密技術;搜索效率
隨著氣象業(yè)務的數字化和網絡化程度不斷發(fā)展,并行計算、分布式計算、網絡存儲等新技術方法已經得到廣泛利用。但是主流的氣象業(yè)務仍然基于傳統的數據庫管理系統,隨著數據的增長需要購置大量的存儲空間和處理設備作為支撐。相應的各級氣象部門都需要對其進行維護管理,為此投入大量的人力物力。
云數據庫是一種由大量計算節(jié)點構成的并行處理方式,這種方法突破了傳統方式的瓶頸,解決了硬件空間有限和軟件費用高昂的問題。云計算必將成為未來氣象業(yè)務數據管理的最佳解決方案。但是由于氣象業(yè)務數據的特殊性,導致在使用云計算帶來便利的同時,也面臨著數據泄露等風險,基于云計算的查詢內容及數據的保護將成為利用云計算開展氣象業(yè)務研究的關鍵問題之一[1]。
基于云計算的數據保護方法通常采用分發(fā)前進行加密,在用戶端進行查詢時發(fā)送匹配的數據文件的方法,如圖1所示。數據擁有者通過對原始文件進行索引和加密后分發(fā)到云計算的服務器上;用戶端則通過終端對服務器上的索引進行檢索,服務器對其返回匹配的文件加密,如圖2所示[2]。這樣的方式在數據文件過大時可能會產生分發(fā)困難;此外,更多的用戶只希望檢索某些特定數據文件,一般通過關鍵字進行選擇性搜索,但是這種純文本搜索方法無法對云服務器上的加密云數據進行有效搜索[3-4]。
本文提出一種有效提高加密云數據搜索效率的方法,制定了一種搜索相關文件的標準,這種標準可以在按照關鍵字進行排名搜索的同時保護云數據不被泄露,部分實現云計算的數據安全托管服務。通過實驗及其結果與可搜索對稱加密技術進行對比和分析,可以認為本文提出的新方法具有更好的高效性和魯棒性。
1 云計算的概念及其在氣象業(yè)務中的應用
云計算是在處理器技術、分布式存儲技術、并行處理和寬帶互聯網技術高速發(fā)展的環(huán)境下產生的以基礎架構共享來實現的一種新型技術[5-6]。其技術核心為超大規(guī)模的分布式環(huán)境下的數據存儲和網絡服務,通過分布式的大規(guī)模集群和服務器虛擬化軟件搭建來實現。每個“云”包括幾十萬臺、甚至上百萬臺電腦,“云”中的資源可以無限擴展,并且可以隨時獲取?;跉庀髽I(yè)務的云計算使客戶通過遠程存儲云數據實現氣象數據的資源共享,并通過配置獲得高質量的氣象業(yè)務應用和服務。通過這種新的計算模式可以在如下方面對氣象業(yè)務獲得改進和提高[7-9]:
(1)數據存儲和采集
通常針對不同氣象業(yè)務和數據需要提供多臺不同的專用服務器,但在運行過程中每臺服務器并非同時進行數據存儲和處理,造成許多資源的閑置和浪費;通過建立氣象業(yè)務系統的私有云可以實現云數據和資源在各級氣象部門內部及與總部的共享訪問。
(2)遠程數據查詢和訪問
通過云計算的方式可以實現對存放在工作場所的氣象數據的遠程訪問,用戶只需通過認證就可以對氣象數據進行不同權限的處理。
?。?)氣象數據預報
通過云計算可以整合分布在全國氣象部門網絡中的數據資源和計算資源等,提升整體系統的計算能力和使用效率,從而獲得更加精確的氣象預報數據。
2 一種改進的可搜索對稱加密方案
云計算應用于氣象數據業(yè)務時的關鍵問題在于:用戶在此條件下對數據不進行直接操作和控制,傳統的數據加密算法不能被直接采用。而針對存儲數據進行數據安全檢查時,也無法掌控全局數據。此外還特別需要針對敏感氣象數據進行研究,在保持更新頻率的情況下保證數據的安全性和準確性[10]。
傳統的基于云計算的數據保護方法主要通過分發(fā)前對數據加密,這種加密方案支持對加密數據通過關鍵字進行搜索,其問題在于,這種技術只支持布爾搜索,沒有捕獲任何數據文件的相關性。
2.1 模型定義
云數據托管服務涉及三個不同的主體:擁有者O、用戶U、云服務器C。數據擁有者具有n個數據文件F=(F1,F2,…,Fn),擁有者希望對這些文件進行加密分發(fā)的同時仍可對其進行有效的數據查詢。為此首先需要根據m個不同的關鍵字W=(w1,w2,…,wm)建立并存儲一個安全的可查詢索引I。當需要對關鍵字w進行查詢時,授權用戶向云服務器C提交一個搜索請求,云服務器接收到請求后對其進行響應并返回相應的文件內容。
2.2 可搜索對稱加密方案
可搜索對稱加密SSE(Searchable Symmetric Encryption)技術允許數據的擁有者以加密方式分發(fā)數據,同時保持對加密數據的搜索能力??伤阉鲗ΨQ加密技術的基本策略包括初始化階段和搜索階段。
搜索階段:
對于感興趣的關鍵字w定義T=(πx(w),f(w)),通過πx(w)定位與索引匹配的列表并用f(w)解密,并將與F(w)相關的文件及其關聯的已加密相關得分一起發(fā)送;通過關鍵字對相關得分解密,從而得到排名搜索結果。
上述方法能夠很好地滿足可搜索對稱加密算法對安全保證的要求,但由于排名在用戶端完成,需要付出很大的計算代價并進行后處理,發(fā)送全部搜索結果也會占用很大帶寬,并且這種方法使得服務器可以保留搜索到的文件和關鍵字之間的信息。
2.3 改進的可搜索對稱加密方案
為了使得服務器在沒有先驗知識的情況下快速獲得搜索排名,提出一種改進的可搜索對稱加密方案,其基本策略如下:
搜索階段:
首先對于感興趣的關鍵字w定義T=(πx(w),f(w)),云服務器通過πx(w)定位與索引匹配的列表, 云服務器獲得文件Fi,j的ID及其關聯的已加密相關得分Score(εnew(Scoreij))發(fā)送;對已加密相關得分解密,從而得到排名搜索結果。
3 新方案性能評估
本節(jié)對新方案的安全保障性能進行分析和評估,在此過程中需要保證云服務器沒有對數據或搜索關鍵字進行關聯學習。實驗部署在自行研發(fā)的氣象數據內部實驗平臺上,該平臺為基于內網的面向單位全體人員的云計算環(huán)境,部署在20臺服務器上。從理論上而言根據上一節(jié)提到的新方案可以獲得更加隨機分布的加密值,可以降低被截獲后解密的概率。圖3(a)、3(b)為新方案對同一關鍵字“Temperature”采用不同的隨機密鑰得到的加密相關得分對比,由圖中可以看出,新方案使得不同的隨機密鑰對應的加密相關得分的分布產生明顯變化,進一步降低加密數據被截獲后解密的可能性。
根據本文第2節(jié)的內容可知,新方案的時間效率與相關分數域范圍參數M和加密得分范圍參數R有關,圖4給出新方案下50次試驗的時間效率測量平均結果,由圖4可以看出,隨著相關分數域范圍參數M的增加,所付出的時間也有所增長;同時隨著加密得分范圍參數R的增長,所付出的時間代價減少;包括隨機密鑰產生在內的時間代價范圍在0.05 s~0.45 s之間,說明本方案具有效率較高的特性。
本文提出了一種改進加密云數據搜索效率的方法,通過制定搜索相關文件的標準并返回匹配文件,可以部分實現云計算的數據安全托管服務。相關實驗通過與可搜索對稱加密技術進行對比和分析,說明新方法具有更好的高效性和魯棒性。下一步將改進該方案中運算速度,使之支持更大規(guī)模服務器集群的云計算環(huán)境,同時進一步研究加密數據排序問題。
參考文獻
[1] 張潔.云計算的發(fā)展前景以及安全問題[J].信息與電腦,2012(1):25-26.
[2] 黃汝維,桂小林,余思,等.云環(huán)境中支持隱私保護的可計算加密方法[J].計算機學報,2011,34(12):2391-2402.
[3] Chang Y C, MITZENMACHER M. Privacy preserving keyword searches on remote encrypted data[C]. in Proc. of ACNS′05, 2005.
[4] CURTMOLA R, GARAY J A, KAMARA S, et al. Searchable symmetric encryption: improved definitions and efficient constructions[C]. in Proc. of ACM CCS′06, 2006.
[5] GOLDREICH O, OSTROVSKY R. Software protection and simulation on oblivious rams[J]. Journal of the ACM, 1996,43(3):431–473.
[6] 劉鵬.云計算[M].北京:電子工業(yè)出版社,2010.
[7] KAMARA S, LAUTER K. Cryptographic cloud storage[C]. Proceedings of Financial Cryptography: Workshop on Real-Life Cryptographic Protocols and Standardization 2010, January 2010.
[8] REN K, LOU W, KIM K, et al. A novel privacy preserving authentication and access control scheme for pervasive computing environment[J]. IEEE Transactions on Vehicular Technology, 2006,55(4):1373-1384.
[9] BONEH D, WATERS B. Conjunctive, subset, and range queries on encrypted data. Proceedings of TCC 2007[C]. Lecture Notes in Computer Science 4392, 2007.
[10] SHI E, BETHENCOURT J, CHAN T-H. H, et al. Multi-dimensional range query over encrypted data[C]. Proceedings of IEEE Symposium on Security and Privacy, 2007.