田有亮,田茂清,高鴻峰,何淼,熊金波,5
(1.貴州大學(xué)公共大數(shù)據(jù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,貴州 貴陽(yáng) 550025;2.貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽(yáng) 550025;3.貴州大學(xué)密碼學(xué)與數(shù)據(jù)安全研究所,貴州 貴陽(yáng) 550025;4.女王大學(xué)電子和計(jì)算機(jī)工程學(xué)院,安大略 金士頓 ON K7L 3N6;5.福建師范大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,福建 福州 350117)
隨著具備傳感、計(jì)算和存儲(chǔ)能力的移動(dòng)智能終端的大量普及,出現(xiàn)了很多群智感知應(yīng)用和服務(wù)[1],例如,環(huán)境檢測(cè)[2]、廣告發(fā)布[3]、基于位置的服務(wù)[4-5]等。群智感知應(yīng)用通過(guò)招募攜帶嵌入傳感器的智能終端用戶作為數(shù)據(jù)收集者,收集與特定時(shí)間和地點(diǎn)相關(guān)的數(shù)據(jù),然后將數(shù)據(jù)發(fā)送給收集者進(jìn)行分析。該技術(shù)被認(rèn)為是一種可以用來(lái)解決現(xiàn)實(shí)問(wèn)題(如交通預(yù)測(cè)/管理[6])的有效方法。相對(duì)于使用固定位置傳感設(shè)備收集信息的方式,群智感知應(yīng)用具有部署成本低、靈活性高、移動(dòng)設(shè)備數(shù)量大、覆蓋范圍廣等優(yōu)勢(shì)[7]。
群智感知應(yīng)用通過(guò)對(duì)多個(gè)移動(dòng)智能終端收集的數(shù)據(jù)進(jìn)行處理,以獲得更多的有效信息。為了提高收集數(shù)據(jù)的安全性和可靠性,大多數(shù)群智感知任務(wù)請(qǐng)求者需要限定參與者完成任務(wù)的位置。然而,感知任務(wù)通常在不受信任的環(huán)境下由不同類型的參與者協(xié)作完成,因此保證參與者身份和位置信息的真實(shí)性在群智感知應(yīng)用中占據(jù)十分重要的地位。該類應(yīng)用中位置欺騙攻擊會(huì)對(duì)感知結(jié)果產(chǎn)生嚴(yán)重的影響,在車輛群智感知應(yīng)用中提交被車輛惡意偽造的位置信息,并上傳錯(cuò)誤位置上產(chǎn)生的數(shù)據(jù),會(huì)對(duì)感知任務(wù)發(fā)布者的分析造成干擾,給經(jīng)濟(jì)帶來(lái)嚴(yán)重的損失[8]。因此,驗(yàn)證感知任務(wù)參與者位置的真實(shí)性是很有必要的。
針對(duì)位置欺騙攻擊,研究者提出了很多位置認(rèn)證方案。在集中式方案中借助固定基礎(chǔ)設(shè)施,基于請(qǐng)求位置驗(yàn)證設(shè)備的信道狀態(tài)信息(CSI,channel state information)與在正確位置上相關(guān)設(shè)備返回的CSI 之間的相似性比較,從而確定請(qǐng)求設(shè)備位置的合法性[9]。但該方案可能會(huì)泄露用戶的身份隱私,此外,在分布式場(chǎng)景下,借助固定基礎(chǔ)設(shè)施驗(yàn)證位置真實(shí)性增加了成本開(kāi)銷。因此,分布式位置驗(yàn)證方案被提出。大多數(shù)分布式方案都是通過(guò)提供一定的獎(jiǎng)勵(lì)或資源,激勵(lì)攜帶移動(dòng)智能終端的用戶成為位置證明協(xié)作者參與位置驗(yàn)證任務(wù)。但這些方案采用平均化激勵(lì),沒(méi)有對(duì)協(xié)作者完成任務(wù)的時(shí)間與激勵(lì)關(guān)聯(lián),可能會(huì)導(dǎo)致協(xié)作者超時(shí)完成位置證明,最終位置驗(yàn)證失敗,但仍能獲得獎(jiǎng)勵(lì)[10-11]。此外,設(shè)計(jì)具備基本安全保證的距離邊界(DB,distance bounding)協(xié)議來(lái)測(cè)量位置證明請(qǐng)求者與多個(gè)證人之間的距離上界,并采用先簽名后加密的方法保證了參與位置驗(yàn)證的用戶隱私不被泄露[10]。但該方案還存在一些缺陷,首先,沒(méi)有考慮到隨著參與位置驗(yàn)證用戶的增加,大量的加解密運(yùn)算增大了計(jì)算開(kāi)銷。其次,只根據(jù)信譽(yù)值大小選擇用戶,沒(méi)有考慮到信譽(yù)值低但誠(chéng)實(shí)的用戶無(wú)法被選擇導(dǎo)致權(quán)益集中化的問(wèn)題。權(quán)益集中化是指部分信譽(yù)值高的用戶多次被選擇完成位置驗(yàn)證的任務(wù),信譽(yù)值低的用戶不被選擇,獎(jiǎng)勵(lì)集中分發(fā)給部分用戶,這在一定程度上提高了共謀的可能性。最后,該方案采用的信任模型不能很好地解決用戶與位置證明請(qǐng)求者共謀的安全問(wèn)題。目前,現(xiàn)存方案無(wú)法徹底解決位置證明請(qǐng)求者和協(xié)作者共謀問(wèn)題,只能降低共謀攻擊成功的可能性。因此,需要一個(gè)安全且高效的位置認(rèn)證方案以解決效率和安全的挑戰(zhàn)。
本文面向群智感知應(yīng)用設(shè)計(jì)了一種基于協(xié)作的位置認(rèn)證方案。為驗(yàn)證位置的真實(shí)性,首先,本文基于文獻(xiàn)[12]初始化階段生成響應(yīng)值的思想,設(shè)計(jì)了既可解決隱私問(wèn)題又可降低計(jì)算開(kāi)銷的位置驗(yàn)證協(xié)議,并將其集成到群智感知應(yīng)用位置認(rèn)證方案中。其次,將信譽(yù)值的大小和所得獎(jiǎng)勵(lì)相結(jié)合,設(shè)計(jì)了基于信譽(yù)值的激勵(lì)機(jī)制,一方面可以激勵(lì)更多用戶接受位置證明任務(wù),另一方面可用來(lái)提高位置證明協(xié)作者完成任務(wù)的效率。此外,接受位置證明任務(wù)的協(xié)作者需要提交押金,解決了協(xié)作者完成任務(wù)超時(shí)的問(wèn)題。最后,針對(duì)如何挑選位置證明協(xié)作者這一問(wèn)題,本文將采用區(qū)域劃分和信譽(yù)值大小相結(jié)合的方式優(yōu)化位置證明協(xié)作者的選擇,該方法不僅可以抵抗共謀攻擊,還解決了信譽(yù)值低但誠(chéng)實(shí)的位置證明協(xié)作者一直不被選擇的問(wèn)題。
本文主要貢獻(xiàn)如下。
1) 提出了群智感知應(yīng)用中一種基于協(xié)作的安全高效的位置認(rèn)證方案。該方案在DB 協(xié)議中利用同一對(duì)隨機(jī)數(shù)多次碰撞獲取的新信息生成快速響應(yīng)階段的響應(yīng)值,實(shí)現(xiàn)了位置的不可偽造。此外,位置驗(yàn)證過(guò)程不依賴大量的加解密操作,位置驗(yàn)證參與者不會(huì)泄露其身份隱私。因此,本文方案同時(shí)滿足了隱私和效率要求。
2) 將信譽(yù)機(jī)制和激勵(lì)機(jī)制相結(jié)合,解決了位置驗(yàn)證任務(wù)中協(xié)作者參與積極性和完成任務(wù)效率低的問(wèn)題。同時(shí),采用區(qū)域劃分和信譽(yù)值大小相結(jié)合的方法優(yōu)化位置協(xié)作者的選擇,有效地抵抗了共謀攻擊并解決了權(quán)益集中的問(wèn)題。
3) 從理論上分析了本文方案的正確性和隱私性,并評(píng)估了計(jì)算開(kāi)銷和通信開(kāi)銷。與現(xiàn)有文獻(xiàn)相比較,本文方案能在保證安全性和隱私性的前提下有效降低計(jì)算開(kāi)銷和通信開(kāi)銷。
近年來(lái),在群智感知領(lǐng)域中提出了很多方案用來(lái)提高收集數(shù)據(jù)的可靠性與隱私性。Xu 等[13]提出了一種隱私保護(hù)和可驗(yàn)證的數(shù)據(jù)聚合方案,實(shí)現(xiàn)對(duì)收集數(shù)據(jù)隱私保護(hù)的同時(shí)任務(wù)請(qǐng)求者可以驗(yàn)證收集結(jié)果的正確性。Zhang 等[14]研究了基于眾包的合作頻譜感知中的惡意數(shù)據(jù)注入攻擊,利用外部探測(cè)器來(lái)驗(yàn)證數(shù)據(jù)的真實(shí)性。Peng 等[15]提出了基于質(zhì)量的激勵(lì)機(jī)制,以激勵(lì)理性的參與者提交高質(zhì)量的傳感數(shù)據(jù)。Xiao 等[16]解決了多個(gè)未知任務(wù)接受者的招聘問(wèn)題,目標(biāo)是在有限的預(yù)算下最大限度地提高總傳感質(zhì)量。Wu 等[17]研究了在各種約束條件下能夠?qū)崿F(xiàn)質(zhì)量最大化的任務(wù)分配機(jī)制并引起了人們的關(guān)注,然而,現(xiàn)有的任務(wù)分配機(jī)制未能很好地解決惡意用戶參與的問(wèn)題。
現(xiàn)有感知任務(wù)大多是在位置約束下執(zhí)行的,為了過(guò)濾用戶提交的虛假數(shù)據(jù),提高收集到的數(shù)據(jù)質(zhì)量,Talasila 等[18]提出位置的真實(shí)性是邁向數(shù)據(jù)可靠性的第一步,并實(shí)現(xiàn)了對(duì)惡意用戶虛假位置證明的檢測(cè)。Reddy 等[19]描述了一個(gè)考慮參與者位置信息、時(shí)間可用性和行為習(xí)慣的招募方案。He 等[20]通過(guò)觀察參與者當(dāng)前位置和預(yù)測(cè)軌跡,提出了一種高質(zhì)量的參與者招募方案,最大限度地實(shí)現(xiàn)了車輛眾包的時(shí)空覆蓋。因此,驗(yàn)證任務(wù)接受者位置的真實(shí)性是群智感知應(yīng)用中一個(gè)重要的研究方向。
2009 年,Chandran 等[21]首次提出位置密碼學(xué)的概念,并在有界檢索模型(BRM,bounded retrieval model)下構(gòu)建了一種位置驗(yàn)證協(xié)議,但由于驗(yàn)證者能獲取證明者的具體位置,存在位置隱私泄露的風(fēng)險(xiǎn)。Yang 等[22]在文獻(xiàn)[21]的基礎(chǔ)上提出了一個(gè)帶隱私的位置驗(yàn)證協(xié)議,該協(xié)議采用中心化的驗(yàn)證方式,并使用可信機(jī)構(gòu)來(lái)驗(yàn)證證明者位置的正確性。然而,采用固定基礎(chǔ)設(shè)施驗(yàn)證位置的靈活性較差、成本較高,不適用于物聯(lián)網(wǎng)下大多數(shù)的應(yīng)用場(chǎng)景。另一種位置驗(yàn)證技術(shù)是DB 協(xié)議,該協(xié)議利用一個(gè)驗(yàn)證者度量證明者與其所在位置距離的上界[23]?,F(xiàn)有大量文獻(xiàn)基于DB 協(xié)議圍繞用戶位置真實(shí)性和隱私性等方面進(jìn)行研究。Wang 等[24]通過(guò)借助鄰近移動(dòng)用戶基于DB 協(xié)議為證明者生成位置證明,提出的方案可以確保位置證明的完整性和不可轉(zhuǎn)讓性,并設(shè)計(jì)基于熵的信任評(píng)估方法,防止用戶共謀攻擊。Zhu 等[25]主要通過(guò)定期更改假名的方式保護(hù)用戶的隱私,但會(huì)增加計(jì)算開(kāi)銷和通信開(kāi)銷。Nosouhi 等[10]提出了一個(gè)位置證明生成與驗(yàn)證框架,其使用基于熵的信任模型降低了用戶之間共謀攻擊成功的概率,并采用先簽名后加密的方法保護(hù)了用戶的敏感信息,但該方案的計(jì)算開(kāi)銷和通信開(kāi)銷會(huì)隨著挑選的位置證明協(xié)作者人數(shù)的增加呈線性增長(zhǎng)。Liu 等[26]提出了一個(gè)高效的位置驗(yàn)證協(xié)議,但該協(xié)議致力于解決位置隱私,無(wú)法抵抗共謀攻擊。Kounas 等[27]使用可信機(jī)構(gòu)驗(yàn)證用戶身份、驗(yàn)證者驗(yàn)證鄰近協(xié)作者生成的位置證明,實(shí)現(xiàn)在驗(yàn)證位置真實(shí)性的同時(shí)保護(hù)用戶身份隱私,抵抗了常見(jiàn)的攻擊。但使用可信機(jī)構(gòu)和驗(yàn)證者分離的驗(yàn)證方式以及密碼承諾的運(yùn)算增加了大量的計(jì)算開(kāi)銷。
在群智感知應(yīng)用中引入?yún)⑴c者的位置信息可以幫助請(qǐng)求者做出招募決策,但到目前為止關(guān)于群智感知應(yīng)用中參與者招募過(guò)程的位置認(rèn)證和隱私保護(hù)問(wèn)題的研究相對(duì)較少。因此,本文提出了一種安全高效的方法來(lái)驗(yàn)證感知任務(wù)參與者位置的真實(shí)性,該方法防止了參與者提交錯(cuò)誤位置區(qū)域收集到的信息,同時(shí)很好地保護(hù)了參與者的身份隱私。
DB 協(xié)議是實(shí)時(shí)質(zhì)詢-響應(yīng)協(xié)議,用來(lái)確定雙方距離上界。文獻(xiàn)[12]在DB 協(xié)議初始化階段中使用同一對(duì)隨機(jī)數(shù)多次碰撞來(lái)獲取新隨機(jī)數(shù)的思想生成快速響應(yīng)階段響應(yīng)值。該協(xié)議的具體定義如下。
定義 1元組組成DB 協(xié)議。其中P 和V 表示證明者和驗(yàn)證者,B表示P 與V 之間距離上界,該協(xié)議執(zhí)行流程由初始化Init、快速響應(yīng)RBE、驗(yàn)證Verify 這3 個(gè)階段組成。
假設(shè)P 和V 共享密鑰x,協(xié)議具體執(zhí)行階段如下。
階段1
1) V 生成一個(gè)隨機(jī)數(shù)NV并發(fā)送給P。
2) P 首先生成隨機(jī)數(shù)NP計(jì)算(a',b')=f(x,NV,NP,IDP),IDP表示不變的參數(shù)(如身份標(biāo)識(shí)),f表示偽隨機(jī)函數(shù),Z0=a',Z1=b'。其次,P 計(jì)算y=x⊕h0(a',b'),h0表示哈希函數(shù)。最后,P 將參數(shù)(NP,y)發(fā)送給V。
3) V 接收到(PN,y) 后驗(yàn)證y的正確性,如果不正確,則終止協(xié)議;否則,繼續(xù)執(zhí)行。
階段2
1) 該階段重復(fù)n次,V 隨機(jī)生成一個(gè)比特位ci,將ci發(fā)送給P 的同時(shí)將時(shí)鐘歸零,測(cè)量往返時(shí)延。
階段3
位置證明(LP,location proof)是一組用來(lái)表示用戶在特定位置的數(shù)字證書(shū),一個(gè)LP 包括一個(gè)或多個(gè)位置證明段[28]。在本文方案中,通過(guò)收集多個(gè)位置證明段,并設(shè)定位置證明段通過(guò)的閾值來(lái)判斷位置真實(shí)性。LP 定義如下。
定義2是一個(gè)證明者的位置證明段集合,驗(yàn)證者發(fā)布的一條數(shù)字證書(shū)LPj用于表示證明者在某一特定位置。LP 由A個(gè)驗(yàn)證者生成的LPj組成。
本文提出了一種安全且高效的基于協(xié)作的位置認(rèn)證方案。系統(tǒng)模型如圖1 所示,該模型主要由信任機(jī)構(gòu)(TA,trust authority)、任務(wù)請(qǐng)求者(TR,task requester)、邊緣服務(wù)器(ES,edge server)、任務(wù)參與者(TP,task participant)、位置證明協(xié)作者(LP_C,location proof collaborator)5 類實(shí)體組成,具體說(shuō)明如下。
圖1 系統(tǒng)模型
TA 是完全受信任的一方,在該系統(tǒng)中,負(fù)責(zé)系統(tǒng)初始化和用戶注冊(cè),并為不同角色用戶分配相關(guān)參數(shù)。
TR 是發(fā)布感知任務(wù)的一方,該任務(wù)可能帶有位置約束。
TP 是接受TR 發(fā)布感知任務(wù)的參與者,同時(shí),TP 也是位置證明請(qǐng)求者(LP_R,location proof requester),需要驗(yàn)證其位置真實(shí)性后才能具有被TR選擇的機(jī)會(huì)。
ES 擁有強(qiáng)大的計(jì)算能力和存儲(chǔ)能力,負(fù)責(zé)為TR 驗(yàn)證TP 位置信息是否真實(shí),并將位置真實(shí)的TP 信息發(fā)送給TR。在該系統(tǒng)模型中也作為位置證明驗(yàn)證者(確保LP_R 發(fā)送的LP 的合法性)。本文方案中假設(shè)ES 可信。
LP_C 需要遵循協(xié)議規(guī)范執(zhí)行LP_R 發(fā)布的位置證明任務(wù),只有位于正確位置區(qū)域內(nèi)的LP_C 成為合法協(xié)作者,生成的LP 才能被ES 所接受,是半可信的。根據(jù)實(shí)際情況,LP_C 也可能成為L(zhǎng)P_R,本文將LP_C 與LP_R 稱為位置證明參與者。LP_C在注冊(cè)期間將獲得一個(gè)初始信譽(yù)值,該信譽(yù)值根據(jù)其行為不斷更新。假設(shè)該模型下攜帶移動(dòng)智能終端的用戶具有短程通信功能。
在本文方案中,TR 首先將帶有位置約束的任務(wù)請(qǐng)求發(fā)送給ES,ES 需為TR 挑選積極參與感知任務(wù)的TP。由于TP 可能不誠(chéng)實(shí),收集錯(cuò)誤位置上產(chǎn)生的感知數(shù)據(jù),因此,TP 需要證明其位置的真實(shí)性后,才能被ES 挑選并返回給TR。為驗(yàn)證位置真實(shí)性,TP 成為L(zhǎng)P_R 發(fā)布位置證明請(qǐng)求任務(wù),并提交一定的獎(jiǎng)勵(lì)用來(lái)激勵(lì)擁有移動(dòng)終端的用戶接受位置證明任務(wù),被ES選擇的用戶將成為合法LP_C,LP_C 在接受該任務(wù)時(shí)繳納押金并與LP_R 協(xié)作完成LP。最后,LP_R 向ES 提交LP 完成最終驗(yàn)證,ES 將向TR 返回位置合法的TP 信息。
在帶位置區(qū)域限制的感知任務(wù)請(qǐng)求中,參與該任務(wù)的用戶的目的都是為了獲得獎(jiǎng)勵(lì),惡意的用戶可能會(huì)對(duì)方案產(chǎn)生重大的影響。攻擊模型主要針對(duì)LP_R 和LP_C 的惡意行為展開(kāi)分析。一個(gè)遠(yuǎn)離合法位置區(qū)域的LP_R 偽造自己的位置信息參與感知任務(wù),并成功獲得感知任務(wù)請(qǐng)求者的獎(jiǎng)勵(lì)。一個(gè)不誠(chéng)實(shí)的LP_C 可能會(huì)與LP_R 共謀,為L(zhǎng)P_R 生成虛假的LP 以獲得獎(jiǎng)勵(lì)或資源。此外,LP_C 可能會(huì)假裝參與位置證明任務(wù)騙取LP_R 支付的獎(jiǎng)勵(lì),或完成任務(wù)超時(shí),最終導(dǎo)致任務(wù)失敗。
本節(jié)基于本文所提出的系統(tǒng)模型,設(shè)計(jì)了面向群智感知應(yīng)用的基于協(xié)作的位置認(rèn)證方案。為了更好地描述位置證明與驗(yàn)證過(guò)程,將該方案分為6 個(gè)階段,即系統(tǒng)初始化階段、注冊(cè)階段、位置證明初始化階段、位置證明協(xié)作者選擇階段、位置證明生成階段和位置證明驗(yàn)證階段。表1 列出了本文使用的系統(tǒng)參數(shù)。
表1 系統(tǒng)參數(shù)
TA 在初始化階段輸入安全參數(shù)k,輸出系統(tǒng)公開(kāi)參數(shù)params={q,α,mpk},其中,q表示大素?cái)?shù),α表示有限域GF(q) 上的一個(gè)本原根,mpk 表示系統(tǒng)公鑰。
用戶向TA 注冊(cè),TA 為用戶生成公鑰證書(shū)Cert(pk,ID),并為不同的用戶分配相關(guān)參數(shù)。TA為L(zhǎng)P_Cj設(shè)置初始信譽(yù)值。ES 需生成位置證明列表其中,Loc 表示位置,ScoreLP_Cj表示LP_Cj完成位置驗(yàn)證最新評(píng)分,num 表示LP_Cj協(xié)助LP_R 完成位置驗(yàn)證的次數(shù)。
在該階段,LP_R 向ES 發(fā)送位置證明請(qǐng)求LP_Req,并與ES 完成密鑰協(xié)商,計(jì)算位置證明生成階段所需相關(guān)參數(shù),流程如圖2 所示。具體步驟如下。
圖2 位置證明初始化流程
Step1LP_R 生成隨機(jī)數(shù)NR和秘密值XR,計(jì)算通過(guò)短程通信接口發(fā)布位置證明協(xié)作任務(wù),同時(shí)向ES 發(fā)送位置證明請(qǐng)求消息其中,LP_ID 表示位置證明標(biāo)識(shí),cR表示LP_R 對(duì)位置證明請(qǐng)求提供的獎(jiǎng)勵(lì)。
Step2LP_Cj在接收到LP_R 發(fā)布的任務(wù)后,如果接受,則向ES 發(fā)送包括押金cLP_Cj和LP_ID 的任務(wù)接受消息其中,押金用來(lái)防止LP_Cj不按規(guī)定時(shí)間完成任務(wù),當(dāng)LP_Cj未被選擇或按規(guī)定完成任務(wù)后將退還全部押金。
Step3ES 對(duì)接收到LP_Req 與進(jìn)行驗(yàn)證。首先,提取兩條消息中的LP_ID 驗(yàn)證其是否一致,若一致,ES 從LP_Req 中提取出YR,并生成隨機(jī)數(shù)Nv和秘密值Xv,計(jì)算可得會(huì)話密鑰X。其次,使用LP_R的公鑰加密Yv、Nv,將加密后的信息MesES→LP_R=發(fā)送給LP_R。
若接受位置證明任務(wù)的用戶數(shù)量滿足預(yù)設(shè)定閾值A(chǔ)1,ES 將根據(jù)LP_List 挑選A個(gè)合法的LP_Cj;否則,終止協(xié)議。
ES 以LP_R 位置為圓心、dmax為半徑劃分多個(gè)區(qū)域。首先,根據(jù)信任模型在各個(gè)區(qū)域選擇信譽(yù)值高的LP_Cj為L(zhǎng)P_R 生成LP;然后,ES 為該任務(wù)設(shè)置時(shí)間閾值(t,T) 并發(fā)送給被挑選的LP_Cj,其中,t和T將LP_Cj完成該任務(wù)的時(shí)間分成三段。如果完成時(shí)間大于T,則拒絕支付獎(jiǎng)勵(lì),并扣除一半押金;如果完成時(shí)間小于t,根據(jù)LP_Cj完成任務(wù)的時(shí)間和信譽(yù)值使用式(1)計(jì)算LP_Cj應(yīng)獲得獎(jiǎng)勵(lì),該獎(jiǎng)勵(lì)包括LP_Cj的押金;如果完成的時(shí)間大于t且小于T,則使用式(2)計(jì)算
本文通過(guò)提供獎(jiǎng)勵(lì)的方式來(lái)激勵(lì)用戶參與位置證明協(xié)作任務(wù),并基于信譽(yù)值和完成任務(wù)的時(shí)間計(jì)算獎(jiǎng)勵(lì)值,提高用戶完成任務(wù)的效率。
在該階段,被ES 挑選的A個(gè)合法LP_Cj與LP_R 執(zhí)行安全高效的位置驗(yàn)證協(xié)議,流程如圖3所示,具體步驟如下。
圖3 位置證明生成流程
Step2LP_Cj對(duì)接收到LP_ID 進(jìn)行驗(yàn)證,如果與位置證明初始化階段收到的相同,則選擇nbit 隨機(jī)數(shù)h送給LP_R。
Step4LP_Cj接收到y(tǒng)j后,開(kāi)始與LP_R 執(zhí)行DB 協(xié)議,具體步驟如下。
1) LP_Cj向LP_R 發(fā)起質(zhì)詢挑戰(zhàn),生成一個(gè)隨機(jī)比特位ci,將ci發(fā)送給LP_R 的同時(shí)開(kāi)始計(jì)時(shí)Δti。
2) LP_R 接收到ci后,立即計(jì)算響應(yīng)值發(fā)送ri給LP_Cj。其中,zji、aji、bji分別表示隨機(jī)數(shù)zj、aj、bj的第i位。
3) LP_Cj接收到LP_R 的響應(yīng)值ci后,立即停止計(jì)時(shí),重復(fù)步驟1)~步驟3)n輪。
LP_R 使用ES 的公鑰加密數(shù)據(jù)m={LP,X}得密文并將其發(fā)送給ES,其中,LP=LP1||LP2||LP3|| …||LPA。ES 設(shè)定K表示接受LP_R 位置證明通過(guò)預(yù)定義的閾值,并驗(yàn)證LP_R 位置的合法性。驗(yàn)證過(guò)程具體步驟如下。
Step1ES 解密驗(yàn)證X和A個(gè)位置證明的正確性。
Step2ES 首先判斷X是否合法,若合法,則獲取LPj中標(biāo)識(shí)并判斷其是否屬于被挑選位置證明協(xié)作者集合,如果屬于,再驗(yàn)證其簽名是否正確,若正確則繼續(xù)執(zhí)行Step3;否則,ES 拒絕LP_Cj為L(zhǎng)P_R 生成的LPj。
Step3ES 獲取值yj,并根據(jù)位置證明初始化階段生成的隨機(jī)數(shù)Nv與NR來(lái)計(jì)算判斷是否成立,如果成立,繼續(xù)執(zhí)行Step4;否則,ES 拒絕LP_Cj為L(zhǎng)P_R 生成的LPj。
Step4ES 獲取LPj中隨機(jī)數(shù)h與c,根據(jù)式(3)計(jì)算 'ir,驗(yàn)證n輪質(zhì)詢挑戰(zhàn)響應(yīng)值ri是否正確。如果存在將拒絕LP_Cj為L(zhǎng)P_R 生成的LPj;否則,繼續(xù)執(zhí)行Step5。
Step5ES 驗(yàn)證是否小于T,如果驗(yàn)證通過(guò),合法的位置證明個(gè)數(shù)At=At+1。
重復(fù)以上步驟驗(yàn)證A個(gè)LPj。如果At≥K,ES驗(yàn)證LP_R 的位置合法,并將所有位置合法LP_R的信息發(fā)送給TR。
為了抵抗LP 生成過(guò)程中LP_R 和LP_C 之間發(fā)起的共謀攻擊,本文基于LP_R 和LP_C 歷史位置驗(yàn)證記錄來(lái)計(jì)算其信譽(yù)值,并結(jié)合信譽(yù)值和區(qū)域劃分的方法來(lái)選擇LP_C,具體步驟如下。
Step1ES 設(shè)定位置證明信譽(yù)閾值Trep,根據(jù)LP_Cj為位置證明請(qǐng)求者LP_Rk生成LP的歷史記錄計(jì)算信譽(yù)值
由于LP_R 和LP_Cj都是不受信任的實(shí)體,LP_Cj很可能與LP_R 共謀為其生成一個(gè)虛假的位置證明,如果LP_Cj多次協(xié)助同一個(gè)LP_Rk生成位置證明,將會(huì)增大它們之間發(fā)生共謀的可能性。因此,本文通過(guò)檢測(cè)LP_Cj與LP_Rk歷史位置驗(yàn)證記錄來(lái)計(jì)算 LP_Cj的并根據(jù)的大小選擇LP_Cj,目的是使LP_Rk的位置證明協(xié)作任務(wù)不依賴于少部分LP_Cj,提高被挑選LP_Cj的多樣性來(lái)降低共謀的可能性。從式(4)和式(6)可以看出,當(dāng)一個(gè)LP_Cj頻繁協(xié)助某個(gè)LP_Rk完成位置證明,會(huì)影響信譽(yù)模型中相關(guān)參數(shù)的大小(如Sum(LP_Cj,LP_Rk)增大降低),從而使其獲得較低的信譽(yù)值,在位置證明協(xié)作者選擇階段被選中的概率下降,與LP_Rk共謀成功的可能性降低。
綜上所述,本文將任務(wù)完成的時(shí)間和歷史位置驗(yàn)證記錄結(jié)合來(lái)計(jì)算LP_C 的信譽(yù)值,既能抵抗LP_R 和LP_C 之間的共謀攻擊,又能防止LP_C 完成任務(wù)超時(shí)的不良行為。
Step2首先,ES 以LP_Rk所在位置為圓心,將參與位置協(xié)作的LP_Cj數(shù)量N平均劃分在M個(gè)區(qū)域內(nèi),使每個(gè)區(qū)域內(nèi)LP_Cj數(shù)量Ni相差不超過(guò)1;其次,計(jì)算每個(gè)區(qū)域內(nèi)信譽(yù)值大于閾值Trep的LP_Cj的數(shù)量Hi,H=H1+H2+H3+…+HM(i=1,2,…,M),根據(jù)所需要LP_Cj的數(shù)量A與接受LP_R 位置證明通過(guò)閾值K來(lái)計(jì)算每個(gè)區(qū)域選擇的LP_Cj的數(shù)量Aj與閾值Kj(j=1,2,…,M-1);最后,根據(jù)每個(gè)區(qū)域信譽(yù)值的大小選擇LP_Cj。
區(qū)域劃分的方法使LP_R 發(fā)起共謀時(shí)需保證在每個(gè)區(qū)域內(nèi)不誠(chéng)實(shí)的LP_Cj被ES 選擇,且數(shù)量不小于所在區(qū)域閾值Ki。因此,該方法不僅可以進(jìn)一步抵抗共謀攻擊,還可以防止信譽(yù)值低但誠(chéng)實(shí)的位置證明協(xié)作者一直不被選擇,解決了權(quán)益集中的問(wèn)題。具體劃分的個(gè)數(shù)需由ES 根據(jù)N的大小來(lái)決定,本文僅對(duì)N<30 的情況進(jìn)行分析。
為了在位置驗(yàn)證協(xié)議中安全通信,需要保證一些基本安全需求,如用戶身份隱私、抗距離欺詐、抗偽造攻擊等[29]。同時(shí),協(xié)議還需要能抵御各種惡意攻擊,如共謀攻擊、偽造攻擊。
1) 用戶身份隱私
整個(gè)位置驗(yàn)證協(xié)議執(zhí)行期間,參與用戶的身份標(biāo)識(shí)ID 都是通過(guò)ES 的公鑰加密進(jìn)行通信的,因此,只有ES 知道它們的真實(shí)身份,實(shí)現(xiàn)了用戶在位置驗(yàn)證過(guò)程中的隱私性。
2) 抗距離欺詐
快速的質(zhì)詢挑戰(zhàn)可以防止距離欺詐。在本文方案中,根據(jù)隨機(jī)數(shù)Nv、NR和會(huì)話密鑰X生成響應(yīng)值種子a||b,由該種子生成每一輪響應(yīng)參數(shù)aj與bj,隨機(jī)種子a||b可以確保a j≠bj。如果一個(gè)不誠(chéng)實(shí)的LP_R 挑選nbit 隨機(jī)數(shù)a j=bj,則可以在接受挑戰(zhàn)位ci之前發(fā)送響應(yīng)值導(dǎo)致響應(yīng)值ir獨(dú)立于挑戰(zhàn)值ci。因此,本文方案可以抵抗距離欺詐。
3) 抗偽造攻擊
惡意的LP_R 不能與非法LP_Cj協(xié)作執(zhí)行位置驗(yàn)證協(xié)議,偽造虛假的LP。在本文方案中,位置證明驗(yàn)證階段ES 需要驗(yàn)證LPj是否由合法的LP_Cj生成。此外,由于每次位置驗(yàn)證需生成會(huì)話密鑰,ES 在位置證明驗(yàn)證階段需使用會(huì)話密鑰去驗(yàn)證LPj中的yj值是否正確。因此,不誠(chéng)實(shí)的LP_R 試圖偽造或使用其他用戶的LP 將不會(huì)成功。
4) 抗重放攻擊
一個(gè)敵手偽造成一名合法的用戶請(qǐng)求位置驗(yàn)證,在進(jìn)行通信的過(guò)程中獲取為合法LP_R 生成的LP,在與ES 交互過(guò)程中重放消息LP,以此通過(guò)位置驗(yàn)證。在本文方案中,即使敵手知道LP 所屬用戶的身份標(biāo)識(shí)也無(wú)法創(chuàng)建位置證明驗(yàn)證階段生成消息m中的會(huì)話密鑰X,因?yàn)橄使用ES 的公鑰加密,敵手無(wú)法獲取。因此,本文方案可以抵抗重放攻擊。
5) 抗共謀攻擊
在本文方案中,存在3 種共謀攻擊。
首先,不誠(chéng)實(shí)LP_R 與處于合法位置的LP_R'發(fā)起共謀攻擊。在該攻擊中,LP_R'與LP_Cj成功完成協(xié)議的前提是LP_R'必須知道LP_R的參數(shù)a、b、NR和y,這意味著LP_R'可以獲取LP_R 與ES 的會(huì)話密鑰X,因此,LP_R'能在一段時(shí)間內(nèi)模仿LP_R。而理性的用戶將不會(huì)選擇接受這種風(fēng)險(xiǎn),因此,LP_R 與LP_R'之間的共謀將不會(huì)成功。
其次,惡意的LP_Cj之間通過(guò)共謀獲取誠(chéng)實(shí)LP_R 位置驗(yàn)證協(xié)議執(zhí)行過(guò)程中生成響應(yīng)值的參數(shù),偽造LP_R 的身份參與感知任務(wù)獲得獎(jiǎng)勵(lì)。在本文協(xié)議中,新發(fā)起的位置證明請(qǐng)求將需要與ES生成新的種子a、b,因此,不誠(chéng)實(shí)的LP_Cj獲得的信息aj與bj在下一輪驗(yàn)證過(guò)程不能被使用,這種攻擊將會(huì)失敗。
最后,不誠(chéng)實(shí)LP_R 與LP_Cj之間發(fā)生共謀生成虛假的LP,因此,在本文協(xié)議中LP_Cj的選擇是ES 根據(jù)LP_Cj的信譽(yù)值與所在區(qū)域決定的,被不誠(chéng)實(shí)的LP_R 挑選參與共謀的LP_Cj可能在位置證明協(xié)作者選擇階段不被ES 所選擇。本文方案在文獻(xiàn)[10]的基礎(chǔ)上采用了區(qū)域劃分方法選擇LP_Cj,且本文方案LP_R 與LP_Cj之間共謀成功的可能性比文獻(xiàn)[10]低。本文對(duì)真實(shí)環(huán)境做出如下假設(shè)。
首先,假設(shè)不誠(chéng)實(shí)的LP_R 與位于合法位置區(qū)域的LP_Cj共謀,其中,Ac是LP_R 在合法位置區(qū)域內(nèi)選擇共謀的LP_Cj的數(shù)量,N是在合法位置范圍內(nèi)接受位置證明請(qǐng)求任務(wù)的數(shù)量(包括惡意的LP_Cj);其次,假設(shè)K是該位置證明請(qǐng)求通過(guò)的閾值,其中,A是ES 從接受位置證明任務(wù)N個(gè)參與者中挑選的數(shù)量,Ax是ES 挑選出A個(gè)參與者中與LP_R 共謀的數(shù)量;最后,ES 以LP_R 的位置為中心將合法區(qū)域劃分為兩部分,在每個(gè)區(qū)域挑選LP_Cj,假設(shè)每個(gè)區(qū)域內(nèi)LP_Cj的信譽(yù)值滿足信譽(yù)閾值Trep,區(qū)域 1 接受該任務(wù)的協(xié)作者數(shù)為區(qū)域 2 接受該任務(wù)的協(xié)作者數(shù)為N2=N-N1。同樣,在區(qū)域1 中選擇A1個(gè)協(xié)作者完成該任務(wù),其中區(qū)域 2 選擇A2=A-A1。假設(shè)在區(qū)域1 惡意的LP_Cj數(shù)量是Ac1,區(qū)域2 是Ac2,其中Ac=Ac1+Ac2,區(qū)域1 中位置證明驗(yàn)證通過(guò)閾值為區(qū) 域 2 為K2=K-K1,只有2 個(gè)區(qū)域驗(yàn)證通過(guò)的位置證明數(shù)量都滿足閾值,才能通過(guò)最終驗(yàn)證。
如果Ac1<K1或Ac2<K2,位置區(qū)域1 或區(qū)域2共謀數(shù)量均小于閾值,共謀攻擊將失敗。
如果K1≤Ac1<A1,K2≤Ac2<A2,由式(9)計(jì)算可得到共謀成功的可能性。
其中,Pi(i=1,2)是區(qū)域i成功的可能性。
如果Ac1≥A1,Ac2≥A2且K1=A1,K2=A2,由式(10)計(jì)算可得共謀成功的可能性。
圖4 展示了當(dāng)Ac不同時(shí),隨著被選協(xié)作者數(shù)量A的變化,LP_R 與LP_Cj共謀成功的概率。從圖4可以看出,本文方案共謀成功的概率低于文獻(xiàn)[10]。因此,本文通過(guò)合理劃分區(qū)域并在每個(gè)區(qū)域選擇合適參數(shù),對(duì)于抵抗LP_R 與LP_Cj之間的共謀提供了比文獻(xiàn)[10]更可靠的解決方案。
圖4 不同參數(shù)下共謀成功的概率
6) 抗遠(yuǎn)程劫持攻擊
對(duì)于該類攻擊,遠(yuǎn)離合法區(qū)域的敵手A0與ES執(zhí)行位置證明初始化階段。A0想要欺騙誠(chéng)實(shí)的位置證明協(xié)作者C 為其生成LP,但無(wú)法通過(guò)短程通信廣播位置證明標(biāo)識(shí)給C。假設(shè)A0可以廣播信息給C,并借助誠(chéng)實(shí)的用戶P0來(lái)完成挑戰(zhàn),然而P0無(wú)法獲得A0與ES 生成的隨機(jī)數(shù)種子和密鑰XA0,因此無(wú)法使用正確的數(shù)據(jù)計(jì)算響應(yīng)值和信息如果P0使用自身與ES初始化生成的信息執(zhí)行響應(yīng),A0劫持C 為P0生成的LP 發(fā)送給ES 進(jìn)行驗(yàn)證,在位置證明驗(yàn)證階段使用A0與ES 生成的密鑰XA0和種子驗(yàn)證yA0將會(huì)失敗。因此,本文方案可以抵抗遠(yuǎn)程劫持攻擊。
本文方案通過(guò)借助位置證明協(xié)作者來(lái)完成位置驗(yàn)證協(xié)議,協(xié)議在執(zhí)行過(guò)程中需要使用多次加解密運(yùn)算。因此,本節(jié)將從計(jì)算開(kāi)銷和通信開(kāi)銷2 個(gè)方面將本文方案與文獻(xiàn)[10]、文獻(xiàn)[24]、文獻(xiàn)[26]和文獻(xiàn)[27]等相關(guān)方案進(jìn)行分析比較。
現(xiàn)有位置驗(yàn)證方案主要受位置驗(yàn)證過(guò)程中加解密影響,因此本文更側(cè)重于通過(guò)減少位置證明過(guò)程中加解密的次數(shù)來(lái)提高驗(yàn)證位置真實(shí)性的效率。本節(jié)在配置為Intel(R) Core(TM) i5-9500U 3.00 GHz 處理器、RAM 為8 GB 的Windows 10 系統(tǒng),IDEA 2021編譯環(huán)境下通過(guò)對(duì)本文方案、文獻(xiàn)[10]、文獻(xiàn)[26]和文獻(xiàn)[27]這4 種方案中所涉及的密碼學(xué)操作進(jìn)行模擬,并使用RSA 加密/簽名算法、SHA1 哈希運(yùn)算以及哈希承諾來(lái)評(píng)估協(xié)議時(shí)間開(kāi)銷。其中,哈希運(yùn)算、模運(yùn)算、對(duì)稱加密/解密、非對(duì)稱加密/解密、簽名/驗(yàn)簽以及承諾值計(jì)算是6 種消耗最大的運(yùn)算,因此,本節(jié)在實(shí)驗(yàn)過(guò)程中將重點(diǎn)評(píng)估以上6 種計(jì)算操作。實(shí)驗(yàn)中所有結(jié)果均為50 次結(jié)果的平均值。
本文方案與文獻(xiàn)[10]、文獻(xiàn)[26]、文獻(xiàn)[27]在協(xié)作者數(shù)量為1,密鑰大小為512 bit、1 024 bit、2 048 bit 時(shí)產(chǎn)生的計(jì)算開(kāi)銷如圖5 所示。從圖5 可以看出,由于文獻(xiàn)[26]借助一個(gè)位置證明協(xié)作者參與位置驗(yàn)證,驗(yàn)證方案的實(shí)體只涉及請(qǐng)求者和協(xié)作者,不需要進(jìn)行多次加解密計(jì)算,因此文獻(xiàn)[26]計(jì)算開(kāi)銷最小,但該方案安全性較低。本文方案在密鑰大小為512 bit 時(shí)計(jì)算開(kāi)銷大于文獻(xiàn)[10],這是因?yàn)楸疚姆桨冈谖恢米C明初始化階段需要計(jì)算會(huì)話密鑰,但隨著密鑰大小的增大,計(jì)算開(kāi)銷小于文獻(xiàn)[10]和文獻(xiàn)[27],因?yàn)槲墨I(xiàn)[10]和文獻(xiàn)[27]在位置證明生成與驗(yàn)證階段執(zhí)行了大量的加解密與承諾值計(jì)算。
圖5 密鑰大小不同時(shí)各方案計(jì)算開(kāi)銷比較
被選協(xié)作者數(shù)量不同時(shí)各方案計(jì)算開(kāi)銷比較如圖6 所示。從圖6(a)可以看出,當(dāng)密鑰大小為512 bit 時(shí),本文方案、文獻(xiàn)[10]與文獻(xiàn)[27]方案的計(jì)算開(kāi)銷會(huì)隨被選協(xié)作者數(shù)量的增加而增大,但本文方案的增長(zhǎng)率較小,文獻(xiàn)[10]的增長(zhǎng)率最大。因?yàn)槲墨I(xiàn)[10]在位置證明生成階段需要對(duì)每個(gè)協(xié)作者發(fā)送的簽名與消息進(jìn)行加密運(yùn)算,在驗(yàn)證階段也需要執(zhí)行對(duì)應(yīng)解密和驗(yàn)簽。而文獻(xiàn)[27]在位置證明階段除了需要執(zhí)行加解密運(yùn)算,在與協(xié)作者交互階段還需要計(jì)算大量的承諾值,因此其消耗的時(shí)間大于本文方案。從圖6(b)可以看出,當(dāng)密鑰大小為1 024 bit時(shí),本文方案與文獻(xiàn)[10]、文獻(xiàn)[27]方案隨著被選協(xié)作者數(shù)量增加時(shí)計(jì)算開(kāi)銷差距將越來(lái)越明顯。因此,本文方案使用一對(duì)隨機(jī)數(shù)多次哈希獲取新信息的思想來(lái)設(shè)計(jì)位置驗(yàn)證協(xié)議能對(duì)降低位置驗(yàn)證過(guò)程中的計(jì)算開(kāi)銷起到明顯的效果。
圖6 被選協(xié)作者數(shù)量不同時(shí)各方案計(jì)算開(kāi)銷比較
本文參考文獻(xiàn)[30]通信開(kāi)銷的分析方法,僅考慮通信過(guò)程加解密值、承諾值、簽名以及哈希值等傳輸位數(shù)較大的消息,并使用分別表示非對(duì)稱加密值、承諾值、哈希值和簽名值的長(zhǎng)度。本文方案在位置證明初始化階段需發(fā)送2 條非對(duì)稱加密消息、位置證明生成階段需發(fā)送1 條非對(duì)稱加密消息、位置證明驗(yàn)證階段需發(fā)送1 條非對(duì)稱加密消息。由于位置證明生成階段發(fā)送的消息數(shù)量與參與位置證明協(xié)作者的數(shù)量A相關(guān),因此本文方案總的通信開(kāi)銷為,其他方案也采用相同的分析方法。表2 是本文方案與文獻(xiàn)[10]、文獻(xiàn)[24]、文獻(xiàn)[27]的通信開(kāi)銷對(duì)比。
表2 各方案通信開(kāi)銷對(duì)比
本文基于一些假設(shè)值和A動(dòng)態(tài)變化來(lái)比較各方案的通信開(kāi)銷,假設(shè)的大小為的大小為20 B,各方案通信開(kāi)銷比較如圖7所示。從圖7 可以看出,盡管文獻(xiàn)[10]方案交換的消息數(shù)量比本文方案少,但總的通信開(kāi)銷隨著A的增加遠(yuǎn)比本文方案高,因?yàn)樵摲桨概cA個(gè)LP_Cj交互過(guò)程中使用的非對(duì)稱加密運(yùn)算次數(shù)遠(yuǎn)高于本文方案。文獻(xiàn)[27]與文獻(xiàn)[24]方案不僅非對(duì)稱加密運(yùn)算次數(shù)高于文獻(xiàn)[10]與本文方案,發(fā)送的消息中還存在大量的承諾值與哈希值。因此,本文方案相較于相關(guān)方案有更低的通信開(kāi)銷。
圖7 各方案通信開(kāi)銷比較
本文重點(diǎn)關(guān)注群智感知應(yīng)用中任務(wù)參與者位置真實(shí)性和隱私性的問(wèn)題,設(shè)計(jì)了一種安全且高效的基于協(xié)作的位置認(rèn)證方案。該方案在位置驗(yàn)證協(xié)議中利用同一對(duì)隨機(jī)數(shù)多次碰撞獲取新信息的方法,有效解決了恐怖主義欺詐,保證了位置的不可偽造,減少了位置證明參與者執(zhí)行該協(xié)議時(shí)的計(jì)算開(kāi)銷,并基于各方完全信任的實(shí)體ES收集位置證明參與者的信息,保護(hù)了位置證明參與者的位置隱私。此外,為了提高位置證明協(xié)作者完成任務(wù)的積極性與效率,提出了基于信譽(yù)的激勵(lì)機(jī)制和交付押金的策略;為了解決位置證明請(qǐng)求者和協(xié)作者共謀問(wèn)題,提出了基于信譽(yù)值與區(qū)域劃分的方法選擇位置證明協(xié)作者;為了提高基于信譽(yù)模型的可靠性,將位置證明協(xié)作者歷史完成任務(wù)的記錄與完成任務(wù)評(píng)分有效結(jié)合。最后,仿真結(jié)果表明,本文方案相較于現(xiàn)有方案具有更好的安全性和效率。