摘 要:
針對現(xiàn)有用戶協(xié)作算法存在共謀攻擊、背景知識攻擊以及用戶協(xié)作意愿等問題,基于可驗證秘密共享與智能合約提出了一種用戶協(xié)作隱私保護算法(privacy protection algorithm based on verifiable secret sharing and smart contracts,VSS-SCPPA)。該算法首先利用可驗證秘密共享算法對用戶查詢信息進行加密和分裂,并提供系數(shù)承諾以驗證子秘密數(shù)據(jù)的完整性。其次,結(jié)合智能合約與差分隱私技術(shù)設(shè)計了一種用戶選擇算法,構(gòu)建匿名集。對該算法在抵御串通攻擊方面的有效性進行了分析。通過在 Geolife 與BerlinMOD 數(shù)據(jù)集上的實驗,結(jié)果顯示VSS-SCPPA的隱私保護性更高。與Tr-privacy、Ik-anonymity和GCS相比,VSS-SCPPA的效率分別提高了約86.34%、99.27%和99.19%。VSS-SCPPA在提高隱私保護性的同時顯著提升了算法效率,證明了其在用戶協(xié)作隱私保護中的有效性。
關(guān)鍵詞:用戶協(xié)作;可驗證秘密共享;智能合約;差分隱私;用戶激勵
中圖分類號:TP391"" 文獻標志碼:A""" 文章編號: 1001-3695(2025)04-035-1223-07
doi: 10.19734/j.issn.1001-3695.2024.05.0248
Privacy protection algorithm based on verifiable secret sharing and smart contracts
Zhang Lei1a, 1b, 2, Cao Mingzeng1a, 1b, 2, Zhang Chenglin1a, 1b, 2, He Lili1a, 1b, 2, Ji Lili1c
(1. a. School of Information amp; Electronics Technology, b. The Heilongjiang Provincial Key Laboratory of Autonomous Intelligence amp; Information Processing, School of Information Science amp; Electronic Technology, c. Science amp; Technology Dept., Jiamusi University, Jiamusi Heilongjiang 154007, China; 2. Jiamusi Key Laboratory of Satellite Navigation Technology amp; Equipment Engineering Technology, Jiamusi Heilongjiang 154007, China)
Abstract:Addressing issues of collusion attacks, background knowledge attacks, and user cooperation willingness in existing user collaboration algorithms, this paper proposed a user collaboration privacy protection algorithm based on verifiable secret sharing and smart contracts(VSS-SCPPA). The algorithm firstly encrypted and splitted user query information using a verifiable secret sharing algorithm and provided coefficient commitments to verify the integrity of sub-secret data. Next, it combined smart contracts and differential privacy technology to design a user selection algorithm, constructing an anonymous set. It analyzed the algorithm’s effectiveness in resisting collusion attacks. Experiments on the Geolife and BerlinMOD datasets show that the VSS-SCPPA offers higher privacy protection. Compared to Tr-privacy, Ik-anonymity, and GCS, the efficiency of VSS-SCPPA increase by approximately 86.34%, 99.27%, and 99.19%, respectively. VSS-SCPPA significantly enhances efficiency while improving privacy protection, demonstrating its effectiveness in user collaboration privacy protection.
Key words: user collaboration; verifiable secret sharing; smart contract; differential privacy; user incentive
0 引言
隨著移動通信技術(shù)和智能設(shè)備的普及,基于位置的服務(wù)(LBS)已成為不可或缺的一部分[1,2]。LBS利用地理位置數(shù)據(jù)為用戶提供各種服務(wù),包括導(dǎo)航、位置檢索、朋友定位和商業(yè)推廣等[3,4]。盡管帶來便利,但也伴隨嚴重的個人隱私威脅,如位置泄露和隱私數(shù)據(jù)濫用。基于用戶協(xié)作的隱私保護算法因其獨特優(yōu)勢而受到重視,這種算法通過構(gòu)建一個由多個用戶組成的匿名集來增強個體隱私保護的效力。與其他位置隱私保護算法相比,如差分隱私[5]、位置坐標變換[6]和基于密碼學(xué)[7]的算法,用戶協(xié)作算法具有以下優(yōu)勢:首先,用戶協(xié)作算法能夠有效整合多個用戶的數(shù)據(jù),通過這種數(shù)據(jù)聚合方式,可以顯著提高匿名集的多樣性和豐富性,從而更有效地防止用戶身份和位置信息被識別。其次,該算法能夠?qū)崟r動態(tài)地調(diào)整匿名集的構(gòu)成,以應(yīng)對不斷變化的用戶環(huán)境和隱私需求,這一點是傳統(tǒng)的差分隱私和位置坐標變換方法難以做到的。此外,用戶協(xié)作算法不依賴于復(fù)雜的數(shù)學(xué)運算或密鑰管理,因此在實際應(yīng)用中可以更為簡便地部署和維護。
不可否認的是,用戶協(xié)作的隱私保護算法在保護效力、靈活性和便利性等方面明顯優(yōu)于傳統(tǒng)方法。然而,該算法尚存一些尚未解決的問題不容忽視。具體來說,基于用戶協(xié)作的隱私保護算法目前主要存在以下問題:
a)現(xiàn)有算法假設(shè)所有協(xié)作用戶都是可信的,不窺探其他用戶的隱私;愿意提供服務(wù)并將查詢集發(fā)送到LBS服務(wù)器;所有查詢可以在有限的時間間隔內(nèi)發(fā)送到LBS服務(wù)器;協(xié)作用戶與不可信的LBS服務(wù)器之間不存在串通等行為。
b)現(xiàn)有算法未能全面考慮到背景知識攻擊可能帶來的威脅,而一旦協(xié)作用戶成為背景知識攻擊的目標,將可能會失去個人隱私的保護。
針對上述問題,本文提出一種基于可驗證秘密共享與智能合約的隱私保護算法。該算法采用可驗證秘密共享算法應(yīng)對協(xié)作用戶的隱私泄露或合謀攻擊,同時利用智能合約激勵協(xié)作用戶并增強查詢集發(fā)送的競爭性。與現(xiàn)有激勵機制[8]中的算法不同,本文算法中的智能合約激勵協(xié)作用戶在限定時間內(nèi)提交查詢集,只有首批協(xié)作用戶才能獲得激勵反饋。此外,本文在構(gòu)建匿名集時采用了差分隱私算法,有效防止了背景知識攻擊,從而進一步增強了隱私保護。為驗證提出算法的隱私性能和執(zhí)行效率,本文進行了安全性分析,并基于這些分析結(jié)果,在真實數(shù)據(jù)集上進行了幾組仿真實驗。通過與對比算法的比較,實驗結(jié)果與分析進一步證明了本文算法的優(yōu)越性。
1 相關(guān)工作
用戶協(xié)作隱私保護算法是一種通過構(gòu)建匿名集合來保障個人隱私的方法。Guo等人[8] 根據(jù)查詢用戶設(shè)定的選擇區(qū)域不同半徑,選擇信譽較高的代理用戶代為發(fā)送查詢請求。最終,代理用戶從LBS服務(wù)器獲取查詢結(jié)果并將其轉(zhuǎn)發(fā)給查詢用戶,從而保護了其隱私。隨著越來越多的用戶傾向于連續(xù)使用LBS,Nisha等人[9]通過協(xié)作用戶的緩存為真實用戶提供連續(xù)結(jié)果,從而減少與不可信LBS服務(wù)器的直接交互。為應(yīng)對用戶組內(nèi)的信任問題,Shen等人[10]引入定制的魯棒隱身區(qū)域(RCR)來代替用戶的精確位置,大大降低了隱私泄露的風(fēng)險。隱身區(qū)域的大小則根據(jù)用戶的隱私偏好進行調(diào)整。Li等人[11]運用軟計算中的模糊邏輯,引入了一個概率閾值來評估用戶的信譽。通過拒絕向信譽較低的用戶提供幫助,促使用戶積極參與匿名集的構(gòu)建,從而實現(xiàn)了隱私保護的目標。
盡管上述算法能夠防止LSP獲取用戶的精確隱私信息,但無法確保其他用戶誠實完成協(xié)作任務(wù),其他用戶也可能對查詢用戶的隱私產(chǎn)生興趣。此外,隨著用戶之間頻繁通信,隱私泄露的風(fēng)險也會增加。因此,屬性加密能夠?qū)崿F(xiàn)隱私保護并達成LBS的目標,同時避免用戶間的共謀。基于屬性加密,研究人員已經(jīng)提出了幾種隱私保護算法。
李幸昌等人[12]通過對用戶查詢信息進行分割、加密和混合交換,滿足了用戶自定義匿名度的需求,提升了用戶間的隱私安全性。此外,還采用假名算法,有效防御長期統(tǒng)計攻擊。文獻[13]將協(xié)作與加密相結(jié)合,利用基于屬性的加密來選擇屬性相似的協(xié)作用戶,降低了基于屬性差異識別的成功率。Zhang等人[14]基于類似理念,將基于屬性的加密功能擴展到一個半可信實體。該實體憑借強大的通信能力對查詢信息進行加密,并通過閾值方案進行分割,使得協(xié)作用戶難以獲取發(fā)起者的任何信息。在沒有多名用戶共謀的情況下,串通者也難以構(gòu)成完整查詢。Liu等人[15]結(jié)合了協(xié)作、緩存與加密等算法,有效利用歷史查詢數(shù)據(jù),減少了用戶向LSP的請求次數(shù),并在鄰居緩存中引入了對惡意用戶的信任計算,排除加權(quán)信任均值低于閾值的移動用戶設(shè)備,降低了用戶位置隱私泄露的風(fēng)險。
雖然研究者已經(jīng)在針對用戶協(xié)作算法上存在的某些問題進行研究與改進,但串通攻擊、背景知識攻擊以及用戶協(xié)作意愿等問題仍然存在,需繼續(xù)改進。本文提出基于可驗證秘密共享與智能合約的隱私保護算法(VSS-SCPPA)。本文通過對查詢信息進行加密和拆分,因此協(xié)作用戶很難獲取發(fā)起者的任何信息。如果t個用戶沒有互相勾結(jié),合謀者將難以獲得完整的查詢數(shù)據(jù)。智能合約用來選擇協(xié)作用戶并激勵協(xié)作用戶,在此過程中引入差分隱私技術(shù),以應(yīng)對擁有背景知識的用戶。
2 預(yù)備知識
2.1 可驗證秘密共享
費爾德曼[16]的可驗證秘密共享(verifiable secret sharing,VSS)算法是一種高效的非交互式可驗證門限方案。它在Shamir門限方案基礎(chǔ)上增加了公開驗證函數(shù)。通過構(gòu)造一個次多項式,將主秘密作為常數(shù)項,將主秘密碎片化并分配給參與者。當(dāng)碎片秘密數(shù)量達到閾值時,可以還原出主秘密。在VSS算法中,請求者需提供秘密的分片數(shù)據(jù)和對應(yīng)的系數(shù)承諾以驗證秘密碎片的數(shù)據(jù)。請求用戶構(gòu)造隨機多項式,如式(1)所示。
2.3 智能合約
智能合約[18]是一種能夠自動執(zhí)行的程序片段。它能夠在沒有第三方參與的情況下執(zhí)行一般合同條件,從而最大限度地減少惡意行為和意外情況的發(fā)生。具體來說,智能合約是部署在區(qū)塊鏈上的代碼片段,它包含了預(yù)設(shè)的合約狀態(tài)、合約響應(yīng)規(guī)則、預(yù)設(shè)觸發(fā)條件以及特定場景下的響應(yīng)動作。智能合約能夠?qū)崟r監(jiān)控區(qū)塊鏈的狀態(tài)。當(dāng)合同的簽署方達成協(xié)議,并且檢測到外部環(huán)境和活動符合預(yù)設(shè)的觸發(fā)條件時,合同會自動執(zhí)行。
3 基于VSS秘密共享與智能合約的隱私保護算法
3.1 系統(tǒng)總體流程
本文算法流程分為查詢加密、匿名性和查詢解密三個階段。如圖1所示,算法首先進入階段1。在此階段,采用可驗證秘密共享算法根據(jù)協(xié)作用戶的數(shù)量進行查詢分割,并對子查詢進行加密。然后,將加密的子查詢和請求位置發(fā)送給協(xié)作用戶。進入階段2,請求用戶在指定區(qū)域內(nèi)發(fā)布協(xié)作請求,并明確所需的協(xié)作用戶數(shù)量及激勵措施。愿意參與且信譽得分超過設(shè)定閾值的協(xié)作用戶,將與請求用戶共同建立私有鏈。私有鏈是一種只能由特定組織或群體控制和訪問的區(qū)塊鏈,通常用于增強數(shù)據(jù)隱私和控制權(quán)限,同時仍然利用區(qū)塊鏈的去中心化和不可竄改特性。若私有鏈的用戶數(shù)量不足,將引入差分隱私技術(shù),通過拉普拉斯分布的噪聲生成匿名位置點。在階段3中,一旦LSP接收到足夠的有效部分信息,便開始解密信息,尋找并反饋結(jié)果給各用戶。最后,請求用戶從中篩選出他所需的信息,完成具有位置隱私保護的LSP過程。
3.2 查詢加密和解密
基于本文算法思想,請求用戶需要使用可驗證秘密共享算法將查詢信息分割成m個部分,以實現(xiàn)與協(xié)作用戶的位置泛化。假設(shè)查詢信息表示為S={L,D,T,Ek},其中L表示精確位置,D表示查詢內(nèi)容,T表示查詢的時間間隔,Ek表示初始用戶的公鑰。若請求用戶需要至少m個協(xié)作用戶來推斷真實位置,在可驗證秘密共享算法的原則下,請求用戶必須隱瞞重新分配的L,并生成查詢信息S′={D,T,E}。然后,請求用戶根據(jù)式(1)將生成的信息S′分割并加密成m個部分,發(fā)送給私有鏈的協(xié)作用戶,并對秘密共享多項式aj的系數(shù)進行承諾,廣播給私有鏈。同時,為保持算法的魯棒性,協(xié)作用戶數(shù)量必須足夠多,并滿足m=2t-1,以確保有足夠多協(xié)作用戶用于準確傳輸查詢信息。在算法1中,主要側(cè)重于查詢分區(qū)和加密的操作。
算法1 查詢分區(qū)和加密過程
輸入:原始請求S;參數(shù)t、m。
輸出:查詢信息的加密部分(xi,F(xiàn)(xi));承諾因子Bj。
隨機選擇非零常數(shù)a的數(shù)量;
while協(xié)作用戶數(shù)量大于或等于m do
根據(jù)式(1),原始請求S生成m個子查詢加密信息(xi,F(xiàn)(xi));
請求用戶根據(jù)式(2)計算承諾值Bj;
end while
請求用戶將查詢信息分割并加密后,得到m組查詢部分(xi,F(xiàn)(xi)),隨后將m-1部分(xi,F(xiàn)(xi))及承諾信息發(fā)布給私有鏈中的協(xié)作用戶,并發(fā)送真實位置L與查詢信息給LSP。私有鏈的協(xié)作用戶首先利用承諾信息驗證接收到的部分查詢信息的正確性。承諾信息通過綁定多項式系數(shù)來確保真實性,如果請求用戶提供的承諾與多項式方程的真實系數(shù)不符,驗證將失敗。驗證成功后,協(xié)作用戶將真實位置Li和從請求用戶接收到的部分查詢信息發(fā)送給LBS。LSP在接收到至少t組查詢信息后,可以解密并重建查詢內(nèi)容?;诮饷艿膬?nèi)容D和時間間隔T,LSP從存儲的數(shù)據(jù)中選擇相應(yīng)的結(jié)果,使用請求用戶的公鑰加密這些結(jié)果,并發(fā)送給所有相關(guān)用戶(包括請求用戶和其他協(xié)作用戶)。最終,請求用戶接收到查詢結(jié)果集,將從中提取所需信息,并對參與的協(xié)作用戶進行獎勵。在算法2中,主要側(cè)重于解密的操作,以及在LSP中查找和發(fā)送結(jié)果的操作。
算法2 查詢解密、結(jié)果查找和發(fā)送過程
輸入:查詢信息的加密部分(xi,F(xiàn)(xi));承諾因子Bj(j=0,1,2,…,t-1)。
輸出:查詢結(jié)果集S。
while 協(xié)作用戶收到份額時 do
根據(jù)式(3)驗證子查詢信息的有效性;
if 等式成立 do
將子查詢信息存入NPI中;//NPI表示分區(qū)信息的數(shù)量
end if
if NPI gt;" t do
將t組查詢信息(xi,F(xiàn)(xi))根據(jù)F(x)={∑tt-1(yi∏1≤j≤t,j≠i(x-xj)(∏1≤j≤t,j≠i(xj-xi)-1))}mod (p)解密該查詢信息;
從存儲的數(shù)據(jù)集中查找t個位置和解密信息的結(jié)果;
for 每個位置 do
將結(jié)果添加到S的集合中;
用公鑰Ek加密查詢結(jié)果集合并S將該集合發(fā)送給每個用戶;
end for
else
等待至少加收集t組查詢;
end if
end while
3.3 匿名性
本節(jié)首先利用智能合約選擇協(xié)作用戶來構(gòu)建私有鏈,若私有鏈的協(xié)作用戶低于某個閾值 ,則通過引入差分隱私技術(shù),利用符合拉普拉斯分布的噪聲構(gòu)造匿名位置點。
為了保護真實位置的泛化,請求用戶需要與愿意參與協(xié)作的用戶建立私有鏈。具體過程如下:首先,請求用戶向公共鏈發(fā)送協(xié)作請求、請求區(qū)域和激勵;其次,請求用戶將選擇t個信譽得分高于Wmin的相鄰用戶組成私有鏈,并設(shè)定用戶位置相似度為Pi,信譽度為Wi,則輔助用戶的可靠性hi表示為
hi=-∑ki=1Wi×Pi×log Pi
(7)
其中:Wi表示用戶i的最新信譽分數(shù)。
在私有鏈中,請求用戶發(fā)布m-1組加密信息部分,每個私有鏈用戶都必須將包含了真實位置的加密部分發(fā)送給LBS服務(wù)器。協(xié)作用戶的數(shù)量必須足夠大并且滿足m=2t-1的條件。因此,每個協(xié)作用戶必須盡快將接收到的信息發(fā)送給LBS服務(wù)器,以便獲得獎勵。僅有那些位置包含在結(jié)果集中的t個協(xié)作用戶能獲得獎勵,因為比其他用戶更早將查詢部分發(fā)送給LBS服務(wù)器。這樣,請求用戶可以及時獲取查詢結(jié)果。最后,LBS服務(wù)器將結(jié)果集發(fā)布到私有鏈上,私有鏈中的每個用戶都能獲得結(jié)果集。請求用戶可以從中篩選出所需的結(jié)果。結(jié)果集經(jīng)過請求用戶的公鑰加密,私有鏈中沒有該密鑰的其他用戶無法解密。因此,協(xié)作用戶無法獲取與請求用戶相關(guān)的任何信息。此外,由于LBS服務(wù)器已經(jīng)收到了t個與相同查詢信息相關(guān)的位置,所以難以獲得關(guān)于請求用戶的任何精確位置信息。建立私有鏈、協(xié)作用戶和泛化位置的詳細過程如圖2所示。
根據(jù)圖2所示的過程,智能合約需要實現(xiàn)兩個主要功能:構(gòu)建私有鏈并驗證結(jié)果集,進而向協(xié)作用戶發(fā)放獎勵。在構(gòu)建私有鏈的功能中,請求用戶在公有鏈上發(fā)送請求,然后滿足這些請求的協(xié)作用戶會被納入私有鏈中,這一過程可以通過算法3進行描述。
算法3 私有鏈中協(xié)作用戶的集合
輸入:請求區(qū)域R和協(xié)作用戶數(shù)m。
輸出:私有鏈PB;愿意參與協(xié)作的用戶身份和信譽值的集合AUS。
在PB中存儲請求用戶的相應(yīng)信息;
初始化AUS;
a=0;// 用于指示是否為第一輪請求
請求用戶發(fā)布了請求區(qū)域R,以及PB中協(xié)作用戶數(shù)m;
愿意參與協(xié)作的協(xié)作用戶的輔助區(qū)域R;
while PB中的協(xié)作用戶小于m do
每個愿意加入私有鏈的用戶都會返回一個響應(yīng);
for 每個響應(yīng)的協(xié)作用戶do
if a==0且PB==m-1 then
break;
end if
if 當(dāng)前協(xié)作用戶的信譽值 gt;= 閾值且PB<m then
將協(xié)作用戶的信息存儲在PB中;
if 協(xié)作用戶的位置不是空白 then
將協(xié)作用戶的ID與當(dāng)前的信譽值存入AUS;
end if
end if
end for
a=1;// 第一輪請求結(jié)束
if PB的數(shù)量滿足請求的數(shù)量m do
與這些協(xié)作用戶建立私有鏈;
else
利用符合拉普拉斯分布的噪聲構(gòu)造匿名點;//過程見算法5
end if
end while
私有鏈建立完畢后,請求用戶與協(xié)作用戶的信息便存檔于私有鏈。接著,請求用戶會向私有鏈中的協(xié)作用戶發(fā)送加密信息。這一信息傳輸(非加密過程)也將被記錄在區(qū)塊鏈上。按照協(xié)議,所有協(xié)作用戶需將含有真實位置的加密信息發(fā)送至LBS服務(wù)器,隨后LBS服務(wù)器會將結(jié)果集反饋給私有鏈中的各個用戶。因此,智能合約需要幫助請求用戶篩選結(jié)果集,并對協(xié)作用戶給予獎勵。接著,算法4描述了提煉結(jié)果和獎勵協(xié)作用戶的流程,作為算法3的補充。
算法4 檢查結(jié)果并獎勵k個協(xié)作用戶
輸入:查詢結(jié)果集。
輸出:k-1激勵部分。
請求用戶用私鑰解密集合,并提煉出他/她需要的結(jié)果;
while集合中的每個位置do
if 位于已發(fā)布的區(qū)域的位置 do;
向該協(xié)作用戶發(fā)送激勵;
else
不向該用戶發(fā)送激勵和發(fā)送錯誤信息;
end if
end while
若私有鏈的協(xié)作用戶低于m,則通過引入差分隱私技術(shù),使用拉普拉斯噪聲構(gòu)造匿名點的優(yōu)勢在于,它通過添加隨機噪聲,有效地保護用戶隱私,同時保持數(shù)據(jù)的有用性。因此,本文采用符合拉普拉斯分布的噪聲來構(gòu)造匿名點。
定義3 如果隨機變量的概率密度函數(shù)分布為f(x‖μ,b)=1/2b×exp(-|x-μ|/b),其中μ是位置參數(shù),則是拉普拉斯分布。
對于匿名點,本文對經(jīng)緯度進行獨立處理,生成在隱私預(yù)算參數(shù)范圍內(nèi)不可區(qū)分的經(jīng)緯度,并將其記錄為匿名點La(xa,ya)。根據(jù)定義1,通過設(shè)置位置參數(shù)μ=0,匿名點的經(jīng)緯度應(yīng)滿足式(8)(9),匿名點生成如算法5所示。
Pr(xa)=1/2bx×exp(xa/bx)
Pr(ya)=1/2by×exp(ya/by)
bx=/ε,by=/ε
(8)
=1/M∑Mj=1xj,=1/M∑Mj=1yj
(9)
算法5 匿名點生成
輸入:AUSM,ε,m。 //滿足條件和隱私預(yù)算的協(xié)作用戶集合
輸出:La。
計算=AUSMx的平均數(shù),=AUSMy的平均數(shù);
計算bx=/ε,by=/ε;
while j<m-M do
La=匿名點(bx,by);
end while
j++;
4 安全性分析
目前針對用戶協(xié)作的隱私保護算法中,通常假定服務(wù)器和協(xié)作用戶都是可信的,但在實際應(yīng)用中,這一假設(shè)往往不切實際。本文算法認為用戶和LSP是半可信實體,并假設(shè)攻擊可能由這些協(xié)作方發(fā)起。進一步分析了該算法在防御這些潛在攻擊方面的效果。
1)協(xié)作用戶 本文利用區(qū)塊鏈選擇并獎勵協(xié)作用戶,分析公有鏈和私有鏈用戶的安全性。公有鏈用戶僅從初始用戶處接收請求區(qū)域和獎勵,而無法獲取更多信息,請求區(qū)域與獎勵僅與假名關(guān)聯(lián),保護請求用戶隱私。私有鏈用戶接收加密查詢信息、系數(shù)承諾及結(jié)果。通過系數(shù)承諾防止惡意行為,如發(fā)送錯誤的秘密份額。采用非交互式可驗證秘密共享算法,簡化通信過程,避免協(xié)作用戶串通,增強隱私保護。此外,結(jié)果由LSP用請求用戶私鑰加密,未與LSP串通的協(xié)作用戶不能使用返回結(jié)果,從而確保數(shù)據(jù)安全和用戶隱私。
2)LSP 為了抵抗來自LSP的攻擊,本文假設(shè)LSP接收到經(jīng)過散列函數(shù)標記的t組相同查詢信息(xi,F(xiàn)(xi))及其對應(yīng)位置。請求用戶位于該位置的概率為1/t,每個地點被請求用戶占據(jù)的概率定義為Pi=1/t, 1<i<t,因此披露給LSP的信息可表征為H(i)=Pilog2Pi 。在LSP未與協(xié)作用戶串通的情況下,其獲取請求用戶實際位置的概率是1/t。為了更準確地描述這種不確定性,本文引入了最大熵原理。假設(shè)隨機變量i的概率分布為Pi,則其熵表示為
H(P)=-∑iP(i)log P(i)
(10)
熵滿足
0≤H(P)≤log|t|
(11)
因為1/|t|≤P(i)≤1,得0≤P(i)≤log(t)。當(dāng)且僅當(dāng)t的分布是均勻分布時,熵最大。
根據(jù)Jaynes的最大熵定理,當(dāng)LSP對真實信息的不確定性最大,因此他/她在不與協(xié)作用戶串通的情況下,很難獲取關(guān)于請求用戶的隱私。
3)協(xié)作用戶之間的串謀 針對協(xié)作用戶的共謀攻擊,假設(shè)一個協(xié)作用戶可以獲得的信息為x,則對于合謀用戶,所披露的信息可記為X={x1,x2,…,xi},1≤i≤t。因此,披露信息的百分比可以表示為p(X)={p(x1),p(x2),…,p(xi)}。由于合謀用戶之間可以相互交換接收到的信息,所以不確定性的降低程度可以通過互信息來表示,并使用式(12)進行度量。
I(X;X)=∑ti=1∑tj=1p(xixj)log2p(xixj)p(xi)p(xj)
(12)
其中:p(xixj)表示請求用戶信息的百分比;t表示協(xié)作用戶的數(shù)量。一般來說,I越小,表示與協(xié)作用戶交換的信息越少,向協(xié)作用戶泄露的信息也越少,因此,如果I越小,表示沒有信息可用于與協(xié)作用戶交換,則可以使用本文算法來抵抗合謀攻擊。在本文算法中, LBS服務(wù)器發(fā)送的所有信息都是一個加密的結(jié)果集,每個沒有私鑰的協(xié)作用戶所獲得的不過是加密的結(jié)果集,所以在這種情況下,x的值為零,互信息I的值為零。對于請求用戶發(fā)送的信息,將有超過t個用戶具有解密查詢信息的能力,協(xié)作用戶將獲得除了精確位置之外的查詢信息。在這種情況下,這些協(xié)作用戶需要猜測請求用戶所處的位置。但是請求用戶的精確位置不會發(fā)送給任何協(xié)作用戶,因此在這種情況下,無論協(xié)作用戶如何交換信息,披露的信息百分比都不會增加,互信息I的值也等于零。因此,得出本文算法可以抵御協(xié)作用戶的合謀攻擊。
4)協(xié)作用戶和LSP串謀 當(dāng)協(xié)作用戶和LSP通過正常的協(xié)議過程進行串通時,嘗試互相合作以實現(xiàn)共同的利益。本文中選定的協(xié)作用戶是基于信譽閾值的,這降低了私有鏈中惡意用戶的概率。為進一步驗證系統(tǒng)對共謀攻擊的防護效果,引入條件熵和條件互信息來度量含背景知識的隱私保護及信息泄露。假設(shè)至少一個協(xié)作用戶未與LSP共謀,所有關(guān)于安全性的分析均基于此假設(shè)。協(xié)作用戶可以獲得的信息是Y,然后可以與LBS服務(wù)器交換的信息是Z,可以聯(lián)合Y、Z進行隱私分析攻擊,引入攻擊條件熵:
H(X/Y;Z)=-∑ni=1 ∑mj=1 ∑lk=1P(xiyjzk)log2P(xi/yjzk)
(13)
H(X/Y;Z)反映了在獲得信息Y和交換的信息后Z,關(guān)于X仍然存在的不確定度,它可以作為隱私保護強度的度量。類似地,進一步定義隱私攻擊平均互信息:
I(X;Y/Z)=-∑ni=1 ∑mj=1 ∑lk=1P(xiyjzk)log2P(xizk/yj)P(xi/zk)P(yj/zk)
(14)
其中:P(xiyjzk)表示具有條件的初始用戶的信息百分比;yj是與協(xié)作用戶的信息交換;k表示LSP的數(shù)量。若I沒有達到,將存在識別真實用戶的不確定性,并且I的值越低也意味著披露的信息越少。
假設(shè)只有一個合作用戶未與LSP串通,攻擊者將獲得查詢信息和其他t-1個位置。由于兩個位置分別來自兩個用戶,攻擊者識別真實用戶的概率為1/2,如同拋硬幣。在這種情況下,無論串通程度如何,I不會增加到1,意味著串通攻擊對請求用戶的精確信息仍不確定。此外,由于只有發(fā)送查詢信息的合作用戶才被視為串通者,識別真實用戶的概率將低于50%,使得I更低于1,串通攻擊更難實現(xiàn)。在本文算法中,未發(fā)送查詢信息和位置的合謀用戶被視為無效,因為他們的位置無法作為背景信息來識別請求用戶的位置,也不會影響隱私保護。在構(gòu)建私有鏈時,引入差分隱私算法,有效抵御背景知識攻擊,進一步增強了隱私保護。
5 實驗驗證
為了進一步評估本文算法在隱私保護和執(zhí)行效率方面的有效性,在仿真環(huán)境下實現(xiàn)了該算法,并與其他類似算法進行了比較。通過與其他三種類似算法,即基于信譽機制的Ik-anonymity[11] 算法、基于協(xié)作緩存的GCS[9] 算法和基于協(xié)作用戶代理的Tr-privacy[8] 算法的對比,證明了本文算法在真實協(xié)作隱私保護環(huán)境中的可行性。
5.1 實驗設(shè)置與數(shù)據(jù)集
本文所有實驗都是在一臺搭載英特爾酷睿i9處理器、32 GB內(nèi)存和Windows10 64位操作系統(tǒng)的筆記本電腦上實現(xiàn)的,并以Python 3.10作為性能驗證工具。在實驗中,用戶位置由經(jīng)度和緯度屬性的數(shù)據(jù)值表示。此外,本文假設(shè)每個用戶的信譽值已經(jīng)初始化,這些信譽值是(0,1)的隨機值。對于協(xié)作用戶,假設(shè)五分之一的用戶被視為協(xié)作用戶,其位置即為提交的位置。差分隱私預(yù)算由生成的協(xié)作用戶數(shù)量決定,最大值為協(xié)作用戶數(shù)。簡言之,1<ε<m。而拉普拉斯噪聲的附加值是動態(tài)的,由用戶的隱私預(yù)算決定。因此,在實驗中將差分隱私預(yù)算設(shè)置為ε=m/2。
使用Geolife和 BerlinMOD兩個隱私保護領(lǐng)域的數(shù)據(jù)集。
1)Geolife 該數(shù)據(jù)集是一個由微軟亞洲研究院開發(fā)的GPS軌跡數(shù)據(jù)集,涵蓋了2007年4月—2012年8月共182個用戶的活動數(shù)據(jù)。該數(shù)據(jù)集包括17 621條軌跡,每條軌跡都是由一系列時間戳記的點組成,這些點包含緯度、經(jīng)度和高度信息。該數(shù)據(jù)集已經(jīng)成為了基于位置的社交網(wǎng)絡(luò)、位置隱私和位置推薦領(lǐng)域中廣泛使用的數(shù)據(jù)集之一。
2)BerlinMOD 該數(shù)據(jù)集是一個為測試和比較移動對象數(shù)據(jù)庫(MOD)的性能而設(shè)計的基準數(shù)據(jù)集。它包括車輛在柏林城市中的移動軌跡,這些數(shù)據(jù)通常包括時間戳、地理位置(經(jīng)度和緯度)、速度等信息。
5.2 算法評估指標
為了驗證算法的隱私性,使用抗共謀攻擊能力、匿名區(qū)域的大小來衡量,而算法的效率則通過運行時間、激勵效果來評估??构仓\攻擊值由成功識別初始用戶信息的概率計算,因此識別的概率越低,阻力值越高。協(xié)作用戶所處的區(qū)域越大,意味著精確位置的不確定性越大,因此匿名區(qū)域越大,用戶隱私保護越好。運行時間是通過將請求用戶泛化為協(xié)作用戶的過程來計算的,因此運行時間越短,效率越高。
5.3 實驗結(jié)果與分析
在相同條件下,參與響應(yīng)構(gòu)建請求的人數(shù)越多,表明更多用戶愿意合作。因此,采用響應(yīng)者的數(shù)量來衡量激勵效果。圖3展示了信譽值對響應(yīng)者數(shù)量的影響。假設(shè)在公有鏈中隨機選取30名不同信譽值的用戶,并向這些用戶發(fā)送構(gòu)建私有鏈的請求。根據(jù)圖3,響應(yīng)者的數(shù)量隨信譽值的提高而增加。在相同的高信譽值下,GCS由于未采用信譽激勵,理論上響應(yīng)者數(shù)量為零。與Ik-anonymity相比,Tr-privacy的響應(yīng)者數(shù)量略多,表明當(dāng)信譽值不低時,Tr-privacy的激勵效果更佳。這是因為引入了概率閾值來反映信譽,只有達到該閾值,才能獲得其他鄰居的幫助,且只有在提供幫助時,信譽值才會增加。Tr-privacy通過賦予額外的信任值來激勵參與,因此激勵效果優(yōu)于上述算法,但低于VSS-SCPPA。通過智能合約激勵合作,為最先響應(yīng)的用戶設(shè)定獎勵,促使其積極參與合作。
圖4顯示了抗共謀攻擊的數(shù)值。本次仿真測試了協(xié)作用戶串謀數(shù)量的影響以及是否包含LBS服務(wù)器。假設(shè)有30個協(xié)作用戶參與協(xié)作。在圖4(a)中,假設(shè)LBS服務(wù)器不與協(xié)作用戶串通,不同算法的性能各有差異。對于Tr-privacy,雖然沒有對傳輸信息進行加密,但利用了協(xié)作用戶的感知能力,只要選定的協(xié)作用戶不是惡意的,就能保障隱私,因此隨著串謀用戶數(shù)量的增加,抵抗值逐漸下降。Ik-anonymity通過生成信用證書來交互,在一定程度上保證了協(xié)作用戶的可信性,因此該算法的性能比Tr-privacy更穩(wěn)定。GCS中的每個注冊用戶都與自身的虛擬身份和修改后的位置交互,惡意對手很難獲取系統(tǒng)中查詢用戶的任何信息。因此,該算法的抵抗值更高,但由于該機構(gòu)可能被串謀者收買,該值不能高于0.8。最后,本文VSS-SCPPA旨在應(yīng)對串謀攻擊,因為查詢信息經(jīng)過分區(qū)和加密,協(xié)作用戶不會獲得任何查詢信息,所以其抵抗串謀的價值最高。值得注意的是,如果所有協(xié)作用戶都是惡意并且相互串通的,那么除了真實位置之外,其他信息都無法保留,因為串通會解密所有信息。從圖中可以看到,當(dāng)所有協(xié)作用戶相互串謀時,抗共謀攻擊值會降至零。
對于LBS服務(wù)器參與串謀的情況,由于LBS服務(wù)器已經(jīng)獲取了請求用戶的所有信息,一旦與協(xié)作用戶串謀,所有方案的防御效果都會失敗。然而,在VSS-SCPPA中,如果初始用戶設(shè)置t=30,那么串謀者無法獲得任何信息,除非全部30個協(xié)作用戶相互串通。因為不可能有30個惡意用戶,串謀聯(lián)盟無法解密信息。所以,本文算法在圖4(b)中仍表現(xiàn)出最高的抗共謀攻擊值。
表1展示了BerlinMOD中各種方案的匿名區(qū)域。從中可以看出,對于不同用戶,在一定的時間間隔內(nèi),隨著協(xié)作用戶數(shù)量的增加,匿名區(qū)域范圍也隨之?dāng)U大。同樣,表2中 Geolife數(shù)據(jù)顯示匿名區(qū)域范圍也會隨著匿名用戶數(shù)量的增加而擴大。然而,表1和2的對比結(jié)果表明,盡管匿名用戶的增加使得匿名區(qū)域范圍擴大,兩組數(shù)據(jù)之間的匿名區(qū)域差異仍相對明顯。這種現(xiàn)象的原因可以歸結(jié)為移動限制。對于 BerlinMOD集合中的位置信息,由于不同請求用戶可以從不同位置收集信息,整體范圍比僅一個請求用戶的情況更大。而對于Geolife集合中的位置信息,由于只有一個請求用戶,且活動區(qū)域有限,請求用戶的移動范圍受限,導(dǎo)致匿名區(qū)域范圍縮小,從而影響隱私保護算法的效果。 由于GCS和Ik-anonymity主要依賴加密機制,并受到請求用戶數(shù)據(jù)的影響,導(dǎo)致其匿名區(qū)域的差異比其他算法更大。對于利用協(xié)作用戶數(shù)據(jù)的算法(如Tr-privacy),請求用戶的多樣性也會影響匿名區(qū)域。此外,由于各算法中所采用的策略不同,匿名區(qū)域范圍也各不相同。匿名用戶越多,匿名區(qū)域范圍越大。結(jié)果表明,VSS-SCPPA擁有最大的匿名區(qū)域,因為該算法能夠在公有鏈中選擇更多的匿名用戶,超過其他僅采用對等通信的算法中可選的協(xié)作用戶數(shù)量。
表3和4分別列出了BerlinMOD和Geolife數(shù)據(jù)集中每個算法的運行時間。通過比較這兩張表可以發(fā)現(xiàn),運行時間不受請求用戶多樣性的影響,無論初始用戶是固定用戶還是隨機選擇的用戶。這是因為運行時間是通過請求用戶與協(xié)作用戶泛化的過程計算的,而請求用戶在重復(fù)執(zhí)行中的差異并不影響平均運行時間。然而,由于各算法不同,運行時間也存在差異。 對于基于加密的算法(如GCS和Ik-anonymity),運行時間比僅依賴協(xié)作或感知的算法(如Tr-privacy)更長。然而,作為一種基于加密的算法,VSS-SCPPA計算更為簡單,請求用戶只獎勵前若干協(xié)作用戶,這一過程加速了泛化操作。此外,VSS-SCPPA是唯一考慮到協(xié)作用戶激勵的算法,因此在實際環(huán)境中,協(xié)作用戶的參與意愿更高,從而在算法執(zhí)行效率方面表現(xiàn)更優(yōu)。
6 結(jié)束語
在基于位置的服務(wù)快速發(fā)展的背景下,用戶協(xié)作的隱私保護方法日益受到關(guān)注。然而,在協(xié)作過程中,用戶的利己行為和對他人隱私的好奇心,仍然帶來了許多攻擊和挑戰(zhàn)。本文算法增強了協(xié)作過程中對串謀攻擊和背景知識攻擊的防御能力,激勵了協(xié)作用戶的意愿。未來研究可以探索如何優(yōu)化協(xié)作算法模型,以降低參與各方的電力成本和提升整體計算效率。具體可以研究分布式計算資源的有效分配和管理,以及如何利用云計算和邊緣計算技術(shù)來支持數(shù)據(jù)處理和分析。
參考文獻:
[1]Kong Xiangjie, Wu Yuhan, Wang Hui, et al. Edge computing for Internet of everything: a survey [J]. IEEE Internet of Things Journal, 2022, 9(23): 23472-23485.
[2]劉海, 李興華, 雒彬, 等. 基于區(qū)塊鏈的分布式K匿名位置隱私保護方案 [J]. 計算機學(xué)報, 2019, 42(5): 942-960. (Liu Hai, Li Xinghua, Luo Bin, et al. Distributed K-anonymity location privacy protection scheme based on blockchain [J]. Chinese Journal of Computers, 2019, 42(5): 942-960.)
[3]鄧雨康, 張磊, 李晶. 車聯(lián)網(wǎng)隱私保護研究綜述 [J]. 計算機應(yīng)用研究, 2022, 39(10): 2891-2906. (Deng Yukang, Zhang Lei, Li Jing. Overview of research on privacy protection of Internet of vehicles [J]. Application Research of Computers, 2022, 39(10): 2891-2906.)
[4]Gupta R, Rao U P. Investigating and devising privacy preserving approaches for location-based services [M]//Dash S R, Lenka M R, Li K C, et al. Intelligent Technologies: Concepts, Applications, and Future Directions. Singapore: Springer, 2022: 129-148.
[5]夏雪薇, 張磊, 李晶, 等. 基于烏鴉搜索的隱私保護聚類算法 [J]. 計算機應(yīng)用研究, 2023, 40(12): 3778-3783. (Xia Xuewei, Zhang Lei, Li Jing, et al. Privacy preserving clustering algorithm based on crow search [J]. Application Research of Compu-ters, 2023, 40(12): 3778-3783.)
[6]Ullah I, Ali Shah M, Wahid A, et al. ESOT: a new privacy model for preserving location privacy in Internet of Things [J]. Telecommunication Systems, 2018, 67(4): 553-575.
[7]Wang Jingjing, Han Yiliang, Yang Xiaoyuan, et al. A new group location privacy-preserving method based on distributed architecture in LBS [J]. Security and Communication Networks, 2019, 2019: 2414687.
[8]Guo Liangmin, Zhu Ying, Yang Hao, et al. A K-nearest neighbor query method based on trust and location privacy protection [J]. Concurrency and Computation: Practice and Experience, 2022, 34(16): e5766.
[9]Nisha N, Natgunanathan I, Gao Shang, et al. A novel privacy protection scheme for location-based services using collaborative caching [J]. Computer Networks, 2022, 213: 109107.
[10]Shen Zhidong, Lu Siyuan, Huang Huijuan, et al. An approach based on customized robust cloaked region for geographic location information privacy protection [J]. Mobile Information Systems, 2020, 2020: 3903681.
[11]Li Xinghua, Miao Meixia, Liu Hai, et al. An incentive mechanism for K-anonymity in LBS privacy protection based on credit mechanism [J]. Soft Computing, 2017, 21(14): 3907-3917.
[12]李幸昌, 王斌, 王超, 等. 基于加密分割的位置隱私保護方法 [J]. 計算機應(yīng)用研究, 2021, 38(10): 3153-3156. (Li Xingchang, Wang Bin, Wang Chao, et al. Location privacy protection method based on encryption and segmentation [J]. Application Research of Computers, 2021, 38(10): 3153-3156.)
[13]Arthur Sandor V K, Lin Yaping, Li Xiehua, et al. Efficient decentralized multi-authority attribute based encryption for mobile cloud data storage [J]. Journal of Network and Computer Applications, 2019, 129: 25-36.
[14]Zhang Lei, Liu Desheng, Chen Meina, et al. A user collaboration privacy protection scheme with threshold scheme and smart contract [J]. Information Sciences, 2021, 560: 183-201.
[15]Liu Zhenpeng, Liu Qiannan, Wei Jianhang, et al. Location privacy-preserving query scheme based on the Moore curve and multi-user cache [J]. Information, 2022, 13(9): 417.
[16]Feldman P. A practical scheme for non-interactive verifiable secret sharing [C]//Proc of the 28th Annual Symposium on Foundations of Computer Science. Piscataway, NJ: IEEE Press, 1987: 427-438.
[17]葉阿勇, 孟玲玉, 趙子文, 等. 基于預(yù)測和滑動窗口的軌跡差分隱私保護機制 [J]. 通信學(xué)報, 2020, 41(4): 123-133. (Ye Ayong, Meng Lingyu, Zhao Ziwen, et al. Trajectory differential privacy protection mechanism based on prediction and sliding window [J]. Journal on Communications, 2020, 41(4): 123-133.)
[18]Wang Shuai, Ouyang Liwei, Yuan Yong, et al. Blockchain-enabled smart contracts: architecture, applications, and future trends [J]. IEEE Trans on Systems, Man, and Cybernetics: Systems, 2019, 49(11): 2266-2277.