賴成喆 張 敏 鄭 東
(西安郵電大學無線網(wǎng)絡(luò)安全技術(shù)國家工程實驗室 西安 710121)
近年來,人工智能技術(shù)的迅速發(fā)展,使得傳統(tǒng)汽車行業(yè)與信息技術(shù)相結(jié)合,促進了無人駕駛領(lǐng)域的進一步發(fā)展.無人駕駛車輛可以通過大幅減少撞車事故來緩解交通擁堵[1],從根本上緩解交通壓力[2],也可使老年人[3]和殘障人士[4]的出行更加便利.然而,無人駕駛車輛必須從車輛地圖上訪問大量數(shù)據(jù),以便為安全和效率做出實時控制決策[5],這使得車輛地圖成為無人駕駛發(fā)展的關(guān)鍵.
地圖對無人駕駛車輛的定位、導(dǎo)航與控制以及數(shù)據(jù)的實時更新都起著至關(guān)重要的作用,為無人駕駛車輛提供了更加可靠的感知能力.目前,基于衛(wèi)星圖像的數(shù)字地圖得到了廣泛的應(yīng)用,但是,它們不能準確地反映最新的地圖數(shù)據(jù).為了準確有效地反映地圖的最新動態(tài),近年來提出了許多方案[6-8],其中基于群智感知的地圖更新方法最引人關(guān)注[9-10].在這些方案中,志愿者愿意將他們的GPS數(shù)據(jù)貢獻給地圖服務(wù)器,但是同時也增加了用戶隱私泄露的風險.由于數(shù)據(jù)安全問題以及用戶擔心隱私被泄露[11],使得車輛地圖更新的發(fā)展受到了嚴重影響.當用戶通過網(wǎng)絡(luò)進行數(shù)據(jù)交互時,數(shù)據(jù)的所有者不再對數(shù)據(jù)具有控制權(quán),而是托管到了云端進行進一步的運算及處理,所以如何保障托管數(shù)據(jù)的完整性和機密性便成了云端所面臨的全新挑戰(zhàn).云服務(wù)平臺流通的數(shù)據(jù)量與日俱增,其中包含了大量的敏感數(shù)據(jù)和隱私信息,這使得車輛用戶的隱私問題尤為凸顯.
針對以上問題,本文將代理重加密和簽密的思想引入到車輛地圖的更新中,提出了一種安全高效的無人駕駛車輛地圖更新方案(secure and efficient map update scheme for AVs, SEMU),它實現(xiàn)了數(shù)據(jù)的機密性、完整性、可靠性、身份可驗證性和不可否認性.由于存在隱私被泄露的風險,用戶經(jīng)常不愿意上傳數(shù)據(jù).所以本文通過為用戶生成偽名,實現(xiàn)了用戶的匿名性和有條件的隱私.具體來說,本文的主要貢獻有3個方面:
1) 提出一種安全高效的無人駕駛車輛地圖更新方案,實現(xiàn)了數(shù)據(jù)的機密性、完整性、身份可驗證性和不可否認性,保證了用戶的匿名性和可追蹤性;
2) 通過對用戶信譽值的管理,提高了數(shù)據(jù)可靠性,利用聚合簽名技術(shù),降低了計算開銷;
3) 通過仿真,驗證了方案的激勵性,并從計算開銷方面證明了它的有效性.
在群智感知網(wǎng)絡(luò)中進行數(shù)據(jù)共享時,數(shù)據(jù)所有者需要先將數(shù)據(jù)進行加密,云服務(wù)平臺再對云端密文進行解密,最后將解密后的數(shù)據(jù)重新加密分享給數(shù)據(jù)使用者,然而這個方法使得用戶數(shù)據(jù)極易遭到泄露且計算效率低.因此必須設(shè)計合理的隱私保護機制來保證數(shù)據(jù)安全的同時也能夠保護用戶的隱私.
為了實現(xiàn)加密數(shù)據(jù)的高效分享,Blaze等人[12]在1998年的歐密會上首次提出了代理重加密(proxy re-encryption, PRE)的概念.在代理重加密系統(tǒng)中,一個擁有重加密密鑰的半可信代理,能夠?qū)⑼ㄟ^數(shù)據(jù)提供者的公鑰加密得到的密文,轉(zhuǎn)換為被數(shù)據(jù)使用者的公鑰加密的密文,在此過程中代理不知道有關(guān)數(shù)據(jù)的任何明文信息.此外,這2個不同的密文所對應(yīng)的明文是一致的.因此,代理重加密技術(shù)是實現(xiàn)數(shù)據(jù)高效共享的一種有效途徑,并引起了學術(shù)界的普遍關(guān)注,相繼出現(xiàn)了很多代理重加密方案.
2007年Green和Ateniese[13]將該概念擴展到基于身份的密碼系統(tǒng),將基于身份的密碼體制(identity-based cryptosystem, IBC)和PRE結(jié)合起來,首次提出基于身份的代理重加密(identity-based proxy re-encryption, IBPRE)的概念.Kirtane和Rangan[14]使用Malone-Lee和Mao[15]的方案,構(gòu)造了一個具有代理重加密功能的簽名方案.代理可以在不使用數(shù)據(jù)所有者私鑰的情況下,將數(shù)據(jù)所有者已簽名的密文重新加密為數(shù)據(jù)使用者的另一個密文.之后在文獻[16-18]中提出了3種具有代理重加密功能的基于身份的簽密(identity-based signcryp-tion, IBSC)方案.然而,CAR方案[16]和WC方案[17]對適應(yīng)性選擇密文攻擊都不安全,而文獻[19]中的方案對適應(yīng)性選擇密文攻擊是安全的.因此,構(gòu)建一個具有代理重加密功能的且安全高效的IBSC方案顯得尤為重要.
云存儲[20]中的數(shù)據(jù)訪問控制方案還可以通過使用預(yù)加密和基于屬性的加密方案(attribute-based encryption, ABE)來設(shè)計.Li等人[21]提出一種針對云服務(wù)存儲的靈活的ABE機制.文獻[22]進一步闡述了密文策略屬性基加密方案(ciphertext-policy attribute-based encryption, CP-ABE)在云計算環(huán)境中的應(yīng)用策略.但是CP-ABE機制中針對數(shù)據(jù)授權(quán)的變更問題,仍需要用戶對數(shù)據(jù)進行重復(fù)加密.
PRE技術(shù)在一定程度上滿足了云端數(shù)據(jù)[23]的機密性和完整性的安全管理需求.然而,云計算中的數(shù)據(jù)存儲還需要滿足身份可驗證性、可靠性和不可否認性.
1) 雙線性
如果對任意P,Q∈G1和a,b∈Z,有:
那么就稱該映射為雙線性映射.
2) 非退化性
3) 可計算性
計算性Diffie-Hellman(CDH)問題:G1為一個階為素數(shù)q的循環(huán)群,P為其生成元,已知(aP,bP),計算abP是困難的.
IBSC方案的工作原理[19]如圖1所示:
Fig. 1 Working principles of IBSC scheme圖1 IBSC方案工作原理[19]
1) 簽密(signcryption, SC).數(shù)據(jù)所有者Alice為發(fā)起方,Alice將明文m通過自己的私鑰SIDA和Bob的身份IDB進行簽密,生成一級密文σAB.
2) 解簽密(unsigncryption, USC).將Alice的身份IDA和一級密文σAB作為輸入,Bob可以通過自己的私鑰SIDB得到明文m.
3) 代理密鑰生成(proxy key generation, PKGen).Bob通過自己的私鑰SIDB和Carol的身份IDC,生成代理密鑰KBC.
4) 重加密(re-encryption, ReEnc).代理中心將Proxy一級密文σAB和代理密鑰KBC作為輸入可生成二級密文σAC.
5) 解密(decryption, Dec).Carol可以通過自己的私鑰SIDC及Alice和Bob的身份IDA,IDB解密得到明文m.
群智感知[24-25]的系統(tǒng)結(jié)構(gòu)[24]如圖2所示,該系統(tǒng)結(jié)構(gòu)包括3部分:任務(wù)參與者(數(shù)據(jù)提供者)、數(shù)據(jù)使用者和服務(wù)器平臺.服務(wù)器平臺接受來自數(shù)據(jù)使用者的服務(wù)請求,將感知任務(wù)分配給任務(wù)參與者,處理收集到的感知數(shù)據(jù),并進行其他的管理功能.任務(wù)參與者接收到任務(wù)后,進行所需數(shù)據(jù)的感知,然后將數(shù)據(jù)報告返回給服務(wù)器平臺,服務(wù)器平臺將數(shù)據(jù)處理后發(fā)送給數(shù)據(jù)使用者.通過整個流程實現(xiàn)了數(shù)據(jù)感知、數(shù)據(jù)收集以及信息服務(wù)提供等功能.群智感知是一種移動的、分布式的、自主的、基層的服務(wù)模式.
Fig. 2 Architecture of a crowd sensing system圖2 群智感知系統(tǒng)結(jié)構(gòu)[24]
Fig. 3 The system model—SEMU圖3 SEMU系統(tǒng)模型
群智感知可以從各地收集海量多維異構(gòu)數(shù)據(jù),解決各種大規(guī)模地數(shù)據(jù)需求問題,提供高質(zhì)量且可靠的數(shù)據(jù)服務(wù).但是,隨著群智感知的發(fā)展,新的問題和挑戰(zhàn)也逐漸顯現(xiàn)出來.其中,數(shù)據(jù)安全和用戶隱私安全問題尤為突出.在群智感知中,用戶提交的數(shù)據(jù)可能會包含用戶的敏感信息,只有降低隱私泄露[26]的風險才可以激勵用戶積極地參與感知任務(wù).數(shù)據(jù)安全是指在數(shù)據(jù)傳送的過程中保證數(shù)據(jù)的保密性、完整性、可靠性、身份可驗證性和不可否認性.
在本文安全高效的無人駕駛車輛地圖更新方案SEMU中,地圖公司將感知任務(wù)外包給云服務(wù)平臺,并獎勵為感知任務(wù)做出貢獻的車輛用戶.云服務(wù)平臺將任務(wù)釋放給位于感測區(qū)域的車輛霧節(jié)點.根據(jù)任務(wù),車輛霧節(jié)點找到正確的感知報告,如果有所需數(shù)據(jù),則將其返回到云服務(wù)平臺;反之車輛霧節(jié)點則會繼續(xù)廣播此任務(wù).愿意參與的車輛用戶將加密數(shù)據(jù)和同意自己數(shù)據(jù)的n個其他車輛用戶的聚合簽名發(fā)送給車輛霧節(jié)點,車輛霧節(jié)點對此聚合簽名進行批量驗證.驗證通過后,將加密數(shù)據(jù)發(fā)送給云服務(wù)平臺.利用代理中心生成的代理密鑰,云服務(wù)平臺對加密數(shù)據(jù)進行代理重加密[19],然后將重加密后的數(shù)據(jù)發(fā)送給地圖公司.最后,地圖公司解密得到數(shù)據(jù)內(nèi)容,并對提交有價值數(shù)據(jù)的車輛用戶分配獎勵.圖3描述了本文提出的方案的系統(tǒng)模型,它主要由7部分組成:
1) 地圖公司(map company, MC).地圖公司需要完成大量的數(shù)據(jù)收集任務(wù)來更新地圖,但他們沒有足夠的能力獨自完成任務(wù).因此,地圖公司向云服務(wù)平臺發(fā)放任務(wù),之后再通過云服務(wù)平臺獲取感知數(shù)據(jù)并進行解密,最終得到感知數(shù)據(jù)并對完成任務(wù)的車輛給予獎勵.
2) 車輛(vehicular user,Vi).現(xiàn)在的車輛設(shè)備部署了豐富的計算、通信和存儲資源且有很強的移動性.車輛確保他們的設(shè)備有足夠的能力支持正常功能.他們參與任務(wù)進行收集數(shù)據(jù),并對其進行簽密等處理,最終通過云服務(wù)平臺進行數(shù)據(jù)共享以獲得信譽值或報酬.
3) 云服務(wù)平臺(server).他們有足夠的存儲和計算資源來提供眾包服務(wù).云服務(wù)平臺接收來自地圖公司的任務(wù),并將任務(wù)發(fā)放給位于感測區(qū)域的車輛霧節(jié)點.收集到霧節(jié)點的報告后,根據(jù)車輛的信譽值選擇報告,為地圖公司生成結(jié)果.
4) 車輛霧節(jié)點(vehicular fog node, VFN).批量驗證車輛發(fā)送來的聚合簽名.根據(jù)云服務(wù)平臺發(fā)放的任務(wù),霧節(jié)點找到正確的感知報告,如果有所需的數(shù)據(jù),則將其發(fā)放給云服務(wù)平臺.
5) 代理中心(central agency, CA).代理中心為云服務(wù)平臺生成所需的代理密鑰,監(jiān)視所有用戶之間的交互,并更新他們的信譽值,然后將用戶的信譽廣播給每個參與者.此外,代理中心還檢查感知數(shù)據(jù)是否被地圖公司成功接受.
6) 道路交通管理局(road and transport authority, RTA).車輛需到RTA處登記注冊.為保護車輛的隱私,RTA為每個車輛用戶生成對應(yīng)的偽身份.當要追查違規(guī)的車輛時,RTA可出示或曝光車輛的真實身份.
7) 密鑰生成中心(private key generator, PKG).為每個車輛用戶生成對應(yīng)的私鑰.
1) 系統(tǒng)建立
2) 車輛注冊
3) 密鑰生成
車輛發(fā)送QID給PKG,PKG計算用戶私鑰SID=sQID.
4) 任務(wù)發(fā)放
地圖公司將任務(wù)taski={j,QIDC,type,area,cr}外包給云服務(wù)平臺,其中包括任務(wù)編號j、公司的偽名QIDC、數(shù)據(jù)類型要求type、任務(wù)的大致區(qū)域area和此次任務(wù)對車輛用戶要求的信譽閾值cr.地圖公司通過支付報酬,去獎勵來自某一車輛的報告.云服務(wù)平臺收到后根據(jù)任務(wù)要求的區(qū)域?qū)⑷蝿?wù)分別分發(fā)給車輛霧節(jié)點.根據(jù)任務(wù),霧節(jié)點找到正確的感知報告,如果有所需的數(shù)據(jù),則將其返回到云服務(wù)平臺,反之霧節(jié)點繼續(xù)廣播此任務(wù).
5) 數(shù)據(jù)收集
為了提高數(shù)據(jù)的可靠性,愿意參與感知任務(wù)且滿足任務(wù)信譽值要求的車輛VA邀請數(shù)據(jù)路況周圍的一組車輛(V1,V2,…,Vn)(通過信譽閾值來規(guī)定n值,詳見4.2節(jié))同意其帶有相應(yīng)簽名的感知數(shù)據(jù)m.V1,V2,…,Vn先驗證車輛VA的簽名是否有效,驗證通過后,若不同意m,可及時舉報車輛VA.RTA經(jīng)過調(diào)查,確認車輛VA違規(guī),CA將增加舉報用戶的信譽值,減少車輛VA以及同意數(shù)據(jù)m的車輛用戶的信譽值.若車輛多次違規(guī),RTA將撤銷其身份;反之,若同意m,V1,V2,…,Vn則對此數(shù)據(jù)m簽名.車輛VA驗證每個車輛的簽名,對于驗證通過的車輛,車輛VA支付報酬作為對其的獎勵.最后,車輛VA將n個簽名進行聚合[27],并發(fā)送給車輛霧節(jié)點.具體過程如下:
X=rQIDA,
h=H2(X,m),
ZA=(r+h)SIDA,
得到簽名(ZA,P).
④ 簽密算法.車輛VA計算:
y=mw,
V=rU,
σAB=(X,ZA,y,V),
6) 代理重加密
① 重加密密鑰生成.CA計算:
KBC=W-SIDB.
云服務(wù)平臺通過重加密密鑰KBC對一級密文σAB進行重加密,生成地圖公司可以解密的二級密文σAC.
② 重加密.云服務(wù)平臺計算:
σAC=(X,ZA,y′),
7) 解密
地圖公司計算:
m=y′ (w′)-1,
8) 報酬獎勵
地圖公司對報告進行評估,得到有價值的數(shù)據(jù),對對應(yīng)的數(shù)據(jù)提供者進行報酬獎勵.
代理中心CA檢查感知數(shù)據(jù)是否被地圖公司成功接受.若接收,CA增加并更新車輛VA和幫助車輛VA的n個其他車輛用戶的信譽值,然后將用戶的信譽廣播給每個參與者.
1) 正確性
① 單個簽名的正確性
② 聚合簽名的正確性
證明該方案是正確的.
2) 機密性
機密性是指除了數(shù)據(jù)擁有者及數(shù)據(jù)使用者外的其他人都不知道數(shù)據(jù)的內(nèi)容.在本文中,車輛用戶對感知數(shù)據(jù)進行簽密,將加密的數(shù)據(jù)存儲在車輛霧節(jié)點中,當?shù)貓D公司希望訪問數(shù)據(jù)時,霧節(jié)點將加密的數(shù)據(jù)發(fā)送給云服務(wù)平臺,車輛用戶委托云重新加密數(shù)據(jù),只有經(jīng)過授權(quán)的地圖公司才能解密數(shù)據(jù),云服務(wù)平臺無法獲得任何有關(guān)數(shù)據(jù)的明文信息.
3) 完整性
完整性是地圖公司確保來自云服務(wù)平臺的數(shù)據(jù)沒有被篡改.地圖公司利用自己的私鑰解密得到數(shù)據(jù)m,通過計算:
h=H2(X,m),
可以對數(shù)據(jù)的完整性進行驗證.
4) 身份可驗證性
5) 不可否認性
不可否認性是防止數(shù)據(jù)所有者否認以前上傳的數(shù)據(jù).也就是說,如果數(shù)據(jù)所有者已將數(shù)據(jù)上載到云服務(wù)平臺,則它不能否認此操作.
6) 匿名性
車輛在進行通信之前,每臺車輛都會用它的真實身份IDi在道路交通管理局RTA注冊,RTA選擇H1:{0,1}*→G1,計算車輛用戶的偽身份QIDi,除RTA之外不會有任何第三方知道車輛用戶的真實身份.在整個通信過程中,參與的車輛以偽身份動態(tài)地加入簽名過程,車輛能夠在不泄露自身隱私的情況下進行匿名的信息交互,滿足了匿名性要求,保護了車輛用戶的身份隱私.
7) 可追蹤性
8) 數(shù)據(jù)可靠性
本文方案中只有滿足地圖公司信譽要求的車輛用戶才可參加感知任務(wù),同時需要車輛用戶邀請數(shù)據(jù)路況周圍的一組車輛用戶(V1,V2,…,Vn)同意其帶有相應(yīng)簽名的數(shù)據(jù).最后,云服務(wù)平臺根據(jù)用戶的信譽選擇合適的報告,有效地提高了數(shù)據(jù)的可靠性.
1) 激勵性
本文選擇使用歸一化正切函數(shù)[28]作為簽名人數(shù)n映射到信譽閾值cr的函數(shù)為
有此可得:
n=β+tan(cr(π2+arctanβ)-arctanβ).
圖4表示此函數(shù)的曲線.由圖4可知,當?shù)貓D公司要求的信譽閾值cr=0.5時,信譽值高(high credit users, HCU)的用戶只需收集10個用戶的簽名證明其數(shù)據(jù)可靠性即可,信譽值中等的用戶(medium credit users, MCU)需要收集15個用戶的簽名,信譽值低的用戶(low credit users, LCU)需要收集20個用戶的簽名.這種機制激勵用戶保持較高的參與度和可信度.
Fig. 4 Signature number calculation function curve圖4 簽名人數(shù)計算函數(shù)曲線
2) 計算效率
對于本文采用的IBSC方案[19]來說,計算時間和密文大小是影響計算效率的2個重要因素.我們將本文的SEMU方案的計算效率與CAR方案[16]和WC方案[17]的計算效率進行了比較.同時,本文使用的聚合簽名技術(shù)也降低了計算開銷.
表1列舉了這3種方案的計算時間.我們用M表示一個標量乘運算,E表示一個指數(shù)運算,P表示一個雙線性運算.我們選用由8 GB處理器內(nèi)存的Intel I5-5200 和Windows7組成的硬件平臺,通過仿真實驗結(jié)果對比了各方案的計算開銷,對比結(jié)果如圖5所示.
Table 1 Computational Time of Three Schemes表1 3種方案的計算時間
Fig. 5 Comparison of computational time of three schemes圖5 3種方案的計算時間比較
表2列舉了這3種方案的密文大小.我們用|x|表示x的位數(shù).對于密文大小,CAR方案和WC方案是相同的.一級密文和二級密文的大小都是2|G1|+|G2|+|m|.在我們的方案中,一級密文大小為3|G1|+|G2|,二級密文大小為2|G1|+|G2|.我們假設(shè)消息的大小為|m|=160 b.當采用80 b安全級別時,q=512 b.所以群G1中元素的大小是1 024 b[19].通過標準壓縮技術(shù)[29],群G1中元素的大小可以減少到65 B.群G2中元素的大小為1 024 b.所以,2|G1|+|G2|+|m|=2×65+128+20=278 B,3|G1|+|G2|=3×65+128=323 B,2|G1|+|G2|=2×65+128=258 B.3種方案的密文大小如圖6所示.
Table 2 Ciphertext Size of Three Schemes表2 3種方案的密文大小
Fig. 6 Comparison of ciphertext size of three schemes圖6 3種方案的密文大小比較
表3列舉了本方案單個簽名驗證和聚合簽名驗證的計算開銷.聚合簽名技術(shù)是將很多不同用戶的簽名聚合成為一個簽名,只需對聚合后的簽名進行驗證即可判斷收到簽名的合法性,極大地提高了消息驗證的效率.通過仿真實驗結(jié)果對比了它們的計算開銷,對比結(jié)果如圖7所示.
Table 3 Computational Time of Single Verification and Aggregated Verification
Fig. 7 Comparison of computational time between single verification and aggregated verification圖7 單個驗證和聚合驗證的計算時間比較
實驗分析結(jié)果表明:相對于單個簽名驗證,聚合簽名驗證具有計算開銷低等優(yōu)點,因此更適合于車聯(lián)網(wǎng)等資源受限的網(wǎng)絡(luò)環(huán)境中.
本文針對無人駕駛車輛地圖更新中的隱私安全問題,提出了一種安全高效的無人駕駛車輛地圖更新方案.本文利用簽密和代理重加密技術(shù),實現(xiàn)了數(shù)據(jù)的機密性、完整性、身份可驗證性和不可否認性;引入信譽閾值,提高了數(shù)據(jù)的可靠性;利用聚合簽名技術(shù),降低了計算開銷.為了保護用戶的隱私,本文通過為用戶生成偽名,實現(xiàn)了用戶的匿名性和可追蹤性.最后,通過仿真,驗證了方案的激勵性,并從計算開銷方面證明了它的有效性.