田有亮,田茂清,高鴻峰,何淼,熊金波,5
(1.貴州大學公共大數據國家重點實驗室,貴州 貴陽 550025;2.貴州大學計算機科學與技術學院,貴州 貴陽 550025;3.貴州大學密碼學與數據安全研究所,貴州 貴陽 550025;4.女王大學電子和計算機工程學院,安大略 金士頓 ON K7L 3N6;5.福建師范大學計算機與網絡空間安全學院,福建 福州 350117)
隨著具備傳感、計算和存儲能力的移動智能終端的大量普及,出現了很多群智感知應用和服務[1],例如,環境檢測[2]、廣告發布[3]、基于位置的服務[4-5]等。群智感知應用通過招募攜帶嵌入傳感器的智能終端用戶作為數據收集者,收集與特定時間和地點相關的數據,然后將數據發送給收集者進行分析。該技術被認為是一種可以用來解決現實問題(如交通預測/管理[6])的有效方法。相對于使用固定位置傳感設備收集信息的方式,群智感知應用具有部署成本低、靈活性高、移動設備數量大、覆蓋范圍廣等優勢[7]。
群智感知應用通過對多個移動智能終端收集的數據進行處理,以獲得更多的有效信息。為了提高收集數據的安全性和可靠性,大多數群智感知任務請求者需要限定參與者完成任務的位置。然而,感知任務通常在不受信任的環境下由不同類型的參與者協作完成,因此保證參與者身份和位置信息的真實性在群智感知應用中占據十分重要的地位。該類應用中位置欺騙攻擊會對感知結果產生嚴重的影響,在車輛群智感知應用中提交被車輛惡意偽造的位置信息,并上傳錯誤位置上產生的數據,會對感知任務發布者的分析造成干擾,給經濟帶來嚴重的損失[8]。因此,驗證感知任務參與者位置的真實性是很有必要的。
針對位置欺騙攻擊,研究者提出了很多位置認證方案。在集中式方案中借助固定基礎設施,基于請求位置驗證設備的信道狀態信息(CSI,channel state information)與在正確位置上相關設備返回的CSI 之間的相似性比較,從而確定請求設備位置的合法性[9]。但該方案可能會泄露用戶的身份隱私,此外,在分布式場景下,借助固定基礎設施驗證位置真實性增加了成本開銷。因此,分布式位置驗證方案被提出。大多數分布式方案都是通過提供一定的獎勵或資源,激勵攜帶移動智能終端的用戶成為位置證明協作者參與位置驗證任務。但這些方案采用平均化激勵,沒有對協作者完成任務的時間與激勵關聯,可能會導致協作者超時完成位置證明,最終位置驗證失敗,但仍能獲得獎勵[10-11]。此外,設計具備基本安全保證的距離邊界(DB,distance bounding)協議來測量位置證明請求者與多個證人之間的距離上界,并采用先簽名后加密的方法保證了參與位置驗證的用戶隱私不被泄露[10]。但該方案還存在一些缺陷,首先,沒有考慮到隨著參與位置驗證用戶的增加,大量的加解密運算增大了計算開銷。其次,只根據信譽值大小選擇用戶,沒有考慮到信譽值低但誠實的用戶無法被選擇導致權益集中化的問題。權益集中化是指部分信譽值高的用戶多次被選擇完成位置驗證的任務,信譽值低的用戶不被選擇,獎勵集中分發給部分用戶,這在一定程度上提高了共謀的可能性。最后,該方案采用的信任模型不能很好地解決用戶與位置證明請求者共謀的安全問題。目前,現存方案無法徹底解決位置證明請求者和協作者共謀問題,只能降低共謀攻擊成功的可能性。因此,需要一個安全且高效的位置認證方案以解決效率和安全的挑戰。
本文面向群智感知應用設計了一種基于協作的位置認證方案。為驗證位置的真實性,首先,本文基于文獻[12]初始化階段生成響應值的思想,設計了既可解決隱私問題又可降低計算開銷的位置驗證協議,并將其集成到群智感知應用位置認證方案中。其次,將信譽值的大小和所得獎勵相結合,設計了基于信譽值的激勵機制,一方面可以激勵更多用戶接受位置證明任務,另一方面可用來提高位置證明協作者完成任務的效率。此外,接受位置證明任務的協作者需要提交押金,解決了協作者完成任務超時的問題。最后,針對如何挑選位置證明協作者這一問題,本文將采用區域劃分和信譽值大小相結合的方式優化位置證明協作者的選擇,該方法不僅可以抵抗共謀攻擊,還解決了信譽值低但誠實的位置證明協作者一直不被選擇的問題。
本文主要貢獻如下。
1) 提出了群智感知應用中一種基于協作的安全高效的位置認證方案。該方案在DB 協議中利用同一對隨機數多次碰撞獲取的新信息生成快速響應階段的響應值,實現了位置的不可偽造。此外,位置驗證過程不依賴大量的加解密操作,位置驗證參與者不會泄露其身份隱私。因此,本文方案同時滿足了隱私和效率要求。
2) 將信譽機制和激勵機制相結合,解決了位置驗證任務中協作者參與積極性和完成任務效率低的問題。同時,采用區域劃分和信譽值大小相結合的方法優化位置協作者的選擇,有效地抵抗了共謀攻擊并解決了權益集中的問題。
3) 從理論上分析了本文方案的正確性和隱私性,并評估了計算開銷和通信開銷。與現有文獻相比較,本文方案能在保證安全性和隱私性的前提下有效降低計算開銷和通信開銷。
近年來,在群智感知領域中提出了很多方案用來提高收集數據的可靠性與隱私性。Xu 等[13]提出了一種隱私保護和可驗證的數據聚合方案,實現對收集數據隱私保護的同時任務請求者可以驗證收集結果的正確性。Zhang 等[14]研究了基于眾包的合作頻譜感知中的惡意數據注入攻擊,利用外部探測器來驗證數據的真實性。Peng 等[15]提出了基于質量的激勵機制,以激勵理性的參與者提交高質量的傳感數據。Xiao 等[16]解決了多個未知任務接受者的招聘問題,目標是在有限的預算下最大限度地提高總傳感質量。Wu 等[17]研究了在各種約束條件下能夠實現質量最大化的任務分配機制并引起了人們的關注,然而,現有的任務分配機制未能很好地解決惡意用戶參與的問題。
現有感知任務大多是在位置約束下執行的,為了過濾用戶提交的虛假數據,提高收集到的數據質量,Talasila 等[18]提出位置的真實性是邁向數據可靠性的第一步,并實現了對惡意用戶虛假位置證明的檢測。Reddy 等[19]描述了一個考慮參與者位置信息、時間可用性和行為習慣的招募方案。He 等[20]通過觀察參與者當前位置和預測軌跡,提出了一種高質量的參與者招募方案,最大限度地實現了車輛眾包的時空覆蓋。因此,驗證任務接受者位置的真實性是群智感知應用中一個重要的研究方向。
2009 年,Chandran 等[21]首次提出位置密碼學的概念,并在有界檢索模型(BRM,bounded retrieval model)下構建了一種位置驗證協議,但由于驗證者能獲取證明者的具體位置,存在位置隱私泄露的風險。Yang 等[22]在文獻[21]的基礎上提出了一個帶隱私的位置驗證協議,該協議采用中心化的驗證方式,并使用可信機構來驗證證明者位置的正確性。然而,采用固定基礎設施驗證位置的靈活性較差、成本較高,不適用于物聯網下大多數的應用場景。另一種位置驗證技術是DB 協議,該協議利用一個驗證者度量證明者與其所在位置距離的上界[23]。現有大量文獻基于DB 協議圍繞用戶位置真實性和隱私性等方面進行研究。Wang 等[24]通過借助鄰近移動用戶基于DB 協議為證明者生成位置證明,提出的方案可以確保位置證明的完整性和不可轉讓性,并設計基于熵的信任評估方法,防止用戶共謀攻擊。Zhu 等[25]主要通過定期更改假名的方式保護用戶的隱私,但會增加計算開銷和通信開銷。Nosouhi 等[10]提出了一個位置證明生成與驗證框架,其使用基于熵的信任模型降低了用戶之間共謀攻擊成功的概率,并采用先簽名后加密的方法保護了用戶的敏感信息,但該方案的計算開銷和通信開銷會隨著挑選的位置證明協作者人數的增加呈線性增長。Liu 等[26]提出了一個高效的位置驗證協議,但該協議致力于解決位置隱私,無法抵抗共謀攻擊。Kounas 等[27]使用可信機構驗證用戶身份、驗證者驗證鄰近協作者生成的位置證明,實現在驗證位置真實性的同時保護用戶身份隱私,抵抗了常見的攻擊。但使用可信機構和驗證者分離的驗證方式以及密碼承諾的運算增加了大量的計算開銷。
在群智感知應用中引入參與者的位置信息可以幫助請求者做出招募決策,但到目前為止關于群智感知應用中參與者招募過程的位置認證和隱私保護問題的研究相對較少。因此,本文提出了一種安全高效的方法來驗證感知任務參與者位置的真實性,該方法防止了參與者提交錯誤位置區域收集到的信息,同時很好地保護了參與者的身份隱私。
DB 協議是實時質詢-響應協議,用來確定雙方距離上界。文獻[12]在DB 協議初始化階段中使用同一對隨機數多次碰撞來獲取新隨機數的思想生成快速響應階段響應值。該協議的具體定義如下。
定義 1元組組成DB 協議。其中P 和V 表示證明者和驗證者,B表示P 與V 之間距離上界,該協議執行流程由初始化Init、快速響應RBE、驗證Verify 這3 個階段組成。
假設P 和V 共享密鑰x,協議具體執行階段如下。
階段1
1) V 生成一個隨機數NV并發送給P。
2) P 首先生成隨機數NP計算(a',b')=f(x,NV,NP,IDP),IDP表示不變的參數(如身份標識),f表示偽隨機函數,Z0=a',Z1=b'。其次,P 計算y=x⊕h0(a',b'),h0表示哈希函數。最后,P 將參數(NP,y)發送給V。
3) V 接收到(PN,y) 后驗證y的正確性,如果不正確,則終止協議;否則,繼續執行。
階段2
1) 該階段重復n次,V 隨機生成一個比特位ci,將ci發送給P 的同時將時鐘歸零,測量往返時延。
階段3
位置證明(LP,location proof)是一組用來表示用戶在特定位置的數字證書,一個LP 包括一個或多個位置證明段[28]。在本文方案中,通過收集多個位置證明段,并設定位置證明段通過的閾值來判斷位置真實性。LP 定義如下。
定義2是一個證明者的位置證明段集合,驗證者發布的一條數字證書LPj用于表示證明者在某一特定位置。LP 由A個驗證者生成的LPj組成。
本文提出了一種安全且高效的基于協作的位置認證方案。系統模型如圖1 所示,該模型主要由信任機構(TA,trust authority)、任務請求者(TR,task requester)、邊緣服務器(ES,edge server)、任務參與者(TP,task participant)、位置證明協作者(LP_C,location proof collaborator)5 類實體組成,具體說明如下。

圖1 系統模型
TA 是完全受信任的一方,在該系統中,負責系統初始化和用戶注冊,并為不同角色用戶分配相關參數。
TR 是發布感知任務的一方,該任務可能帶有位置約束。
TP 是接受TR 發布感知任務的參與者,同時,TP 也是位置證明請求者(LP_R,location proof requester),需要驗證其位置真實性后才能具有被TR選擇的機會。
ES 擁有強大的計算能力和存儲能力,負責為TR 驗證TP 位置信息是否真實,并將位置真實的TP 信息發送給TR。在該系統模型中也作為位置證明驗證者(確保LP_R 發送的LP 的合法性)。本文方案中假設ES 可信。
LP_C 需要遵循協議規范執行LP_R 發布的位置證明任務,只有位于正確位置區域內的LP_C 成為合法協作者,生成的LP 才能被ES 所接受,是半可信的。根據實際情況,LP_C 也可能成為LP_R,本文將LP_C 與LP_R 稱為位置證明參與者。LP_C在注冊期間將獲得一個初始信譽值,該信譽值根據其行為不斷更新。假設該模型下攜帶移動智能終端的用戶具有短程通信功能。
在本文方案中,TR 首先將帶有位置約束的任務請求發送給ES,ES 需為TR 挑選積極參與感知任務的TP。由于TP 可能不誠實,收集錯誤位置上產生的感知數據,因此,TP 需要證明其位置的真實性后,才能被ES 挑選并返回給TR。為驗證位置真實性,TP 成為LP_R 發布位置證明請求任務,并提交一定的獎勵用來激勵擁有移動終端的用戶接受位置證明任務,被ES選擇的用戶將成為合法LP_C,LP_C 在接受該任務時繳納押金并與LP_R 協作完成LP。最后,LP_R 向ES 提交LP 完成最終驗證,ES 將向TR 返回位置合法的TP 信息。
在帶位置區域限制的感知任務請求中,參與該任務的用戶的目的都是為了獲得獎勵,惡意的用戶可能會對方案產生重大的影響。攻擊模型主要針對LP_R 和LP_C 的惡意行為展開分析。一個遠離合法位置區域的LP_R 偽造自己的位置信息參與感知任務,并成功獲得感知任務請求者的獎勵。一個不誠實的LP_C 可能會與LP_R 共謀,為LP_R 生成虛假的LP 以獲得獎勵或資源。此外,LP_C 可能會假裝參與位置證明任務騙取LP_R 支付的獎勵,或完成任務超時,最終導致任務失敗。
本節基于本文所提出的系統模型,設計了面向群智感知應用的基于協作的位置認證方案。為了更好地描述位置證明與驗證過程,將該方案分為6 個階段,即系統初始化階段、注冊階段、位置證明初始化階段、位置證明協作者選擇階段、位置證明生成階段和位置證明驗證階段。表1 列出了本文使用的系統參數。

表1 系統參數
TA 在初始化階段輸入安全參數k,輸出系統公開參數params={q,α,mpk},其中,q表示大素數,α表示有限域GF(q) 上的一個本原根,mpk 表示系統公鑰。
用戶向TA 注冊,TA 為用戶生成公鑰證書Cert(pk,ID),并為不同的用戶分配相關參數。TA為LP_Cj設置初始信譽值。ES 需生成位置證明列表其中,Loc 表示位置,ScoreLP_Cj表示LP_Cj完成位置驗證最新評分,num 表示LP_Cj協助LP_R 完成位置驗證的次數。
在該階段,LP_R 向ES 發送位置證明請求LP_Req,并與ES 完成密鑰協商,計算位置證明生成階段所需相關參數,流程如圖2 所示。具體步驟如下。

圖2 位置證明初始化流程
Step1LP_R 生成隨機數NR和秘密值XR,計算通過短程通信接口發布位置證明協作任務,同時向ES 發送位置證明請求消息其中,LP_ID 表示位置證明標識,cR表示LP_R 對位置證明請求提供的獎勵。
Step2LP_Cj在接收到LP_R 發布的任務后,如果接受,則向ES 發送包括押金cLP_Cj和LP_ID 的任務接受消息其中,押金用來防止LP_Cj不按規定時間完成任務,當LP_Cj未被選擇或按規定完成任務后將退還全部押金。
Step3ES 對接收到LP_Req 與進行驗證。首先,提取兩條消息中的LP_ID 驗證其是否一致,若一致,ES 從LP_Req 中提取出YR,并生成隨機數Nv和秘密值Xv,計算可得會話密鑰X。其次,使用LP_R的公鑰加密Yv、Nv,將加密后的信息MesES→LP_R=發送給LP_R。
若接受位置證明任務的用戶數量滿足預設定閾值A1,ES 將根據LP_List 挑選A個合法的LP_Cj;否則,終止協議。
ES 以LP_R 位置為圓心、dmax為半徑劃分多個區域。首先,根據信任模型在各個區域選擇信譽值高的LP_Cj為LP_R 生成LP;然后,ES 為該任務設置時間閾值(t,T) 并發送給被挑選的LP_Cj,其中,t和T將LP_Cj完成該任務的時間分成三段。如果完成時間大于T,則拒絕支付獎勵,并扣除一半押金;如果完成時間小于t,根據LP_Cj完成任務的時間和信譽值使用式(1)計算LP_Cj應獲得獎勵,該獎勵包括LP_Cj的押金;如果完成的時間大于t且小于T,則使用式(2)計算

本文通過提供獎勵的方式來激勵用戶參與位置證明協作任務,并基于信譽值和完成任務的時間計算獎勵值,提高用戶完成任務的效率。
在該階段,被ES 挑選的A個合法LP_Cj與LP_R 執行安全高效的位置驗證協議,流程如圖3所示,具體步驟如下。

圖3 位置證明生成流程
Step2LP_Cj對接收到LP_ID 進行驗證,如果與位置證明初始化階段收到的相同,則選擇nbit 隨機數h送給LP_R。

Step4LP_Cj接收到yj后,開始與LP_R 執行DB 協議,具體步驟如下。
1) LP_Cj向LP_R 發起質詢挑戰,生成一個隨機比特位ci,將ci發送給LP_R 的同時開始計時Δti。
2) LP_R 接收到ci后,立即計算響應值發送ri給LP_Cj。其中,zji、aji、bji分別表示隨機數zj、aj、bj的第i位。
3) LP_Cj接收到LP_R 的響應值ci后,立即停止計時,重復步驟1)~步驟3)n輪。


LP_R 使用ES 的公鑰加密數據m={LP,X}得密文并將其發送給ES,其中,LP=LP1||LP2||LP3|| …||LPA。ES 設定K表示接受LP_R 位置證明通過預定義的閾值,并驗證LP_R 位置的合法性。驗證過程具體步驟如下。
Step1ES 解密驗證X和A個位置證明的正確性。
Step2ES 首先判斷X是否合法,若合法,則獲取LPj中標識并判斷其是否屬于被挑選位置證明協作者集合,如果屬于,再驗證其簽名是否正確,若正確則繼續執行Step3;否則,ES 拒絕LP_Cj為LP_R 生成的LPj。
Step3ES 獲取值yj,并根據位置證明初始化階段生成的隨機數Nv與NR來計算判斷是否成立,如果成立,繼續執行Step4;否則,ES 拒絕LP_Cj為LP_R 生成的LPj。
Step4ES 獲取LPj中隨機數h與c,根據式(3)計算 'ir,驗證n輪質詢挑戰響應值ri是否正確。如果存在將拒絕LP_Cj為LP_R 生成的LPj;否則,繼續執行Step5。

Step5ES 驗證是否小于T,如果驗證通過,合法的位置證明個數At=At+1。
重復以上步驟驗證A個LPj。如果At≥K,ES驗證LP_R 的位置合法,并將所有位置合法LP_R的信息發送給TR。
為了抵抗LP 生成過程中LP_R 和LP_C 之間發起的共謀攻擊,本文基于LP_R 和LP_C 歷史位置驗證記錄來計算其信譽值,并結合信譽值和區域劃分的方法來選擇LP_C,具體步驟如下。
Step1ES 設定位置證明信譽閾值Trep,根據LP_Cj為位置證明請求者LP_Rk生成LP的歷史記錄計算信譽值


由于LP_R 和LP_Cj都是不受信任的實體,LP_Cj很可能與LP_R 共謀為其生成一個虛假的位置證明,如果LP_Cj多次協助同一個LP_Rk生成位置證明,將會增大它們之間發生共謀的可能性。因此,本文通過檢測LP_Cj與LP_Rk歷史位置驗證記錄來計算 LP_Cj的并根據的大小選擇LP_Cj,目的是使LP_Rk的位置證明協作任務不依賴于少部分LP_Cj,提高被挑選LP_Cj的多樣性來降低共謀的可能性。從式(4)和式(6)可以看出,當一個LP_Cj頻繁協助某個LP_Rk完成位置證明,會影響信譽模型中相關參數的大小(如Sum(LP_Cj,LP_Rk)增大降低),從而使其獲得較低的信譽值,在位置證明協作者選擇階段被選中的概率下降,與LP_Rk共謀成功的可能性降低。

綜上所述,本文將任務完成的時間和歷史位置驗證記錄結合來計算LP_C 的信譽值,既能抵抗LP_R 和LP_C 之間的共謀攻擊,又能防止LP_C 完成任務超時的不良行為。
Step2首先,ES 以LP_Rk所在位置為圓心,將參與位置協作的LP_Cj數量N平均劃分在M個區域內,使每個區域內LP_Cj數量Ni相差不超過1;其次,計算每個區域內信譽值大于閾值Trep的LP_Cj的數量Hi,H=H1+H2+H3+…+HM(i=1,2,…,M),根據所需要LP_Cj的數量A與接受LP_R 位置證明通過閾值K來計算每個區域選擇的LP_Cj的數量Aj與閾值Kj(j=1,2,…,M-1);最后,根據每個區域信譽值的大小選擇LP_Cj。

區域劃分的方法使LP_R 發起共謀時需保證在每個區域內不誠實的LP_Cj被ES 選擇,且數量不小于所在區域閾值Ki。因此,該方法不僅可以進一步抵抗共謀攻擊,還可以防止信譽值低但誠實的位置證明協作者一直不被選擇,解決了權益集中的問題。具體劃分的個數需由ES 根據N的大小來決定,本文僅對N<30 的情況進行分析。
為了在位置驗證協議中安全通信,需要保證一些基本安全需求,如用戶身份隱私、抗距離欺詐、抗偽造攻擊等[29]。同時,協議還需要能抵御各種惡意攻擊,如共謀攻擊、偽造攻擊。
1) 用戶身份隱私
整個位置驗證協議執行期間,參與用戶的身份標識ID 都是通過ES 的公鑰加密進行通信的,因此,只有ES 知道它們的真實身份,實現了用戶在位置驗證過程中的隱私性。
2) 抗距離欺詐
快速的質詢挑戰可以防止距離欺詐。在本文方案中,根據隨機數Nv、NR和會話密鑰X生成響應值種子a||b,由該種子生成每一輪響應參數aj與bj,隨機種子a||b可以確保a j≠bj。如果一個不誠實的LP_R 挑選nbit 隨機數a j=bj,則可以在接受挑戰位ci之前發送響應值導致響應值ir獨立于挑戰值ci。因此,本文方案可以抵抗距離欺詐。
3) 抗偽造攻擊
惡意的LP_R 不能與非法LP_Cj協作執行位置驗證協議,偽造虛假的LP。在本文方案中,位置證明驗證階段ES 需要驗證LPj是否由合法的LP_Cj生成。此外,由于每次位置驗證需生成會話密鑰,ES 在位置證明驗證階段需使用會話密鑰去驗證LPj中的yj值是否正確。因此,不誠實的LP_R 試圖偽造或使用其他用戶的LP 將不會成功。
4) 抗重放攻擊
一個敵手偽造成一名合法的用戶請求位置驗證,在進行通信的過程中獲取為合法LP_R 生成的LP,在與ES 交互過程中重放消息LP,以此通過位置驗證。在本文方案中,即使敵手知道LP 所屬用戶的身份標識也無法創建位置證明驗證階段生成消息m中的會話密鑰X,因為消息m使用ES 的公鑰加密,敵手無法獲取。因此,本文方案可以抵抗重放攻擊。
5) 抗共謀攻擊
在本文方案中,存在3 種共謀攻擊。
首先,不誠實LP_R 與處于合法位置的LP_R'發起共謀攻擊。在該攻擊中,LP_R'與LP_Cj成功完成協議的前提是LP_R'必須知道LP_R的參數a、b、NR和y,這意味著LP_R'可以獲取LP_R 與ES 的會話密鑰X,因此,LP_R'能在一段時間內模仿LP_R。而理性的用戶將不會選擇接受這種風險,因此,LP_R 與LP_R'之間的共謀將不會成功。
其次,惡意的LP_Cj之間通過共謀獲取誠實LP_R 位置驗證協議執行過程中生成響應值的參數,偽造LP_R 的身份參與感知任務獲得獎勵。在本文協議中,新發起的位置證明請求將需要與ES生成新的種子a、b,因此,不誠實的LP_Cj獲得的信息aj與bj在下一輪驗證過程不能被使用,這種攻擊將會失敗。
最后,不誠實LP_R 與LP_Cj之間發生共謀生成虛假的LP,因此,在本文協議中LP_Cj的選擇是ES 根據LP_Cj的信譽值與所在區域決定的,被不誠實的LP_R 挑選參與共謀的LP_Cj可能在位置證明協作者選擇階段不被ES 所選擇。本文方案在文獻[10]的基礎上采用了區域劃分方法選擇LP_Cj,且本文方案LP_R 與LP_Cj之間共謀成功的可能性比文獻[10]低。本文對真實環境做出如下假設。
首先,假設不誠實的LP_R 與位于合法位置區域的LP_Cj共謀,其中,Ac是LP_R 在合法位置區域內選擇共謀的LP_Cj的數量,N是在合法位置范圍內接受位置證明請求任務的數量(包括惡意的LP_Cj);其次,假設K是該位置證明請求通過的閾值,其中,A是ES 從接受位置證明任務N個參與者中挑選的數量,Ax是ES 挑選出A個參與者中與LP_R 共謀的數量;最后,ES 以LP_R 的位置為中心將合法區域劃分為兩部分,在每個區域挑選LP_Cj,假設每個區域內LP_Cj的信譽值滿足信譽閾值Trep,區域 1 接受該任務的協作者數為區域 2 接受該任務的協作者數為N2=N-N1。同樣,在區域1 中選擇A1個協作者完成該任務,其中區域 2 選擇A2=A-A1。假設在區域1 惡意的LP_Cj數量是Ac1,區域2 是Ac2,其中Ac=Ac1+Ac2,區域1 中位置證明驗證通過閾值為區 域 2 為K2=K-K1,只有2 個區域驗證通過的位置證明數量都滿足閾值,才能通過最終驗證。
如果Ac1<K1或Ac2<K2,位置區域1 或區域2共謀數量均小于閾值,共謀攻擊將失敗。
如果K1≤Ac1<A1,K2≤Ac2<A2,由式(9)計算可得到共謀成功的可能性。

其中,Pi(i=1,2)是區域i成功的可能性。
如果Ac1≥A1,Ac2≥A2且K1=A1,K2=A2,由式(10)計算可得共謀成功的可能性。

圖4 展示了當Ac不同時,隨著被選協作者數量A的變化,LP_R 與LP_Cj共謀成功的概率。從圖4可以看出,本文方案共謀成功的概率低于文獻[10]。因此,本文通過合理劃分區域并在每個區域選擇合適參數,對于抵抗LP_R 與LP_Cj之間的共謀提供了比文獻[10]更可靠的解決方案。

圖4 不同參數下共謀成功的概率
6) 抗遠程劫持攻擊
對于該類攻擊,遠離合法區域的敵手A0與ES執行位置證明初始化階段。A0想要欺騙誠實的位置證明協作者C 為其生成LP,但無法通過短程通信廣播位置證明標識給C。假設A0可以廣播信息給C,并借助誠實的用戶P0來完成挑戰,然而P0無法獲得A0與ES 生成的隨機數種子和密鑰XA0,因此無法使用正確的數據計算響應值和信息如果P0使用自身與ES初始化生成的信息執行響應,A0劫持C 為P0生成的LP 發送給ES 進行驗證,在位置證明驗證階段使用A0與ES 生成的密鑰XA0和種子驗證yA0將會失敗。因此,本文方案可以抵抗遠程劫持攻擊。
本文方案通過借助位置證明協作者來完成位置驗證協議,協議在執行過程中需要使用多次加解密運算。因此,本節將從計算開銷和通信開銷2 個方面將本文方案與文獻[10]、文獻[24]、文獻[26]和文獻[27]等相關方案進行分析比較。
現有位置驗證方案主要受位置驗證過程中加解密影響,因此本文更側重于通過減少位置證明過程中加解密的次數來提高驗證位置真實性的效率。本節在配置為Intel(R) Core(TM) i5-9500U 3.00 GHz 處理器、RAM 為8 GB 的Windows 10 系統,IDEA 2021編譯環境下通過對本文方案、文獻[10]、文獻[26]和文獻[27]這4 種方案中所涉及的密碼學操作進行模擬,并使用RSA 加密/簽名算法、SHA1 哈希運算以及哈希承諾來評估協議時間開銷。其中,哈希運算、模運算、對稱加密/解密、非對稱加密/解密、簽名/驗簽以及承諾值計算是6 種消耗最大的運算,因此,本節在實驗過程中將重點評估以上6 種計算操作。實驗中所有結果均為50 次結果的平均值。
本文方案與文獻[10]、文獻[26]、文獻[27]在協作者數量為1,密鑰大小為512 bit、1 024 bit、2 048 bit 時產生的計算開銷如圖5 所示。從圖5 可以看出,由于文獻[26]借助一個位置證明協作者參與位置驗證,驗證方案的實體只涉及請求者和協作者,不需要進行多次加解密計算,因此文獻[26]計算開銷最小,但該方案安全性較低。本文方案在密鑰大小為512 bit 時計算開銷大于文獻[10],這是因為本文方案在位置證明初始化階段需要計算會話密鑰,但隨著密鑰大小的增大,計算開銷小于文獻[10]和文獻[27],因為文獻[10]和文獻[27]在位置證明生成與驗證階段執行了大量的加解密與承諾值計算。

圖5 密鑰大小不同時各方案計算開銷比較
被選協作者數量不同時各方案計算開銷比較如圖6 所示。從圖6(a)可以看出,當密鑰大小為512 bit 時,本文方案、文獻[10]與文獻[27]方案的計算開銷會隨被選協作者數量的增加而增大,但本文方案的增長率較小,文獻[10]的增長率最大。因為文獻[10]在位置證明生成階段需要對每個協作者發送的簽名與消息進行加密運算,在驗證階段也需要執行對應解密和驗簽。而文獻[27]在位置證明階段除了需要執行加解密運算,在與協作者交互階段還需要計算大量的承諾值,因此其消耗的時間大于本文方案。從圖6(b)可以看出,當密鑰大小為1 024 bit時,本文方案與文獻[10]、文獻[27]方案隨著被選協作者數量增加時計算開銷差距將越來越明顯。因此,本文方案使用一對隨機數多次哈希獲取新信息的思想來設計位置驗證協議能對降低位置驗證過程中的計算開銷起到明顯的效果。

圖6 被選協作者數量不同時各方案計算開銷比較


本文參考文獻[30]通信開銷的分析方法,僅考慮通信過程加解密值、承諾值、簽名以及哈希值等傳輸位數較大的消息,并使用分別表示非對稱加密值、承諾值、哈希值和簽名值的長度。本文方案在位置證明初始化階段需發送2 條非對稱加密消息、位置證明生成階段需發送1 條非對稱加密消息、位置證明驗證階段需發送1 條非對稱加密消息。由于位置證明生成階段發送的消息數量與參與位置證明協作者的數量A相關,因此本文方案總的通信開銷為,其他方案也采用相同的分析方法。表2 是本文方案與文獻[10]、文獻[24]、文獻[27]的通信開銷對比。

表2 各方案通信開銷對比
本文基于一些假設值和A動態變化來比較各方案的通信開銷,假設的大小為的大小為20 B,各方案通信開銷比較如圖7所示。從圖7 可以看出,盡管文獻[10]方案交換的消息數量比本文方案少,但總的通信開銷隨著A的增加遠比本文方案高,因為該方案與A個LP_Cj交互過程中使用的非對稱加密運算次數遠高于本文方案。文獻[27]與文獻[24]方案不僅非對稱加密運算次數高于文獻[10]與本文方案,發送的消息中還存在大量的承諾值與哈希值。因此,本文方案相較于相關方案有更低的通信開銷。

圖7 各方案通信開銷比較
本文重點關注群智感知應用中任務參與者位置真實性和隱私性的問題,設計了一種安全且高效的基于協作的位置認證方案。該方案在位置驗證協議中利用同一對隨機數多次碰撞獲取新信息的方法,有效解決了恐怖主義欺詐,保證了位置的不可偽造,減少了位置證明參與者執行該協議時的計算開銷,并基于各方完全信任的實體ES收集位置證明參與者的信息,保護了位置證明參與者的位置隱私。此外,為了提高位置證明協作者完成任務的積極性與效率,提出了基于信譽的激勵機制和交付押金的策略;為了解決位置證明請求者和協作者共謀問題,提出了基于信譽值與區域劃分的方法選擇位置證明協作者;為了提高基于信譽模型的可靠性,將位置證明協作者歷史完成任務的記錄與完成任務評分有效結合。最后,仿真結果表明,本文方案相較于現有方案具有更好的安全性和效率。