楊俊明,尹 超,楊 錚
(1.重慶理工大學 計算機科學與工程學院,重慶 400054;2.西南大學 計算機與信息科學學院,重慶 400715)
隨著智能移動設備和定位技術(shù)的廣泛應用,圍繞空間定位技術(shù)與地理位置數(shù)據(jù)而展開的位置服務(Location-Based Services,LBS)取得了高速發(fā)展。據(jù)中國衛(wèi)星導航定位協(xié)會發(fā)布的《2021 中國衛(wèi)星導航與位置服務產(chǎn)業(yè)發(fā)展白皮書》[1]表明,2020 年我國衛(wèi)星導航與位置服務產(chǎn)業(yè)總體產(chǎn)值達4 033 億,廣泛應用于大眾消費、共享經(jīng)濟、民生等領(lǐng)域。LBS 通常指用戶利用定位技術(shù)向位置服務提供商(Location-Based Service Provider,LBSP)共享當前自身位置,從而獲取與位置相關(guān)的服務。然而,隨著位置服務的快速發(fā)展,用戶在日常生活中享受位置服務帶來便利的同時,也面臨著位置隱私泄露的風險。攻擊者通過竊取用戶的位置信息,進一步挖掘用戶的個人生活習慣、家庭住址等。雖然高精度定位技術(shù)已經(jīng)廣泛應用到實際生活中,但社會上存在著眾多的虛擬定位軟件,導致惡意用戶為了謀取利益而提供虛假位置。此外,當用戶處在城市高密度樓群或者地下室時,并不能精準地獲取位置信息。因此,解決基于位置服務存在的安全問題是當前研究內(nèi)容之一。
研究人員提出諸多位置證明(Proof of Location,PoL)方案,以解決位置服務帶來的問題,其方案主要分為中心化和去中心化。中心化位置證明方案[2-3]依賴可信的位置基礎(chǔ)設施,使用覆蓋證明者區(qū)域的定位基礎(chǔ)設施節(jié)點來確定其位置,生成位置證明并發(fā)送給驗證者證明在某個位置。但是,中心化位置證明方案需要依賴可信第三方(Trusted Third Party,TTP)來完成,如果可信第三方被攻擊,將會泄露用戶信息。位置證明產(chǎn)生的數(shù)據(jù)主要存儲在中心化服務器中,用戶不僅失去對位置數(shù)據(jù)的控制權(quán),而且存在數(shù)據(jù)被LBSP 濫用的威脅。隨著分布式技術(shù)的發(fā)展,去中心化位置證明方案[4-6]相繼被提出,在證明者發(fā)起位置請求后,鄰近證明者周圍的見證者將會協(xié)助位置證明。雖然去中心化位置證明方案能有效解決了中心化存在的一些問題,但是該方案依賴見證者的協(xié)助。因此,大部分的見證者不會在消耗自身資源和泄露位置隱私的情況下積極參與位置證明。以上大部分方案使用復雜度高的密碼學技術(shù)解決隱私泄露問題,但是需要用戶付出巨大的計算代價,對于低功耗設備是不理想的,而且沒有考慮見證者主動協(xié)助位置證明的動機。
輕量級隱私位置證明協(xié)議的構(gòu)建除了考慮低功耗設備安全高效運行以外,還需要考慮對見證者的激勵。文獻[7]提出群時間基一次性口令(Group Time-based One-Time Password,GTOTP)密碼學原語,并運用GTOTP 構(gòu)造一個高效且具有隱私保護的去中心化位置證明方案,證明者在一些見證者的幫助下,向驗證者證明自己的位置。該協(xié)議實現(xiàn)了證明者和見證者的匿名性以及位置隱私,并且能夠在資源受限的設備上高效運行,然而并沒有考慮對見證者的激勵問題。在該協(xié)議的基礎(chǔ)上引入激勵機制,實現(xiàn)對協(xié)助位置證明的見證者進行獎勵,但產(chǎn)生的交易會破壞證明者和見證者的身份隱私。在分布式協(xié)作場景下,激勵機制對于參與者具有重要作用。文獻[8]在群智感知應用場景下提出一種基于信譽值的激勵機制,依靠信譽值對參與者進行獎勵,鼓勵參與者積極提交感知數(shù)據(jù)。去中心化位置證明方案需要證明者和見證者協(xié)同產(chǎn)生位置證明,大部分的見證者沒有主動提供位置證明。因此,為了吸引見證者參與位置證明,在去中心化位置證明方案基礎(chǔ)上構(gòu)建一種激勵機制是很有必要的。
本文提出基于激勵驅(qū)動的輕量級隱私保護位置證明(Privacy Preserving Proof of Location,PPPoL)協(xié)議。利用非對稱時間基一次性口令(Time-based One-Time Password,TOTP)和隱私保護位置接近性(Privacy Preserving Location Proximity,PPLP)檢測協(xié)議構(gòu)建輕量級位置證明協(xié)議。設計一種基于貢獻度的激勵機制,根據(jù)見證者參與位置證明的行為計算見證者的貢獻度,采用貢獻度與獎勵相結(jié)合的方式激勵見證者協(xié)助位置證明。利用區(qū)塊鏈智能合約技術(shù)解決TTP 本身可能遭受攻擊或中斷服務的問題。
位置的可信性以及隱私保護是阻礙LBS 發(fā)展的主要因素,如惡意用戶偽造歷史位置信息數(shù)據(jù),位置信息泄露導致惡意跟蹤等,造成相關(guān)應用效率降低且用戶隱私泄露。因此,隱私保護位置證明協(xié)議是LBS 領(lǐng)域的研究熱點。
文獻[9]提出中心化兼具不可偽造性和身份隱私性的位置證明協(xié)議。在該協(xié)議中,中心位置服務器根據(jù)通信度量測算其與位置證明者之間的距離,并將其作為依據(jù)簽發(fā)可信位置證明,把結(jié)果發(fā)送給位置驗證者。該方案的位置證明者對位置管理員具有身份隱私性,但容易遭受重放攻擊。文獻[10]提出一種不需要位置服務器的協(xié)議,稱為SLVPGP 位置證明協(xié)議,其中位置證明由驗證者指定的見證者與位置證明者之間執(zhí)行距離測量協(xié)議結(jié)果構(gòu)成。文獻[11]提出一種被稱為APPLAUS 的分布式位置證明協(xié)議,該協(xié)議通過頻繁更換與數(shù)字簽名相關(guān)的假名證書來實現(xiàn)位置證明者和見證者的身份和位置隱私。然而,頻繁更換假名證書將會產(chǎn)生較高的計算和通信開銷,在實際生活中是不可行的。文獻[12]提出一種基于群簽名和安全多方計算方案的PPPoL協(xié)議,該協(xié)議能同時保證參與者的身份隱私和位置隱私,但由于采用了大量復雜度高的公鑰密碼學技術(shù),導致該協(xié)議各方面性能降低。文獻[13]提出一種基于零知識證明和區(qū)塊鏈結(jié)合的隱私位置證明協(xié)議,該協(xié)議實現(xiàn)了用戶根據(jù)位置精度自主披露位置證明信息,但時延隨著位置精度的提高而增大,并不滿足當前部分位置服務。
以上大部分協(xié)議采用復雜度高的公鑰密碼學技術(shù)實現(xiàn)位置證明,因此在資源受限設備上不能高效運行,而且大部分協(xié)議沒有同時兼顧位置隱私和激勵機制,對于去中心化位置證明方案,激勵見證者參與到位置證明中是極其重要的。本文在已有研究基礎(chǔ)上,提出利用非對稱時間基一次性口令和隱私位置接近性檢測協(xié)議構(gòu)建輕量級隱私保護位置證明協(xié)議,保證了實體的位置隱私,并且在低功耗設備上具有可行性。同時結(jié)合區(qū)塊鏈智能合約技術(shù),在該協(xié)議基礎(chǔ)上提出一種基于貢獻度的激勵機制,對提交有效位置證明的見證者進行獎勵,促進見證者主動且高質(zhì)量地完成位置證明。
本文使用的符號定義如表1 所示。
表1 主要符號定義描述Table 1 Description of main symbol definitions
文獻[14]提出時間基一次性口令方案,稱為LAMPORT 方案,采用基于單向函數(shù)(One Way Function,OWF)鏈式結(jié)構(gòu),其主要原理:第i個口令是采用第i-1個口令作為口令種子計算得出,即pwi:=OWF(pwi-1)。文獻[15]提出S/KEY 系統(tǒng),通過哈希函數(shù)實例化OWF。文獻[16]在標準模型下為LAMPORT 方案提供了形式化證明,并利用TOTP 構(gòu)建一個新的密碼學原語,稱為活性證明(Proof of Aliveness,PoA)。標準的時間基一次性口令需要證明者和驗證者共享密鑰,存在密鑰泄露給攻擊者的情況,而非對稱時間基一次性口令是不需要共享密鑰。目前,非對稱時間基一次性口令算法大多采用類似LAMPORT方案架構(gòu),例如,文獻[17]結(jié)合S/KEY和TOTP 方案提出基于哈希的T/KEY 算法,文獻[7]提出群時間基一次性口令,并應用到去中心化位置證明方案中。
本文利用非對稱時間基一次性口令構(gòu)建位置證明,其中注冊機構(gòu)(Registration Authority,RA)負責系統(tǒng)參數(shù)初始化以及參與位置證明的成員信息注冊,成員身份為IDu∈[U]。假設RA 是可信的,口令產(chǎn)生間隔為Ds,由于多個口令可能對應同一個驗證點,因此假設每一個驗證點存在一個驗證周期De。該方案主要由6 種概率多項式時間算法(TOTP.Setup、TOTP.PInit、TOTP.GetSD、TOTP.PwGen、TOTP.Verify、Open)組成,具體步驟如下:
去中心化位置證明方案需要證明者和見證者協(xié)同完成位置證明,因此需要判斷證明者周圍的用戶是否能夠成為見證者,并且在不泄露用戶位置信息的情況下,實現(xiàn)鄰近檢測的目的。隱私保護位置接近性檢測協(xié)議在證明者和見證者之間運行,該協(xié)議主要由5 個概率多項式時間算法(PPLP.Setup、PPLP.KGen、PPLP.LPInit、PPLP.LPResp、PPLP.LPCheck)組成,具體步驟如下:
1)初始化算法pms ←PPLP.Setup(1κ)。該算法輸入安全參數(shù)1κ,輸出系統(tǒng)參數(shù)pms,其中包含距離閾值θ。
2)密鑰生成算法(epk,esk)←PPLP.KGen(rk)。該算法輸入密鑰種子rk∈KPPLP,輸出一個證明者公私鑰對(epk,esk),其中KPPLP是PPLP 密鑰種子的空間。
3)位置鄰近請求算法CP←PPLP.LPInit(epk,LP,θ)。該算法輸入證明者公鑰epk,證明者位置LP=(xP,yP)和距離閾值θ,輸出鄰近挑戰(zhàn)信息CP,通過短距離通信向周圍鄰近用戶發(fā)出CP。
4)鄰近回應算法CW←PPLP.LPResp(epk,LW,CP)。該算法輸入證明者公鑰epk,見證者W位置LW=(xW,yW)和鄰近挑戰(zhàn)CP,輸出距離鄰近回應CW。
5)驗證鄰近算法s←PPLP.LPCheck(esk,CW)。該算法輸入證明者私鑰esk 和鄰近回應CW,如果證明者和見證者距離滿足閾值θ情況下,則輸出結(jié)果s等于1,否則s等于0。
本節(jié)描述了一個抗碰撞哈希函數(shù)(Collision-Resistant Hash Function,CRHF),該函數(shù)主要由2 種概率多項式時間算法(Setup,Eval)組成,具體步驟如下:1)初始化算法pms ←Setup(1κ),該算法輸入安全參 數(shù)1κ,輸出系 統(tǒng)參數(shù)pms 和隨機密鑰hk←$KCRHF,其中KCRHF表示抗碰撞哈希函數(shù)密鑰空間;2)哈希算法y←Eval(hk,m),該算法輸入一個隨機密鑰hk和信息m∈MCRHF,其中MCRHF表示信息空間,輸出哈希值y∈YCRHF,YCRHF表示哈希值空間。
1994 年,密碼學家SZABO 提出“智能合約”概念[18],并定義一套以數(shù)字形式指定的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。受當時計算場景的限制,智能合約并沒有得到廣泛的應用。隨著區(qū)塊鏈技術(shù)的發(fā)展,研究人員將區(qū)塊鏈與智能合約相結(jié)合,借助智能合約的可編程性使其在實際生活中有著廣泛的應用場景。智能合約的實現(xiàn)本質(zhì)上是參與者雙方協(xié)商內(nèi)容,通過可編程語言將對象程序化部署在區(qū)塊鏈網(wǎng)絡中,當滿足合約某個觸發(fā)條件時,部署在區(qū)塊鏈網(wǎng)絡中的智能合約將會自動執(zhí)行相關(guān)業(yè)務邏輯。以太坊是支持圖靈完備的區(qū)塊鏈平臺[19],并提供了以太坊虛擬機(EVM),用戶根據(jù)合約的設計使用特定的編程語言編寫智能合約代碼,通過編譯轉(zhuǎn)換為字節(jié)碼在EVM 中執(zhí)行。同時,智能合約部署在區(qū)塊鏈網(wǎng)絡中,具有公開透明、不可篡改性,且整個合約的處理過程是自動完成的。
輕量級隱私保護位置證明協(xié)議主要包括5 類實體:1)注冊機構(gòu),負責給參與位置證明的成員進行信息注冊登記,如果發(fā)現(xiàn)某個用戶做惡意位置證明,可以揭露其身份;2)證明者,在一定時間、地點內(nèi)產(chǎn)生位置證明,證明者可以是用戶的設備,例如,手機或智能汽車,而且當不發(fā)起位置證明請求時也可以作為見證者;3)見證者,需要驗證是否滿足證明者設置的距離閾值,見證者可以是用戶的手機或者路側(cè)單元(Road Side Unit,RSU)等其他設備;4)驗證者,主要負責驗證證明者和見證者的位置證明信息是否正確;5)智能合約,作為一個信息交互平臺部署在區(qū)塊鏈網(wǎng)絡中,實現(xiàn)數(shù)據(jù)安全存儲、不可篡改和完整性,構(gòu)建基于貢獻度的去中心化激勵機制,對提交有效位置證明的見證者進行獎勵,吸引見證者參與到位置證明中。
輕量級隱私保護位置證明協(xié)議是由非對稱時間基一次性口令方案、偽隨機函數(shù)F、密碼哈希函數(shù)H1:{0,1}*→Rh、隱私位置接近性檢測協(xié)議和智能合約構(gòu)成。假設實體各方根據(jù)角色屬性建立相互驗證或者單邊驗證的安全通道,位置證明系統(tǒng)模型示意圖如圖1 所示。
圖1 位置證明系統(tǒng)模型示意圖Fig.1 Schematic diagram of proof of location system model
當該方案中證明者證明在某個特定位置時,需要向鄰近的見證者發(fā)出位置證明請求,見證者收到請求后將會協(xié)助位置證明。但是,在位置證明過程中,見證者協(xié)助位置證明可能會暴露位置隱私,導致見證者并不會主動參與位置證明。文獻[7]提出的方案雖然解決了隱私問題,但未考慮見證者協(xié)助位置證明的動機。因此,本文在利用非對稱TOTP 方案和PPLP 協(xié)議構(gòu)建的輕量級隱私保護位置證明協(xié)議的基礎(chǔ)上,采用區(qū)塊鏈智能合約技術(shù)并引入激勵機制,促使見證者積極參與去中心化位置證明,其中在證明者和見證者之間運行PPLP 協(xié)議時使用臨時公鑰。當去中心化位置證明方案引入激勵機制時,根據(jù)見證者對位置證明的行為進行獎勵,因此使用基于哈希承諾方案和TOTP 方案、PPLP 協(xié)議相結(jié)合,證明者和見證者產(chǎn)生的位置證明通過哈希函數(shù)產(chǎn)生位置承諾,便于計算對應每個見證者的獎勵。
去中心化位置證明方案可能會面臨位置證明和激勵機制攻擊。假設RA 是可信第三方,不會被攻擊者破壞、偽造等,用戶與RA 之間的通信也是安全的,RA 能夠如實揭露做虛假位置證明的用戶身份。證明者是誠實的,遵守激勵機制規(guī)則。但是,攻擊者可能會破壞證明者的密鑰,偽裝成惡意證明者破壞位置證明和激勵機制。見證者可能是惡意的,為了追求個人利益最大化做虛假位置證明。在通信過程中攻擊者可能會扮演證明者、見證者或者驗證者。因此,在位置證明過程中存在拒絕、打斷或者篡改的可能性。驗證者可能是惡意的,通過見證者提交的位置信息去推測其他相關(guān)信息。在該協(xié)議中參與方有一個同步性內(nèi)部時鐘。
本文擬實現(xiàn)的安全需求主要包括:1)不可偽造性,攻擊者無法偽造證明者或見證者的身份去做惡意位置證明;2)可追溯性,位置證明協(xié)議能夠追溯做惡意證明或者偽造身份的用戶;3)位置隱私,攻擊者不能從位置證明中推斷出與用戶相關(guān)的位置信息。
本節(jié)主要描述利用非對稱時間基一次性口令和隱私位置接近性檢測協(xié)議構(gòu)建輕量級隱私保護位置證明協(xié)議。在該協(xié)議中引入?yún)^(qū)塊鏈網(wǎng)絡,既實現(xiàn)位置證明信息的不可篡改性,又通過區(qū)塊鏈智能合約技術(shù)實現(xiàn)激勵機制。因此,輕量級隱私保護位置證明協(xié)議主要包括初始化協(xié)議(PoL-Registration)、位置證明生成協(xié)議(PoL-Generation)、驗證協(xié)議(PoLVerification)、獎勵協(xié)議(PoL-Reward)。
圖2 位置證明協(xié)議流程Fig.2 Procedure of proof of location protocol
3)驗證協(xié)議。驗證者接收到證明者和見證者的位置證明信息后,運行TOTP 和PPLP 協(xié)議并逐一進行驗證。當有效的位置證明數(shù)量小于ρ時,其中ρ≤M,驗證者將返回無效的位置證明。
4)獎勵協(xié)議。當位置證明驗證成功后,證明者計算見證者的有效位置證明和無效位置證明次數(shù),根據(jù)見證者的貢獻度,運行部署在區(qū)塊鏈網(wǎng)絡中的激勵機制以完成對見證者的獎勵交易。此外,如果見證者做惡意證明,RA 可以運行算法,提取身份信息。
假設非對稱時間基一次性口令和隱私位置接近性檢測協(xié)議是安全的,利用隨機預言機構(gòu)建一個抗碰撞哈希函數(shù)H1,通過位置證明實現(xiàn)可追溯性。如果攻擊者偽造口令生成位置證明,當公開口令時,無法追溯對應的身份。TOTP 的可追溯性包括未使用口令和密鑰的不可偽造性,其中基于哈希承諾方案通常使用的密鑰也具有不可偽造性。因此,由TOTP推導出位置證明的不可偽造性和可追溯性。位置證明可實現(xiàn)位置隱私,在位置證明協(xié)議中,見證者的位置隱私是由PPLP 協(xié)議推導出,當協(xié)助證明者完成位置證明時能夠?qū)崿F(xiàn)見證者的位置隱私。
本節(jié)主要描述去中心化位置證明方案設計的激勵機制。中心化位置證明方案依賴可信第三方實現(xiàn)位置證明,去中心化位置證明加入了見證者的角色,見證者協(xié)助證明者生成一個有效的位置證明。去中心化位置證明方案雖然減少了對可信第三方的依賴,但是存在其他問題。見證者協(xié)助證明者生成位置證明的動機,或者見證者惡意產(chǎn)生虛假位置證明等問題。文獻[20]提出基于信任度的協(xié)作激勵機制,依靠信任度評價激勵用戶積極參與協(xié)作。文獻[21]提出以服務質(zhì)量為支付標準來設計激勵機制,解決了用戶追求利益最大化、提交數(shù)據(jù)參差不齊等問題。該機制能夠讓參與者理性地提交高質(zhì)量數(shù)據(jù)。現(xiàn)有的去中心化位置證明方案未考慮見證者參與位置證明的動機,因此,在輕量級隱私保護位置證明協(xié)議基礎(chǔ)上引入激勵機制是很有必要的。
本文考慮見證者為了獲取更多獎勵提交無效位置證明或者虛假位置證明,提出一種基于貢獻度的激勵機制。因此,位置證明的請求者依據(jù)見證者的有效位置證明次數(shù)和無效位置證明次數(shù)決定應得的獎勵。該機制以智能合約的形式部署在區(qū)塊鏈網(wǎng)絡中,區(qū)塊鏈網(wǎng)絡具有公開透明、不可篡改等特性,并且不依賴第三方執(zhí)行交易,將有效位置證明次數(shù)和無效位置證明次數(shù)存儲在區(qū)塊鏈網(wǎng)絡上保證公平性。在位置證明過程中,證明者發(fā)起位置證明請求的同時在區(qū)塊鏈網(wǎng)絡中創(chuàng)建智能合約,為了給見證者獎勵,證明者需要上傳合約押金。見證者Wj接收到證明者的位置請求后可以在區(qū)塊鏈網(wǎng)絡中查看該合約,將產(chǎn)生的位置證明發(fā)送給證明者。如果位置證明正確,記錄對應見證者Wj有效位置證明次數(shù),否則記錄見證者Wj的無效位置證明次數(shù),并上傳到區(qū)塊鏈網(wǎng)絡中。
貢獻度(0 ≤≤1)作為見證者的獎勵指標,能夠有效防止惡意證明和無效證明的出現(xiàn),使得見證者提交正確的位置證明。證明者根據(jù)見證者貢獻度給每個見證者分配應得的獎勵,因此,見證者實際得到的獎勵計算如式(2)所示:
去中心化位置證明方案引入該激勵機制,使得見證者積極參與到位置證明動機,減緩了見證者做惡意位置證明的攻擊。該機制與先前研究的激勵方案相比,主要根據(jù)見證者的有效位置證明次數(shù)和無效位置證明次數(shù)生成貢獻度,并且與見證者獎勵綁定,激勵見證者協(xié)助證明者完成位置證明。
在初始化階段,證明者請求位置證明時在區(qū)塊鏈網(wǎng)絡中創(chuàng)建合約,該合約對于見證者和驗證者是公開可見。智能合約的參數(shù)描述如表2 所示。
表2 智能合約的參數(shù)描述Table 2 Parameters description of smart contract
在位置證明階段,證明者在區(qū)塊鏈網(wǎng)絡上創(chuàng)建智能合約后,通過短距離通信將位置證明請求和合約信息廣播給見證者。見證者Wj根據(jù)信息做出相應的位置證明,除了將部分證明信息通過短距離通信發(fā)送給證明者外,需 要將發(fā)送到智能合約中,證明者收到信息后進行驗證。在位置證明階段與智能合約交互過程中,見證者和證明者提交數(shù)據(jù)時,在區(qū)塊鏈網(wǎng)絡中記錄見證者Wj的有效證明次數(shù)。
算法1位置證明算法
在獎勵階段完成位置證明后,證明者根據(jù)見證者的位置證明計算見證者的貢獻度,從而得出每位見證者的最終獎勵,并進行轉(zhuǎn)賬。算法2 用A表示見證者有效位置證明次數(shù),用B表示無效位置證明次數(shù)。
算法2激勵機制算法
本節(jié)在實際運行過程中對輕量級隱私保護位置證明協(xié)議進行測試和分析,位置證明階段主要考慮TOTP 和PPLP 協(xié)議構(gòu)建位置證明產(chǎn)生的開銷,本文使用的TOTP 是文獻[16]引入的單一哈希鏈,其中哈希函數(shù)使用SHA256 執(zhí)行,包括哈希函數(shù)H1。本文實驗參數(shù)設置如下:對于每個驗證點生命周期De=5 min,但每個用戶的驗證點數(shù)量有所不同,設置口令產(chǎn)生間隔Ds=5 s。為了評估口令生成的開銷,本文假設有足夠的存儲空間來緩存口令。每一個TOTP 實例的口令都可能會用于驗證階段,設置口令數(shù)量N=60,對于口令生成算法有average 和worst 2 種情況,在average 情況下N′=N/2,在worst 情況下N=60。PPLP 協(xié)議使用文獻[22-23]提出的采用基于ElGamal 的加法同態(tài)加密和橢圓曲線密碼學(Elliptic Curve Cryptography,ECC)。本文使 用NIST P-256 執(zhí)行,對于PPLP.LPResp 算法中距離設置綁定與文獻[22-23]一樣在線下執(zhí)行,其中距離閾值θ=50 m。因此,本文實驗不考慮此開銷。
實驗運行環(huán)境:證明者、見證者和驗證者分別在樹莓派3 上運行,RA 在一臺PC 上運行,內(nèi)存2 GB,CPU為Intel i5。其中設計的激勵機制通過以太坊(Ethereum)平臺實現(xiàn),使用Solidity 語言在Remix 集成開發(fā)環(huán)境編寫和編譯智能合約,將智能合約部署在Ropsten 測試網(wǎng)進行測試。由于實體與智能合約的交互時間取決于當前區(qū)塊鏈網(wǎng)絡的算力和所支付的Gas 費用,因此本文位置證明時間和驗證時間不包含用戶與合約的交互時間,通過計算各個實體與智能合約交互的Gas 開銷來衡量性能。該實驗在以上硬件平臺環(huán)境下平均運行1 000次得出實驗結(jié)果。
在相同的實驗條件下,本文協(xié)議TOTP-PoL 與文獻[7]使用GTOTP 構(gòu)建的位置證明協(xié)議GTOTPPoL 進行對比,主要計算初始化階段和位置證明階段TOTP 的初始化算法和口令產(chǎn)生算法所花費的時間,以及PPLP 協(xié)議對用戶實現(xiàn)位置隱私產(chǎn)生的時間。位置證明產(chǎn)生的時間包括證明者和見證者所花費的時間,通過設置固定的不同見證者數(shù)量(M)進行時間評估。在average 和worst 情況下不同協(xié)議的位置證明產(chǎn)生的時間對比分別如圖3 和圖4 所示。當見證者數(shù)量M=12 時,本文協(xié)議TOTP-PoL 在口令生成worst 情況下,位置證明時間約為0.368 s,因此對于低功耗設備是可行的。與GTOTP-PoL 協(xié)議相比,本文協(xié)議TOTP-PoL 引入了激勵機制,具有一定的優(yōu)勢。
圖3 在average 情況下不同協(xié)議的位置證明生成時間對比Fig.3 Proof of location generation time comparison among different protocols in average case
圖4 在worst 情況下不同協(xié)議的位置證明生成時間對比Fig.4 Proof of location generation time comparison among different protocols in worst case
在驗證期間,證明者和見證者公開密鑰種子,驗證者獲取位置證明信息后,驗證者使用TOTP 和PPLP 協(xié)議驗證位置證明的正確性。不同協(xié)議的位置證明驗證時間如圖5 所示。從圖5 可以看出:TOTP 與GTOTP 構(gòu)造位置證明協(xié)議的驗證時間相接近。
圖5 不同協(xié)議的位置證明驗證時間Fig.5 Proof of location verification time comparison among different protocols
本文通過Gas 開銷衡量該激勵機制的可行性,證明者在初始化階段創(chuàng)建智能合約時除了設置相關(guān)參數(shù)以外,還需要將押金上傳到智能合約中。在位置證明階段,見證者將產(chǎn)生與位置證明相關(guān)的數(shù)據(jù)上傳到智能合約中,證明者驗證見證者的位置證明后把最終位置證明上傳到智能合約中。在獎勵階段,證明者根據(jù)見證者做出的有效證明,計算貢獻度并得出最終的獎勵,通過智能合約向每個見證者進行轉(zhuǎn)賬。本文測試的Gas 開銷為0.3×10-8Ether,在不同階段本文協(xié)議的位置證明合約執(zhí)行花費如圖6 所示。在初始化、位置證明、獎勵3 個階段計算Gas 的花費,總計花費1.28×10-3Ether。
圖6 位置證明合約的執(zhí)行花費Fig.6 Execution cost of proof of location contract
本文提出的位置證明協(xié)議與現(xiàn)有位置證明協(xié)議從見證者設置、可追溯性位置隱私安全屬性以及位置證明生成塊大小等方面進行對比。不同協(xié)議的相關(guān)屬性如表3 所示,見證者數(shù)量M=5。隨著5G 的普及和藍牙技術(shù)的發(fā)展,本文不考慮實體之間廣播交流的延遲問題,關(guān)于位置隱私主要考慮證明者和見證者。為了公平對比,本文分別用ECDSA[24]對數(shù)字簽名實例化?,F(xiàn)有研究所使用的公共加密方案通過ElGamal[25]實例化。見證者的設置歸納為3 種系統(tǒng)模型:假設集中式位置服務器(Centralized Location Server,CLS)表示中心化位置證明服務器,為證明者提供精準定位和位置認證服務;Ad Hoc 表示見證者可以為證明者提供位置證明的任何實體,例如,移動設備或者位置信標;分布式位置信標(Distributed Location Beacon,DLB)表示分布式位置信標。
表3 不同位置證明協(xié)議的相關(guān)屬性對比Table 3 Related properties comparison among different proof of location protocols
從表3 可以看出:文獻[7,12]和本文協(xié)議提供了可追溯性,同時保留了實體位置隱私,但是文獻[12]協(xié)議生成塊比較大。文獻[7]使用GTOTP 構(gòu)建的位置證明不僅保證了證明者和見證者的位置隱私,而且實現(xiàn)了身份隱私。但是從見證者協(xié)助位置證明的角度考慮,引入激勵機制促使見證者積極參與到位置證明中,在該機制中證明者與見證者產(chǎn)生交易記錄會破壞身份隱私,從而破壞證明者和見證者的匿名性。文獻[11]利用定期更換假名來實現(xiàn)用戶位置隱私,但是沒有可追溯性。本文協(xié)議利用可證明安全的TOTP 和PPLP 協(xié)議構(gòu)建位置證明協(xié)議,并采取更加靈活的見證者設置系統(tǒng)。文獻[13]提出的零知識位置證明方案實現(xiàn)用戶可控的分級隱私保護,但是需要分布式證書簽發(fā)節(jié)點作為位置信標,生成零知識位置證明并發(fā)送給驗證者進行驗證,增大了位置證明系統(tǒng)時延。因此,本文提出基于激勵驅(qū)動的輕量級隱私保護位置證明協(xié)議的位置證明生成塊具有一定的優(yōu)勢,并且對比其他協(xié)議,加入激勵機制能進一步促進見證者參與位置證明。
本文提出基于激勵驅(qū)動的輕量級隱私保護位置證明協(xié)議,利用非對稱TOTP 和PPLP 協(xié)議構(gòu)建位置證明協(xié)議,結(jié)合區(qū)塊鏈智能合約技術(shù),設計一種基于貢獻度的激勵機制,不僅實現(xiàn)了高效且具有隱私保護的位置證明協(xié)議,而且激發(fā)見證者積極做出位置證明。實驗結(jié)果表明,本文協(xié)議具有高效性和實用性。下一步將引入激勵機制,確保對參與位置證明的用戶身份進行隱私保護,以及優(yōu)化激勵機制,進一步提高位置證明的效率。