王繼紅
摘要 隨著云計(jì)算技術(shù)的日益普及,云儲存服務(wù)已得到普遍應(yīng)用。云計(jì)算環(huán)境下,如何保證用戶數(shù)據(jù)的隱私、數(shù)據(jù)的完整性以及數(shù)據(jù)的可控分享,一直是研究的熱點(diǎn)。針對這一問題,本文對密文訪問控制、模糊關(guān)鍵字檢索和數(shù)據(jù)完整性驗(yàn)證的經(jīng)典算法進(jìn)行了探討。
關(guān)鍵詞 云計(jì)算;數(shù)據(jù)安全;算法
中圖分類號 TP3 文獻(xiàn)標(biāo)識碼 A 文章編號 2095-6363(2016)14-0068-01
云計(jì)算是網(wǎng)格計(jì)算出現(xiàn)之后的又一種新的計(jì)算模式,或者說是一種網(wǎng)格計(jì)算的商業(yè)實(shí)現(xiàn)。由于具有超大規(guī)模、虛擬化、高可靠性、通用型、高可擴(kuò)展性、按需服務(wù)及其廉價(jià)等特點(diǎn),同時由于云計(jì)算服務(wù)壟斷在云計(jì)算服務(wù)提供商手中,因此,云計(jì)算環(huán)境下數(shù)據(jù)的安全已成為云計(jì)算研究領(lǐng)域關(guān)注的重點(diǎn)。
在云計(jì)算環(huán)境下,基于密碼學(xué)方法實(shí)現(xiàn)的數(shù)據(jù)訪問控制受到普遍關(guān)注,但受帶有時間或約束的授權(quán)、權(quán)限受限委托等問題的限制。采用某些方法,如面向用戶單獨(dú)驗(yàn)證的數(shù)據(jù)可檢索性證明(POR)方法、公開可驗(yàn)證的數(shù)據(jù)持有證明(PDP)方法等,云用戶只需下載很少數(shù)據(jù),便可以高置信概率判斷遠(yuǎn)端大規(guī)模數(shù)據(jù)的正確性和完整性,從而避免從云端下載大量數(shù)據(jù)而付出的巨大通信代價(jià)。
1云計(jì)算環(huán)境下數(shù)據(jù)安全關(guān)鍵問題的經(jīng)典算法
1.1密文訪問控制算法
1)基于公鑰算法的密文訪問控制算法。公鑰算法的基本原理是:存在加密和解密兩個一一映射的算法,即,R=E(s,KE),其中,KE為加密密鑰,s為明文,R為密文,E為將明文S采用加密密鑰KF加密為密文R的加密算法,明文s和密文R的長度是不同的;S=D(R,KD),其中,KD為解密密鑰,S為明文,R為密文,D為將密文R采用解密密鑰Kn解密為明文s的解密算法。數(shù)據(jù)發(fā)布者可以將訪問控制策略和數(shù)據(jù)一起發(fā)布到云存儲中。數(shù)據(jù)發(fā)布者采用授權(quán)用戶的公鑰(加密密鑰)對數(shù)據(jù)解密密鑰進(jìn)行加密,然后存儲于云端。授權(quán)用戶從云端取回密文后,采用其授權(quán)的私鑰(解密密鑰)來解密數(shù)據(jù)解密密鑰。該算法由于大數(shù)運(yùn)算的時間復(fù)雜度關(guān)系,實(shí)現(xiàn)起來較慢。
2)基于Hash算法的密文訪問控制算法。HASH算法的基本原理是:R=H(s)是一個多對一映射的算法,其中,S為明文,R為密文,H為將明文s唯一映射為密文R的算法,且S和R具有相同的長度。由于是多對一映射,不存在逆映射S=H-1(R)。該算法是通過構(gòu)建偏序的密鑰樹,使密鑰樹中每個節(jié)點(diǎn)的密鑰都能正向推出其子節(jié)點(diǎn)密鑰,但子節(jié)點(diǎn)密鑰不能反向推出其母節(jié)點(diǎn)的密鑰?;诖?,數(shù)據(jù)的加密可通過密鑰樹中不同節(jié)點(diǎn)的密鑰來實(shí)現(xiàn),從而賦予數(shù)據(jù)的不同訪問權(quán)限。該算法中的密鑰生成關(guān)系復(fù)雜,但密鑰管理體系的效率低下。
3)基于CP-ABE算法的密文訪問控制算法。該算法的訪問控制主要由系統(tǒng)參數(shù)的生成、私鑰的提取、用公鑰加密得到密文和訪問控制樹、用私鑰解密得到明文四個部分構(gòu)成。服務(wù)器生成公鑰PK和主密鑰MK后,對明文M進(jìn)行加密生成密文CT和訪問控制樹R。用戶通過輸入自己的屬性集S,生成其私鑰SK。對用戶的密鑰組件SK進(jìn)行訪問判定,最后由對稱密鑰算法AES對密文進(jìn)行解密,得到明文M。該算法的缺點(diǎn)是,對于高敏感度的訪問控制,計(jì)算復(fù)雜度特別龐大。
1.2支持密文的模糊關(guān)鍵字檢索算法
1)基于窮舉法的模糊關(guān)鍵字檢索算法。用戶事先為每個關(guān)鍵字構(gòu)造模糊關(guān)鍵字集合,然后根據(jù)構(gòu)造的關(guān)鍵字的模糊集合窮舉出所有可能的單詞,并計(jì)算出詞與詞之間的距離?;谶@種模糊關(guān)鍵字集合結(jié)構(gòu),加密云數(shù)據(jù)上的模糊關(guān)鍵字算法,然后實(shí)現(xiàn)。
2)基于通配符的模糊關(guān)鍵字檢索算法。采用WFSC技術(shù),通過通配符的方式來產(chǎn)生模糊關(guān)鍵字集合,用一個通配符來代替列舉出所有的字符,然后通過通配符的個數(shù)來標(biāo)識文檔的相似度并進(jìn)行排序,最后將進(jìn)行排序的密文返回給用戶。
3)基于字典的模糊關(guān)鍵字檢索算法。采用DFSC技術(shù),把一個字典作為模糊關(guān)鍵字集合,所有的模糊關(guān)鍵詞都屬于這個字典。用這個字典來限制模糊關(guān)鍵字集合的規(guī)模。在加密云環(huán)境下,該算法利用基于DFSC的模糊關(guān)鍵字集合構(gòu)造加密文件,在相同的條件下,DFSC方案的索引規(guī)模更小。
1.3數(shù)據(jù)完整性驗(yàn)證的算法
1)基于哈希樹的數(shù)據(jù)完整性驗(yàn)證算法。基本思想是用戶建立一個樹形完整性檢測結(jié)構(gòu)(IC-樹),并對需上傳云端的數(shù)據(jù)文件設(shè)置一個隨機(jī)索引,根據(jù)隨機(jī)索引在IC-樹的對應(yīng)節(jié)點(diǎn)存儲該數(shù)據(jù)文件的校驗(yàn)值。該算法在存儲遠(yuǎn)端數(shù)據(jù)的常量級校驗(yàn)信息時,用戶可以常量級的網(wǎng)絡(luò)通信量和計(jì)算量驗(yàn)證數(shù)據(jù)的完整性。
2)基于BLS短簽名和雙線性對的數(shù)據(jù)完整性驗(yàn)證算法。該算法是一種基于改進(jìn)的BLS短簽名,以雙線性對為驗(yàn)證手段,在沒有第三方參與情況下實(shí)現(xiàn)完整性檢測的算法。即用戶選擇一個隨機(jī)數(shù)作為其私鑰,并計(jì)算出公鑰,然后用私鑰對每個信息塊簽名,然后將簽名集合、樹根簽名和信息構(gòu)成的集合發(fā)送給服務(wù)器進(jìn)行完整性檢測;用戶構(gòu)建一個整數(shù)集合,對于集合中的每個元素,均選擇一個相應(yīng)的隨機(jī)整數(shù),組成一個“查詢”二元組,該“查詢”二元組為需查詢信息塊中的某個信息;然后將該查詢信息發(fā)送給服務(wù)器進(jìn)行完整性查詢;收到用戶發(fā)送的“查詢”請求后,服務(wù)器通過計(jì)算,得出一個完整性證明;收到服務(wù)器返還的完整性證明,用戶根據(jù)收到的信息計(jì)算根節(jié)點(diǎn),并根據(jù)公司判斷通過計(jì)算根節(jié)點(diǎn)值于本地存儲的根節(jié)點(diǎn)值是否相符,從而驗(yàn)證數(shù)據(jù)的完整性。該算法可以快速實(shí)現(xiàn)遠(yuǎn)程、動態(tài)的對象數(shù)量的完整性檢測,并能防止用戶的隱私數(shù)據(jù)被竊取。
2結(jié)論
云計(jì)算環(huán)境下的數(shù)據(jù)安全是當(dāng)前制約云計(jì)算發(fā)展的關(guān)鍵因素。本文介紹了云環(huán)境下用于保護(hù)數(shù)據(jù)安全的密文訪問控制、支持密文的模糊關(guān)鍵字檢索和數(shù)據(jù)完整性驗(yàn)證技術(shù)的經(jīng)典關(guān)鍵算法。本文提到的經(jīng)典關(guān)鍵算法只是針對現(xiàn)階段云計(jì)算存在的問題而提出的解決方案,這些算法在一定程度上推進(jìn)了云計(jì)算技術(shù)的進(jìn)步,但對云計(jì)算中出現(xiàn)的新問題還沒有進(jìn)行考慮。因此,這些算法在面臨云計(jì)算的新問題時有著很大的改進(jìn)空間。endprint