本發(fā)明涉及一種共享單車計費方法,尤其涉及一種基于安全位置證明的共享單車安全計費方法。
背景技術(shù):
移動互聯(lián)網(wǎng)的快速發(fā)展,催生了大量線上到線下(Online To Offline,O2O)共享經(jīng)濟業(yè)務(wù)。這些共享經(jīng)濟業(yè)務(wù)當(dāng)中,有一類O2O業(yè)務(wù)近期得到了快速發(fā)展,這便是共享單車。自2015年5月共享單車業(yè)務(wù)首次出現(xiàn)在北大校園里以來,已經(jīng)誕生出了包括摩拜、優(yōu)拜、OFO、小鳴、小藍、騎唄等在內(nèi)的多家共享單車應(yīng)用。這些共享單車應(yīng)用的誕生,方便了廣大用戶的日常生活,極大的推動了人們?nèi)粘3鲂凶詈?公里問題的解決,并在實際應(yīng)用中得到了極大的普及。今天,走在各大中心城市的高校校園里面,幾乎隨處可見騎著共享單車的師生。在一些一線城市的繁華區(qū)域,也幾乎隨處騎著共享單車,低碳環(huán)保出行的普通市民。而作為打車業(yè)務(wù)的另一種形式的翻版,共享單車業(yè)務(wù)也受到了投資圈的熱捧,獲得了大量的風(fēng)險投資,以O(shè)FO為例,它在2016年10月獲得了小米、滴滴等給予的1.3億美元最新投資??偠灾?,共享單車業(yè)務(wù)在未來必將得到較大的發(fā)展。
然而,快速發(fā)展的共享單車業(yè)務(wù),卻不得不面臨難以合理計費、尋找正常商業(yè)盈利模式的問題。目前幾個共享單車業(yè)務(wù),都是通過用戶的共享單車APP,確定用車的開始和結(jié)束時刻得出用戶用車時間,然后簡單地根據(jù)用車時間來開展階梯性收費方案。如摩拜、OFO、小鳴是每半小時收費1元,不足半小時按照半小時收費。考慮到許多用戶,特別是校園師生往往僅僅騎行不足一公里,時間多在5-10分鐘,這種簡單的根據(jù)用車時長來階段性計費的方式,毫無疑問地與實際情況不相符。因此需要加以改進。
最公平的方式莫過于根據(jù)使用里程來計算使用費用,但它面臨著如何正確計算行駛里程的挑戰(zhàn)。最直接的便是根據(jù)行駛過程中的GPS軌跡數(shù)據(jù),來推算出行駛里程。但這種方式面臨著幾個現(xiàn)實問題。一方面,是GPS數(shù)據(jù)的不斷采集,并通過數(shù)據(jù)網(wǎng)絡(luò)上傳功能十分耗能,用戶主觀上是否愿意為共享單車業(yè)務(wù)消耗寶貴的電池資源還不確定,更不幸的是這種根據(jù)GPS軌跡得到的軌跡數(shù)據(jù)也不可信。其原因在于,GPS軌跡數(shù)據(jù)要么通過用戶共享單車APP采集獲得,要么通過車載GPS裝置獲取。這兩種方法下,GPS數(shù)據(jù)很容易被用戶偽造和篡改。因此,共享單車行駛里程計算方案的一個核心難點在于如何在盡可能小的影響用戶體驗方式下,獲取用戶真實的GPS位置軌跡數(shù)據(jù)。另一方面,采用用戶的GPS數(shù)據(jù)獲取用戶位置信息,必然會涉及到用戶的位置隱私,在用戶越來越關(guān)注個人信息安全的當(dāng)下,位置隱私信息得不到嚴(yán)格保護的應(yīng)用,必然不會得到用戶的青睞。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供了一種簡便高效的基于安全位置證明的共享單車安全計費方法。
為解決上述問題,本發(fā)明采用如下的技術(shù)方案:
基于安全位置證明的共享單車安全計費方法,包括步驟:
(1)請求者P在開始用車和結(jié)束用車時向簽發(fā)者W收集位置證明,所述的請求者P和簽發(fā)者W均為持有帶GPS功能的智能終端的共享單車用戶,簽發(fā)者W為與請求者P距離小于距離閾值的共享單車用戶,簽發(fā)者W和請求者P所持帶GPS功能的智能終端通過短距離無線通信技術(shù)進行通信,距離閾值設(shè)為所采用的短距離無線通信技術(shù)的通信距離;
本步驟具體為:
1.1請求者P在開始用車和結(jié)束用車時,廣播位置證明生成請求PReq,PReq包括請求者P的身份標(biāo)志、當(dāng)前時刻s和請求者P的當(dāng)前位置L;
1.2收到PReq并決定接受PReq的簽發(fā)者W向請求者P回復(fù)Ack響應(yīng);
1.3假設(shè)收到n個簽發(fā)者的Ack響應(yīng),將各簽發(fā)者記為Wi,i=1,2,...n;請求者P采用(n,n)門限秘密共享機制將自己的私鑰拆分成n份子秘密Si;同時,請求者P使用D-H協(xié)議同所有回復(fù)Ack響應(yīng)的簽發(fā)者Wi分別協(xié)商臨時的回話密鑰Ki,并向各簽發(fā)者Wi分別發(fā)送包含用回話密鑰Ki加密的子秘密的響應(yīng)PRes;請求者P自己的私鑰在注冊時從安全第三方CA處獲得;
1.4各簽發(fā)者Wi收到加密的子秘密后,將加密的子秘密嵌入位置證明,生成位置證明明文LPi,所述的位置證明明文LPi包括請求者P的身份標(biāo)志、當(dāng)前時刻s、請求者P的當(dāng)前位置L和加密的子秘密;隨后,簽發(fā)者Wi使用自己的私鑰為位置證明明文LPi生成簽名;同時,使用驗證者V的公鑰將位置證明明文LPi、回話密鑰Ki和簽名加密,生成授權(quán)的位置證明EPi,并將LPi發(fā)送給請求者P;所述的驗證者V為提供共享單車業(yè)務(wù)的運營商;簽發(fā)者Wi的私鑰和驗證者V的公鑰均是注冊時從安全第三方CA處獲得;
1.5請求者P將收到的n個簽發(fā)者Wi授權(quán)的位置證明組合生成最終的位置證明LPP:LPP=EP1|EP2|,....|EPn|L|s,其中,EPi表示簽發(fā)者Wi授權(quán)的位置證明,|表示字符串接;
(2)請求者P將開始用車和結(jié)束用車時生成的最終位置證明LPP通過移動網(wǎng)絡(luò)發(fā)送給驗證者V,驗證者V對最終位置證明LPP中包含的各簽發(fā)者Wi授權(quán)的位置證明分別進行驗證;所述的驗證包括位置證明真實性的驗證和請求者P是否作弊的驗證:
所述的位置證明真實性的驗證,具體包括:
①驗證簽發(fā)者Wi的私鑰與IDWi的公鑰是否保持一致,若一致,則通過驗證;簽發(fā)者Wi的私鑰與IDWi的公鑰均是注冊時從安全第三方CA處獲得;
②驗證對EPi解密得的位置證明明文的哈希值與EPi中位置證明明文的簽名同是否相同,若相同,則通過驗證;
若①和②均通過驗證,則通過真實性驗證;否則,未通過真實性驗證,拋棄本次生成的最終位置證明LPP;
所述的請求者P是否作弊的驗證,具體包括:
采用(n,n)門限秘密共享機制從各簽發(fā)者Wi授權(quán)的位置證明中恢復(fù)出各簽發(fā)者Wi的子秘密,判斷恢復(fù)出的子秘密和請求者P的私鑰是否保持一致,若保持一致,則判定用戶未作弊;否則,判定用戶作弊,拋棄本次生成的最終位置證明LPP;
若位置證明真實性和請求者P是否作弊的驗證均通過,則執(zhí)行步驟(3);
(3)驗證者V根據(jù)請求者P開始用車和結(jié)束用車時的最終位置證明LPP,以請求者P開始用車時的位置為起點,以請求者P結(jié)束用車時的位置為終點,計算起點和終點間的曼哈頓距離,即請求者P的行駛里程,根據(jù)行駛里程計算本次行程費用。
進一步的,位置證明生成請求PReq的組成表示為PReq=IDp|L|s,其中,IDp是請求者P的身份標(biāo)識;|表示字符串接。
進一步的,響應(yīng)PRes的組成表示為PRes=EKi(Si),其中,EKi(Si)表示采用會話密鑰Ki對子秘密Si進行對稱加密。
進一步的,位置證明明文LPi的組成表示為LPi=IDp|EKi(Si)|L|s,其中,IDp是請求者P的身份標(biāo)識,|表示字符串接,EKi(Si)表示采用會話密鑰Ki對子秘密Si進行對稱加密。
進一步的,授權(quán)的位置證明EPi的組成表示為其中,|表示字符串接,IDWi是簽發(fā)者Wi的身份標(biāo)識,為驗證者V的公鑰,()表示用公鑰加密;為簽發(fā)者Wi的私鑰,()表示用私鑰加密,H()表示密碼學(xué)單向哈希函數(shù)。
和現(xiàn)有技術(shù)相比,本發(fā)明具有如下特點和有益效果:
O2O業(yè)務(wù)的快速發(fā)展催生了共享單車業(yè)務(wù)的迅速普及,然而現(xiàn)有共享單車面臨著難以合理計費的挑戰(zhàn)。本發(fā)明根據(jù)單車使用規(guī)律,提出基于安全位置證明的共享單車安全計費方案,該方法在能夠高效簡捷計算出單車行駛里程基礎(chǔ)上,抵御單車計費系統(tǒng)中的安全攻擊,經(jīng)驗證,本發(fā)明方法具有合理性、正確性和高效性。
附圖說明
圖1為本發(fā)明所涉及系統(tǒng)模型的架構(gòu)圖;
圖2為曼哈頓距離示意圖;
圖3為實施例中曼哈頓理論距離和實際軌跡路徑距離的對比曲線;
圖4為實施例中通信開銷對比圖;
圖5為實施例中計算開銷對比圖。
具體實施方式
下面將先給出本發(fā)明所涉及模型、安全目標(biāo)和所要解決問題的描述。
一、系統(tǒng)模型
本發(fā)明構(gòu)建的共享單車計費系統(tǒng)模型的架構(gòu)見圖1,用戶有用車需要時,首先從周圍環(huán)境中其它用戶處獲得用車時的位置證明,然后將此位置證明告知給共享單車運營商,共享單車運營商驗證位置證明的真實性以確認(rèn)用戶的使用軌跡。更具體地,系統(tǒng)中有四類實體,依次分別為:(1)用戶,當(dāng)想生成位置證明時,用戶稱作位置證明(Location Proof,LP)請求者(Prover),記為請求者P;當(dāng)為他人生成位置證明時,用戶稱作位置證明簽發(fā)者(Witness),記為簽發(fā)者W;(2)共享單車運行商,也稱作位置證明驗證者(Verifier,V),記為驗證者V;以及(3)安全第三方(Certificate Authority,CA)。為了簡便起見,后文將這四類實體分別簡稱為P、W、V和CA。這四類實體中,P和W以P2P方式生成位置證明LP,然后請求者P將生成的LP發(fā)送給驗證者V,V同CA一道,對LP的真實性進行驗證。
以下分別對這四類實體進行介紹:
請求者P:P是一個持有帶GPS功能智能手機的共享單車用戶。他期望從附近用戶那里獲得他在某一時間地點的位置證明LP;
簽發(fā)者W:W是一個持有帶GPS功能智能手機的共享單車用戶。他能為其它附近請求者P生成并授權(quán)位置證明LP。W在為P生成位置證明之前,需要探測與P之間距離,只有當(dāng)P確實在它附近時,才會生成并授權(quán)一個位置證明LP;
驗證者V:V是提供共享單車業(yè)務(wù)的運營商,他進行用戶位置證明真實性驗證;
安全第三方CA:CA是一個半誠實的機構(gòu),專注于為外界提供用戶密鑰相關(guān)材料分發(fā)及其驗證功能,如公私密鑰對分發(fā)及驗證,同時亦會協(xié)助V進行部分位置證明LP驗證工作。
上述4類實體使用不同的通信技術(shù)進行通信。P和W之間通信采用的是WIFI,由于WIFI傳輸范圍有限,P和W的發(fā)送和接受信號的距離都為R,R即通信距離,P只能向通信范圍內(nèi)的W發(fā)出位置證明請求,同樣W也只能為通信范圍內(nèi)的P生成位置證明。P和W同V之間使用4G移動網(wǎng)絡(luò)進行連接,V和CA之間具有任何時間的互聯(lián)網(wǎng)連接。
二、安全目標(biāo)
本發(fā)明的目標(biāo)是防止單車用戶生成假的位置,造成行駛里程無法計算的局面,所以我們的安全目標(biāo)是確保P的位置證明LP的真實性(Truthful)和P、W的位置隱私(Location Privacy)。
真實性即要求P、W之間誠實地生成位置證明LP,即P和W在位置證明LP所述時刻確在LP所述地點,并且LP確實是由P請求,并由W生成并授權(quán),P既不能將之前時刻在此地點的LP拿來沖抵,也不能將其它用戶的LP據(jù)為己有。這樣才能獲得P的真實出發(fā)位置和目的位置以計算出真實距離。
而用戶出行時,為了自身安全,用戶希望自己的行蹤是保密的。因此需要確保用戶位置隱私是安全的。關(guān)于用戶位置隱私,不同實體的位置隱私有不同內(nèi)涵。P和W之間,由于P、W都互在對方附近,彼此的位置都為對方知曉,因此此時如果再知曉了對方的身份信息,那么與身份關(guān)聯(lián)的位置信息就會泄露用戶隱私。盡管嚴(yán)格意義上來講,身份隱私與這里說的位置隱私有差別,但為了統(tǒng)一起見,仍然將P-W之間隱私歸結(jié)到位置隱私上。P、W同V之間,V知道P、W生成位置證明LP的位置和身份標(biāo)識,因此不能讓V再知道P、W的精確位置,也即是只能讓V知道它所需提供服務(wù)精度的位置。在P、W同CA之間,CA知道P、W身份信息,因此,不能讓CA再知道P、W的位置。
三、信任和攻擊模型
本發(fā)明基礎(chǔ)是使共享單車運營商使用用戶的真實位置來計算行駛里程,因此首要問題便是防止用戶生成假的位置。對于系統(tǒng)中的4類實體,請求者P分為不誠實和誠實兩類。不誠實的P試圖在它不在某一位置時,生成它在這個位置的位置證明。通過偽造、篡改現(xiàn)有位置證明,或者通過各種手段欺騙(包括與他人合謀)一個誠實簽發(fā)者W生成位置證明,或者直接同一個不誠實W合謀生成假的位置證明。還企圖在生成位置證明過程中,獲取誠實的簽發(fā)者W的身份信息;而誠實的P不會故意生成假的位置證明,但他亦試圖從與簽發(fā)者W的交互信息中,獲取W的身份信息,威脅W位置隱私。簽發(fā)者W同樣有不誠實和誠實兩類。不誠實的簽發(fā)者W會在事后不承認(rèn)它生成授權(quán)的位置證明。而誠實的簽發(fā)者W獲取請求者P的身份信息,威脅P的位置隱私。攻擊者企圖從用戶輸入中推斷出盡可能多的用戶信息。由于請求者P需要向V提供身份和位置信息來獲取后續(xù)服務(wù),用戶P應(yīng)當(dāng)只提供給能夠獲取服務(wù)的最小粒度位置信息來保護位置隱私。CA被假定為一個語義安全的中立機構(gòu)。他給用戶提供密鑰和信任管理,本發(fā)明中CA還為用戶提供假名管理。CA在位置證明驗證階段協(xié)同V進行部分位置證明驗證工作,但以安全系統(tǒng)最少實體的基本準(zhǔn)則,CA被認(rèn)為不應(yīng)該獲取用戶的位置信息。
除上述基本信任和攻擊模型外,系統(tǒng)實體之間還有余下信任和攻擊假設(shè):
1)在使用共享之前,系統(tǒng)會要求所有用戶以真實身份注冊賬號,之后獲得賬號與密碼。不誠實用戶之間組成了一個串謀社區(qū),彼此知道其它人的身份和位置,以為他人生成假的位置證明;
2)即使以上述方式合謀,用戶之間仍被假定不能共享他們的私密密鑰即用戶賬號的密碼,因為密碼是賬號安全保存的關(guān)鍵,用戶即使合謀,也想生成假的位置證明,但由于賬號內(nèi)存在余額以及系統(tǒng)分發(fā)的優(yōu)惠券等一系列個人利益,因此用戶不會讓自己賬號的密碼被串謀社區(qū)內(nèi)人獲??;
3)誠實用戶不會同不誠實用戶進行合謀;
4)用戶使用安全信道同V和CA之間通信,V和CA之間亦是。
四、問題描述
在上述系統(tǒng)模型、安全與信任模型、安全目標(biāo)下,本發(fā)明所要解決的問題即為(1)如何為共享單車用戶生成真實的位置信息,并(2)使用此位置計算出用戶的行駛里程。
解決上述2個問題有著諸多技術(shù)上的挑戰(zhàn)。首先,相對于偽造、篡改等易于被傳統(tǒng)密碼學(xué)方法發(fā)現(xiàn)的不真實位置證明,用戶之間合謀生成位置證明很難被檢測阻止。具體地,在上述系統(tǒng)模型和假設(shè)下,用戶之間可以以合法方式合謀生成假的位置證明LP。展開來講,用戶之間合謀方式可大致分為P-P和P-W合謀2類,其它合謀都是它們的特殊表現(xiàn)形式。
P-P合謀,即一個不誠實的P同另一個在它所請求位置的不誠實用戶P使用遠距離通信技術(shù)等信道進行合謀,欺騙一個在它所請求位置的W,讓W(xué)相信P就在它附近,并錯誤地為P生成并授權(quán)一個位置證明LP。
P-W合謀,即一個不誠實的P向它所期望證明的位置處的一個不誠實的W發(fā)出位置請求,(同樣,不誠實的P與W之間可以使用遠距離通信技術(shù)進行合謀),W為這個不在它附近的P生成并授權(quán)一個位置證明LP。更一般情況下,不誠實P可以同任意位置的W發(fā)送位置請求,即不論W是否在它的附近,W無條件地為這個P生成并授權(quán)P所請求的任意位置的位置證明LP。
因此,對于第(1)個問題,本發(fā)明的目標(biāo)為:
1)如何以高效的方法抵御上述共享單車用戶的P-P合謀和P-W合謀攻擊;
2)如何在實現(xiàn)抵御上述兩種合謀攻擊基礎(chǔ)上,保護用戶位置隱私。
其次,由于安全位置證明生成需要耗費一定時間,因此,要求共享單車用戶持續(xù)生成包含位置信息的位置證明從實踐層面不可行,因此對于第(2)個問題,本發(fā)明的目標(biāo)為:如何合理利用有限的位置信息,盡可能精確地計算出用戶的行駛里程。
下面將對本發(fā)明設(shè)計思路、所涉及的理論知識及技術(shù)方案進行詳細(xì)說明。
五、設(shè)計思想
首先,對于里程計算問題,觀察到3個現(xiàn)象,(1)城市道路尤其是共享單車應(yīng)用的高校校園大多呈現(xiàn)曼哈頓特性,即道路呈規(guī)則矩形網(wǎng)格狀;(2)共享單車的存取位置具有高度的集中性,即共享單車存和取的位置都會保持相對集中;(3)共享單車的使用具有非常規(guī)律的時效性,上下班時間或上下課時間。對于第一個曼哈頓道路條件,我們知道曼哈頓道路只需要知曉起點和終點,即可算出最短道路里程;而第二個單車存取集中性條件,則對用戶生成位置證明有著促進作用,原因很顯然,單車越集中,用戶越容易找到其它見證者來生成位置證明。而第三個時效性特點更加有利于找到見證者來協(xié)作生成位置證明。因此,對于共享單車的行駛里程計算,可以使用用車開始和結(jié)束時的2個位置證明來計算。
確立了行駛里程的計算之后,問題的關(guān)鍵就來到了如何生成真實的位置證明上。由于共享單車用戶的私鑰都是自己根本利益的保證,因此即使是不誠實的共享單車用戶,也不會將自己私鑰共享出去,我們反其道利用共享單車用戶的這一行為特點,阻止他們合謀生成假位置證明。具體地:設(shè)為請求者P生成位置證明的簽發(fā)者W有n人,要求請求者P將自己的私鑰,以(n,n)門限秘密共享機制拆分成n份子秘密,然后通過安全信道給每個簽發(fā)者W發(fā)送一份子秘密;簽發(fā)者W將子秘密嵌入位置證明,并進行加密并簽名授權(quán),最后發(fā)送給請求者P;P將所有收到的授權(quán)位置證明發(fā)送給驗證者V,V驗證時間地點信息后,將所有子秘密剝離,若這些剝離出的子秘密能夠恢復(fù)出請求者P的私鑰,則證明P是誠實用戶。這當(dāng)中隱含的原理為:由于P不在欲證明位置,如果P只同串謀社區(qū)內(nèi)用戶合作,生成位置證明,那么,它的所有子秘密都會泄露給串謀社區(qū)內(nèi)的不誠實用戶,這些不誠實用戶同樣可以串謀起來恢復(fù)出P的私鑰,以其竊取P存有的利益;如果P只同部分串謀社區(qū)內(nèi)用戶合作來生成假的位置證明,因此用戶之間采用WIFI短距離通信,對于不在P周圍請求位置點的誠實用戶,P不能直接將子秘密發(fā)送給這些誠實用戶,必須通過某個在所請求區(qū)域的合謀用戶進行中繼,但這樣做,P所有的子秘密還是全部泄露給了合謀社區(qū)。因此,P只能全部同誠實節(jié)點進行位置證明生成。
六、理論知識
1、曼哈頓距離
曼哈頓距離來源于紐約市中心曼哈頓區(qū)的典型的道路特點。曼哈頓中心區(qū)建筑區(qū)塊規(guī)劃為規(guī)則的方型,見圖2中所示的白色方塊,因而串接這些建筑區(qū)塊的道路構(gòu)成了整齊規(guī)則的網(wǎng)格,如圖2中灰色網(wǎng)格所示。在這種情況下,任意兩點之間最短路徑不唯一且相等。正式地:曼哈頓距離又稱L1-距離,即歐幾里得空間兩點所形成線段產(chǎn)生的投影距離總和,圖2中線段1、線段2、線段3表示兩點之間的曼哈頓距離,線段4表示歐幾里得距離,可以看出,線段1、線段2、線段3的長度相等。
2、(t,n)門限秘密共享
(t,n)門限秘密共享最早由Shamir[1]等人提出,它將一個主秘密S拆分成n個子秘密,然后將這n個子秘密分發(fā)給一組n個用戶。當(dāng)且僅當(dāng)t個以上用戶將自己分享的子秘密拿來恢復(fù)密碼操作,主秘密才能夠被恢復(fù)出來。t即門限秘密共享機制的閾值,當(dāng)t=n時,稱之為(n,n)門限秘密共享機制,也即當(dāng)且僅當(dāng)所有的用戶都參與的情況下,主秘密S才可以被恢復(fù)出來。(t,n)門限秘密共享的一種經(jīng)典實現(xiàn)方式如下:
七、具體實施方案
本發(fā)明所采用的技術(shù)方案記為Basic方案,Basic方案包括2大階段:(1)用戶開始和結(jié)束用車時的位置證明生成階段;(2)用戶結(jié)算里程時同驗證者V進行位置證明驗證階段。
位置證明生成階段包括:當(dāng)請求者P開始用車或結(jié)束用車時,需要收集開始或結(jié)束時的位置證明。此時,P向附近的多個簽發(fā)者W發(fā)出廣播請求招募,周圍若干W響應(yīng)它的請求,P通過安全信道向這些W分發(fā)其子秘密,W將收到的子秘密嵌入到為P生成的位置證明中,并返還給P;P則將這些位置證明組合成一個復(fù)合位置證明。
位置證明驗證階段包括:當(dāng)P需要與驗證者V結(jié)算費用前,P向V做出自己在某個特定時間在某個特定地點的聲明。V隨后驗證此聲明中位置和時間的真實性。
下面將對兩個階段的具體實施過程展開敘述。
1、位置證明LP生成階段
(1)假定請求者P想在時刻s位置L生成位置證明,P向周圍用戶W廣播一個位置證明生成請求,等待周圍用戶回應(yīng),位置證明生成請求記為PReq,其組成表示為:
PReq=IDp|L|s (1)
式(1)中,IDp是請求者P的身份標(biāo)識;|表示字符串接。
(2)當(dāng)某一簽發(fā)者收到位置證明生成請求PReq并決定接受后,向P回復(fù)Ack響應(yīng)。
(3)假設(shè)收到n個簽發(fā)者W的Ack響應(yīng),將各簽發(fā)者記為Wi,i=1,2,...n;請求者P將自己的私鑰使用(n,n)門限秘密共享機制拆分成n份子秘密Si;同時,請求者P使用D-H協(xié)議同所有回復(fù)Ack響應(yīng)的簽發(fā)者Wi協(xié)商臨時的會話密鑰Ki,Wi表示n個簽發(fā)者中第i個簽發(fā)者;請求者P向Wi發(fā)送包含用會話密鑰Ki加密的子秘密Si的響應(yīng)PRes,其組成記為PRes=EKi(Si),EKi(Si)表示采用會話密鑰Ki對子秘密Si進行對稱加密,可采用AES算法。同時,為了保證私鑰安全性,請求者P在不同的時刻地點,使用不同的子秘密集合。請求者P自己的私鑰在注冊時從安全第三方CA處獲得。
(4)簽發(fā)者Wi收到加密的子秘密Si后,為P生成位置證明明文LPi,其組成記為:
LPi=IDp|EKi(Si)|L|s (2)
隨后,簽發(fā)者Wi更進一步地使用它自己的私鑰為LPi生成簽名,并使用驗證者V的公鑰將會話密鑰Ki加密,生成授權(quán)的位置證明EPi,其組成記為:
式(3)中,IDWi是簽發(fā)者Wi的身份標(biāo)識;為驗證者V的公鑰,()表示用公鑰加密;為簽發(fā)者Wi的私鑰,()表示用私鑰加密,H()表示密碼學(xué)單向哈希函數(shù)。簽發(fā)者Wi的私鑰和驗證者V的公鑰均在注冊時從安全第三方CA處獲得。
簽發(fā)者Wi將此授權(quán)的位置證明EPi發(fā)送給P。
(5)假定請求者P最終成功從n個簽發(fā)者Wi處收到了授權(quán)的位置證明EPi,并生成最終的位置證明LPP,其組成記為:
LPP=EP1|EP2|,....|EPn|L|s (4)
式(4)中,EPi表示簽發(fā)者Wi授權(quán)的位置證明。
1.2位置證明驗證階段
(1)當(dāng)請求者P想與提供共享單車業(yè)務(wù)的運營商(即驗證者V)計算行駛里程時,需要分別同驗證者V逐一驗證開始用車時刻的位置證明和結(jié)束用車時刻的位置證明。具體地:請求者P向驗證者V證明自己在用車開始或結(jié)束時刻s在位置L時,它將上一階段最終生成的位置證明LPP發(fā)送給驗證者V。
(2)驗證者V收到請求者的LPP后,負(fù)責(zé)兩項工作,一是對位置證明的真實性進行驗證,二是嘗試恢復(fù)出P的私鑰來檢驗用戶之間是否進行了合謀。
驗證者V首先通過如下步驟驗證位置證明的真實性:
①驗證簽發(fā)者Wi的私鑰與IDWi的公鑰是否保持一致;簽發(fā)者Wi的私鑰與IDWi的公鑰均是注冊時從安全第三方CA處獲得,安全第三方CA分發(fā)簽發(fā)者Wi的私鑰與IDWi的公鑰時,使得簽發(fā)者Wi的私鑰與IDWi的公鑰具有唯一對應(yīng)關(guān)系,簽發(fā)者Wi的私鑰與IDWi的公鑰保持一致即指私鑰與公鑰對應(yīng)。
②EPi中的H(LPi)同EPi中解密得的LPi的哈希值相同,并且不同的EPi中LPi是否保持一致,這是為了驗證簽發(fā)者Wi授權(quán)的時間地點和請求者P聲明的時間地點是否一致。本步驟中,驗證者V對EPi進行解密,可獲得H(LPi)和LPi,然后驗證LPi的哈希值與H(LPi)是否相同。
如果所有n個EPi都通過了上述驗證,驗證者V使用從EPi中解密出的所有Si,查看能否恢復(fù)出請求者P的私鑰?;謴?fù)過程如下:
n個簽發(fā)者Wi,對應(yīng)的n個子秘密分別記為Si?;?n,n)門限秘密共享機制恢復(fù)出子秘密Si。如果恢復(fù)出的子秘密同P的私鑰保持一致,則表明P沒有同其它用戶合謀生成假的位置證明,V判定用戶此次里程沒有作弊,否則判定用戶此次里程作弊。
如果開始和結(jié)束時刻的位置證明都沒有問題,V則計算開始和結(jié)束時刻的位置間的曼哈頓距離,即用戶P的行駛里程。
Basic方案中,首先,P在某一位置時刻的位置證明需要W進行簽名,這就使P既不能憑空捏造一個位置證明,也不能篡改W生成的位置證明,而W不能夠在事后對此證據(jù)抵賴。其次,請求者P將分享的子秘密Si使用了P和Wi的臨時密鑰進行加密,如果沒有一個誠實用戶參與,那么其它非誠實用戶共享子秘密就為n份,滿足(n,n)秘密恢復(fù)條件,也就能合謀恢復(fù)出P的私鑰,這就阻止了為P生成位置證明的用戶都是合謀用戶的情況,也就阻止了P僅僅使用P-W合謀就能獲得位置證明。最后,只要有一個誠實用戶,P就必須在此誠實用戶附近,也就是在請求位置附近,而不能通過一個合謀用戶欺騙誠實的W。原因在于由于P不能與誠實用戶直接進行通信(通信范圍限制),他仍然需要通過合謀用戶將子秘密分發(fā)給誠實用戶,但這樣,這個原打算發(fā)給誠實用戶的子秘密就會被合謀用戶知曉,他的秘密密鑰也就會被合謀用戶知曉。這就保證了P不能與合謀用戶開展P-P合謀攻擊??傊?,P必須都同誠實用戶進行位置證明的生成,也就阻止了用戶之間進行合謀生成假位置證明。
八、實施例
下面將結(jié)合實施例進一步說明本發(fā)明的有益效果。
本實施例中,智能終端采用3臺紅米note3全網(wǎng)通高配版智能手機,它有著1.8G Hz Qualcomm Snapdragon 650CPU、3GB運存、32GB ROM、GPS、藍牙Bluetooth 4.1,安卓6.0。使用1024-bit DSA簽名算法,和2048-bit RSA算法作為公開加密算法。SHA1作為密碼學(xué)單向哈希函數(shù),128-bit AES算法作為對稱密鑰,使用基于java代數(shù)庫的512-bit有限循環(huán)群來實現(xiàn)D-H協(xié)議。設(shè)備之間的距離都設(shè)置為5m。
在武漢理工大學(xué)馬房山校區(qū)隨機選擇20對起點和終點,首先,按照曼哈頓距離計算出這20對起點和終點之間的距離。然后,對每一對起點和終點,分別選擇先南朝北后東朝西方向,和先東朝西后南朝北方向選擇兩條路徑,在此過程中使用智能終端記錄行駛軌跡。最后,測算出行駛的距離。每一條路徑都來回各自測試了一遍,最終得到的對比曲線如圖3所示。從該圖中可以看出,雖然曼哈頓理論距離和實際路徑距離有一定誤差,但總體較吻合,這也就一定程度上說明了本發(fā)明采用起點和終點計算共享單車用戶行駛里程的合理性。
圖4和圖5表示分別為同樣實驗參數(shù)情況下,STAMP方案[2]、Basic方案在PC端與手機端的計算開銷,從圖中可以看出,無論是通信還是計算開銷,本發(fā)明都較STAMP方案有了明顯改善。
文中涉及如下參考文獻:
[1]Shamir A.How to share a secret[J].Communicatings of the ACM,1979,22(11):612–613.
[2]Wang X O,Zhu J,Pande A,Raghuramu A,Mohapatra P,Abdelzaher T F,and Ganti R K.Stamp:Ad hoc spatial-temporal provenance assurance for mobile users[C]//Proceedings of the 21st IEEE International Conference on Network Protocols:Oct 7-10,2013,Germany,2013,1–10.