• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種使用區(qū)塊鏈保護(hù)車聯(lián)網(wǎng)數(shù)據(jù)隱私的方法

      2021-07-01 14:25:08楊顏博張嘉偉馬建峰
      關(guān)鍵詞:敵手哈希密文

      楊顏博,張嘉偉,馬建峰

      (1.內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古自治區(qū) 包頭 014040;2.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071)

      當(dāng)前,車輛Ad-Hoc網(wǎng)絡(luò)是許多研究者關(guān)注的一個(gè)熱點(diǎn)方向。通過(guò)無(wú)線網(wǎng)絡(luò)將車輛組成一個(gè)Ad-Hoc網(wǎng)絡(luò),利用嵌入式設(shè)備感知的數(shù)據(jù)提升駕駛的安全性。隨著電子信息技術(shù)的發(fā)展,在未來(lái)10~20年間,注冊(cè)在案的車輛將達(dá)到20億輛[1],即使只有一部分車輛與智能網(wǎng)絡(luò)設(shè)備結(jié)合形成車聯(lián)網(wǎng),也不可避免地會(huì)產(chǎn)生海量的數(shù)據(jù)。為了應(yīng)對(duì)海量數(shù)據(jù)產(chǎn)生的挑戰(zhàn),車輛云便由此而生[2]?;贗oT(Internet of Things)的車輛云將智能交通系統(tǒng)、無(wú)線傳感器網(wǎng)絡(luò)和移動(dòng)云計(jì)算的特點(diǎn)結(jié)合起來(lái),通過(guò)引入邊緣計(jì)算或霧計(jì)算技術(shù)[3],使得依賴于V2X(Vehicle-to-Vehicle,Vehicle-to-Infrastructure)通信技術(shù)的自動(dòng)駕駛和高級(jí)輔助應(yīng)用成為可能[4]。車聯(lián)網(wǎng)在帶來(lái)許多便利的同時(shí),其所產(chǎn)生的海量數(shù)據(jù)會(huì)極大地消耗云存儲(chǔ)空間,而且敏感信息也極易從中心化的云泄露。

      為解決中心化存儲(chǔ)的問(wèn)題,文獻(xiàn)[5]引入分布式哈希表(Distributed Hash Tables,DHT)取代中心云存儲(chǔ)車聯(lián)網(wǎng)海量數(shù)據(jù),同時(shí)使用區(qū)塊鏈為分布式數(shù)據(jù)提供便捷的存儲(chǔ)和保護(hù)。區(qū)塊鏈取代了傳統(tǒng)意義下的“受信任的第三方”[6],在設(shè)備將數(shù)據(jù)上傳到分布式哈希表之前,首先發(fā)布“存儲(chǔ)交易”到區(qū)塊鏈,表明某設(shè)備的數(shù)據(jù)將存儲(chǔ)在分布式哈希表的地址,區(qū)塊鏈驗(yàn)證交易并記錄設(shè)備的身份和存儲(chǔ)地址[7-8]。而當(dāng)設(shè)備從分布式哈希表請(qǐng)求數(shù)據(jù)時(shí),發(fā)布區(qū)塊鏈的“訪問(wèn)交易”,區(qū)塊鏈將以“受信任的第三方”身份驗(yàn)證請(qǐng)求者。如果交易經(jīng)過(guò)驗(yàn)證并寫入一個(gè)塊,存儲(chǔ)數(shù)據(jù)的分布式哈希表節(jié)點(diǎn)將發(fā)送數(shù)據(jù)給請(qǐng)求者。因此,設(shè)備和用戶的認(rèn)證通過(guò)區(qū)塊鏈可以避免可能被攻擊的“受信任的”服務(wù)器[9]。然而,該方案使用的帶有證書的公鑰基礎(chǔ)結(jié)構(gòu)引入大量復(fù)雜性,盡管基于身份的加密可以節(jié)省證書管理開(kāi)銷,但其產(chǎn)生的密鑰托管問(wèn)題一直無(wú)法得到很好的解決。同時(shí),數(shù)據(jù)的機(jī)密性和細(xì)粒度訪問(wèn)控制也是車聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)中的關(guān)鍵問(wèn)題。

      針對(duì)這些挑戰(zhàn)性問(wèn)題,筆者提出一種基于區(qū)塊鏈的車聯(lián)網(wǎng)分布式數(shù)據(jù)存儲(chǔ)和保護(hù)方案。使用分布式哈希表存儲(chǔ)車聯(lián)網(wǎng)大數(shù)據(jù),并借助區(qū)塊鏈技術(shù)完成數(shù)據(jù)的可信存取。引入無(wú)證書密碼體制[10-11]完成車輛身份驗(yàn)證,并使用區(qū)塊鏈作為共享公鑰信息的平臺(tái)來(lái)克服無(wú)證書加密方法中公鑰信息需要預(yù)先進(jìn)行廣播的缺點(diǎn),車聯(lián)網(wǎng)設(shè)備可以將其公鑰附加到他的數(shù)據(jù)訪問(wèn)請(qǐng)求,同時(shí)發(fā)送到區(qū)塊鏈以及其他設(shè)備的身份驗(yàn)證。使用部分隱藏訪問(wèn)策略的密文策略屬性基加密(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)技術(shù)[12]實(shí)現(xiàn)車聯(lián)網(wǎng)數(shù)據(jù)的機(jī)密性和細(xì)粒度訪問(wèn)控制。筆者的主要貢獻(xiàn)如下:

      (1) 提出了具有隱私保護(hù)的車聯(lián)網(wǎng)大數(shù)據(jù)共享方案。該方案實(shí)現(xiàn)了高效的數(shù)據(jù)細(xì)粒度訪問(wèn)控制以及動(dòng)態(tài)車輛撤銷,并且通過(guò)部分隱藏訪問(wèn)策略實(shí)現(xiàn)隱私保護(hù),同時(shí)基于區(qū)塊鏈實(shí)現(xiàn)用戶的數(shù)據(jù)存儲(chǔ)、訪問(wèn)和撤銷的信任機(jī)制。

      (2) 通過(guò)使用邊緣計(jì)算的方式將車聯(lián)網(wǎng)設(shè)備的計(jì)算數(shù)據(jù)轉(zhuǎn)發(fā)到分布式哈希表中進(jìn)行存儲(chǔ)。車聯(lián)網(wǎng)用戶使用區(qū)塊鏈共同創(chuàng)造區(qū)塊驗(yàn)證和記錄交易的公共賬本。分布式哈希表存儲(chǔ)地址可以存儲(chǔ)在區(qū)塊鏈中。當(dāng)用戶或?qū)嶓w從分布式哈希表請(qǐng)求數(shù)據(jù)時(shí),區(qū)塊鏈將決定是否可以授予訪問(wèn)權(quán)限,即請(qǐng)求者的身份驗(yàn)證由分布式的區(qū)塊鏈節(jié)點(diǎn)而不是受信任的集中式服務(wù)器處理。

      (3) 提出了在基于區(qū)塊鏈的無(wú)證書車聯(lián)網(wǎng)系統(tǒng),通過(guò)使用區(qū)塊鏈中公共賬本為車聯(lián)網(wǎng)系統(tǒng)提供了一種便捷的方式來(lái)廣播車輛節(jié)點(diǎn)的公鑰,從而克服了無(wú)證書密碼系統(tǒng)的缺點(diǎn)。同時(shí),無(wú)證書加密大大減少了傳統(tǒng)公鑰證書的冗余,并提供了驗(yàn)證車聯(lián)網(wǎng)設(shè)備的有效方法。

      1 預(yù)備知識(shí)

      1.1 區(qū)塊鏈技術(shù)

      在區(qū)塊鏈中,用戶共同創(chuàng)造區(qū)塊驗(yàn)證和記錄交易的公共賬本[13-14]。區(qū)塊鏈技術(shù)奠定了堅(jiān)實(shí)的“信任”基礎(chǔ),創(chuàng)造了可靠的合作機(jī)制,具有廣泛的應(yīng)用前景[15-16]。其核心技術(shù)有:

      (1) 去中心化

      區(qū)塊鏈?zhǔn)且环N點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)上的分布式賬本,每個(gè)節(jié)點(diǎn)也都存儲(chǔ)著完整的賬本信息。每個(gè)節(jié)點(diǎn)都備份完整的賬本信息,可以避免單節(jié)點(diǎn)故障引起的數(shù)據(jù)丟失。區(qū)塊鏈技術(shù)不依賴額外的第三方管理機(jī)構(gòu)或硬件設(shè)施,沒(méi)有中心管制,除了自成一體的區(qū)塊鏈本身,通過(guò)分布式核算和存儲(chǔ),各個(gè)節(jié)點(diǎn)實(shí)現(xiàn)了信息自我驗(yàn)證、傳遞和管理。去中心化是區(qū)塊鏈最本質(zhì)的特征。

      (2) 共識(shí)機(jī)制

      共識(shí)機(jī)制是解決對(duì)某個(gè)提案達(dá)成一致意見(jiàn)的過(guò)程,在沒(méi)有中心節(jié)點(diǎn)的情況下保證各個(gè)節(jié)點(diǎn)內(nèi)容的一致性。它維護(hù)系統(tǒng)的運(yùn)作順序與公平性,使每一個(gè)互不相干的節(jié)點(diǎn)能夠驗(yàn)證、確認(rèn)網(wǎng)絡(luò)中的數(shù)據(jù),進(jìn)而產(chǎn)生信任,達(dá)成共識(shí)。

      (3) 加密算法

      區(qū)塊鏈應(yīng)用中采用了很多現(xiàn)代密碼學(xué)的經(jīng)典算法,包括哈希算法、對(duì)稱加密、非對(duì)稱加密、數(shù)字簽名等,加密算法為區(qū)塊鏈的匿名性、不可篡改和不可偽造等特點(diǎn)保駕護(hù)航,是一個(gè)公鏈?zhǔn)欠裰档眯刨?、是否有基本的安全性底線的基礎(chǔ)。

      (4) 智能合約

      智能合約是以數(shù)字形式定義的能夠自動(dòng)執(zhí)行條款的合約。它將合同以代碼的形式放到區(qū)塊鏈上并在約定的條件下自動(dòng)執(zhí)行。智能合約放到區(qū)塊鏈上,能有效地防止盜版和篡改?;趨^(qū)塊鏈技術(shù)的智能合約不僅可以發(fā)揮智能合約在成本效率方面的優(yōu)勢(shì),而且可以避免惡意行為對(duì)合約正常執(zhí)行的干擾。將智能合約以數(shù)字化的形式寫入?yún)^(qū)塊鏈中,由區(qū)塊鏈技術(shù)的特性保障存儲(chǔ)、讀取、執(zhí)行,整個(gè)過(guò)程透明,可跟蹤,不可篡改。

      1.2 密碼學(xué)原語(yǔ)和復(fù)雜性問(wèn)題假設(shè)

      (3) 判定性線性假設(shè)。對(duì)于任意隨機(jī)多項(xiàng)式算法,已知(g,gxi,gx2,gx1x3,gx2x4),則區(qū)分gx3+x4和隨機(jī)元素Z∈G1是很困難的,其中,x1∈Zp,x2∈Zp,x3∈Zp,x4∈Zp。

      2 系統(tǒng)概覽

      2.1 系統(tǒng)模型

      圖1展示了車聯(lián)網(wǎng)數(shù)據(jù)分布式共享系統(tǒng)的架構(gòu)。整個(gè)系統(tǒng)由6個(gè)模塊組成:分布式存儲(chǔ)哈希表(DHT),區(qū)塊鏈網(wǎng)絡(luò)(BC),密鑰生成中心(KGC),邊緣節(jié)點(diǎn)(MN),數(shù)據(jù)所有者(DO)和數(shù)據(jù)消費(fèi)者(DP)。

      圖1 系統(tǒng)模型

      車聯(lián)網(wǎng)數(shù)據(jù)分布式共享系統(tǒng)具體描述如下:

      (1) 密鑰生成中心,用于初始化整個(gè)系統(tǒng),生成系統(tǒng)公共參數(shù)和主密鑰,并且為每個(gè)IoT用戶設(shè)備生成和分發(fā)密鑰。

      (2) 分布式存儲(chǔ)哈希表,用于為數(shù)據(jù)共享服務(wù)提供海量分布式的存儲(chǔ)空間,可以方便地通過(guò)具體的存儲(chǔ)地址進(jìn)行數(shù)據(jù)存取。本文匯總的分布式存儲(chǔ)哈希表中,特別設(shè)計(jì)了一個(gè)公共的存儲(chǔ)區(qū)域,該區(qū)域維護(hù)一個(gè)用于存儲(chǔ)所有用戶的公共轉(zhuǎn)換密鑰的密鑰池。

      (3) 區(qū)塊鏈網(wǎng)絡(luò),用于接受用戶的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)訪問(wèn)、用戶撤銷請(qǐng)求,并通過(guò)相應(yīng)的交易和一致性共識(shí)協(xié)議來(lái)決定是否接受請(qǐng)求,同時(shí)區(qū)塊鏈網(wǎng)絡(luò)還記錄用戶加密數(shù)據(jù)的訪問(wèn)策略,并且保證訪問(wèn)策略不被篡改。

      (4) 邊緣節(jié)點(diǎn),用于獲取車聯(lián)網(wǎng)終端設(shè)備的數(shù)據(jù)并聚集后,通過(guò)區(qū)塊鏈網(wǎng)絡(luò)申請(qǐng)存儲(chǔ)到分布式存儲(chǔ)哈希表中,同時(shí)在終端用戶設(shè)備請(qǐng)求數(shù)據(jù)時(shí),通過(guò)區(qū)塊鏈網(wǎng)絡(luò)從分布式存儲(chǔ)哈希表中獲取對(duì)應(yīng)的共享數(shù)據(jù)以及公共區(qū)域中的相應(yīng)用戶的公共轉(zhuǎn)換密鑰,進(jìn)行外包解密后,傳遞至對(duì)應(yīng)的車聯(lián)網(wǎng)終端用戶設(shè)備中進(jìn)行本地?cái)?shù)據(jù)解密。

      (5) 數(shù)據(jù)所有者,即車聯(lián)網(wǎng)終端用戶設(shè)備,包括用戶設(shè)備(例如,用戶手機(jī),筆記本電腦等)和各種車載傳感器設(shè)備(例如,車載計(jì)算機(jī),輪胎傳感器,車載智能儀表等),數(shù)據(jù)所有者用于生成各種數(shù)據(jù),加密后經(jīng)過(guò)邊緣節(jié)點(diǎn)向區(qū)塊鏈網(wǎng)絡(luò)申請(qǐng)外包存儲(chǔ)至分布式存儲(chǔ)哈希表中。

      (6) 數(shù)據(jù)消費(fèi)者,也是車聯(lián)網(wǎng)終端用戶設(shè)備,在有需要的時(shí)候,通過(guò)邊緣節(jié)點(diǎn)向區(qū)塊鏈網(wǎng)絡(luò)請(qǐng)求分享相應(yīng)的數(shù)據(jù)并得到邊緣節(jié)點(diǎn)返還的部分解密結(jié)果,通過(guò)驗(yàn)證該結(jié)果的正確性后在本地恢復(fù)共享數(shù)據(jù)明文。

      2.2 威脅模型

      在筆者提出的車聯(lián)網(wǎng)數(shù)據(jù)分布式共享系統(tǒng)中,密鑰生成中心是完全信任的實(shí)體;區(qū)塊鏈網(wǎng)絡(luò)被認(rèn)為是可信的分布式第三方實(shí)體;分布式存儲(chǔ)哈希表和邊緣節(jié)點(diǎn)被認(rèn)為是半可信實(shí)體,它們會(huì)忠實(shí)執(zhí)行協(xié)議的流程,但是會(huì)對(duì)具體的數(shù)據(jù)信息產(chǎn)生好奇,可能會(huì)泄露敏感數(shù)據(jù),包括數(shù)據(jù)以及訪問(wèn)策略中包含的隱私信息,以及對(duì)于邊緣節(jié)點(diǎn)外包解密的懶惰操作或者返回之前的結(jié)果;數(shù)據(jù)所有者被認(rèn)為是完全可信的實(shí)體,而數(shù)據(jù)消費(fèi)者被認(rèn)為存在惡意的數(shù)據(jù)消費(fèi)者,通過(guò)串謀攻擊等手段非法訪問(wèn)共享數(shù)據(jù),并且泄露訪問(wèn)策略中的隱私信息。

      2.3 安全模型

      本節(jié)給出所提方案的機(jī)密性和隱私性安全模型,這兩個(gè)模型描述如下。

      (1) 機(jī)密性。該模型定義為一個(gè)敵手A和挑戰(zhàn)者C之間的游戲,其中敵手可以多次詢問(wèn)用戶屬性密鑰,轉(zhuǎn)換密鑰,解密和用戶撤銷。該安全游戲定義如下:

      ① 系統(tǒng)建立。挑戰(zhàn)者C運(yùn)行Setup算法生成系統(tǒng)公共參數(shù)和主密鑰,并將系統(tǒng)公共參數(shù)發(fā)送給敵手A。同時(shí),挑戰(zhàn)者C建立一個(gè)列表L用于管理轉(zhuǎn)換密鑰。

      ② 詢問(wèn)1。敵手A適應(yīng)性地發(fā)布用戶屬性密鑰詢問(wèn)、轉(zhuǎn)換密鑰詢問(wèn)、解密詢問(wèn)和用戶撤銷詢問(wèn)、對(duì)于詢問(wèn)中的每一個(gè)屬性集合Si,挑戰(zhàn)者C生成對(duì)應(yīng)的用戶屬性密鑰AKi和轉(zhuǎn)換密鑰TKi,存入列表L。如果列表L存在敵手A查詢的元組,則返回給敵手A;否則,返回空。對(duì)于解密詢問(wèn),如果敵手A查詢的元組不存在,挑戰(zhàn)者C也返回空。對(duì)于用戶撤銷詢問(wèn),挑戰(zhàn)者C同時(shí)更新列表L。

      ③ 挑戰(zhàn)者應(yīng)答。敵手A輸出兩個(gè)等長(zhǎng)消息m0,m1和一個(gè)挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)}),該挑戰(zhàn)訪問(wèn)策略與詢問(wèn)1中的所有屬性集合Si都不匹配。接著,挑戰(zhàn)者C隨機(jī)選擇b∈{0,1},并根據(jù)挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)})產(chǎn)生消息mb的密文CT*且返回給敵手A。

      ④ 詢問(wèn)2。敵手A繼續(xù)發(fā)布用戶屬性密鑰詢問(wèn)和轉(zhuǎn)換密鑰詢問(wèn),這些詢問(wèn)中的屬性集合同樣不滿足挑戰(zhàn)訪問(wèn)策略。之后,挑戰(zhàn)者C的響應(yīng)類似于詢問(wèn)1。

      ⑤ 猜測(cè)。敵手A輸出對(duì)b的猜測(cè)b′,如果b=b′,則敵手A贏得該安全游戲。

      (2) 隱私性。該模型也定義為一個(gè)敵手A和挑戰(zhàn)者C之間的如下游戲:

      ① 系統(tǒng)建立。挑戰(zhàn)者C運(yùn)行Setup算法生成系統(tǒng)公共參數(shù)和主密鑰,并將系統(tǒng)公共參數(shù)發(fā)送給敵手A。

      ② 詢問(wèn)1。敵手A適應(yīng)性地發(fā)布用戶屬性密鑰詢問(wèn)、轉(zhuǎn)換密鑰詢問(wèn)、解密詢問(wèn)和用戶撤銷詢問(wèn)。對(duì)于詢問(wèn)中的每一個(gè)屬性集合Si,挑戰(zhàn)者C生成對(duì)應(yīng)的用戶屬性密鑰AKi和轉(zhuǎn)換密鑰TKi,存入列表L。如果列表L存在敵手A查詢的元組,則返回給敵手A;否則,返回空。對(duì)于解密詢問(wèn),如果敵手A查詢的元組不存在,挑戰(zhàn)者C也返回空。對(duì)于用戶撤銷詢問(wèn),挑戰(zhàn)者C同時(shí)更新列表L。

      ③ 挑戰(zhàn)者應(yīng)答。敵手A輸出一個(gè)消息m以及兩個(gè)挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)}0)和(M*,ρ*,{sρ*(i)}1),這兩個(gè)挑戰(zhàn)訪問(wèn)策略與詢問(wèn)1中的所有屬性集合Si都不匹配。接著,挑戰(zhàn)者C隨機(jī)選擇b∈{0,1},并根據(jù)挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)}b′)產(chǎn)生消息m的密文CT*且返回給敵手A。

      ④ 詢問(wèn)2。敵手A繼續(xù)發(fā)布用戶屬性密鑰詢問(wèn)和轉(zhuǎn)換密鑰詢問(wèn),這些詢問(wèn)中的屬性集合同樣不滿足兩個(gè)挑戰(zhàn)訪問(wèn)策略。之后,挑戰(zhàn)者C的響應(yīng)類似于詢問(wèn)1。

      ⑤ 猜測(cè)。敵手A輸出對(duì)b的猜測(cè)b′,如果b=b′,則敵手A贏得該安全游戲。

      上述兩個(gè)安全游戲中,敵手A的優(yōu)勢(shì)定義為AdvA=|Pr[b=b′]-1/2|,Pr表示概率。

      定義1如果任意隨機(jī)多項(xiàng)式時(shí)間的敵手最多以一個(gè)可忽略的優(yōu)勢(shì)贏得上述安全游戲,則筆者所提方案的機(jī)密性和隱私性在選擇明文攻擊下是不可區(qū)分性(INDistinguishability under Chose-Plaintext Attack,IND-CPA)安全的。

      3 系統(tǒng)方案

      3.1 方案原理

      在筆者設(shè)計(jì)的車聯(lián)網(wǎng)數(shù)據(jù)分布式共享系統(tǒng)中,車聯(lián)網(wǎng)中的車輛中部署了大量的終端設(shè)備。這些設(shè)備會(huì)產(chǎn)生大量數(shù)據(jù),其中包含大量敏感數(shù)據(jù)(例如,位置隱私數(shù)據(jù),用戶隱私數(shù)據(jù),車輛狀況數(shù)據(jù),車輛信任數(shù)據(jù)等)。為了減輕本地存儲(chǔ)負(fù)擔(dān)以及完成數(shù)據(jù)共享,終端設(shè)備將這些數(shù)據(jù)加密并指定對(duì)應(yīng)的訪問(wèn)策略以保證細(xì)粒度訪問(wèn)控制和機(jī)密性。接著,這些數(shù)據(jù)會(huì)被存儲(chǔ)至分布式存儲(chǔ)平臺(tái)中進(jìn)行共享,在有需要的時(shí)候,車輛終端設(shè)備會(huì)訪問(wèn)這些共享的數(shù)據(jù)。然而,訪問(wèn)策略中往往包含了許多隱私數(shù)據(jù),例如用戶隱私,位置隱私等。根據(jù)系統(tǒng)威脅模型,為了保護(hù)訪問(wèn)策略中的數(shù)據(jù)隱私,筆者采用了部分隱藏訪問(wèn)策略的數(shù)據(jù)細(xì)粒度訪問(wèn)控制方案來(lái)實(shí)現(xiàn)車聯(lián)網(wǎng)數(shù)據(jù)共享。車聯(lián)網(wǎng)中的每輛車被認(rèn)為是一個(gè)移動(dòng)的邊緣節(jié)點(diǎn),它收集車輛內(nèi)部署的終端設(shè)備的數(shù)據(jù),將這些數(shù)據(jù)匯集后,通過(guò)區(qū)塊鏈網(wǎng)絡(luò)存儲(chǔ)至分布式存儲(chǔ)哈希表中。而在終端設(shè)備有需要時(shí),向區(qū)塊鏈網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)訪問(wèn),并對(duì)這些加密數(shù)據(jù)進(jìn)行外包解密,將部分解密的結(jié)果返回給對(duì)應(yīng)的終端設(shè)備進(jìn)行本地解密,以減輕資源受限的終端設(shè)備的計(jì)算負(fù)擔(dān)。筆者使用了可驗(yàn)證的外包解密技術(shù)來(lái)實(shí)現(xiàn)該需求。另外,在系統(tǒng)初始化時(shí),每個(gè)車輛終端設(shè)備需要進(jìn)行注冊(cè),由密鑰生成中心為每個(gè)終端設(shè)備產(chǎn)生密鑰,以便其請(qǐng)求存儲(chǔ)和訪問(wèn)數(shù)據(jù)時(shí),對(duì)具體的區(qū)塊鏈交易數(shù)據(jù)進(jìn)行簽名和驗(yàn)證。為了減輕對(duì)于密鑰生成中心的信任依賴以防止密鑰托管問(wèn)題,本方案采用了文獻(xiàn)[17]中的無(wú)證書公鑰方法來(lái)為每個(gè)終端設(shè)備生成公鑰和私鑰對(duì)。說(shuō)明:文中不涉及區(qū)塊鏈具體實(shí)現(xiàn)細(xì)節(jié),只是使用了抽象的形式化表示方法。

      3.2 方案構(gòu)造

      3.2.1 系統(tǒng)初始化階段

      3.2.2 用戶注冊(cè)階段

      (2) 轉(zhuǎn)換密鑰生成TKeyGen(PK,AKu)。該算法由密鑰生成中心執(zhí)行。輸入系統(tǒng)公共參數(shù)PK,用戶的屬性密鑰AKu,該算法隨機(jī)選擇zu∈Zp作為該用戶的秘密轉(zhuǎn)換密鑰TKs=zu,計(jì)算公共轉(zhuǎn)換密鑰TKp={K1=(D1)1/zu,K2=(D2)1/zu,Ki,1=(Di,1)1/zu,Ki,2=(Di,2)1/zu,Ki,3=(Di,3)1/zu,Ki,4=(Di,4)1/zu,Ki,5=(Di,5)1/zu}。最后,密鑰生成中心將秘密轉(zhuǎn)換密鑰TKs通過(guò)安全通道傳送給用戶,將公共轉(zhuǎn)換密鑰TKp通過(guò)區(qū)塊鏈傳送給分布式存儲(chǔ)哈希表的公共存儲(chǔ)區(qū)域的用戶密鑰池KP=KP∪KPu,其中KPu={uid,S,TKp}。

      (3) 用戶公私鑰對(duì)生成SKeyGen(PK,IDA)。該算法由用戶和密鑰生成中心一起執(zhí)行。輸入系統(tǒng)公共參數(shù)PK,用戶身份標(biāo)識(shí)IDA,密鑰生成中心產(chǎn)生一個(gè)部分秘密密鑰PSKA,并且將Rsp=IDA‖PSKA‖Sig(IDA‖PSKA,SKK)傳遞給用戶IDA。用戶使用密鑰生成中心的公鑰PKK驗(yàn)證該消息的正確性后接受PSKA。接著,用戶IDA在本地生成自己的私鑰LSKA和公鑰PKA,并且根據(jù)PSKA,LSKA生成自己的私鑰SKA。由于只有用戶IDA自己知道LSKA,因此可以避免其私鑰SKA的托管泄露問(wèn)題。

      3.2.3 數(shù)據(jù)加密階段

      其次,算法選擇隨機(jī)向量γ=(s,γ2,…,γn),其中γi∈RZp。對(duì)于訪問(wèn)策略矩陣中的每一行Mi,該算法計(jì)算τi=γ·Mi作為訪問(wèn)策略中每一個(gè)屬性的秘密分享部分。該算法同時(shí)還為每一行隨機(jī)選擇ti,1,…,ti,l,t1,2,…,tl,2,r1,…,rl,它們均屬于集合RZp,并計(jì)算:

      最后,數(shù)據(jù)加密算法輸出最終的訪問(wèn)策略部分隱藏的密文CT={(M,ρ),Cs,σ,C0,C1,{Ci,1,Ci,2,Ci,3,Ci,4,Ci,5,Ci,6}i∈[l]}。

      (2) 該終端用戶生成密文后,需要產(chǎn)生一個(gè)區(qū)塊鏈交易作為數(shù)據(jù)存儲(chǔ)請(qǐng)求,通過(guò)邊緣節(jié)點(diǎn)發(fā)送給區(qū)塊鏈網(wǎng)絡(luò)。該交易的格式為TA={PKA,IDA,CT,Addr,SigA},其中PKA,IDA是用戶的公鑰和身份表示,CT是其產(chǎn)生的密文(包含訪問(wèn)策略和對(duì)稱加密密文),Addr是申請(qǐng)存入的分布式存儲(chǔ)哈希表的地址,SigA是用戶對(duì)該交易信息的簽名。之后,用戶IDA將該交易廣播到區(qū)塊鏈網(wǎng)絡(luò)中。區(qū)塊鏈網(wǎng)絡(luò)中的各節(jié)點(diǎn)驗(yàn)證用戶IDA及其公鑰PKA的一致性,同時(shí)驗(yàn)證簽名SigA的正確性。根據(jù)區(qū)塊鏈共識(shí)協(xié)議,區(qū)塊鏈節(jié)點(diǎn)通過(guò)該交易后,交易信息會(huì)記錄到新的區(qū)塊中,同時(shí)將密文CT上傳到指定地址的分布式存儲(chǔ)哈希表中進(jìn)行外包存儲(chǔ)和數(shù)據(jù)共享。

      3.2.4 數(shù)據(jù)訪問(wèn)階段

      (1) 當(dāng)數(shù)據(jù)消費(fèi)者IDB請(qǐng)求訪問(wèn)共享數(shù)據(jù)時(shí),產(chǎn)生一個(gè)區(qū)塊鏈交易TB={PKB,IDB,Addr,SigB},通過(guò)邊緣節(jié)點(diǎn)廣播至區(qū)塊鏈網(wǎng)絡(luò)中。區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)收到該交易并校驗(yàn)成功后,會(huì)從指定地址Addr獲取密文CT,并從分布式存儲(chǔ)哈希表的公共存儲(chǔ)空間Addr0中獲取對(duì)應(yīng)用戶IDB的公共轉(zhuǎn)換密鑰TKp,且判斷TKp中的屬性集合是否符合CT中的部分隱藏訪問(wèn)策略。如果符合,則將所有信息返回給IDB所在邊緣節(jié)點(diǎn)進(jìn)行外包解密;否則,流程中斷。

      計(jì)算出部分外包解密結(jié)果F后,邊緣節(jié)點(diǎn)將該結(jié)果以及密文CT傳遞給終端用戶進(jìn)行本地解密。

      (3) 用戶數(shù)據(jù)解密Decryptlocal(PK,F(xiàn),CT,TKs)。該算法由終端用戶在本地終端設(shè)備執(zhí)行。輸入系統(tǒng)公共參數(shù)PK,部分解密結(jié)果F以及密文CT。

      其次,用戶驗(yàn)證公式σ=H2(R′‖Cs)是否成立。如果該等式不成立,則中斷流程;如果等式成立,則外包解密正確執(zhí)行,用戶根據(jù)所得到的對(duì)稱加密密鑰k*解密Cs,從而恢復(fù)數(shù)據(jù)明文m=Decs(k*,Cs)。

      3.2.5 用戶撤銷階段

      用戶撤銷UserRevoke(KP,uid)。當(dāng)系統(tǒng)要撤銷一個(gè)用戶uid時(shí),密鑰生成中心產(chǎn)生一個(gè)交易信息TK=(PKK,IDK,uid,Addr0,SigK),其中Addr0表示分布式存儲(chǔ)哈希表的公共存儲(chǔ)區(qū)域。密鑰生成中心然后將該交易作為撤銷請(qǐng)求發(fā)布到區(qū)塊鏈網(wǎng)絡(luò)中。該交易通過(guò)后,會(huì)將被撤銷用戶uid發(fā)送到分布式存儲(chǔ)哈希表的公共存儲(chǔ)區(qū)域中的用戶密鑰存儲(chǔ)池KP中,從KP中刪除uid的相關(guān)記錄,并且得到更新后的KP′。當(dāng)被撤銷用戶再次申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)時(shí),邊緣節(jié)點(diǎn)將無(wú)法得到公共轉(zhuǎn)換密鑰和屬性集合,即無(wú)法進(jìn)行安全外包解密,因此,被撤銷用戶無(wú)法再次訪問(wèn)之前和之后系統(tǒng)共享的數(shù)據(jù),從而保證了前向和后向的安全。

      4 安全分析

      定理1如果雙線性群上的(q-1)假設(shè)和判定性線性假設(shè)成立,則方案是不可區(qū)分性安全和隱私安全的。

      證明 使用規(guī)約法,將本文方案(簡(jiǎn)記為Σ1)的安全性規(guī)約到文獻(xiàn)[18]的方案(簡(jiǎn)記為Σ0)上。假設(shè)存在一個(gè)敵手A可以以不可忽略的優(yōu)勢(shì)ε在挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)})下攻破Σ1,則可以構(gòu)建一個(gè)模擬器B以同樣的優(yōu)勢(shì)攻擊Σ0。

      (1) 初始化。模擬器B獲取敵手A發(fā)來(lái)的挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)}),并轉(zhuǎn)發(fā)給Σ0的挑戰(zhàn)者C。

      (3) 詢問(wèn)1。敵手A適應(yīng)性地發(fā)布用戶屬性密鑰詢問(wèn)、轉(zhuǎn)換密鑰詢問(wèn)、解密詢問(wèn)和用戶撤銷詢問(wèn)。對(duì)于詢問(wèn)中的每一個(gè)不滿足于挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)})的屬性集合Si,B將其發(fā)送到Σ0。隨后,B根據(jù)收到的密鑰AK*={K1*,K2*,{Kj,1*,Kj,2*,Kj,3*,Kj,4*,Kj,5*}j∈Si}生成對(duì)應(yīng)的用戶屬性密鑰AKi,并隨機(jī)選擇一個(gè)秘密轉(zhuǎn)換秘鑰TKs,i=z*,同時(shí)根據(jù)AKi計(jì)算對(duì)應(yīng)的轉(zhuǎn)換密鑰TKp,i,將元組(S,AKi,TKs,i,TKp,i)存入列表L。如果列表L存在敵手A查詢的元組,則返回給敵手A;否則,返回空。對(duì)于解密詢問(wèn),如果敵手A查詢的元組不存在,則B也返回空。對(duì)于用戶撤銷詢問(wèn),B同時(shí)更新列表L。

      (4) 挑戰(zhàn)者應(yīng)答。敵手A輸出兩個(gè)等長(zhǎng)消息m0,m1和一個(gè)挑戰(zhàn)訪問(wèn)策略(M*,ρ*,{sρ*(i)}),該挑戰(zhàn)訪問(wèn)策略與詢問(wèn)1中的所有屬性集合Si都不匹配。接著,B將其發(fā)送至C,得到一個(gè)挑戰(zhàn)者密文CT*并返回給敵手A。

      (5) 詢問(wèn)2。敵手A繼續(xù)發(fā)布類似于詢問(wèn)1的請(qǐng)求給B。之后,B的響應(yīng)類似于詢問(wèn)1。

      (6) 猜測(cè)。敵手A輸出對(duì)b的猜測(cè)bA,如果b=bA,則模擬器B輸出器猜測(cè)為0,意味著C的輸出是一個(gè)確定的q-1問(wèn)題的輸出,且猜測(cè)正確的概率為ε+1/2;否則,B輸出1,即C返回的密文是隨機(jī)數(shù)且猜測(cè)正確的概率為1/2。B能夠猜測(cè)C的密文的優(yōu)勢(shì)為

      AdvB=1/2×(ε+1/2)+1/2×1/2-1/2=ε/2。

      因此,如果A能夠以不可忽略的優(yōu)勢(shì)攻破方案Σ1,則B可以以優(yōu)勢(shì)ε/2攻破方案Σ0。如果(q-1)假設(shè)和判定性線性假設(shè)成立,則與之相矛盾。因此,筆者提出方案的機(jī)密性是IND-CPA安全的。該方案的隱私性安全證明類似于機(jī)密性證明。

      5 性能分析

      5.1 實(shí)驗(yàn)環(huán)境及參數(shù)設(shè)置

      使用Java語(yǔ)言實(shí)現(xiàn)了方案原型,并且在一臺(tái)安裝有安卓操作系統(tǒng)版本10的華為P30手機(jī)仿真平臺(tái)上作為用戶端進(jìn)行了測(cè)試。該實(shí)驗(yàn)中,使用JPBC的開(kāi)發(fā)包實(shí)現(xiàn)雙線性群的各種操作,以AES作為對(duì)稱加密算法進(jìn)行仿真實(shí)驗(yàn),同時(shí)使用一臺(tái)安裝有Windows 10操作系統(tǒng)的惠普電腦作為服務(wù)器端,以一臺(tái)安裝有Windows 10操作系統(tǒng)的Thinkpad 翼480電腦作為邊緣節(jié)點(diǎn)進(jìn)行聯(lián)網(wǎng)運(yùn)行仿真測(cè)試。實(shí)驗(yàn)分別對(duì)不同個(gè)數(shù)的文件解密時(shí)間、不同用戶數(shù)情況下的用戶密鑰產(chǎn)生時(shí)間以及用戶密鑰和密文的空間占用大小進(jìn)行了實(shí)際測(cè)試和分析。

      5.2 實(shí)驗(yàn)結(jié)果及對(duì)比分析

      5.2.1 文件解密性能評(píng)估

      圖2描述了本文方案和文獻(xiàn)[18]中的方案在不同文件個(gè)數(shù)情況下的文件解密時(shí)間消耗對(duì)比。

      (a) 文件個(gè)數(shù)為1

      (b) 文件個(gè)數(shù)為2 (c) 文件個(gè)數(shù)為3

      (d) 文件個(gè)數(shù)為4

      圖2分別對(duì)應(yīng)文件個(gè)數(shù)1到4的解密時(shí)間。從4幅圖中,可以看到本方案中的文件解密時(shí)間基本保持平穩(wěn)。4幅圖中的方案[18]的解密時(shí)間,在文件個(gè)數(shù)保持一定的情況下,跟隨訪問(wèn)策略中的復(fù)雜度的增大而增加;而且隨著文件個(gè)數(shù)的增長(zhǎng),在同樣的訪問(wèn)策略復(fù)雜度情況下,解密時(shí)間也在增長(zhǎng)。因此,本方案的解密時(shí)間消耗遠(yuǎn)低于文獻(xiàn)[18]的方案而且保持不變,原因在于筆者采用了外包解密方法,提升了解密效率。

      5.2.2 密鑰生成性能評(píng)估

      圖3刻畫了本文方案和文獻(xiàn)[18]方案的密鑰生成時(shí)間消耗情況對(duì)比。在密鑰生成實(shí)驗(yàn)中,對(duì)不同的用戶個(gè)數(shù)下的密鑰生成時(shí)間進(jìn)行了測(cè)量。圖3(a)和圖3(b)分別對(duì)用戶個(gè)數(shù)為1和2的密鑰生成時(shí)間進(jìn)行對(duì)比??梢钥吹剑疚姆桨傅臅r(shí)間消耗略高于文獻(xiàn)[18]的方案,主要原因在于本文方案在用戶密鑰生成過(guò)程中,不僅僅對(duì)屬性密鑰進(jìn)行分發(fā),同時(shí)對(duì)無(wú)證書公私鑰對(duì)進(jìn)行分配,因此增加了額外的密鑰生成時(shí)間,但是從圖3中可以看出,這個(gè)額外時(shí)間消耗非常小。

      (a) 用戶個(gè)數(shù)為1

      (b) 用戶個(gè)數(shù)為2

      (a) 用戶密鑰大小

      (b) 用戶密文大小

      5.2.3 密鑰和密文存儲(chǔ)空間評(píng)估

      對(duì)于用戶側(cè)持有的密鑰和生成的密文所消耗的存儲(chǔ)空間,圖4進(jìn)行了具體的描述。圖4(a)刻畫了兩個(gè)方案的用戶密鑰大小隨著用戶屬性集大小的變化情況。從圖4(a)中可以很明顯地看到,當(dāng)用戶屬性集增大時(shí),文獻(xiàn)[18]方案中的密鑰空間占用也在增大;而在文中方案中,由于使用了外包解密,用戶只持有秘密轉(zhuǎn)換密鑰和無(wú)證書私鑰,因此用戶密鑰大小是常數(shù),而且遠(yuǎn)小于文獻(xiàn)[18]方案的。圖4(b)則刻畫了兩個(gè)方案的密文占用空間對(duì)比,可以很明顯看到,文中方案的密文大小略大于文獻(xiàn)[18]方案的。這是由于本方案在生成密文后,還需要生成區(qū)塊鏈的簽名,對(duì)于密文的大小有了額外的空間消耗,但是在固定的屬性集大小情況下,文中方案的密文空間占用幾乎與文獻(xiàn)[18]方案的相同。

      6 結(jié)束語(yǔ)

      針對(duì)車聯(lián)網(wǎng)中的隱私數(shù)據(jù)共享問(wèn)題,筆者提出了一種基于區(qū)塊鏈的具有隱私保護(hù)的高效車聯(lián)網(wǎng)數(shù)據(jù)分布式共享方法。該方法基于區(qū)塊鏈解決數(shù)據(jù)存儲(chǔ)、訪問(wèn)和用戶撤銷中的信任問(wèn)題,同時(shí)基于無(wú)證書密碼體系實(shí)現(xiàn)區(qū)塊鏈交易的簽名和認(rèn)證以及降低用戶密鑰泄露風(fēng)險(xiǎn),而區(qū)塊鏈又可以為車聯(lián)網(wǎng)節(jié)點(diǎn)提供公鑰廣播,從而克服了無(wú)證書密碼系統(tǒng)的缺點(diǎn)。該方法同時(shí)結(jié)合邊緣計(jì)算設(shè)備提出了一種高效的部分隱藏訪問(wèn)策略的數(shù)據(jù)細(xì)粒度訪問(wèn)控制方案,不僅提供了高效數(shù)據(jù)訪問(wèn)機(jī)制,而且支持了大量車輛的動(dòng)態(tài)加入和撤銷。另外,通過(guò)將數(shù)據(jù)存儲(chǔ)在分布式共享系統(tǒng)中,避免了集中式存儲(chǔ)帶來(lái)的問(wèn)題。大量實(shí)驗(yàn)分析對(duì)比證明了該方法的高效性和實(shí)用性。

      猜你喜歡
      敵手哈希密文
      一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
      一種支持動(dòng)態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
      不帶著怒氣做任何事
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      基于維度分解的哈希多維快速流分類算法
      云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
      基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
      一種基于Bigram二級(jí)哈希的中文索引結(jié)構(gòu)
      不帶著怒氣作戰(zhàn)
      东方市| 牡丹江市| 东丽区| 汨罗市| 屏东县| 宣城市| 比如县| 嘉善县| 宕昌县| 绥中县| 泾川县| 阿拉善盟| 台中市| 梅河口市| 儋州市| 新泰市| 前郭尔| 三台县| 宁强县| 拜泉县| 建瓯市| 溆浦县| 孝感市| 札达县| 白银市| 沈阳市| 瑞昌市| 兴海县| 阿图什市| 读书| 建宁县| 谷城县| 鹿泉市| 岳阳县| 剑河县| 莱州市| 邵阳县| 潜山县| 大英县| 年辖:市辖区| 徐州市|