何英杰,李啟偉,孫涵,郜迪,董劍峰,楊書華
(中國電子科技集團公司第二十二研究所,河南 新鄉(xiāng) 453000)
物聯(lián)網(wǎng)各種各樣的應(yīng)用將各個終端設(shè)備數(shù)據(jù)聚合到數(shù)據(jù)中心,通過對設(shè)備數(shù)據(jù)的統(tǒng)計分析來為消費者提供優(yōu)質(zhì)的服務(wù)[1],例如智慧家居[2]、智慧交通[3]、智慧醫(yī)療[4]等,這些應(yīng)用提高了人們的生活質(zhì)量并產(chǎn)生了巨大的社會經(jīng)濟效益[5]。
物聯(lián)網(wǎng)應(yīng)用利用聚合數(shù)據(jù)產(chǎn)生價值,物聯(lián)網(wǎng)數(shù)據(jù)質(zhì)量越高,數(shù)據(jù)價值也就越大。但是,不同的物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)質(zhì)量具有差異性[6]。首先,引起物聯(lián)網(wǎng)數(shù)據(jù)質(zhì)量差異性的主要原因是數(shù)據(jù)的不確定性,例如,數(shù)據(jù)聚合的環(huán)境動態(tài)變化可使數(shù)據(jù)產(chǎn)生不定因素(錯誤、噪聲、分布狀態(tài)等)[7],從而影響原始數(shù)據(jù)質(zhì)量;其次,物聯(lián)網(wǎng)系統(tǒng)可能存在惡意節(jié)點,惡意節(jié)點產(chǎn)生異常數(shù)據(jù),若這些質(zhì)量較低的異常信息聚合到數(shù)據(jù)中心,則會影響應(yīng)用的實際效果;此外,物聯(lián)網(wǎng)系統(tǒng)中存在大量收集用戶敏感數(shù)據(jù)的設(shè)備,這些設(shè)備常常成為惡意攻擊者的目標(biāo),例如,物聯(lián)網(wǎng)中的共謀攻擊[8]、擾動攻擊[9]或者選擇明文攻擊(chosen-plaintext attack,CPA)[8]等都會引起數(shù)據(jù)隱私的泄露問題。因此,提高聚合數(shù)據(jù)的質(zhì)量以及保護數(shù)據(jù)隱私對物聯(lián)網(wǎng)應(yīng)用而言極其重要。
為了應(yīng)對提高聚合質(zhì)量的挑戰(zhàn),真相發(fā)現(xiàn)最近已得到廣泛研究[10],旨在從不可靠的數(shù)據(jù)中發(fā)現(xiàn)真值。真相發(fā)現(xiàn)方法的基本原則是:若感知的數(shù)據(jù)更接近匯總結(jié)果,則將為其分配較高的權(quán)重;而若數(shù)據(jù)具有較高的權(quán)重,則將在聚合過程中,其數(shù)據(jù)獲得更多統(tǒng)計。
盡管真相發(fā)現(xiàn)方法已極大地改善系統(tǒng)中聚合的準確性,但仍無法解決參與設(shè)備的隱私問題。在IoT應(yīng)用中,參與者通常不愿提供其真實的感知數(shù)據(jù),這些感知數(shù)據(jù)中推斷得到參與者的隱私信息。例如眾智感知系統(tǒng)[10]中能夠通過匯總從大量設(shè)備那里收集的數(shù)據(jù)來解決一些難題,但是,平臺系統(tǒng)能夠從設(shè)備的收集的回答中推斷得到每個參與設(shè)備所屬人員的隱私信息;此外,聚合健康數(shù)據(jù)[11](例如治療結(jié)果)能夠更好地評估新藥或醫(yī)療設(shè)備的效果,但可能會泄露參與患者的隱私;地理標(biāo)記[12]能夠通過匯總參與者的報告來提供對特定對象(例如垃圾、坑洼、自動外部去纖顫器等)的準確、及時的定位,但存在泄露參與者敏感位置信息的風(fēng)險。
目前,已有研究方法關(guān)注解決聚合數(shù)據(jù)的質(zhì)量和隱私泄露問題。Xu等人[13]提出了一種面向移動群智感知系統(tǒng)的高效保護隱私的真值發(fā)現(xiàn)(efficient and privacy-preserving truth discovery,EPTD)方法,但用戶組之間生成大量共享密鑰而導(dǎo)致其能耗成本開銷較大;Tang等人[14]提出了一種面向群智感知系統(tǒng)的非交互隱私保護真值發(fā)現(xiàn)(privacy-preserving truth discovery,PPDT)算法,但算法的加速器只針對特定問題場景;Zhang等人[15]提出了一種面向移動群智感知系統(tǒng)的可靠隱私保護真值發(fā)現(xiàn)算法,但算法的計算成本較高;Mao等人[16]提出了基于兩個非協(xié)同的云服務(wù)器的輕量級真值發(fā)現(xiàn)框架分別為L-PPDT(lightweight privacy preserving truth discovery framework)及L2-PPDT(more lightweight privacy preserving truth discovery framework)。該方案中,用戶能夠選擇不同的隱私加密級別,但是,可信度高的用戶的數(shù)據(jù)通常具有更高價值,其方案并不能實現(xiàn)差異化的隱私保護級別。
針對上述問題,本文提出了一種面向物聯(lián)網(wǎng)的輕量級真值發(fā)現(xiàn)(lightweight privacy-preserving truth discovery for IoT,IoT-LPTD)機制,該機制提高了聚合數(shù)據(jù)質(zhì)量和保護了數(shù)據(jù)隱私,主要貢獻如下。
(1)物聯(lián)網(wǎng)的云服務(wù)器基于洗牌算法和流式加密實現(xiàn)了匿名計算真值。在云服務(wù)器計算真值的過程中,即使惡意終端設(shè)備和云服務(wù)器發(fā)起共謀攻擊,誠實的終端設(shè)備的隱私也不會被泄露。
(2)霧服務(wù)器和可信服務(wù)器基于密文協(xié)同計算設(shè)備的可信權(quán)重,防止了霧服務(wù)器泄露設(shè)備隱私。同時,霧服務(wù)器采取了Softmax函數(shù)計算設(shè)備的權(quán)重,減少了計算真值的誤差率。
(3)理論分析證明了該機制具有保護設(shè)備隱私的特點。實驗結(jié)果表明,該機制誤差率低,并在時間開銷上優(yōu)于已有方法。
設(shè)q是一個大素數(shù),1G和2G分別為兩個q階的循環(huán)乘法群。1G到2G的雙線性映射為,其滿足下列性質(zhì)[12]。
(2)非退化性:如果P是1G的生成元,那么e(P,P)就是2G的生成元。
(3)可計算性:對于任意的P、Q,在有效的時間內(nèi)能夠計算得到e(P,Q)。
真值發(fā)現(xiàn)算法[13]主要分為兩個步驟:權(quán)重更新和真值更新。
(1)權(quán)重更新:由于每個設(shè)備感知數(shù)據(jù)x和真值tx存在差別,根據(jù)感知數(shù)據(jù)的差異,對每個設(shè)備定義一個可信的權(quán)重,其中,f(·)是一個單調(diào)遞減函數(shù),d(x,xt)用來測量感知數(shù)據(jù)和預(yù)測真值之間的差異。
(2)真值更新:根據(jù)每個設(shè)備權(quán)重值計算得到當(dāng)前的真值tx:
其中,M是設(shè)備的數(shù)量,xm是第m設(shè)備感知數(shù)據(jù)值。
IoT-LPDT模型示意圖如圖1所示,IoT-LPTD由可信服務(wù)器(trust authority server,TA)、云服務(wù)器(cloud server,CS)、霧服務(wù)器(fog server,F(xiàn)S)、設(shè)備節(jié)點(device node,DN)組成,其建模為四元組(TA,FS,CS,DN)。在IoT-LPTD模型中,首先,TA為CS、FS、DN分發(fā)簽名密鑰對<sk,pk>和傳輸密鑰(K),并維護一個節(jié)點權(quán)重列表(LT),同時CS在執(zhí)行真值算法之前,TA將發(fā)送給CS一個擾動的權(quán)重列表(Wt);其次,CS在t時刻請求DN中的設(shè)備節(jié)點(di)采集不同對象的屬性(xoi),當(dāng)di采集到數(shù)據(jù)集合XO之后,執(zhí)行加密數(shù)據(jù)算法和簽名算法,并將密文傳送到FS中的霧服務(wù)器(fi),fi執(zhí)行密文聚合算法并把聚合密文傳送至云服務(wù)器(ci),ci匿名地計算真值并加密得到真值集合,F(xiàn)S接收加密的真值集合后,執(zhí)行計算可信權(quán)重算法并把新的可信權(quán)重列表(Wt+1)傳送給TA;最后,TA更新TL,其中,IoT-LPTD模型中所用的數(shù)學(xué)符號見表1。
圖1 IoT-LPDT模型示意圖
表1 符號說明
假設(shè)物聯(lián)網(wǎng)系統(tǒng)模型是半誠實的,即在威脅模型中的參與者將會嚴格遵守設(shè)計的IoT-LPTD機制;但是,云服務(wù)器或霧服務(wù)器能夠通過收集感知數(shù)據(jù)去推斷每個設(shè)備的敏感信息。每個設(shè)備能夠嘗試獲取其他設(shè)備的敏感數(shù)據(jù),進行推斷或?qū)W習(xí)其他設(shè)備隱私。
IoT-LPTD主要由4個階段組成:系統(tǒng)建立、感知數(shù)據(jù)加密、真值匿名計算以及權(quán)重匿名更新。
4.1.1 系統(tǒng)初始化
TA設(shè)置一個初始化的安全參數(shù)κ,由安全參數(shù)和大素數(shù)生成算法生成一個較大的素數(shù)q。TA構(gòu)建兩個循環(huán)群G1、G2,兩個循環(huán)群的階數(shù)為最大素數(shù)q。設(shè)g1、g2分別為G1、G2的生成元,其雙線性映射為e:G1×G2→GT。系統(tǒng)構(gòu)造全域且單向的哈希函數(shù)H:{1,0}*→G1和以密鑰k為種子的偽隨機函數(shù)fk(x)。
其中,l、N、lt分別表示密文長度、明文允許的最大長度以及時間戳長度。故TA生成公共的系統(tǒng)參數(shù)為{k,q,G1,G2,GT,g1,g2,e,H,fk(x)}。
4.1.2 密鑰生成
TA根據(jù)公共參數(shù)為DN、FS、CS 生成簽名密鑰對<sk,pk>,傳輸密鑰(K),解密密鑰MASK。
(1)DN:TA為di從Zp群中選擇一個隨機數(shù)s,令其作為di的簽名私鑰,即skdi=s,與此同時計算與之對應(yīng)的簽名公鑰:pkdi=gs,然后TA根據(jù)di的真實IDdi生成一個偽身份
(2) FS、CS:TA使用與設(shè)備節(jié)點相同的原理TA為fi生成簽名密鑰對和偽身份,同時為ic生成簽名密鑰對和偽身份。
(3)FS、CS的K構(gòu)建:TA為di從Zp中挑選兩個隨機數(shù)αdi、βdi作為數(shù)據(jù)加密的密鑰分別存儲到TA的密鑰列表中。
(4)解密密鑰生成:TA在時刻t根據(jù)及式(2)分別為fi、ci計算聚合密鑰MASKfi、MASKic:
4.1.3 可信權(quán)重列表構(gòu)建
可信權(quán)重列表LT見表2,TA構(gòu)建一個可信權(quán)重列表以追蹤LT惡意節(jié)點和匿名實現(xiàn)設(shè)備的數(shù)據(jù)可信權(quán)重的更新,其中,設(shè)備的初始化權(quán)重為
TA通過洗牌算法構(gòu)建一個可逆函數(shù)I(x),利用I(x)的性質(zhì)為di的隨機生成一個數(shù)據(jù)加密的位置j。其中,I(x)函數(shù)滿足在不同周期內(nèi),相同的i輸出的位置j不同:
表2 可信權(quán)重列表LT
當(dāng)di采集到數(shù)據(jù)Xo后,設(shè)備di通過加密算法和簽名算法保護敏感數(shù)據(jù)的隱私。具體過程如下。
(1)在t時刻下,di向TA請求一個數(shù)據(jù)有效索引位置I(i),并對感知數(shù)據(jù)明文加密:
(2)令j=1,…,nfi且j≠I(i),計算第j處的密文:
(4) 密文簽名:
當(dāng)di完成上述步驟之后,把發(fā)給所連接的霧節(jié)點fi。
fi收集所連接設(shè)備的數(shù)據(jù)datai后,向可信服務(wù)器請求t時刻的MASKfi,并執(zhí)行已經(jīng)初始化的驗證聚合簽名算法和聚合算法。fi把聚合密文上傳到云服務(wù)器,云服務(wù)器得到聚合密文進行解密,然后計算真值。此時,云服務(wù)器即使得到設(shè)備的原始數(shù)據(jù),也無法推斷具體設(shè)備上傳的原始數(shù)據(jù),算法詳細步驟如下。
(1)聚合簽名驗證。
令i=1,…,nfi,計算:
霧節(jié)點fi發(fā)送至ic,當(dāng)ic接收fi的數(shù)據(jù)datafi后,首先向可信服務(wù)器請求t時刻的MASKic,然后執(zhí)行數(shù)字簽名的驗證算法驗證數(shù)據(jù)合法性,如果合法進行解密數(shù)據(jù)并計算真值。算法詳細步驟如下。
(1) 數(shù)字簽名驗證:
(3)根據(jù)云服務(wù)器在有效時間段內(nèi)收到可信服務(wù)器下發(fā)的一次性權(quán)重列表tW和式(1)計算Xt:
(4)加密Xt及簽名:
ci把數(shù)據(jù)發(fā)送至對應(yīng)的fi。
fi接收云服務(wù)器數(shù)據(jù)dataci后,驗證數(shù)據(jù)合法性并在密文上計算設(shè)備權(quán)重。算法詳細步驟如下。
(1)驗證簽名:
(2) 若簽名合法,則fi計算感知數(shù)據(jù)與真值的差異度:
(3)基于Softmax函數(shù)計算設(shè)備的權(quán)重Wt+1:
fi計算得到的發(fā)送給TA。TA執(zhí)行更新可信權(quán)重列表操作,具體操作如下。
在第3.2節(jié)所述的威脅模型下,從設(shè)備、霧服務(wù)器、服務(wù)器的匿名計算以及加密模式的安全性兩個方面對IoT-LPDT進行安全分析。
5.1.1 匿名計算安全分析
定義設(shè)備感知數(shù)據(jù)其中M∈{0,1}l,每個設(shè)備di執(zhí)行感知數(shù)據(jù)加密算法加密mi生成密文cti,F(xiàn)S收集CT:{ct1,…,cti}并執(zhí)行數(shù)據(jù)驗證和聚合算法生成,CS最后從FS收集
對于DN,由于每個設(shè)備不能獲取FS和CS的私鑰,設(shè)備不能獲得其他設(shè)備的原始數(shù)據(jù)。所以設(shè)備不能破壞整個協(xié)議匿名計算真值的特性。
對于FS,雖然能從所有設(shè)備收集CT:{ct1,…,cti},但是由于它缺少CS的解密密鑰,沒有能力恢復(fù)DN的任何設(shè)備的感知數(shù)據(jù)。其次,霧服務(wù)器使用設(shè)備收集的密文{ct1,…,ctn}和基于云服務(wù)器密鑰加密后的真值密文進行異或運算,然后根據(jù)式(18)計算得到各個設(shè)備的權(quán)重,并且根據(jù)假名機制記錄在可信服務(wù)器TA。值得注意的是,設(shè)備的權(quán)重是基于密文計算的。因為FS也無法獲取CS的私密鑰和時間戳等加密參數(shù),F(xiàn)S根據(jù)異或之差反推得到設(shè)備的原始數(shù)據(jù),所以FS不能夠破壞整個協(xié)議匿名計算真值的特性。
對于CS,雖然能夠恢復(fù)所有設(shè)備的感知數(shù)據(jù),但是,CS無法區(qū)分具體某一個設(shè)備的隱私數(shù)據(jù),即:如果一個攻擊者僅知道數(shù)據(jù)來源于k個設(shè)備數(shù)據(jù)源,但是在多項式時間內(nèi),無法區(qū)分數(shù)據(jù)來源于具體某一個設(shè)備,則說明該協(xié)議具有匿名性[16]。因此,如果IoT-LPDT在同一周期下,某兩個設(shè)備的密文發(fā)生位置交換,CS無法區(qū)分交換前后密文的差異性,則證明IoT-LPDT協(xié)議具有匿名性。然而,CS僅能夠獲取的CS密文為:
假設(shè)設(shè)備da和db的交換的數(shù)據(jù)為ma、mb,其中1≤a<b≤n,那么所有設(shè)備數(shù)據(jù)為則密文變?yōu)?/p>
因此證明協(xié)議具有匿名性,必須證明對于任意的a、b,V1≡V2。假設(shè)存在一個模擬設(shè)備ds執(zhí)行該協(xié)議,首先生成一個{1,…,n}的隨機排列組合{I-1(1),…,I-1(n)},然后ds得到M′′為:
最后ds輸出的密文為:
因為在多項式時間內(nèi),M和M′不能被區(qū)分,所以,V1和V3也不能區(qū)分。因此,VV′≡,同理,在多項式內(nèi),M′和M′不能被區(qū)分。因此,
因為V1≡V2,所以IoT-LPTD協(xié)議滿足K匿名性。
最后,IoT-LPTD即使根據(jù)式(14)計算得到真值Xt,但是整個計算過程,CS無法區(qū)分設(shè)備敏感數(shù)據(jù)。
綜上所述:IoT-LPTD具有匿名計算真值的性質(zhì)。
5.1.2 加密模式安全分析
在云服務(wù)器計算真值過程中,設(shè)備端通過異或操作把數(shù)據(jù)密文聚合到云服務(wù)器。參考文獻[17]的對稱加密模式是滿足CPA安全要求的,其中,r是隨機數(shù),而IoT-LPTD 協(xié)議的加密模式也是滿足CPA安全要求的。
證明參考文獻[17]已經(jīng)證明c=<r,滿足CPA安全要求。令k1≠k2,則滿足CPA安全要求。因此,也滿足CPA安全要求。
綜上所述:IoT-LPTD 也滿足CPA安全要求。
仿真實驗分析了IoT-LPTD的性能。其實驗設(shè)置如下。
多個設(shè)備在t時刻多次采集不同數(shù)量的數(shù)據(jù),其中,數(shù)據(jù)的取值服從于置信區(qū)間為0.95、均值為0、方差為10.5的正態(tài)分布,若數(shù)據(jù)取值不在置信區(qū)間內(nèi),則認為該數(shù)據(jù)為異常值。
5.2.1 時間開銷分析
系統(tǒng)時間開銷見表3,其表明在時間開銷方面,IoT-LPTD優(yōu)于已有方法。
與已有方法相比,IoT-LPTD 的時間開銷最低。主要原因分析如下:在加解密方面只有異或操作運算,減少了加解密的時間消耗成本。相比上述4種方案,它采取云端計算真值更新和權(quán)重更新兩個步驟,而IoT-LPTD則在云端只計算真值,而霧節(jié)點協(xié)助云端計算真值,從而減少了云端的計算成本。
表3 系統(tǒng)時間開銷
5.2.2 誤差率分析
為評估IoT-LPTD可用性,采用參考文獻[15]中的平均誤差率作為評價指標(biāo),平均誤差率如式(21)所示:
其中,云服務(wù)器計算出的真值,為真實值,n表示采集的設(shè)備。
采集不同數(shù)據(jù)對象數(shù)目的誤差示意圖如圖2所示,實驗結(jié)果表明,IoT-LPTD具有高可用性。分析原因如下:與傳統(tǒng)的方法采取式(14)作為計算權(quán)重的方法相比,IoT-LPTD采取式(18)計算權(quán)重,其目的是使越靠近真值的感知數(shù)據(jù)的比重越大,從而使計算得到的真值誤差率越來越小。
圖2 采集不同數(shù)據(jù)對象數(shù)目的誤差示意圖
本文針對物聯(lián)網(wǎng)中終端設(shè)備采集感知數(shù)據(jù)質(zhì)量參差不齊、聚合過程中泄露隱私數(shù)據(jù)等問題提出一種面向物聯(lián)網(wǎng)輕量級隱私保護的真值發(fā)現(xiàn)機制。該機制實現(xiàn)了匿名計算真值和基于密文計算權(quán)重的功能,抵御了推斷或泄露設(shè)備隱私的惡意攻擊。最后,分析了該機制的安全性。實驗表明該機制具有時間開銷低、可用性高的特點,是一種適應(yīng)于規(guī)模化物聯(lián)網(wǎng)高效的真值發(fā)現(xiàn)機制。