關(guān)鍵詞:區(qū)塊鏈;車聯(lián)網(wǎng);QC-MDPC;分布式存儲(chǔ)
0 引言
隨著自動(dòng)駕駛的快速發(fā)展,車輛在行駛過程中產(chǎn)生的數(shù)據(jù)可應(yīng)用的范圍越來越廣,這些數(shù)據(jù)數(shù)量呈爆炸式增長(zhǎng),如何對(duì)這些數(shù)據(jù)進(jìn)行存儲(chǔ)和共享成為現(xiàn)階段的重要問題。通過車聯(lián)網(wǎng)(Internet of Vehicle,IOV) 將使用科學(xué)技術(shù)收集和處理的數(shù)據(jù)發(fā)送給相關(guān)實(shí)體,以滿足車輛應(yīng)用范圍的需要[1]。由于車輛行駛的范圍很廣,車輛需要與路側(cè)單元(Road Side Unit,RSU)以及旁邊車輛進(jìn)行數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)共享,部分用戶會(huì)擔(dān)心數(shù)據(jù)在共享過程中會(huì)被惡意竊取以及篡改。為保證數(shù)據(jù)共享過程更安全和透明,在此階段,區(qū)塊鏈驅(qū)動(dòng)的車聯(lián)網(wǎng)逐漸走到大眾的視野,并受到大量的關(guān)注。
巫光福等人[2]認(rèn)為車聯(lián)網(wǎng)采用云計(jì)算與邊緣計(jì)算混合的架構(gòu)來實(shí)現(xiàn)數(shù)據(jù)安全共享,保證數(shù)據(jù)的安全性和完整性,但是仍然存在網(wǎng)絡(luò)堵塞、網(wǎng)絡(luò)時(shí)延高、容易堵塞等問題。楊顏博等人[3]采用隱藏訪問控制的可驗(yàn)證方法提高訪問控制,使用可驗(yàn)證外包解密保證數(shù)據(jù)的安全可靠。陶永才等人[4]結(jié)合無證書代理簽名技術(shù)對(duì)車輛進(jìn)行加密,引入霧計(jì)算對(duì)車輛存儲(chǔ)保證車輛的可靠性。
本文將RSU作為區(qū)塊鏈節(jié)點(diǎn),實(shí)時(shí)響應(yīng)車輛請(qǐng)求,為車輛提供數(shù)據(jù)采集、導(dǎo)航、數(shù)據(jù)傳輸?shù)榷鄻踊?wù)。這樣,系統(tǒng)在為用戶提供安全、便捷、智能、高效的駕駛服務(wù)和體驗(yàn)的同時(shí),可以顯著降低網(wǎng)絡(luò)延遲。由于車輛之間交換的數(shù)據(jù)包含大量用戶的隱私信息,如行駛路線、用戶身份等。在這個(gè)復(fù)雜的系統(tǒng)中,用戶的隱私很容易被泄露。針對(duì)上述問題,采取以下措施:1) 引進(jìn)基于QC - MDPC 碼的公鑰密碼和AES算法對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行加密,保護(hù)車輛數(shù)據(jù)安全,抵抗女巫攻擊、抗量子攻擊等。2) 借助IPFS和區(qū)塊鏈對(duì)車輛的數(shù)據(jù)進(jìn)行存儲(chǔ),保證數(shù)據(jù)的安全性和可靠性,使用PBFT共識(shí)算法對(duì)車輛上傳和訪問的數(shù)據(jù)進(jìn)行控制驗(yàn)證,防止單一節(jié)點(diǎn)被攻擊篡改數(shù)據(jù)。3) 引入車輛假名,提高車輛的匿名性,增強(qiáng)車聯(lián)網(wǎng)的訪問安全。
1 相關(guān)知識(shí)
1.1 IPFS
星際文件系統(tǒng)(Inter Planetary File System,IPFS) 是一種將網(wǎng)絡(luò)中的節(jié)點(diǎn)構(gòu)成的分布式系統(tǒng),是分布式存儲(chǔ)和共享文件的超媒體網(wǎng)絡(luò)傳輸協(xié)議[5]?,F(xiàn)階段IPFS結(jié)合多種技術(shù)形成分布式系統(tǒng),當(dāng)文件發(fā)送至IPFS存儲(chǔ),網(wǎng)絡(luò)中的所有對(duì)等體都可以使用該文件;上傳的文件被分切成多個(gè)板塊并使用唯一的哈希值進(jìn)行標(biāo)識(shí),從而實(shí)現(xiàn)對(duì)內(nèi)容尋址的效果。它使用哈希表查找文件的內(nèi)容,將數(shù)據(jù)存儲(chǔ)至IPFS中,散列值存儲(chǔ)在塊中,大大地節(jié)省存儲(chǔ)空間,系統(tǒng)中會(huì)存在同樣內(nèi)容的副本信息,若篡改原數(shù)據(jù)信息,可通過對(duì)比判斷IPFS中的信息是否發(fā)生改變,故使用副本可以保護(hù)IIPn5lAq3KPi2eWXiNGwwsL9A==PFFSS可的以用永戶久數(shù)存據(jù)儲(chǔ)不和被共篡享改數(shù)。據(jù)IPF,S沒具有有單以點(diǎn)下故特障點(diǎn)。:12)) IIPPFFSS是可基以于存內(nèi)儲(chǔ)容各的種尋類址型。
1.2 基于QC - MDPC碼的公鑰密碼體系
對(duì)于LDPC碼本就存在的稀疏性提出基于QC - MDPC 公鑰密碼體系[6],已知LDPC碼具有以下定義1。
定義1 (LDPC/MDPC 碼): 一個(gè)(n, r, w)LDPC 或MDPC碼是長(zhǎng)度為n,余維為r的線性碼,其中,r =n-k,k(k<n)表示碼的維度,其允許一個(gè)恒行權(quán)重w的奇偶校驗(yàn)矩陣。
中密度準(zhǔn)循環(huán)奇偶校驗(yàn)(QC - MDPC)碼是采用準(zhǔn)循環(huán)形式的密度相對(duì)更高的LDPC碼。QC - MDPC碼的準(zhǔn)循環(huán)結(jié)構(gòu)奇偶校驗(yàn)矩陣HQC 如式1所示,其中,Hij是循環(huán)塊矩陣,由H11線性變化循環(huán)得到。
2 車聯(lián)網(wǎng)的共享模型
2.1 模型的邏輯框架
基于區(qū)塊鏈的車聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)與共享模型主要包含以下實(shí)體:可信權(quán)威機(jī)構(gòu)(Trusted Authority,TA)、數(shù)據(jù)擁有者(Data owner,DO) 、數(shù)據(jù)請(qǐng)求者(Data user, DU)、聯(lián)盟鏈(Consortium blockchain, CB)、RSU、IPFS。
對(duì)上述實(shí)體進(jìn)行詳細(xì)描述
TA:TA作為一個(gè)完全可信的中央權(quán)威機(jī)構(gòu)。主要負(fù)責(zé)系統(tǒng)的初始化,為車輛生成假名并保存注冊(cè)表數(shù)據(jù)。
DOs:數(shù)據(jù)所有者。車輛需要共享數(shù)據(jù)時(shí),DO一般為車輛需要共享數(shù)據(jù)的時(shí)候的角色。車輛行駛過程中,DO可以通過路載單元收集共享信息并對(duì)信息進(jìn)行加密,最后將密文數(shù)據(jù)上傳至IPFS存儲(chǔ)。
DUs:數(shù)據(jù)消費(fèi)者。車輛需要訪問共享數(shù)據(jù)時(shí),DU為車輛請(qǐng)求訪問數(shù)據(jù)的角色。需要注意的是,只有DU運(yùn)行的時(shí)候,才可以向RSU發(fā)送訪問請(qǐng)求。
聯(lián)盟鏈:車輛區(qū)域內(nèi)的RSU作為聯(lián)盟鏈的節(jié)點(diǎn),同步車聯(lián)網(wǎng)中的數(shù)據(jù)與IPFS 存儲(chǔ)的密文對(duì)應(yīng)的哈希值。
RSU:通信單元,是車輛和外部進(jìn)行信息傳輸?shù)臉屑~。RSU作為聯(lián)盟鏈的節(jié)點(diǎn),可以同步記錄車輛的數(shù)據(jù)共享記錄和IPFS返回的哈希值。
IPFS:用于存儲(chǔ)RSU發(fā)送的密文數(shù)據(jù)。
PKI:密鑰中心,使用密鑰生成算法生成車輛用戶對(duì)應(yīng)的私鑰和公鑰。
2.2 模型的運(yùn)行流程
本文模型基于聯(lián)盟鏈、IPFS、TA、DOs、DUs、PKI、RSU等組件提出車聯(lián)網(wǎng)數(shù)據(jù)共享模型,模型的運(yùn)行流程包括系統(tǒng)初始化、密鑰生成、數(shù)據(jù)加密、數(shù)據(jù)上傳、數(shù)據(jù)解密5個(gè)階段。
1)系統(tǒng)初,始化注。車登輛記節(jié),生點(diǎn)成在車交輛通假管名理和局車(T輛ran的s?私鑰,只有注冊(cè)過的車輛才可以在系統(tǒng)中數(shù)據(jù)共享。
2) 密鑰生成。通過安全可信的密鑰中心,PKI使用基于QC - MDPC 碼的公鑰密碼體系生成車輛對(duì)應(yīng)的公私鑰:輸入車輛假名RIDi 和向量參數(shù)(n,r,w,m,t),運(yùn)行密鑰生成算法生成公私鑰。
3) 數(shù)據(jù)加密。車輛將需要共享的數(shù)據(jù)使用AES 進(jìn)行加密,對(duì)AES加密密鑰使用密鑰中心生成的公鑰進(jìn)行加密。
4) 數(shù)據(jù)上傳。DO將加密后的共享密鑰、自身的公鑰和假名信息以及簽名請(qǐng)求存儲(chǔ)至IPFS,最后將返回IPFS的索引值、數(shù)據(jù)記錄給RSU,寫入聯(lián)盟鏈節(jié)點(diǎn)進(jìn)行共識(shí)記錄。
5) 數(shù)據(jù)解密。DU 向RSU 提出訪問交易請(qǐng)求,RSU驗(yàn)證通過后根據(jù)IPFS索引值地址讀取加密文件,使用譯碼算法解密得到共享數(shù)據(jù)。RSU將此操作記錄上鏈存儲(chǔ)。
3 模型描述
3.1 系統(tǒng)初始化
系統(tǒng)數(shù)據(jù)共享前需要進(jìn)行系統(tǒng)初始化,為車輛節(jié)點(diǎn)完成車輛登記,生成注冊(cè)表,確保系統(tǒng)在運(yùn)行過程的安全性。
TA 選擇隨機(jī)數(shù)Z*P 作為主密鑰,TA保存主密鑰msk = α,根據(jù)車輛匿名身份信息計(jì)算SKi = msk RIDi = αRIDi 作為車輛用戶的私鑰。TA將車輛匿名身份和用戶私鑰{RIDi,SKi} 通過安全信道發(fā)送給車輛。系統(tǒng)中的車輛節(jié)點(diǎn)在TA中完成注冊(cè),TA備份所有通過全網(wǎng)認(rèn)證的節(jié)點(diǎn)信息,從而完成身份認(rèn)證。
3.2 密鑰生成
PKI密鑰中心為車輛生成對(duì)應(yīng)的公鑰和私鑰:PKI 首先對(duì)進(jìn)入密鑰中心的車輛RIDi隨機(jī)選擇向量h0, h1…h(huán)m - 1,權(quán)重w/m。其中,w為QC - MDPC 碼的權(quán)值(n,r,w),m為子矩陣的個(gè)數(shù)。對(duì)于每個(gè)節(jié)點(diǎn)i,PKI選擇隨機(jī)選擇權(quán)重為3 w 2的向量并發(fā)布(n,r,w,m,t),節(jié)點(diǎn)i 使用hRIDi ← hash(RIDi )將RID映射到二進(jìn)制中,構(gòu)造校驗(yàn)矩HQC = [ HQC1|HQC2|…|HQCm - 1 ],生成Hi。節(jié)點(diǎn)i使用公式(3) 計(jì)算生成器矩陣,得到公鑰Gi。具體步驟如算法1:
3.3 模型的數(shù)據(jù)加密
DO將自己所需要共享上傳的數(shù)據(jù)Mi 使用對(duì)稱密鑰k 進(jìn)行AES 對(duì)稱加密得到密文CTAES,CTAES = E (k,Mi ) ,使用QC - MDPC 編碼算法,DO隨機(jī)選擇一個(gè)n長(zhǎng)序列e∈F n2,滿足w(e) ≤ t, 計(jì)算C = k × Gi + e,得到密文C。
3.4 數(shù)據(jù)上傳
DO 將密文CT=(C,CTAES)使用算法2 將數(shù)據(jù)T{ A= SigSKiCThash,CT,RIDi,Gi,}上傳至IPFS,其中,CT是生成的密文,RIDi 和G 是車輛用戶的公鑰和假名身份,SigSKiCThash 是用戶對(duì)交易信息的簽名。IPFS對(duì)CT計(jì)算將得到唯一地址索引值address返回給RSU,DO將上傳數(shù)據(jù)記錄DOup = {Tup,H (ti ) }發(fā)送至RSU,其中,Tup 為數(shù)據(jù)上傳時(shí)間,H (ti )為訪問數(shù)據(jù)時(shí)間。為了防止DO上傳虛假數(shù)據(jù),數(shù)據(jù)區(qū)塊鏈中的主節(jié)點(diǎn)RSU在區(qū)塊鏈上記錄DOup 進(jìn)行數(shù)據(jù)審計(jì)后,采用拜占庭容錯(cuò)共識(shí)(PBFT) 算法,將數(shù)據(jù)相關(guān)信息記錄到區(qū)塊鏈上中。此外,RSU可以根據(jù)DOup 實(shí)現(xiàn)高效的密文檢索。
3.5 數(shù)據(jù)解密
DU需要訪問數(shù)據(jù)時(shí),向最近的RSU請(qǐng)求訪問共享數(shù)據(jù)時(shí),產(chǎn)生一個(gè)區(qū)塊鏈交易請(qǐng)求TB ={PKB,RIDB,SigB }發(fā)送至RSU中,RSU作為區(qū)塊鏈的節(jié)點(diǎn)會(huì)對(duì)該交易信息進(jìn)行驗(yàn)證,若驗(yàn)證成功,從指定的地址接收密文C 進(jìn)行譯碼算法BF得到共享密鑰k:對(duì)接收到的有效比特計(jì)算其對(duì)應(yīng)的伴隨子并給出upc方程不成立的總數(shù)。不斷翻轉(zhuǎn)更新比特因子,其中每輪迭代給出的判決門限τ,τ = maxupc - δ,δ 為隨機(jī)生成的小整數(shù)。
4 實(shí)驗(yàn)評(píng)估和模型分析
4.1 車聯(lián)網(wǎng)數(shù)據(jù)共享模型比較分析
本文模型與現(xiàn)有的車聯(lián)網(wǎng)數(shù)據(jù)共享模型在以下4 個(gè)方面進(jìn)行比較,具體比較如表1所示,相對(duì)文獻(xiàn)[8] 的車聯(lián)網(wǎng)數(shù)據(jù)共享的集中式存儲(chǔ),本方案提供的分布式存儲(chǔ)可以解決發(fā)生單點(diǎn)故障而造成的數(shù)據(jù)泄露;對(duì)于文獻(xiàn)[3]和文獻(xiàn)[9]中的使用云存儲(chǔ)和分布式哈希表進(jìn)行存儲(chǔ),RSU存儲(chǔ)可以快速接收實(shí)時(shí)數(shù)據(jù)并進(jìn)行計(jì)算和存儲(chǔ),十分適用于區(qū)塊鏈節(jié)點(diǎn)的共識(shí)和合成,IPFS具有追溯性并且可以存儲(chǔ)大量數(shù)據(jù),適用于車聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)和查詢,RSU和IPFS結(jié)合存儲(chǔ)車聯(lián)網(wǎng)數(shù)據(jù)可以解決云存儲(chǔ)和哈希表存儲(chǔ)數(shù)據(jù)有限的問題。此外,本模型采用混合加密的方式對(duì)數(shù)據(jù)進(jìn)行加密,AES對(duì)稱加密數(shù)據(jù),QC - MDPC 加密對(duì)稱密鑰,保障了數(shù)據(jù)的安全性和可靠性,在后量子時(shí)代也有足夠的應(yīng)用范疇。
4.2 方案安全性分析
4.2.1 數(shù)據(jù)存儲(chǔ)安全
車聯(lián)網(wǎng)數(shù)據(jù)使用AES加密算法存儲(chǔ)在IPFS中,并返回對(duì)應(yīng)的地址繼續(xù)存儲(chǔ)在RSU,相對(duì)其他的車聯(lián)網(wǎng)數(shù)據(jù)共享存儲(chǔ),對(duì)稱密鑰經(jīng)過QC - MDPC 加密,該算法可以保證傳輸?shù)臄?shù)據(jù)安全性和可靠性,在分發(fā)密鑰時(shí)使用密鑰中心生成對(duì)應(yīng)的密鑰,保證對(duì)稱密鑰的前向和后向攻擊。與傳統(tǒng)的中心存儲(chǔ)不同,本文使用的是去中心化的分布式存儲(chǔ),可以很好地避免因中心節(jié)點(diǎn)受到攻擊而數(shù)據(jù)存在問題,具有較強(qiáng)的可擴(kuò)展性和安全性。
本文方案基于區(qū)塊鏈并使用IPFS存儲(chǔ)跨域共享數(shù)據(jù),對(duì)副本數(shù)據(jù)存儲(chǔ)保存,避免存在中心化單點(diǎn)故障或數(shù)據(jù)被某個(gè)惡意節(jié)點(diǎn)刪改的問題,保證數(shù)據(jù)的可用性和安全性[11]。RSU節(jié)點(diǎn)間采用PBFT 共識(shí)機(jī)制進(jìn)行數(shù)據(jù)傳輸以及廣播,當(dāng)網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)數(shù)量少于總節(jié)點(diǎn)數(shù)的1/3時(shí),區(qū)塊鏈中的數(shù)據(jù)無法篡改,可有效防止單節(jié)點(diǎn)被惡意攻擊。對(duì)比文獻(xiàn)[4]中將密文數(shù)據(jù)存儲(chǔ)在車輛和RSU上,本文采用的IPFS+RSU共同存儲(chǔ)大量的數(shù)據(jù),可以避免車輛丟失以及RSU被惡意攻擊造成的數(shù)據(jù)發(fā)生篡改。對(duì)比文獻(xiàn)[3]中使用區(qū)塊鏈直接存儲(chǔ),本文方案可以避免因存在數(shù)據(jù)過多影響區(qū)塊鏈的性能。
4.2.2 數(shù)據(jù)訪問安全
車輛訪問共享數(shù)據(jù)時(shí),首先會(huì)向RSU產(chǎn)生區(qū)塊鏈交易請(qǐng)求,區(qū)塊鏈節(jié)點(diǎn)對(duì)交易的請(qǐng)求進(jìn)行驗(yàn)證共識(shí),只有超過2/3節(jié)點(diǎn)驗(yàn)證通過后才可以得到IPFS存儲(chǔ)數(shù)據(jù)的地址,獲取對(duì)應(yīng)的密文,使用譯碼算法才能解密得到明文數(shù)據(jù),保證數(shù)據(jù)訪問安全。
4.3 方案性能分析
為了驗(yàn)證本文提出的基于區(qū)塊鏈的車聯(lián)網(wǎng)數(shù)據(jù)共享方案是否能滿足數(shù)據(jù)的需要,能否保障數(shù)據(jù)安全,對(duì)此對(duì)本方案進(jìn)行模擬分析。測(cè)試采用QC- MDPC加密數(shù)據(jù)的效率,故使用交通仿真軟件SUMO 模擬環(huán)境模擬過程。表2為本次實(shí)驗(yàn)設(shè)置的不同數(shù)量車輛以及路邊單元和其他參數(shù)的設(shè)置。
4.3.1 通信開銷
如圖2所示,比較無證書加密和本文采用的QC - MDPC 碼加密過程中密文加密效率隨著車輛密度的變化趨勢(shì)。從圖中可以看到,當(dāng)車輛密度較低時(shí),使用無證書加密的方案,密文加密效率遠(yuǎn)大于QC - MDPC 碼加密,但當(dāng)車輛密度變大后,區(qū)域內(nèi)需要傳輸?shù)臄?shù)據(jù)量越來越大,無證書的加密效率低于QC - MDPC 碼。QC - MDPC 具有密鑰量較少、算法復(fù)雜度較低等優(yōu)點(diǎn),可以運(yùn)用于大量數(shù)據(jù)中的安全數(shù)據(jù)共享,相較其他的方案所需存儲(chǔ)密鑰大大減少,有更快的解密速度,可降低數(shù)據(jù)傳輸?shù)拈_銷。
4.3.2 時(shí)間開銷
對(duì)數(shù)據(jù)共享和密文下載兩個(gè)階段進(jìn)行仿真,仿真實(shí)驗(yàn)后圖3展示數(shù)據(jù)共享的時(shí)間消耗,模擬車輛密度從20到100數(shù)據(jù)共享的計(jì)算開銷。圖4展示在密文下載階段的時(shí)間消耗,從仿真實(shí)驗(yàn)可以看到,隨著車輛密度增加,參與數(shù)據(jù)共享和傳輸數(shù)據(jù)的車輛也越來越多,但是從圖中可以看出,本文的模型計(jì)算開銷比較穩(wěn)定,可以很好地應(yīng)用于車聯(lián)網(wǎng)系統(tǒng)中。
5 結(jié)束語
針對(duì)區(qū)塊鏈車聯(lián)網(wǎng)數(shù)據(jù)共享中存在車聯(lián)網(wǎng)數(shù)據(jù)隱私安全問題,本文提出新的數(shù)據(jù)存儲(chǔ)和共享模型,現(xiàn)階段大部分?jǐn)?shù)據(jù)共享都采用的是無證書加密和基于身份驗(yàn)證的加密,很難抵抗大量的數(shù)據(jù)攻擊。本文提出IPFS存儲(chǔ)數(shù)據(jù),后返回地址給區(qū)塊鏈節(jié)點(diǎn)RSU 混合存儲(chǔ),利用區(qū)塊鏈上數(shù)據(jù)的不變性,保證數(shù)據(jù)的不可篡改和可追溯性;提出QC - MDPC 碼和AES共同加密數(shù)據(jù),保證車輛數(shù)據(jù)可以抵抗量子、女巫等攻擊。通過安全性分析,車輛訪問數(shù)據(jù)需要PBFT共識(shí)交易請(qǐng)求,未授權(quán)的用戶無法得到車輛數(shù)據(jù)以及篡改數(shù)據(jù),保證了數(shù)據(jù)安全。通過理論分析和仿真實(shí)驗(yàn),可以得到模型可以符合實(shí)際要求,未來可以對(duì)區(qū)塊鏈的共識(shí)算法進(jìn)行修改,獲取更低時(shí)延和吞吐量。
電腦知識(shí)與技術(shù)2024年29期