歐陽應龍,朱 軍,晏巢淞
(1. 喬治華盛頓大學工程與應用科學學院,美國 華盛頓特區(qū) 20052;2. 哈爾濱工程大學計算機科學與技術學院,黑龍江 哈爾濱 150001;3. 華盛頓圣路易斯大學奧林學院,美國 密蘇里州圣路易斯市 63130)
物聯網內包含大量的智能終端,可利用繁雜的信息通信手段將獲取的數據傳輸到能夠對其進行存儲與處理的數據中心[1]。但網絡的日漸開放使物聯網在通信過程中面臨巨大的安全威脅,易造成網絡波動大、用戶隱私泄露等問題。因此為物聯網數據提供安全保障尤為重要。密碼技術是數據安全保護的基礎[2],屬性基加密方案能夠完成數據的細粒度訪問控制,通過該技術加密物聯網數據能極大地提升物聯網通信安全性。
該研究課題引起許多相關專家學者的關注,如趙建等人[3]和閆璽璽等人[4],分別使用理想格與區(qū)塊鏈技術完成物聯網數據屬性基加密,雖然兩種方法均具有較好的加密效果,但需占用較多資源,且對嚴重攻擊行為的抵抗能力較弱。
為此,本研究提出基于Greenplum數據庫的物聯網數據屬性基加密仿真方法。Greenplum數據庫具有優(yōu)異的大規(guī)模數據并行處理能力,是最尖端的分布式開源數據庫技術之一。通過Greenplum數據庫優(yōu)化物聯網數據查詢,以提高查詢效率,采用包含隱藏訪問結構的高效密文策略(EHAS-CP-ABE)實現查詢數據屬性基加密。
2.1.1 代價模型
Greenplum數據庫可對代價最小的查詢方案進行檢索,本文使用Greenplum數據庫實現物聯網數據查詢優(yōu)化,能極大地提升物聯網數據查詢能力,從而強化物聯網數據屬性基加密性能。該方法在利用查詢語句的邏輯產生樹之后,對各查詢方案的代價進行預測,最后的物理執(zhí)行策略為其中具有最小代價的路徑[5]。由此可見,該方法的關鍵環(huán)節(jié)之一為預測代價。本文的查詢代價模型是在深入研究分布式數據庫查詢代價構成的基礎上設計得到,使用該模型可以在未執(zhí)行任務時,預測出實現整個任務的總代價。
通常,使用式(1)描述集中式數據庫的總查詢代價
Ctotal=CCPU+CI/O
(1)
式內,CI/O為I/O代價;CCPU為CPU代價。
通過節(jié)點間的相互配合能實現分布式數據庫的整個查詢工作,使用式(2)描述該數據庫的總查詢代價
Ctotal=CCPU+CI/O+Ctrans
(2)
式內,Ctrans代表通信代價,由節(jié)點間的交互形成。
使用式(3)預估通信代價
Ctrans(X)=C1·X
(3)
式內,C1為常量系數。
1)相關參數
通常情況下,分布式數據庫中包含可預估代價的數據表的統計信息,其一般利用數據字典進行保存,并為查詢優(yōu)化器提供使用權限。預估代價的統計信息能由Greenplum數據庫的數據字典內獲取。本文設計新代價模型,增加考量數據傳輸代價,以優(yōu)化Greenplum數據庫預估代價中對該代價的忽視[6,7]。對于數據字典,V(a,R)、|R|表示需從中采集的參數,其內,關系和屬性分別用R、a描述;R內a包含不同值的數量用V(a,R)描述;R的元組數用|R|描述。
2)代價估計
設置連接用S=R1joinR2表示,兩關系表分別為R1、R2。數據傳輸代價用Costtrans(S)表示;連接形成的數據量用Costjoin(S)表示;在此基礎上按照式(4)預估該連接的代價
Costtotal(S)=Costtrans(S)+Costjoin(S)
(4)
(a)數據傳輸代價:由需要連接的關系表規(guī)模決定。如果數據傳輸代價小于CPU數據處理代價,則物聯網具有極快的傳輸速率[8]。設置權值ω于數據傳輸代價中,具體用式(5)描述,以對連接的代價進行統一計算
Costtrans(S)=ω*(|R1|+|R2|)
(5)
(b)連接形成的數據量:其與某連接及其下一個連接的代價呈正相關,所以連接代價為其形成的數據量。根據式(6)計算S=R1joinR2中屬性包含不同值的數量
(6)
兩表的公共屬性集合用Attr描述,使用式(7)描述連接形成的數據量
(7)
通過連接樹描述多表連接查詢執(zhí)行計劃。連接樹節(jié)點用Si表示,且i=1,2,…,n-1,其能對連接關系進行表示。該樹的全部內節(jié)點用S表示,任意查詢計劃以S的代價和作為總代價。上述執(zhí)行計劃的代價模型如下所示
(8)
2.1.2 基于蟻群算法的代價模型尋優(yōu)方法
1)創(chuàng)建蟻群算法模型
將蟻群算法引入物聯網數據查詢優(yōu)化問題中,通過搜索最優(yōu)連接順序,得到最佳查詢計劃,提高物聯網數據查詢效率。
(9)
式內,期望的重要性用β(β≥0)描述;軌跡的重要性用α(α≥0)描述;接下來k準許選取的關系集合用allowedk={0,1,…,n-1}-tabuk表示。k經過的關系用tabuk(k=1,2,…,m)記錄,可根據進化過程完成其動態(tài)更新。之前殘留的信息會伴隨時間的流逝緩慢消失,軌跡持久性用ρ(0≤ρ<1)描述;信息素衰減度用1-ρ表示。每條路徑的信息量需在各螞蟻訪問完全部關系之后(結束一個循環(huán)),使用式(10)~式(12)進行更新
τij(t+n)=ρ·τij(t)+(1-ρ)·Δτij
(10)
(11)
(12)
式內,螞蟻殘留軌跡數目用常數Q展現;螞蟻k經過的路徑總長度用Lk描述。以給定循環(huán)次數或者進化趨勢不顯著作為循環(huán)停止條件[9,10]。
2)算法實現
下述為使用蟻群算法對代價模型進行尋優(yōu)的過程:
(a)編碼。對m個基關系序號進行查詢,最后形成的連接路徑長度等于m。
(b)初始化參數。對算法各參數與每個表之間的信息素進行初始化操作。將停止條件的循環(huán)次數設定為N。
(c)起始位置初始化。通過隨機形式,將獲取的表t(t∈(1,2,…,m))當作各螞蟻連接路徑的初始位置。
(d)若某關系序號和目前關系存在邊連接,并不包含于有序串中,則將其分配至集合S內。
(e)集合內未被選擇的關系和目前形成連接的代價值需使用式(7)進行計算,接下來關系的連接幾率需用式(9)計算得到,分配此關系的編號至有序串。
(f)如果有序串內包含全部關系,該螞蟻查找路徑終止;如果不滿足上述條件,返回至(d)。
(g)使用式(8)對各螞蟻形成連接的總代價進行計算,是在全部螞蟻均實現搜索的條件下,將種群內最小代價的路徑挑選出來,排放信息素于此路徑各邊之上。
(h)如果搜索次數大于等于N,搜索終止;如果不滿足上述條件,返回至(c)。
(i)關系的連接查詢可通過獲得的最佳連接順序實現,得到最終結果。
2.2.1 EHAS-CP-ABE系統模型
在使用上小節(jié)方法實現物聯網數據查詢優(yōu)化的基礎上,通過EHAS-CP-ABE完成物聯網數據屬性基加密。該方案能極大地提高物聯網數據共享安全性,其系統模型由以下四部分組成。
1)屬性授權機構(AA):用于系統公鑰與主私鑰的產生,并能對屬性密鑰分配等任務進行管理,該機構的可信度極高。
2)云服務商(CSP):為緩解存儲壓力,數據擁有者將CSP用于加密數據的存儲。
3)數據擁有者(DO):在存儲數據之前,DO使用對稱密鑰K對數據進行加密,K的加密可通過DO給定的以屬性為基礎的訪問結構完成。若想成功解密得到K,則數據用戶的屬性集合應符合訪問結構,最終明文可利用K對數據密文進行解密得到[11,12]。
4)數據用戶(DU):可對存儲的加密數據進行自由訪問,AA依據DU的屬性為其提供私鑰,以對K進行解密。
2.2.2 方案構造
該方案包括下述四個多項式時間算法。
1)Setup(1λ)→{PK,MSK}。其為AA需要實施的算法,輸入為安全參數λ,以系統公鑰PK、主私鑰MSK作為輸出。
2)KeyGen(PK,MSK,S)→SK。其為AA需要實施的算法,屬性集合用S描述,該算法的輸入為括號中的三個參數,以用戶私鑰SK作為最終輸出。
3)Encrypt(PK,A,M)→CT。其為DO需要實施的算法。明文消息用M描述,訪問結構用A描述,該算法的輸入為括號中的三個參數,以密文CT作為最終輸出。
4)Decrypt(PK,CT,SK)→M。其為DU需要實施的算法。該算法的輸入為括號中的三個參數,以最后得到的明文消息作為輸出。
為驗證本文方法的物聯網數據屬性基加密性能,使用Dell PC機搭建仿真環(huán)境,以Matlab2019a作為仿真軟件,進行物聯網數據屬性基加密仿真。
將迭代次數和螞蟻數量分別設置為25、20,當關系數選擇4與6時,可分別獲得4個查詢方案,測試不同查詢方案下,本文方法查詢優(yōu)化前后的查詢時間,結果用表1描述。
表1 查詢優(yōu)化前后的查詢時間結果
分析表1可以看出,各表的連接順序能在很大程度上影響數據庫的查詢效果,關系數越大,需要花費的查詢時間越多。對于不同查詢方案,本文方法優(yōu)化前的查詢時間均處于較高數值,且當關系數為6時的B1查詢方案甚至出現空間不足的情況,查詢效率很低;本文方法優(yōu)化后的查詢時間比優(yōu)化前降低3倍多,最低數值為326ms。對比這些數據表明,本文方法能顯著提升物聯網數據查詢效率,從而為物聯網數據屬性基加密提供良好的技術支持。
測試不同加密時間下,本文方法使用前后的物聯網數據屬性基加密性能強度,結果用圖1描述。
圖1 本文方法使用前后的加密性能強度結果
分析圖1可得,隨著加密時間增加,本文方法使用前后的物聯網數據屬性基加密性能強度均呈上升趨勢。本文方法使用前的加密性能強度穩(wěn)定在0.2%~0.3%區(qū)間,上升速率較為緩慢,當加密時間增加至50s時,加密性能強度大致為0.3%;本文方法使用后的加密性能強度上升幅度較大,且始終高于0.6%,當加密時間增加至50s時,加密性能強度高達0.8%。因此可以說明,本文方法具有較優(yōu)異的物聯網數據屬性基加密性能,且加密時間越長,獲得的加密效果越明顯。
引入比特出錯概率(Bit Error Ratio,BER)衡量物聯網數據屬性基加密效果,BER值越低,保密效果越理想。設計對比實驗,選擇文獻[3]的理想格加密方法與文獻[4]的區(qū)塊鏈加密方法,作為本文方法的對比方法,不同測試時間下,三種方法的BER結果用圖2描述。
圖2 三種方法的BER結果
分析圖2可得,理想格加密方法與區(qū)塊鏈加密方法的BER值均超出上限值,兩者最高BER值分別為0.9、1.3;相對于其它兩種方法,本文方法的BER值始終在標準范圍內波動,最高BER值僅為0.6左右。對比這些數據可以表明,本文方法的物聯網數據屬性基加密效果最優(yōu),能更好地保護物聯網通信安全。
本文應用Greenplum數據庫優(yōu)化物聯網數據查詢,引入EHAS-CP-ABE方案實現查詢結果的屬性基加密。分析實驗結果可知,該方法的物聯網數據查詢效率極具優(yōu)勢,且加密強度較高,可為物聯網環(huán)境下的數據通信安全提供良好的解決思路。