閆 攀,周 莉,閆會(huì)峰
(1. 重慶移通學(xué)院大數(shù)據(jù)與計(jì)算機(jī)科學(xué)學(xué)院,重慶 401520;2. 重慶郵電大學(xué)軟件工程學(xué)院,重慶 400065)
隨著物聯(lián)網(wǎng)技術(shù)的成熟,物聯(lián)網(wǎng)數(shù)據(jù)越來(lái)越多,為保證數(shù)據(jù)庫(kù)內(nèi)容的完整性,可在混合云[1]的基礎(chǔ)上進(jìn)行保存,云計(jì)算[2]是基于互聯(lián)網(wǎng)技術(shù)的新興計(jì)算方法,這種方法可在高效計(jì)算的同時(shí)保證數(shù)據(jù)的存儲(chǔ)效率,為用戶(hù)提供便利。但因?yàn)樵朴?jì)算的資源不是本地化,因此數(shù)據(jù)在上傳過(guò)程中可能存在數(shù)據(jù)丟失或盜取的問(wèn)題[3],嚴(yán)重影響云計(jì)算用戶(hù)數(shù)據(jù)的安全,為避免混合云下的數(shù)據(jù)被盜取,現(xiàn)對(duì)物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型展開(kāi)研究。
佘維[4]等人首先在區(qū)塊鏈技術(shù)的幫助下將物聯(lián)網(wǎng)系統(tǒng)裝置進(jìn)行標(biāo)記,保證其不被篡改,其次在白名單的基礎(chǔ)上完成哈希表網(wǎng)絡(luò),以此隱藏物聯(lián)網(wǎng)隱私數(shù)據(jù),實(shí)現(xiàn)物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)。許斌[5]等人在物聯(lián)網(wǎng)隱私數(shù)據(jù)中篩選出最大信息系數(shù)將其視為訓(xùn)練樣本集,其次基于差分隱私方法將數(shù)據(jù)集進(jìn)行分類(lèi),最終在線(xiàn)性回歸算法的基礎(chǔ)上得出隱私數(shù)據(jù)保護(hù)模型,實(shí)現(xiàn)物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)。
以上兩種方法在對(duì)隱私數(shù)據(jù)保護(hù)過(guò)程中沒(méi)有對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,導(dǎo)致數(shù)據(jù)中有很多殘缺或帶有噪聲的數(shù)據(jù),同時(shí)大部分?jǐn)?shù)據(jù)不能適用于數(shù)據(jù)保護(hù)模型,大大降低了保護(hù)模型的性能,從而導(dǎo)致信息損失度高、數(shù)據(jù)可用性差、模型性能差以及安全性差。為了解決上述方法中存在的問(wèn)題,提出混合云存儲(chǔ)下物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型研究方法。
由于物聯(lián)網(wǎng)隱私數(shù)據(jù)中帶有很多錯(cuò)誤數(shù)據(jù),在對(duì)其進(jìn)行保存前需要進(jìn)行數(shù)據(jù)的預(yù)處理[6-7],排除其中的噪聲。同時(shí)需要將數(shù)據(jù)進(jìn)行變換,以此保證數(shù)據(jù)的合法化,同時(shí)提高加密效率,進(jìn)而為隱私數(shù)據(jù)保護(hù)模型的構(gòu)建奠定基礎(chǔ)。
因?yàn)槲锫?lián)網(wǎng)隱私數(shù)據(jù)不能隨意丟棄,即使數(shù)據(jù)中含有殘缺數(shù)據(jù)或數(shù)據(jù)帶有噪聲也只能將其進(jìn)行保存,從而降低了隱私數(shù)據(jù)的安全性,為提高隱私數(shù)據(jù)保護(hù)性能,可提前對(duì)數(shù)據(jù)進(jìn)行清理[8],數(shù)據(jù)的清理也是對(duì)殘缺數(shù)據(jù)的填補(bǔ),在均值替換法的幫助下降低數(shù)據(jù)間的相似影響程度,并中和數(shù)據(jù)規(guī)范方法將零值視為數(shù)據(jù)敏感屬性的缺失值,從而得出隱私數(shù)據(jù)的填補(bǔ)公式,其表達(dá)式為
(1)
式中,xi代表物聯(lián)網(wǎng)隱私數(shù)據(jù),n代表數(shù)據(jù)的個(gè)數(shù)。
假設(shè)物聯(lián)網(wǎng)隱私數(shù)據(jù)集為T(mén),將其中的準(zhǔn)標(biāo)識(shí)符當(dāng)成目標(biāo)構(gòu)建出多維的向量模型M,T中的目標(biāo)也是模型M的目標(biāo)t,當(dāng)目標(biāo)t沒(méi)有被標(biāo)記為噪聲或分類(lèi)為某個(gè)簇中的一員時(shí),需對(duì)周?chē)哪繕?biāo)進(jìn)行運(yùn)算,當(dāng)模型中的目標(biāo)小于密度閾值,可直接將小于閾值的目標(biāo)標(biāo)記為噪聲,反之則構(gòu)建簇C,同時(shí)將目標(biāo)t和周?chē)繕?biāo)添加到簇C中,篩選出全部未被標(biāo)記或未分類(lèi)到簇中的對(duì)象,當(dāng)其大于密度閾值,直接將其周?chē)鷶?shù)據(jù)添加到簇C中;當(dāng)數(shù)據(jù)不在任何簇中,可直接將該數(shù)據(jù)視為已標(biāo)記過(guò)的數(shù)據(jù),根據(jù)以上對(duì)數(shù)據(jù)處理的步驟將全部數(shù)據(jù)進(jìn)行標(biāo)記處理,從而得出所有帶有噪聲的數(shù)據(jù),并對(duì)其進(jìn)行清理。
物聯(lián)網(wǎng)隱私數(shù)據(jù)通常分為數(shù)值型和分類(lèi)型,但這種形式的數(shù)據(jù)不適用于物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型,需分別對(duì)兩種數(shù)據(jù)進(jìn)行變換。
數(shù)值型數(shù)據(jù)可直接在z-score規(guī)范化的方法下對(duì)其進(jìn)行變換,簡(jiǎn)而言之就是將數(shù)據(jù)的屬性在其均值和標(biāo)準(zhǔn)差的基礎(chǔ)上進(jìn)行規(guī)范化處理,其規(guī)范化公式為
(2)
式中,v′代表數(shù)據(jù)的屬性值經(jīng)過(guò)規(guī)范化處理后的結(jié)果,v代表數(shù)據(jù)的屬性值,σA代表屬性X的標(biāo)準(zhǔn)值。
分類(lèi)型數(shù)據(jù)與數(shù)值型數(shù)據(jù)除了常規(guī)差異以外,兩者最大的區(qū)別就是分類(lèi)型數(shù)據(jù)之間的距離相等,用公式進(jìn)行表示為
|Xi-Xj|=λ
(3)
式中,Xi和Xj均代表分類(lèi)型數(shù)據(jù),λ代表任意兩分類(lèi)型數(shù)據(jù)之間的距離。
為降低分類(lèi)型數(shù)值轉(zhuǎn)換的誤差,可在泛化的基礎(chǔ)上進(jìn)行數(shù)據(jù)轉(zhuǎn)換,從而保證隱私數(shù)據(jù)保護(hù)模型的性能。
待保護(hù)的物聯(lián)網(wǎng)數(shù)據(jù)由于準(zhǔn)標(biāo)識(shí)符的原因?qū)е虏糠謹(jǐn)?shù)據(jù)出現(xiàn)一定的損失量,為提高信息損失量的測(cè)量精度,精確填補(bǔ)信息,需要分別對(duì)數(shù)值型與分類(lèi)型數(shù)據(jù)進(jìn)行測(cè)量。
2.3.1 數(shù)值型屬性信息損失量
數(shù)值型數(shù)據(jù)屬性的泛化就是提取出更大范圍的區(qū)間值,計(jì)算此類(lèi)損失量前需要將泛化前后的差異值以及全域值求解出來(lái),并計(jì)算出兩者之間的比值得出信息的損失,從而得出數(shù)值型屬性的信息損失度量,其表達(dá)式為
(4)
式中,x代表未經(jīng)過(guò)泛化處理的損失量,x′代表經(jīng)過(guò)泛化處理后的損失量,xmax代表?yè)p失量的最大值,xmin代表?yè)p失量的最小值,x′min代表經(jīng)過(guò)泛化處理后的損失量最小值,x′max代表經(jīng)過(guò)泛化處理后的損失量最大值,Amax代表區(qū)域值中屬性A的最大值,Amin代表區(qū)域值中屬性A的最小值。
2.3.2 分類(lèi)型屬性信息損失度量
分類(lèi)型屬性在求解信息損失量的過(guò)程中需要利用泛化樹(shù)的高度進(jìn)行計(jì)算,因此計(jì)算前需求解出泛化數(shù)的高度,并得出泛化前后屬性值的層次,同時(shí)求解出層次的高度差,最終計(jì)算出泛化樹(shù)高度與層次高度之間的比值,從而得出分類(lèi)型屬性的信息損失度量,其表達(dá)式為
(5)
式中,hx代表屬性在泛化樹(shù)中的高度,hx′代表泛化后屬性值在泛化樹(shù)中的高度。
根據(jù)以上方法可完整計(jì)算出信息損失量,并將其進(jìn)行填補(bǔ)處理,保證數(shù)據(jù)的完整。
由于物聯(lián)網(wǎng)中的數(shù)據(jù)過(guò)多,為保證數(shù)據(jù)的安全需對(duì)數(shù)據(jù)進(jìn)行加密,在海量數(shù)據(jù)面前,僅僅利用常規(guī)方法進(jìn)行屬性分解以及加密會(huì)導(dǎo)致密鑰出現(xiàn)巨大差異,而大量密鑰會(huì)占據(jù)過(guò)多內(nèi)存,因此只能在混合云的基礎(chǔ)上對(duì)其進(jìn)行存儲(chǔ),為了降低密鑰存儲(chǔ)空間密度,可利用動(dòng)態(tài)加密方法對(duì)物聯(lián)網(wǎng)隱私數(shù)據(jù)進(jìn)行處理。
在動(dòng)態(tài)過(guò)程中產(chǎn)生的密鑰均是獨(dú)一無(wú)二的,且混合云中的密鑰均可被利用,因?yàn)樵诿芪慕饷艿倪^(guò)程中,不可避免出現(xiàn)很多密文需要共享同一明文的情況,由于物聯(lián)網(wǎng)隱私數(shù)據(jù)的位置不盡相同,因此所形成的密文也均存在較小差別。
假設(shè)物聯(lián)網(wǎng)內(nèi)某數(shù)據(jù)為aij,當(dāng)aij中的元素j1大于j2,則j2=modj1;當(dāng)元素j1小于j2,且ji=j1,當(dāng)元素j1等于j2時(shí),即可停止運(yùn)算,此時(shí)數(shù)據(jù)aij1等于aij2,令數(shù)據(jù)aij內(nèi)的屬性序號(hào)為i,利用aij2實(shí)現(xiàn)數(shù)據(jù)加密,其密鑰的表達(dá)式為
(6)
式中,Ri代表密鑰運(yùn)算中的平衡系數(shù)。
式(1)不僅可求解出密鑰,也可將其視為密鑰的第一次動(dòng)態(tài)變換。
根據(jù)該原理得出密鑰的第二次動(dòng)態(tài)變換表達(dá)式為
Kij=f(aij)
(7)
式中,Rj代表第二次動(dòng)態(tài)變換的平衡系數(shù)。
假設(shè)物聯(lián)網(wǎng)數(shù)據(jù)關(guān)系集為R,利用最小加密粒度數(shù)豎向?qū)⑵溥M(jìn)行分解,從而得到滿(mǎn)足物聯(lián)網(wǎng)隱私數(shù)據(jù)要求的屬性集合F={F1,F(xiàn)2},將屬性F進(jìn)行分解后可得出有限元C={c1,c2,…,cm},其中的元素為R={a1,a2,…,cn}。
假設(shè)有限元公式為
(8)
式中,Nij代表數(shù)值型數(shù)據(jù),其值域范圍為[-d,d],g代表元祖的系數(shù)。
從而得出動(dòng)態(tài)變換公式為
(9)
經(jīng)過(guò)隨機(jī)變換完成動(dòng)態(tài)加密,其中
(10)
在式(5)的幫助下對(duì)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行加密,并在式(2)的基礎(chǔ)上進(jìn)行解密,完成物聯(lián)網(wǎng)隱私數(shù)據(jù)的保護(hù)。
對(duì)物聯(lián)網(wǎng)隱私數(shù)據(jù)的保護(hù)不僅需要對(duì)數(shù)據(jù)進(jìn)行加密,還需對(duì)用戶(hù)自身信息進(jìn)行保護(hù)。
假設(shè)最新生成的數(shù)據(jù)關(guān)系R′的元祖數(shù)據(jù)為(t′1,t′2,…,t′n),根據(jù)R′對(duì)用戶(hù)信息進(jìn)行加密,加密公式為
U=Ek(T)
(11)
式中,E代表對(duì)稱(chēng)加密算法,T代表元祖數(shù)據(jù)合集,U代表用戶(hù)信息加密結(jié)果。
則用戶(hù)信息解密公式為
(12)
假設(shè)f為動(dòng)態(tài)交換加密函數(shù),在不同密鑰的幫助下可求解出用戶(hù)信息的加密和解密結(jié)果,經(jīng)計(jì)算兩者之間的結(jié)果均相同,其表達(dá)式為
fk1[fk2(T)]=fk2[fk1(T)]
(13)
在用戶(hù)數(shù)據(jù)預(yù)處理和實(shí)時(shí)查詢(xún)的基礎(chǔ)下對(duì)用戶(hù)信息進(jìn)行保護(hù),預(yù)處理的過(guò)程如下所示。
在混合云儲(chǔ)存的幫助下,可為物聯(lián)網(wǎng)隱私數(shù)據(jù)匹配出n個(gè)密鑰,將其用在加密函數(shù)E上,并對(duì)已經(jīng)變換的加密函數(shù)進(jìn)行賦值處理,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的加密,得出加密表達(dá)式為
(14)
式中,Un代表每個(gè)密鑰對(duì)應(yīng)的加密結(jié)果,Vn代表密鑰對(duì)其中的一個(gè)。
在式(9)的幫助下可求解出n個(gè)密鑰對(duì)〈Un,Vn〉,將其傳送到k個(gè)物聯(lián)網(wǎng)服務(wù)器,并存儲(chǔ)其中的密文對(duì)。
用戶(hù)信息的另一個(gè)保護(hù)步驟就是對(duì)數(shù)據(jù)的實(shí)時(shí)查詢(xún),其過(guò)程如下所示。
在用戶(hù)信息傳輸協(xié)議的幫助下對(duì)物聯(lián)網(wǎng)內(nèi)k個(gè)服務(wù)器中的用戶(hù)信息進(jìn)行檢測(cè),獲取出與用戶(hù)信息相對(duì)應(yīng)的密文對(duì)〈Ui,Vi〉。
用戶(hù)在相應(yīng)私鑰r的幫助下計(jì)算出用戶(hù)信息G=fr(Vi),并將結(jié)果傳送到物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)。
物聯(lián)網(wǎng)內(nèi)用戶(hù)信息在加密函數(shù)f的基礎(chǔ)上實(shí)現(xiàn)用戶(hù)信息G的加密,其解密公式為
=fr(ki)
(15)
用戶(hù)可利用私鑰r與相應(yīng)的密鑰對(duì)用戶(hù)信息進(jìn)行解密處理,得出的表達(dá)式為
(16)
根據(jù)以上對(duì)物聯(lián)網(wǎng)數(shù)據(jù)以及用戶(hù)信息的加密完成物聯(lián)網(wǎng)隱私數(shù)據(jù)的保護(hù)。
將加密后的物聯(lián)網(wǎng)隱私數(shù)據(jù)保存在混合云中可有效加強(qiáng)數(shù)據(jù)的保護(hù)性能,混合云就是將私有云和公共云進(jìn)行混合從而產(chǎn)生的云計(jì)算環(huán)境,因此混合云既可以運(yùn)算用戶(hù)相關(guān)數(shù)據(jù)和保存,也可以將一般數(shù)據(jù)進(jìn)行計(jì)算和保存,因此可在混合云的基礎(chǔ)上構(gòu)建出物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型,并將數(shù)據(jù)加密算法融合其中,保證數(shù)據(jù)的完整和安全。
在混合云基礎(chǔ)上構(gòu)建的隱私數(shù)據(jù)保護(hù)模型共分為4層,分別為用戶(hù)層、接口層、管理層以及平臺(tái)層,其模型圖如圖1所示。
圖1 物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型
在此模型中不同層的功能可同時(shí)進(jìn)行,平臺(tái)層將隱私數(shù)據(jù)進(jìn)行保存,接口層對(duì)數(shù)據(jù)進(jìn)行加密,用戶(hù)層對(duì)用戶(hù)身份進(jìn)行驗(yàn)證,管理層主要擺正整體模型的運(yùn)行。根據(jù)該模型即可完成物聯(lián)網(wǎng)隱私數(shù)據(jù)的保護(hù)。
為了驗(yàn)證混合云存儲(chǔ)下物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型研究方法的有效性,需對(duì)模型的信息損失度、數(shù)據(jù)可用性、模型性能以及安全性進(jìn)行測(cè)試,測(cè)試結(jié)果如下所示。測(cè)試中,將文獻(xiàn)[4]算法、文獻(xiàn)[5]算法與本文方法進(jìn)行對(duì)比。
保護(hù)隱私數(shù)據(jù)的過(guò)程中必須保證信息損失度較低,此時(shí)的保護(hù)模型才存在意義,在不同物聯(lián)網(wǎng)數(shù)據(jù)下利用三種方法進(jìn)行保護(hù),得出三種方法下的信息損失量,判斷信息損失量最低即可得出最優(yōu)隱私數(shù)據(jù)保護(hù)模型。
圖2 不同方法下的信息損失量
根據(jù)圖2可知,在五組實(shí)驗(yàn)結(jié)果下均是所提方法的信息損失量最低,保證隱私數(shù)據(jù)保護(hù)性能,其余兩種方法的信息損失量均遠(yuǎn)遠(yuǎn)超過(guò)所提方法,因此極有可能導(dǎo)致數(shù)據(jù)保護(hù)模型失去意義,所提方法的信息損失量低是因?yàn)樵跇?gòu)建保護(hù)模型前對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,得出應(yīng)有的信息損失量并對(duì)其進(jìn)行填補(bǔ)處理,大大保證數(shù)據(jù)的完整性,從而降低信息損失量。
在隱私數(shù)據(jù)保護(hù)模型中數(shù)據(jù)量是一個(gè)影響數(shù)據(jù)可用性的直接原因,數(shù)據(jù)量越多模型中數(shù)據(jù)可用性越強(qiáng),選取不同數(shù)據(jù)量數(shù)據(jù),對(duì)比三種方法下的數(shù)據(jù)可用性。對(duì)比結(jié)果如圖3所示。
圖3 三種方法的數(shù)據(jù)可用性
根據(jù)圖3可知,在何種數(shù)據(jù)量下的數(shù)據(jù)可用性最強(qiáng)的均是所提方法,其余兩種方法均不同程度地低于多提方法的可用性,從而驗(yàn)證所提方法的有效性。
為進(jìn)一步驗(yàn)證所提方法的性能,可在同一環(huán)境下將三種方法的上傳速率與未加密的數(shù)據(jù)上傳速率進(jìn)行比較,得出最接近未加密數(shù)據(jù)上傳速率的方法即為最優(yōu)隱私數(shù)據(jù)保護(hù)模型,其結(jié)果如圖4所示。
圖4 三種方法的模型保護(hù)性能
由圖4可知,所提方法是最接近未加密數(shù)據(jù)的上傳速率,因此證明所提方法的效率是三種方法中最高的,從而驗(yàn)證所提方法的整體性能。
非正常解密方法只能是以暴力或破解密鑰獲取隱私數(shù)據(jù),在加密算法中,擴(kuò)散性是判斷保護(hù)模型安全性的重要指標(biāo),利用密文的改變率衡量加密數(shù)據(jù)的擴(kuò)散性,密文改變率公式為
(17)
式中,M代表密文變化位數(shù),N代表密文的匯總數(shù)量,P代表密文改變率。
假設(shè)加密算法中明文的數(shù)量不再發(fā)生變化,若任意一個(gè)密鑰發(fā)生改變,即可得出其密文改變率從而獲取其擴(kuò)散性曲線(xiàn),繼而判斷保護(hù)模型的安全性。表1為三種方法的對(duì)比結(jié)果。
表1 三種方法的擴(kuò)散性
密文改變率越強(qiáng),數(shù)據(jù)的擴(kuò)散性越強(qiáng)即加密的安全性越高,根據(jù)表1可知,所提方法的擴(kuò)散性最高,其平均密文改變率最高,進(jìn)而驗(yàn)證了所提方法的安全性。
為加強(qiáng)物聯(lián)網(wǎng)隱私數(shù)據(jù)安全性,提出混合云存儲(chǔ)下物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù)模型研究方法,該方法首先對(duì)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行預(yù)處理,其次將數(shù)據(jù)進(jìn)行加密并添加到保護(hù)模型中,實(shí)現(xiàn)物聯(lián)網(wǎng)隱私數(shù)據(jù)保護(hù),解決了信息損失度高、數(shù)據(jù)可用性差、模型性能差以及安全性差的問(wèn)題,保證物聯(lián)網(wǎng)數(shù)據(jù)的完整和安全。