?

一種基于主從鏈的跨域身份認證算法*

2024-02-16 08:47戴煜洲
通信技術 2024年1期
關鍵詞:身份驗證跨域私鑰

王 正,戴煜洲,廖 丹,張 明,3,4*

(1.中國電子科技集團公司第三十研究所,四川 成都 610041;2.電子科技大學 信息與通信工程學院,四川 成都 611733;3.電子科技大學宜賓研究院,四川 宜賓 644000;4.電子科技大學天府協同創新中心,四川 成都 610299)

0 引言

車聯網是汽車工業與人工智能、物聯網、高性能計算及其他信息技術的深度集成[1],是目前全球汽車運輸行業智能互聯發展的主要方向。隨著聯網車輛的快速增長和各種車載服務的發展,聯網車輛之間的跨域通信范圍不斷擴大,使跨域通信成為車聯網中一個重要的應用場景[2]??缬蛲ㄐ攀侵冈谲嚶摼W內屬于不同域的車輛之間的通信。不同的域由不同的CA(Certificate Authority)注冊、授權和管理。它們之間幾乎沒有任何溝通的歷史,而且車輛不能識別來自其他領域的車輛是否值得信賴。因此,身份認證是保證跨域通信的安全性和可靠性的關鍵環節[3]。

為了保證合法車輛在跨域通信過程中的身份安全,研究人員提出了匿名認證方案,例如在文獻[4]中,作者提出了一種匿名身份認證方法來隱藏真實身份。身份標識文件(ID)被映射到一個唯一的假名,只有可信授權(Trusted Authorization,TA)才能從任何假名中檢索真實身份。在文獻[5]中,作者提出了一種基于車輛身份假名的隱私認證機制,引入了路邊單位(Road Side Unit,RSU)代理輔助的兩階段假名分配機制。該方法將主成分分析(Principal Component Analysis,PCA)的假名生成機制預加載到RSU 上,以提高假名分配的效率。

然而,這些現有的匿名機制并沒有考慮到車輛身份偽造攻擊[6]。如果是惡意的車輛不根據匿名機制生成假名,而是偽造假名和相應的鑰匙,則惡意車輛可以在車聯網上發起各種攻擊。因此,現有的匿名機制無法識別和定位此惡意車輛,會導致身份安全問題。圖1 分析了跨域通信場景中的車輛身份偽造攻擊[7]。

圖1 跨域通信中的偽造攻擊

在假名產生的階段,偽造假名有以下兩種情況。

(1)惡意車輛在域中完成注冊后,不會向系統發送假名請求,而是偽造非法假名TIDf與周圍的實體通信。這個假名TIDf的生成未通過系統假名機制進行驗證和授權。

(2)惡意車輛已經向系統發起了一個假名生成請求。它獲取了假名生成的授權參數,并根據系統的規則生成了一個合法的假名TIDlegi。但是,在實際的通信過程中,它沒有使用合法的TIDlegi,而是通過虛假的授權參數偽造了另一個假名TIDf。然后它就可以將TIDf和假參數打包Packagef={TIDf,parameterlegi},并發起攻擊,這使得系統無法定位它的真實身份。

目前,利用區塊鏈技術解決身份認證安全問題的方法已得到初步驗證,例如:文獻[8]提出了一種以區塊鏈作為可信平臺的跨域認證方案,結合基于身份的簽名技術來共享領域信息;文獻[9]提出了一個區塊鏈輔助的隱私保護認證系統,為車聯網提供自主身份驗證,且該認證系統不需要任何在線注冊中心(系統初始化和車輛注冊除外),它可以在特定的場景下跟蹤和撤銷行為不當的車輛身份。

但是,在跨域認證過程中,車輛域的數據要頻繁在區塊鏈中進行讀寫,且在區塊鏈中,每個身份驗證事務處理(例如,存儲車輛證書數據)在寫入新塊之前必須經過共識驗證,導致驗證過程效率較低。因此,傳統的單鏈區塊鏈體系結構不能滿足車聯網的跨域需求。

為了解決在車聯網跨域身份認證中可能存在的身份偽造攻擊和認證效率問題,本文設計了一種基于主從鏈的跨域身份認證算法(CAMS)。本文主要貢獻總結如下。

(1)設計了CAMS 算法,包括系統初始化、車輛注冊、假名生成、信息簽名和身份驗證。

(2)利用主從鏈,實現了車輛數據的跨域存儲和共享。解決了惡意車輛使用身份匿名性進行攻擊的潛在問題,確保了跨域通信的車輛認證。

(3)提供了詳細的實驗來驗證CAMS 算法。結果表明,CAMS 具有抗偽造攻擊的能力,并驗證了CAMS 在降低計算開銷和提高身份驗證效率等方面的良好性能。

1 算法設計

本節詳細介紹了CAMS 算法。CAMS 算法主要包括系統初始化、車輛登記、車輛假名生成階段、消息簽名和身份驗證?;跈E圓校驗算法技術和主從鏈技術,在驗證過程中引入了假名生成參數和驗證參數。這保證了車輛認證過程中的身份匿名性,抵御了身份偽造攻擊,從而解決了惡意車輛利用身份匿名性進行攻擊的潛在問題。算法中各種標識符的含義如表1 所示。

表1 標識符含義

算法1 顯示了CAMS 算法的偽代碼。CAMS 的輸入包括系統公共參數CP、車輛信息,以及各個可信實體即TA、KGC、CA 等的密鑰對,而CAMS 的輸出是身份驗證的結果e(σi,P)。在CAMS 中,它首先初始化橢圓曲線和各個實體的密鑰對,其次車輛在域DA中注冊其身份。根據車輛的身份特征,CAA為車輛生成相應的密鑰對、加密參數pai和身份證書Certi(這些信息存儲在從鏈SCA上)。KGC 在RSU中預加載了假名預加載因子hi,以提高假名授權效率。當車輛啟動一個假名生成請求到附近的RSU 時,RSU 驗證車輛請求的合法性,并計算假名生成參數pbi。在車輛收到假名生成參數后,通過交易生成自己的假名、驗證參數tsi和相應的密鑰對。

車輛可以使用假名和密鑰對來計算車輛的唯一簽名σi,并利用簽名加密消息。當車輛請求通信時,它向接收者發送消息包{Mi,Addrvi,TIDi,Hi,σi,,tsi}。接收者獲得來自發送方通過它所在域的從屬鏈提供的相關信息后,它就會驗證數據包的有效性、車輛假名及合法性。最后,它驗證了車輛身份的簽名σi和合法性。

2 跨域認證

在域DA和DB之間的跨域身份驗證的過程如圖2 所示。在圖2 中,假設車輛和車輛已各自在域DA和DB中注冊。它們各自的身份證書信息存儲在兩個獨立的子鏈中:DA的從鏈SCA用于車輛,DB的從鏈SCB用于車輛。從鏈中每個車輛的證書信息的存儲賬戶地址為Addrvi和Addrvj。

圖2 跨域驗證

下面詳細闡述在域DA和DB間的跨域認證過程。

2.1 系統初始化

系統初始化過程將通過橢圓曲線Ep為每個實體生成密鑰對,并構造一個公共參數集CP。首先,TA 選擇一個G0 階的加法群,由橢圓曲線Ep(a,b)上的點和無窮遠處的點組成。其中,a,b∈Fp是質數。橢圓曲線的生成器是點p,橢圓曲線是點Ep(a,b)在有限域Fp上由等式(1)表示。

假設KGC 系統初始化的密鑰對為{Ppk,psk},CAA的密鑰對為{CpkA,cskA}。接著,一個隨機數s1∈Zq*通過KCG 被選擇作為系統私鑰SK。因此,對應的公鑰PK 可以表示為Ppub1=s1×p。公共參數集可以表示為CP={G0,q,P,Ppub1,Rpk}G0,它將在車聯網上公布。

2.2 車輛注冊

注冊過程將為使用CA 私鑰的車輛生成一個證書Certi和加密參數pai,如圖3 所示。

圖3 車輛注冊

為了唯一地識別車輛,根據類型、網絡訪問時間和其他信息分配了一個唯一身份碼RIDi∈G0給車輛。在域DA中,車輛提交其身份信息(如RIDi和駕駛執照)發送給管理員CAA。然后,CAA通過執行以下操作為車輛進行注冊。

(1)假設CAA的密鑰對是{CpkA,cskA},CAA首先驗證所提交的車輛身份信息。如果車輛的信息是合法的,則為車輛生成一個注冊密鑰對{Vpki,xi}。

(2)CAA使用它的私鑰cskA來為車輛ViA生成加密的參數pai,車輛本地存儲此參數。pai可以證明已通過等式(2)被CAA認證,并在后續的通信中協助生成簽名。

(3)CAA為車輛生成身份證書Certi,它由{DA,CpkA,Vpki,Si}組成,其中,si表示該證書是否有效;接著,CAA在域DA的從鏈SCi中記錄Certi,SCA利用原始的Vpki和DA來計算的存儲地址Addrvi;最終,它向返回Addrvi。在后續步驟中,其他合法車輛或周圍實體可以通過從從鏈SCA訪問Addrvi來查詢車聯網的身份證書。

2.3 假名生成

車輛假名生成階段包括生成因子、假名驗證和生成假名這3 個過程。假名生成的順序如圖4 所示。

圖4 假名生成流程

2.3.1 生成因子

在KGC 授權車輛生成假名的過程中,為防止私鑰泄露psk,將生成包含基于ECC 私鑰的預加載的因子hi。首先,生成一個隨機向量W={w1,w2,…,wn},其中wi∈;其次,KCG 預加載因子hn=wn×psk,hn∈G0,同時Wn=wn×Psk,Wn∈G0導致了H={h1,h2,…,hn}的集合。一定數量的hi被預加載到每個RSU 上,以便后續授權假名的生成,這樣就可以消除由RSU 劫持引起的psk的泄漏,并防止攻擊者利用psk生成假名。

2.3.2 假名驗證

RSU 通過參數req驗證假名請求。首先它為車輛計算假名生成參數pbi。為了保護車輛身份的匿名性,車輛需要申請自己的假名。車輛向附近的RSU 提交了一個假名請求,包括域標識符DA、真實身份的哈希值RIDi和當前的時間戳Treq。其次,參數被用來驗證車輛請求的合法性。當RSU 收到假名請求時,進行車輛合法性驗證和假名生成參數的分布,具體如下:

①RSU 從從鏈SCA中查詢車輛的證書Certi={DA,CpkA,Vpki,Si}。Certi記錄了車輛的注冊信息、證書頒發機構CAA和證書狀態Si。SCA首先檢查車輛的身份證明是否在本地存在。如果存在,則將證書返回給RSU;否則,它將從主鏈請求對車輛身份證書的跨域查詢。

②在獲得車輛的Certi后,RSU 驗證Si是否處于有效狀態。如果是有效的,車輛請求的合法性則由等式(3)進行驗證。

如果式(3)不成立,RSU 將拒絕車輛的假名請求;否則,RSU 將使用車輛的唯一公鑰從預存儲的本地預加載因子中計算假名生成參數pbi,可以通過式(4)進行表述。為了后續消息驗證,RSU 向車輛發送pbi,并保存假名授權記錄recordi={Addrvi,Vpki,ui,hi}。

在這里使用了一個隨機數ui∈。而hi是通過KGC 的私鑰生成的,這是不能被RSU 偽造的。在該算法中,只有獲得了pbi的車輛才能生成自己的假名。在隨后的認證階段,pbi被用于驗證假名的合法性。

2.3.3 生成假名

接著,車輛用一個隨機數r∈生成。每次生成一個新的r都會改變TIDi,用于確保TIDi的唯一性。生成假名和密鑰的時間戳是Ttemp。αi=H2(||Ttemp),生成TIDi和vski的計算過程為:

這里,驗證參數tsi被用來證明車輛的假名是由KGC 和RSU 授權的。它可以在車輛驗證階段協助驗證,防止攻擊者未經系統授權偽造假名,攻擊車輛網絡。

2.4 消息簽名

車輛使用它自己的TIDi和vski來生成唯一的簽名σi。當車輛啟動與車輛的通信時,它需要首先對消息Mi進行簽名和加密,其可以被目標車輛解密和驗證,以用于獲取消息內容。車輛ViA使用假名TIDi和相應私鑰ski來計算簽名σi,即:

2.5 身份驗證

圖5 消息簽名驗證順序

(2)如果式(8)成立,RSU 會在其本地數據庫中搜索CAA的公鑰Cpkj。如果本地沒有記錄,RSU 從從鏈中查詢車輛的證書Certi={Di,Cpkj,Vpki,Si}。SCB發起了對主鏈MC 的數據查詢。接著,它跨過主鏈MC 到從鏈SCA獲得的證書Certi及相關信息。

(3)RSU 根據Si驗證車輛憑據是否有效。如果無效,則終止驗證并丟棄數據包;否則,RSU 對車輛進行身份驗證,并檢查式(9)是否成立。如果不成立,車輛驗證失敗,數據包被丟棄。

3 反身份偽造的分析

4 模擬分析

在驗證效率分析方面,將CAMS 算法與條件隱私保護的批量驗證認證方案(Conditional Privacy Preserving Batch Verification-Based Authentication Scheme,CPVA)[10]和雙線性驗證的安全認證(Secure Authentication with Bilinear Verification,SABV)[11]算法進行比較,其中,SABV 主要通過高計算開銷的雙線性配對操作來實現車輛身份認證。本文實驗是在JDK1.8 環境下進行的,使用基于配對的Java 密碼學的庫(Java Pairing Based Cryptography,JPBC)來模擬這3 種算法。同時,通過超分類賬結構對主從鏈進行了模擬。Java 可以通過開源包“fabric-chain code-java”來編寫鏈代碼。

圖6 顯示了不同階段(假名生成、消息簽名、身份驗證)的計算時間開銷,其中,SABV 算法各階段的計算時間開銷最高,而CAMS 和CPVA 都是基于ECC 進行認證的,它們在消息簽名階段的計算時間開銷是非常接近的。在身份驗證階段,CAMS的計算時間開銷約為3.161 ms,大于CPVA(約為1.372ms)。由于車輛和受信任的實體在CAMS 中共同生成假名和密鑰,車輛需要從實體中獲取假名生成參數,且車輛假名的合法性在消息驗證錢需要被確認,會帶來額外的費用,但是,這些開銷是可以幫助CAMS 抵抗身份偽造攻擊;因此,CAMS 可以承受這種計算時間的開銷。

圖6 計算時間開銷

圖7 顯示了在不同的身份驗證請求發送速率下的吞吐量。這3 種算法的吞吐量隨著身份驗證請求的發送速率的增大而增大。當身份驗證請求的發送速率超過300 TPS 時,每個算法的吞吐量都趨于飽和。在每個認證請求發送速率下,CAMS 的吞吐量高于SABV 和CPVA,CAMS 的最大吞吐量也高于SABV 和CPVA。

圖7 吞吐量性能

圖8 顯示了身份驗證延遲與身份驗證數量之間的關系??梢缘玫?,在相同的認證數量下,CAMS的認證延遲明顯低于SABV 和CPVA。隨著認證數量的增加,CAMS 的低認證延遲變得越來越明顯,這反映了CAMS 具有低延遲的良好特性。

圖8 身份驗證延遲

5 結語

本文結合主從鏈技術和ECC 技術,提出了一種車輛跨域認證CAMS 算法。CAMS 算法主要包括車輛注冊、假名生成、報文簽名和報文驗證階段。在認證過程中,引入了新的假名生成參數和驗證參數來抵御身份偽造攻擊。此外,還從理論上證明了CAMS能夠抵抗偽造攻擊。最后,通過計算時間開銷、吞吐量和驗證延遲,驗證了CAMS 的驗證效率。然而,當車輛域和從鏈數量較大時,CAMS 算法將會有較大的延遲,這是未來優化的方向。

猜你喜歡
身份驗證跨域私鑰
跨域異構體系對抗聯合仿真試驗平臺
清掃機器人避障系統區塊鏈私鑰分片存儲方法
基于多標簽協同學習的跨域行人重識別
為群眾辦實事,嶗山區打出“跨域通辦”組合拳
比特幣的安全性到底有多高
基于改進ECC 算法的網絡信息私鑰變換優化方法
G-SRv6 Policy在跨域端到端組網中的應用
一種基于虛擬私鑰的OpenSSL與CSP交互方案
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
身份驗證中基于主動外觀模型的手形匹配
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合