閆 攀,周 莉,閆會峰
(1. 重慶移通學院大數據與計算機科學學院,重慶 401520;2. 重慶郵電大學軟件工程學院,重慶 400065)
隨著物聯網技術的成熟,物聯網數據越來越多,為保證數據庫內容的完整性,可在混合云[1]的基礎上進行保存,云計算[2]是基于互聯網技術的新興計算方法,這種方法可在高效計算的同時保證數據的存儲效率,為用戶提供便利。但因為云計算的資源不是本地化,因此數據在上傳過程中可能存在數據丟失或盜取的問題[3],嚴重影響云計算用戶數據的安全,為避免混合云下的數據被盜取,現對物聯網隱私數據保護模型展開研究。
佘維[4]等人首先在區塊鏈技術的幫助下將物聯網系統裝置進行標記,保證其不被篡改,其次在白名單的基礎上完成哈希表網絡,以此隱藏物聯網隱私數據,實現物聯網隱私數據保護。許斌[5]等人在物聯網隱私數據中篩選出最大信息系數將其視為訓練樣本集,其次基于差分隱私方法將數據集進行分類,最終在線性回歸算法的基礎上得出隱私數據保護模型,實現物聯網隱私數據保護。
以上兩種方法在對隱私數據保護過程中沒有對數據進行預處理,導致數據中有很多殘缺或帶有噪聲的數據,同時大部分數據不能適用于數據保護模型,大大降低了保護模型的性能,從而導致信息損失度高、數據可用性差、模型性能差以及安全性差。為了解決上述方法中存在的問題,提出混合云存儲下物聯網隱私數據保護模型研究方法。
由于物聯網隱私數據中帶有很多錯誤數據,在對其進行保存前需要進行數據的預處理[6-7],排除其中的噪聲。同時需要將數據進行變換,以此保證數據的合法化,同時提高加密效率,進而為隱私數據保護模型的構建奠定基礎。
因為物聯網隱私數據不能隨意丟棄,即使數據中含有殘缺數據或數據帶有噪聲也只能將其進行保存,從而降低了隱私數據的安全性,為提高隱私數據保護性能,可提前對數據進行清理[8],數據的清理也是對殘缺數據的填補,在均值替換法的幫助下降低數據間的相似影響程度,并中和數據規范方法將零值視為數據敏感屬性的缺失值,從而得出隱私數據的填補公式,其表達式為

(1)
式中,xi代表物聯網隱私數據,n代表數據的個數。
假設物聯網隱私數據集為T,將其中的準標識符當成目標構建出多維的向量模型M,T中的目標也是模型M的目標t,當目標t沒有被標記為噪聲或分類為某個簇中的一員時,需對周圍的目標進行運算,當模型中的目標小于密度閾值,可直接將小于閾值的目標標記為噪聲,反之則構建簇C,同時將目標t和周圍目標添加到簇C中,篩選出全部未被標記或未分類到簇中的對象,當其大于密度閾值,直接將其周圍數據添加到簇C中;當數據不在任何簇中,可直接將該數據視為已標記過的數據,根據以上對數據處理的步驟將全部數據進行標記處理,從而得出所有帶有噪聲的數據,并對其進行清理。
物聯網隱私數據通常分為數值型和分類型,但這種形式的數據不適用于物聯網隱私數據保護模型,需分別對兩種數據進行變換。
數值型數據可直接在z-score規范化的方法下對其進行變換,簡而言之就是將數據的屬性在其均值和標準差的基礎上進行規范化處理,其規范化公式為

(2)
式中,v′代表數據的屬性值經過規范化處理后的結果,v代表數據的屬性值,σA代表屬性X的標準值。
分類型數據與數值型數據除了常規差異以外,兩者最大的區別就是分類型數據之間的距離相等,用公式進行表示為
|Xi-Xj|=λ
(3)
式中,Xi和Xj均代表分類型數據,λ代表任意兩分類型數據之間的距離。
為降低分類型數值轉換的誤差,可在泛化的基礎上進行數據轉換,從而保證隱私數據保護模型的性能。
待保護的物聯網數據由于準標識符的原因導致部分數據出現一定的損失量,為提高信息損失量的測量精度,精確填補信息,需要分別對數值型與分類型數據進行測量。
2.3.1 數值型屬性信息損失量
數值型數據屬性的泛化就是提取出更大范圍的區間值,計算此類損失量前需要將泛化前后的差異值以及全域值求解出來,并計算出兩者之間的比值得出信息的損失,從而得出數值型屬性的信息損失度量,其表達式為

(4)
式中,x代表未經過泛化處理的損失量,x′代表經過泛化處理后的損失量,xmax代表損失量的最大值,xmin代表損失量的最小值,x′min代表經過泛化處理后的損失量最小值,x′max代表經過泛化處理后的損失量最大值,Amax代表區域值中屬性A的最大值,Amin代表區域值中屬性A的最小值。
2.3.2 分類型屬性信息損失度量
分類型屬性在求解信息損失量的過程中需要利用泛化樹的高度進行計算,因此計算前需求解出泛化數的高度,并得出泛化前后屬性值的層次,同時求解出層次的高度差,最終計算出泛化樹高度與層次高度之間的比值,從而得出分類型屬性的信息損失度量,其表達式為

(5)
式中,hx代表屬性在泛化樹中的高度,hx′代表泛化后屬性值在泛化樹中的高度。
根據以上方法可完整計算出信息損失量,并將其進行填補處理,保證數據的完整。
由于物聯網中的數據過多,為保證數據的安全需對數據進行加密,在海量數據面前,僅僅利用常規方法進行屬性分解以及加密會導致密鑰出現巨大差異,而大量密鑰會占據過多內存,因此只能在混合云的基礎上對其進行存儲,為了降低密鑰存儲空間密度,可利用動態加密方法對物聯網隱私數據進行處理。
在動態過程中產生的密鑰均是獨一無二的,且混合云中的密鑰均可被利用,因為在密文解密的過程中,不可避免出現很多密文需要共享同一明文的情況,由于物聯網隱私數據的位置不盡相同,因此所形成的密文也均存在較小差別。
假設物聯網內某數據為aij,當aij中的元素j1大于j2,則j2=modj1;當元素j1小于j2,且ji=j1,當元素j1等于j2時,即可停止運算,此時數據aij1等于aij2,令數據aij內的屬性序號為i,利用aij2實現數據加密,其密鑰的表達式為

(6)
式中,Ri代表密鑰運算中的平衡系數。
式(1)不僅可求解出密鑰,也可將其視為密鑰的第一次動態變換。
根據該原理得出密鑰的第二次動態變換表達式為
Kij=f(aij)

(7)
式中,Rj代表第二次動態變換的平衡系數。
假設物聯網數據關系集為R,利用最小加密粒度數豎向將其進行分解,從而得到滿足物聯網隱私數據要求的屬性集合F={F1,F2},將屬性F進行分解后可得出有限元C={c1,c2,…,cm},其中的元素為R={a1,a2,…,cn}。
假設有限元公式為

(8)
式中,Nij代表數值型數據,其值域范圍為[-d,d],g代表元祖的系數。
從而得出動態變換公式為

(9)
經過隨機變換完成動態加密,其中

(10)
在式(5)的幫助下對物聯網數據進行加密,并在式(2)的基礎上進行解密,完成物聯網隱私數據的保護。
對物聯網隱私數據的保護不僅需要對數據進行加密,還需對用戶自身信息進行保護。
假設最新生成的數據關系R′的元祖數據為(t′1,t′2,…,t′n),根據R′對用戶信息進行加密,加密公式為
U=Ek(T)
(11)
式中,E代表對稱加密算法,T代表元祖數據合集,U代表用戶信息加密結果。
則用戶信息解密公式為

(12)
假設f為動態交換加密函數,在不同密鑰的幫助下可求解出用戶信息的加密和解密結果,經計算兩者之間的結果均相同,其表達式為
fk1[fk2(T)]=fk2[fk1(T)]
(13)
在用戶數據預處理和實時查詢的基礎下對用戶信息進行保護,預處理的過程如下所示。
在混合云儲存的幫助下,可為物聯網隱私數據匹配出n個密鑰,將其用在加密函數E上,并對已經變換的加密函數進行賦值處理,實現數據庫的加密,得出加密表達式為

(14)
式中,Un代表每個密鑰對應的加密結果,Vn代表密鑰對其中的一個。
在式(9)的幫助下可求解出n個密鑰對〈Un,Vn〉,將其傳送到k個物聯網服務器,并存儲其中的密文對。
用戶信息的另一個保護步驟就是對數據的實時查詢,其過程如下所示。
在用戶信息傳輸協議的幫助下對物聯網內k個服務器中的用戶信息進行檢測,獲取出與用戶信息相對應的密文對〈Ui,Vi〉。
用戶在相應私鑰r的幫助下計算出用戶信息G=fr(Vi),并將結果傳送到物聯網數據庫。
物聯網內用戶信息在加密函數f的基礎上實現用戶信息G的加密,其解密公式為

=fr(ki)
(15)
用戶可利用私鑰r與相應的密鑰對用戶信息進行解密處理,得出的表達式為

(16)
根據以上對物聯網數據以及用戶信息的加密完成物聯網隱私數據的保護。
將加密后的物聯網隱私數據保存在混合云中可有效加強數據的保護性能,混合云就是將私有云和公共云進行混合從而產生的云計算環境,因此混合云既可以運算用戶相關數據和保存,也可以將一般數據進行計算和保存,因此可在混合云的基礎上構建出物聯網隱私數據保護模型,并將數據加密算法融合其中,保證數據的完整和安全。
在混合云基礎上構建的隱私數據保護模型共分為4層,分別為用戶層、接口層、管理層以及平臺層,其模型圖如圖1所示。

圖1 物聯網隱私數據保護模型
在此模型中不同層的功能可同時進行,平臺層將隱私數據進行保存,接口層對數據進行加密,用戶層對用戶身份進行驗證,管理層主要擺正整體模型的運行。根據該模型即可完成物聯網隱私數據的保護。
為了驗證混合云存儲下物聯網隱私數據保護模型研究方法的有效性,需對模型的信息損失度、數據可用性、模型性能以及安全性進行測試,測試結果如下所示。測試中,將文獻[4]算法、文獻[5]算法與本文方法進行對比。
保護隱私數據的過程中必須保證信息損失度較低,此時的保護模型才存在意義,在不同物聯網數據下利用三種方法進行保護,得出三種方法下的信息損失量,判斷信息損失量最低即可得出最優隱私數據保護模型。

圖2 不同方法下的信息損失量
根據圖2可知,在五組實驗結果下均是所提方法的信息損失量最低,保證隱私數據保護性能,其余兩種方法的信息損失量均遠遠超過所提方法,因此極有可能導致數據保護模型失去意義,所提方法的信息損失量低是因為在構建保護模型前對原始數據進行預處理,得出應有的信息損失量并對其進行填補處理,大大保證數據的完整性,從而降低信息損失量。
在隱私數據保護模型中數據量是一個影響數據可用性的直接原因,數據量越多模型中數據可用性越強,選取不同數據量數據,對比三種方法下的數據可用性。對比結果如圖3所示。

圖3 三種方法的數據可用性
根據圖3可知,在何種數據量下的數據可用性最強的均是所提方法,其余兩種方法均不同程度地低于多提方法的可用性,從而驗證所提方法的有效性。
為進一步驗證所提方法的性能,可在同一環境下將三種方法的上傳速率與未加密的數據上傳速率進行比較,得出最接近未加密數據上傳速率的方法即為最優隱私數據保護模型,其結果如圖4所示。

圖4 三種方法的模型保護性能
由圖4可知,所提方法是最接近未加密數據的上傳速率,因此證明所提方法的效率是三種方法中最高的,從而驗證所提方法的整體性能。
非正常解密方法只能是以暴力或破解密鑰獲取隱私數據,在加密算法中,擴散性是判斷保護模型安全性的重要指標,利用密文的改變率衡量加密數據的擴散性,密文改變率公式為

(17)
式中,M代表密文變化位數,N代表密文的匯總數量,P代表密文改變率。
假設加密算法中明文的數量不再發生變化,若任意一個密鑰發生改變,即可得出其密文改變率從而獲取其擴散性曲線,繼而判斷保護模型的安全性。表1為三種方法的對比結果。

表1 三種方法的擴散性
密文改變率越強,數據的擴散性越強即加密的安全性越高,根據表1可知,所提方法的擴散性最高,其平均密文改變率最高,進而驗證了所提方法的安全性。
為加強物聯網隱私數據安全性,提出混合云存儲下物聯網隱私數據保護模型研究方法,該方法首先對物聯網數據進行預處理,其次將數據進行加密并添加到保護模型中,實現物聯網隱私數據保護,解決了信息損失度高、數據可用性差、模型性能差以及安全性差的問題,保證物聯網數據的完整和安全。