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