龍草芳,肖 衡
(1.三亞學(xué)院信息與智能工程學(xué)院,海南 三亞 572022;2.三亞學(xué)院容淳銘院士工作站,海南 三亞 572022)
作為物聯(lián)網(wǎng)的主要構(gòu)成部分之一,無線傳感器網(wǎng)絡(luò)的安全性與人們生活安全和社會(huì)發(fā)展息息相關(guān)[1]。由于無線傳感網(wǎng)絡(luò)具有無標(biāo)度網(wǎng)絡(luò)的特征,導(dǎo)致其在開放性環(huán)境中極易遭受攻擊[2]。 在這種情況下,若不能保證網(wǎng)絡(luò)的安全性,會(huì)導(dǎo)致網(wǎng)絡(luò)出現(xiàn)故障。 數(shù)據(jù)庫是數(shù)據(jù)的主要存在形式,數(shù)據(jù)庫信息泄露與破壞影響著數(shù)據(jù)庫應(yīng)用系統(tǒng)實(shí)施的效率[3]。 作為無線傳感網(wǎng)絡(luò)重要的組成部分,數(shù)據(jù)庫承擔(dān)著訪問控制、審計(jì)跟蹤以及身份認(rèn)證等重要任務(wù)。 因此,對(duì)其進(jìn)行必要的加密處理是保證無線傳感器網(wǎng)絡(luò)數(shù)據(jù)安全的重要措施之一。 因此,對(duì)無線傳感網(wǎng)絡(luò)相關(guān)數(shù)據(jù)庫進(jìn)行有效的加密處理,不僅能夠提高傳輸任務(wù)的安全性,還會(huì)增加傳感器網(wǎng)絡(luò)的使用壽命。
目前,已有相關(guān)學(xué)者提出了數(shù)據(jù)庫相關(guān)數(shù)據(jù)加密方法,如孫僖澤等人[4]提出了基于可搜索加密機(jī)制的數(shù)據(jù)庫加密方法。 該方法建立了完整的密態(tài)數(shù)據(jù)庫查詢框架,并設(shè)計(jì)了能夠滿足INDCKA1 安全的數(shù)據(jù)庫加密方案。 該方案中,利用非確定性加密和保序加密的方式建立了密態(tài)數(shù)據(jù)庫安全索引結(jié)構(gòu),能夠?qū)崿F(xiàn)豐富的SQL 查詢。 然而該方法對(duì)數(shù)據(jù)庫中異常數(shù)據(jù)的檢測(cè)能力有限,導(dǎo)致解密后數(shù)據(jù)的準(zhǔn)確性較低。 陳莊等人[5]面向企業(yè)私有云設(shè)計(jì)了一種數(shù)據(jù)安全保護(hù)方法,其核心思想是對(duì)數(shù)據(jù)庫實(shí)施加密處理。 該方法在數(shù)據(jù)加密前對(duì)數(shù)據(jù)進(jìn)行線性分割,然后通過相應(yīng)算法計(jì)算分割數(shù)據(jù),根據(jù)計(jì)算結(jié)果對(duì)子數(shù)據(jù)進(jìn)行加擾處理。 最后,在加密加擾數(shù)據(jù)塊的基礎(chǔ)上完成數(shù)據(jù)的混合加密。 然而,該方法在進(jìn)行線性分割時(shí)存在偏差,導(dǎo)致該方法的加密、解密速度較慢。 呂佳玉等人[6]提出了一種云計(jì)算環(huán)境下的雙通道數(shù)據(jù)動(dòng)態(tài)加密方法。 該方法通過數(shù)據(jù)包的隱私權(quán)重對(duì)數(shù)據(jù)包進(jìn)行分類處理,然后對(duì)不同類別的數(shù)據(jù)包進(jìn)行計(jì)算,從而獲取數(shù)據(jù)包的權(quán)重排列順序。 最后,依據(jù)順序?qū)?yīng)不同的通道,對(duì)數(shù)據(jù)進(jìn)行加密處理。 然而該方法在分類數(shù)據(jù)時(shí)存在問題,導(dǎo)致其加密過的數(shù)據(jù)查詢復(fù)雜度偏低。 國外學(xué)者也針對(duì)相關(guān)的加密方法展開了研究,如為從根本上提高數(shù)據(jù)加密效果,文獻(xiàn)[7]中將輕量級(jí)技術(shù)用于傳感器節(jié)點(diǎn)集成、離開、撤銷和密鑰更新過程中,利用混合密鑰建立了一種具有高效節(jié)能特性的動(dòng)態(tài)傳感器網(wǎng)絡(luò)密鑰管理框架,利用該框架有效管理密鑰,從而提高數(shù)據(jù)加密處理效果。
分布式數(shù)據(jù)庫可以根據(jù)業(yè)務(wù)需求動(dòng)態(tài)地?cái)U(kuò)容,其在無線傳感網(wǎng)絡(luò)應(yīng)用中被大量投入使用[8]。 但是由于無線傳感網(wǎng)絡(luò)特有的異構(gòu)屬性,導(dǎo)致其分布式數(shù)據(jù)庫中存在大量異常數(shù)據(jù),本研究在考慮這種困難的情況下,提出了一種無線傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫加密方法。
在實(shí)際應(yīng)用環(huán)境中,因傳感器故障或其他環(huán)境因素的突變,極易導(dǎo)致部分傳感器數(shù)據(jù)產(chǎn)生異常[9]。 由于無線傳感網(wǎng)絡(luò)中各分布式數(shù)據(jù)庫之間的傳感距離有限,因此,使用機(jī)器學(xué)習(xí)法對(duì)其中的異常數(shù)據(jù)進(jìn)行檢測(cè),避免其對(duì)后續(xù)加密過程的影響,提高加密質(zhì)量。
在無線傳感網(wǎng)絡(luò)的分布式數(shù)據(jù)庫中,使用密度峰值法對(duì)數(shù)據(jù)進(jìn)行聚類處理,處理結(jié)果如下式所示:
式中:pi表示數(shù)據(jù)當(dāng)前點(diǎn)密度,dij表示數(shù)據(jù)i到數(shù)據(jù)j之間的距離,x表示數(shù)據(jù)總量,dc表示數(shù)據(jù)間的平均距離。
設(shè)定ei=dij-dc,獲取數(shù)據(jù)庫內(nèi)數(shù)據(jù)的選取閾值,結(jié)果如下式所示:
將聚類后的數(shù)據(jù)放入支持向量機(jī)中,建立數(shù)據(jù)分類模型。 本研究使用改進(jìn)支持向量機(jī)(Improved Support Vector Machine,ISVM)分類器,根據(jù)聚類后數(shù)據(jù)的特征值和無線傳感網(wǎng)絡(luò)每個(gè)節(jié)點(diǎn)的內(nèi)容相似度對(duì)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行分類[10]。 將聚類后的數(shù)據(jù)映射到高維空間中,利用高維空間中的超球體識(shí)別數(shù)據(jù)庫中的異常數(shù)據(jù)。 映射后的數(shù)據(jù)包裹在超球體內(nèi)的為正常數(shù)據(jù),散落在超球體外圍的則為異常數(shù)據(jù)。
假設(shè)數(shù)據(jù)庫中的數(shù)據(jù)點(diǎn)有n個(gè),用X={xi|xi∈Rd,i=1,2,…,n}表述。 其中,d為映射空間維數(shù)。X的非線性映射為φ,且φ=Rd→F,映射到F空間后,F(xiàn)空間有一個(gè)球心為α,半徑為R的超球體,整個(gè)表述過程如下式所示:
當(dāng)樣本數(shù)據(jù)x能夠滿足D2(x)≤R2,可直接認(rèn)為該數(shù)據(jù)為目標(biāo)數(shù)據(jù),反之則為異常數(shù)據(jù),可直接對(duì)其進(jìn)行剔除。
在利用支持向量機(jī)將數(shù)據(jù)庫映射到高維特征空間的過程中,懲罰因子、核函數(shù)等參數(shù)如選擇不準(zhǔn)確,會(huì)導(dǎo)致檢測(cè)結(jié)果出現(xiàn)偏差,因此需要使用鯨魚優(yōu)化算法對(duì)各類參數(shù)進(jìn)行優(yōu)化處理。 優(yōu)化過程分為如下階段。
1.3.1 包圍
設(shè)定距離鯨群最近的個(gè)體為食物,當(dāng)前食物的位置即為各類參數(shù)的最優(yōu)解。 首先在可搜索范圍中,利用對(duì)立學(xué)習(xí)策略設(shè)計(jì)鯨魚個(gè)體的初始化位置[11],然后利用信息熵在路徑選擇時(shí)調(diào)控鯨魚能夠搜索的范圍,避免算法陷入局部最優(yōu)[12],得到鯨魚的覓食行為如下式所示:
式中:用t表示當(dāng)前迭代次數(shù),tmax表示最大的迭代次數(shù)。 鯨魚會(huì)依據(jù)當(dāng)將當(dāng)前獲取的最佳位置作為更新后的位置,通過協(xié)調(diào)系數(shù)向量的最優(yōu)解靠近。
1.3.2 位置更新
鯨魚依據(jù)螺旋方式進(jìn)行移動(dòng),從而不斷更新位置,達(dá)到參數(shù)尋優(yōu)和位置更新的目的,該過程如下式所示:
式中:D表示鯨魚與目標(biāo)間的最佳距離,l表示隨機(jī)變量,b表示常量系數(shù),e表示正態(tài)分布常量。
1.3.3 隨機(jī)搜索
基于信息熵A以及協(xié)調(diào)量C對(duì)目標(biāo)食物進(jìn)行隨機(jī)尋找,通過食物的位置更新目標(biāo)食物的位置,鯨魚的全局搜索過程如下式所示:
式中:X(t+1)表示鯨群的隨機(jī)位置。 最后通過上述計(jì)算過程實(shí)現(xiàn)對(duì)支持向量機(jī)參數(shù)向量的優(yōu)化。
通過順序保留加密方法(Order-preserving Encryption Scheme,OPES)對(duì)處理后的傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫進(jìn)行加密計(jì)算,從而實(shí)現(xiàn)無線傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫的加密。
在不同的應(yīng)用場(chǎng)景下,傳感網(wǎng)絡(luò)的分布式數(shù)據(jù)庫中的數(shù)據(jù)格式也不相同,因此需要利用OPES 算法對(duì)數(shù)據(jù)進(jìn)行一定程度的轉(zhuǎn)換,并通過轉(zhuǎn)換后的數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)庫的加密。 加密過程主要分為數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)桶劃分和加密三個(gè)階段。
數(shù)據(jù)庫中大部分?jǐn)?shù)據(jù)為差異性傳感數(shù)據(jù),數(shù)據(jù)的精度與維度可使用浮點(diǎn)型的十進(jìn)制形式進(jìn)行表示,轉(zhuǎn)換過程中需要用度、分、秒的形式表示數(shù)據(jù)。轉(zhuǎn)換過程如下式所示:
式中:Degrees 為度,Minutes 為分、seconds 為秒。
在完成傳感數(shù)據(jù)轉(zhuǎn)換后,對(duì)其進(jìn)行排序處理。根據(jù)數(shù)據(jù)敏感屬性欄值約束和數(shù)據(jù)距離,將傳感數(shù)據(jù)表橫向劃分為若干個(gè)桶,再根據(jù)不同桶的屬性關(guān)聯(lián),將其縱向分為若干個(gè)欄,并對(duì)每一欄中的數(shù)據(jù)進(jìn)行隨機(jī)重排[13]。
這一過程中需要保證傳感網(wǎng)絡(luò)數(shù)據(jù)庫中的數(shù)據(jù)能夠均勻分布,為規(guī)避算法效率,桶的數(shù)量也不宜過多。
設(shè)定數(shù)據(jù)庫明文空間為P={p1,p2,…,pk,…,pn},將P進(jìn)行劃分成m個(gè)桶,用{B1,B2,…,Bi,…,Bm}表示,且存在Bi={pj,pj+1,…,pk}。 首先對(duì)pi的線性期望進(jìn)行計(jì)算,計(jì)算結(jié)果如下式所示:
式中:Ei表示pi的線性期望,第k個(gè)桶與第j個(gè)桶內(nèi)數(shù)據(jù)分別為pk與pj。
以“數(shù)據(jù)桶”為單位對(duì)傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫進(jìn)行加密處理,加密過程中需要保持排列順序的完整。
在對(duì)傳感網(wǎng)絡(luò)數(shù)據(jù)庫進(jìn)行加密時(shí),需要保證原始數(shù)據(jù)的大小和順序不發(fā)生變化,所以數(shù)據(jù)庫加密過程就是數(shù)據(jù)的映射過程。 假設(shè)加密函數(shù)為M(p),利用該函數(shù)處理明文空間g得到密文空間G。 設(shè)定劃分桶的桶寬為ωi,通過計(jì)算獲取桶寬的滿足條件,過程如下式所示:
式中:gj表示數(shù)據(jù)pj的密文值,gmin表示最小密文值。 設(shè)定明文區(qū)間[0,p]內(nèi)的加密函數(shù)為f(p)=qp+r,該區(qū)間參數(shù)z的分布情況如下式所示:
區(qū)間參數(shù)的取值范圍如下所示:
①不同的明文值對(duì)應(yīng)不同的密文,M(p)≥2,p∈[0,ω]。
②密文空間需大于明文空間正整數(shù)倍,ωc=tn。
基于上述約束條件,對(duì)參數(shù)的選定范圍進(jìn)行劃定,劃定結(jié)果如下式所示:
式中:s表示二次系數(shù),z表示范圍參數(shù),w表示密文空間、明文空間整數(shù)占比的比值。
設(shè)定數(shù)據(jù)庫的秘鑰空間為K,且每個(gè)桶Bi都有專屬于自己的秘鑰ki={ωi,si,zi},所以秘鑰空間是由(k1,k2,…,km)組成的。
分布式數(shù)據(jù)庫在初始化過程中,能夠直接生成秘鑰空間,具體流程如下式所示:
當(dāng)數(shù)據(jù)庫中加入新的數(shù)據(jù)時(shí),可依據(jù)秘鑰空間直接對(duì)其進(jìn)行加密。 最后依據(jù)上述計(jì)算流程,實(shí)現(xiàn)對(duì)無線傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫的加密。
為了驗(yàn)證上述設(shè)計(jì)的無線傳感器網(wǎng)絡(luò)分布式數(shù)據(jù)庫加密方法的整體有效性,設(shè)計(jì)如下仿真分析過程。
仿真環(huán)境配置情況如表1 所示。
表1 仿真環(huán)境配置情況
無線傳感器網(wǎng)絡(luò)中分布式數(shù)據(jù)庫配置情況如表2 所示。
表2 分布式數(shù)據(jù)庫配置情況
在此基礎(chǔ)上,分別采用本文方法、文獻(xiàn)[4]方法、文獻(xiàn)[7]方法展開對(duì)比測(cè)試。
3.2.1 加密、解密速度測(cè)試
在數(shù)據(jù)庫加密過程中,加密速度與解密速度低會(huì)影響加密性能。 分別采用本文方法、文獻(xiàn)[4]方法以及文獻(xiàn)[7]方法進(jìn)行數(shù)據(jù)庫加密,并分析三種方法的加密速度和解密速度,結(jié)果如圖1 所示。
分析圖1(a)可知,隨著數(shù)據(jù)總量的不斷增加,三種加密方法的處理速度也隨之增加,文獻(xiàn)[4]方法以及文獻(xiàn)[7]方法與本文方法的加密速度之間的偏差較大。 分析圖1(b)可知,三種方法的解密速度均大于其各自的加密速度。 整體來看,文獻(xiàn)[4]方法與文獻(xiàn)[7]方法的解密速度接近,但均小于本文方法。 產(chǎn)生這一結(jié)果的原因在于本文方法在加密處理之前對(duì)數(shù)據(jù)庫內(nèi)數(shù)據(jù)進(jìn)行了轉(zhuǎn)換和劃分,從而大大提高了其加/解密處理速度。
圖1 不同加密方法的加密、解密速度對(duì)比結(jié)果
3.2.2 解密后數(shù)據(jù)準(zhǔn)確性測(cè)試
解密后數(shù)據(jù)的準(zhǔn)確性是檢測(cè)加密方法性能優(yōu)劣的基礎(chǔ)指標(biāo)之一。 因此,分別采用本文方法、文獻(xiàn)
[4]方法以及文獻(xiàn)[7]方法完成加密處理,然后通過計(jì)算解密后遺漏、順序錯(cuò)亂以及異常數(shù)據(jù)的占比來檢驗(yàn)解密后數(shù)據(jù)的準(zhǔn)確性。 結(jié)果如圖2 所示。
圖2 不同加密方法下數(shù)據(jù)的準(zhǔn)確性對(duì)比結(jié)果
分析圖2 可知,應(yīng)用三種加密方法后,解密后數(shù)據(jù)的準(zhǔn)確性均可達(dá)到90%以上。 但相比之下,本文方法解密后數(shù)據(jù)的準(zhǔn)確性更高,其最高值可達(dá)到99.16%,這說明應(yīng)用本文方法不僅可以快速完成加解密處理,且對(duì)原始數(shù)據(jù)的影響非常小,有效保護(hù)了數(shù)據(jù)質(zhì)量和安全。
3.2.3 查詢復(fù)雜度測(cè)試
對(duì)無線傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫實(shí)施加密后,可通過用戶對(duì)數(shù)據(jù)查詢過程的復(fù)雜程度來側(cè)面反映加密效果。 復(fù)雜度相對(duì)較高的情況下,說明加密效果更好。 數(shù)據(jù)庫查詢復(fù)雜度可以通過數(shù)據(jù)查詢時(shí)間來體現(xiàn),三種加密方法的查詢復(fù)雜度如圖3 所示。
分布式數(shù)據(jù)庫內(nèi)數(shù)據(jù)的總量越多,用戶在查詢過程中的復(fù)雜度越高。 分析圖3 可知,整體來看,3 種方法的數(shù)據(jù)查詢復(fù)雜度均為逐漸上升的趨勢(shì),但本文方法的數(shù)據(jù)查詢時(shí)間逐漸趨于平穩(wěn),且略高于另外兩種方法,說明其復(fù)雜度相對(duì)更高,即加密效果更好。 而查詢時(shí)間逐漸趨于平穩(wěn)則能夠說明本文方法的加密過程并未影響用戶的查詢過程,可在合理的時(shí)間內(nèi)完成有效加密。 這是因?yàn)楸疚姆椒ɡ弥С窒蛄繖C(jī)分類法將數(shù)據(jù)庫中的異常數(shù)據(jù)進(jìn)行了的剔除,從而減少了數(shù)據(jù)加密時(shí)的迭代次數(shù),降低用戶查詢時(shí)的復(fù)雜度。
圖3 不同加密方法的查詢復(fù)雜度對(duì)比結(jié)果
無線傳感網(wǎng)絡(luò)中的分布式數(shù)據(jù)庫中儲(chǔ)存著海量的數(shù)據(jù)信息,隨著計(jì)算機(jī)技術(shù)的不斷進(jìn)步,數(shù)據(jù)庫的機(jī)密性以及完整性受到了前所未有的挑戰(zhàn)。 針對(duì)傳統(tǒng)加密方法中存在的問題,本研究提出了無線傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫加密方法。 該方法通過機(jī)器學(xué)習(xí)法對(duì)數(shù)據(jù)庫進(jìn)行檢測(cè),從中找出異常數(shù)據(jù)并進(jìn)行剔除,然后利用OPES 算法建立數(shù)據(jù)庫加密空間,并基于該空間實(shí)現(xiàn)對(duì)無線傳感網(wǎng)絡(luò)分布式數(shù)據(jù)庫的加密。 然而由于研究時(shí)間等限制,該方法在參數(shù)優(yōu)化過程中還存在一定缺陷,今后會(huì)針對(duì)該項(xiàng)缺陷,繼續(xù)對(duì)該數(shù)據(jù)庫加密方法進(jìn)行優(yōu)化。