




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