



摘 要:車聯網作為物聯網領域的關鍵技術節點,它的出現是高通信時代實現萬物互聯的開端。但由于車聯網環境復雜,仍存在一些安全問題,而車聯網中的身份認證又是關鍵一環。本文提出了基于SM2的車聯網身份認證密鑰協商協議。本方案以橢圓曲線算法SM2為基礎,有效提高了認證效率,可以達到低時延;在協議基礎上進行改進,使其安全性更高。安全分析結果表明,本方案在可認證性、匿名性、條件追蹤、假冒攻擊、重放攻擊、中間人攻擊方面都有一定效果。性能分析結果表明,本方案下的計算開銷和通信開銷都有所降低。因此,該方案在資源受限的物聯網或嵌入式環境中,有著重要的理論意義與應用價值。
關鍵詞:車聯網;身份認證;輕量級;SM2;橢圓曲線密碼;密鑰協商
中圖分類號:TP309;U495;TN929.5 文獻標識碼:A 文章編號:2095-1302(2024)03-00-04
0 引 言
隨著經濟水平的不斷提高,國內外汽車工業的蓬勃發展,汽車使用量也急劇上升。然而,車輛的普及也產生了一些交通問題,比如交通事故頻繁發生,交通擁堵嚴重。所以,人們現在開始廣泛關注交通管理、交通信息和安全駕駛等問題。智能交通系統(Intelligent Transportation System, ITS)得以廣泛應用和發展。VANET(Vehicular Ad-hoc Network)作為ITS系統的一個重要組成部分,可以與路側單元進行通信,從而獲得路況信息、天氣信息等[1]。VANET是一種新型的多跳移動無線通信網絡。它包括3種實體:可信機構(Trusted Authority, TA)、車載單元(On Broad Units, OBU)、路邊單元(Road Side Unit, RSU)[2]。TA是一個可以完全信任的機構,負責RSU以及OBU的注冊。OBU主要負責車輛的無線通信及其計算。RSU是安裝在路邊的基礎設施,負責與車輛進行通信,是TA與OBU的橋梁。
VANET采用專用短程通信(Dedicated Short Range Communication, DSRC)協議進行通信[3]。其通信方式包括:車輛與車輛V2V(Vehicle-to-Vehicle)、車輛與基礎設施V2I(Vehicle-to-Infrastructure)。然而,VANET存在一些安全威脅,由于V2V和V2I的通信均在公開的無線信道中,消息在傳輸時極易受到攻擊者的攻擊,比如仿冒、竊聽、重放攻擊等。一個錯誤的VANET信息就有可能引發一些交通事故,造成生命及其財產的損失。
為了提高VANET系統的安全性,研究者將認證技術引入到VANET系統中,通過認證密鑰協商(Authentication Key Agreement, AKA)協議,來保護通信雙方的隱私安全。這一協議可以使雙方進行身份認證,并產生會話密鑰,以供雙方加密通信。VANET認證需要解決3個關鍵問題:高安全,低時延,強隱私。在高安全方面,這一認證方案必須能夠抵御各類安全攻擊,滿足各種安全需求。在低時延方面,車輛數目在急劇增長,車輛快速移動和網絡拓撲快速變化[4],導致消息數量很多,必須在短時間內進行處理。一個RSU可能要驗證數百甚至數千的消息,這對OBU和RSU的計算能力以及認證協議的復雜性提出了一定的要求。所以認證協議必須要滿足低時延這一特性,才能保證VANET系統的穩定。在強隱私方面,人們現在越來越重視自己的隱私,所以認證協議大的消息要具有匿名性,不能夠泄露身份、位置等其他隱私信息。為了解決VANET系統里消息認證的這3個關鍵問題,近年來不少研究者嘗試了不同方案來進行消息認證。
在基于對稱密碼的認證協議中,文獻[5]提出了基于hash函數的動態雙向身份認證協議,但是容易受到假扮攻擊與重放攻擊等攻擊;文獻[6]改進了文獻[5]的不足,但仍無法抵抗驗證表攻擊和加班攻擊等。雖然基于對稱密碼的協議有很好的計算性能,但安全性較差。文獻[7]提出了一種基于霧的身份認證方案,利用霧節點替代RSU實現OBU與TA的認證,但缺點是無法對惡意車輛快速追溯身份。文獻[8]提出了利用公共密鑰基礎設施(Public Key Infrastructure, PKI)密碼系統的方案,但因為需要管理大量的匿名證書,存儲開銷大,管理困難,導致認證效率低下。文獻[9]
提出了一種基于群簽名的臨時匿名認證方案,由于需要經常更換證書,也導致效率低。因此,一些研究者將公鑰密碼系統引入到了VANET身份認證協議中。該方案可以避免PKI公鑰系統中存儲大量證書以及頻繁更換導致效率低下的問題。文獻[10]在公鑰密碼系統采用了雙線性對運算,具有良好的安全性,計算效率較好。但由于雙線性對在密碼學中計算較為復雜,VANET中的OBU和RSU計算能力也較為有限,所以運算雙線性對效率低,不能滿足低時延的要求。
為了解決以上問題,本文提出了一種基于國密算法SM2的輕量級的身份認證方案,方案能夠滿足VANET場景中的高安全、低時延、強隱私等需求。文獻[11]從橢圓曲線離散對數問題的安全性等角度,對算法在選擇密文攻擊下滿足不可區分性安全進行充分論證。本文也進行了方案的安全性證明,以滿足VANET系統的安全需求。
1 橢圓曲線密碼與困難問題
1984 年,Miller首次將橢圓曲線應用到密碼學中[12],Kobilitz 利用橢圓曲線離散對數問題(Elliptic Curve Discrete Logarithm Problem, ECDLP)構建了橢圓曲線密碼系統(Elliptic Curve Cryptosystem, ECC)[13],ECC就開始被廣泛地應用于加密、協議等安全相關領域。
在橢圓曲線加密(ECC)中,采用了特殊形式的橢圓曲線,即定義在有限域Fp上的橢圓曲線E。其方程如下:y2=x3+ax+b(mod p),其中a, b∈Fp。群G是定義在E上的階為Q,生成元為P的點的集合。G的性質如下:
(1)加法(+/-)。設P, Q∈G,若P≠Q,R=P+Q,則R是經過P和Q兩點的直線與E的交點。若P=Q,R=P+Q,則R是P(Q)切線與E的交點。若P=-Q,R=P+Q=-Q+Q=O。
(2)標量乘法(·)。設P∈G,m∈Zq*,則P的標量乘法為m·P=P+P+...+P(共m次)。
困難問題為:橢圓曲線離散對數問題(ECDLP)。設Q是G上的隨機點,計算一個能滿足Q=x·P的解x,其中x∈Zq*。沒有能在運算時間t內以不可忽略的概率ε解決群G上的ECDLP問題的算法,則稱ECDLP問題在群G是困難的。
2 本文認證協議
本文中提出的基于SM2的輕量級車聯網身份認證協議,包括部署階段、車輛申請階段、身份認證階段、密鑰更新階段四個階段。
2.1 部署階段
設Fp表示階為大素數P的有限域,TA生成有限域Fp上的橢圓曲線E,方程如下:y2=x3+ax+b(mod p),其中a, b∈Fp。G=(xG, yG)為曲線基點,G的階為n。為全域路側單元RSU生成一個密鑰對,私鑰dB和公鑰PB,公鑰PB=(xB, yB),路側單元RSU標識IDB,并計算出摘要值ZB。
式中:ENTLB為IDB長度的兩字節表示;||為字符串拼接操作。將{dB, PB, IDB, ZB, G, n}發送給RSU。
2.2 車輛申請階段
在車輛未上路之前,需要向可信機構TA申請并登記。提交自己的唯一真實身份RID,TA記錄下車輛的RID,并進行一系列信息的生成,再把相關信息發送給全域路側單元RSU和車輛。
步驟1:TA為車輛生成密鑰對,私鑰dA和公鑰PA,PA=(xA, yA),并生成車輛匿名標識IDA,計算出摘要值ZA。
步驟2:TA將{dA, PA, PB IDA, ZA, ZB, G, n}發送給車輛,再將{PA, IDA, ZA}發送給路側單元RSU。
2.3 身份認證階段
當車輛在路上行駛時,需要與路側單元RSU進行通信,獲得信息。此時車輛已有參數為{dA, PA, PB IDA, ZA, ZB, G, n}。路側設備RSU已有參數為{dB, PA, PB IDA, IDB, ZA, ZB, G, n}。車輛執行步驟為A1~A3,路側設備RSU執行步驟為B1~B2。本步驟參照國密SM2算法中的密鑰協商階段。
步驟A1:車輛A發起認證請求。車輛A使用隨機數發生器生成隨機數rA∈[1, n-1],計算橢圓曲線點
RA=[rA]G=(x1, y1),以及自己的匿名身份標識IDA,將{IDA, RA}發送給路側單元B。
步驟B1:路側單元B接收并驗證車輛所發的消息,進行初始化計算。路側單元B接收到車輛A發送的{IDA, RA},先驗證IDA是否合法及是否認證完畢;若是安全數據庫中存儲的IDA合法且并未認證,則消息驗證通過。驗證通過后,路側設備進行初始化計算,使用隨機數發生器生成隨機數rB∈[1, n-1],計算橢圓曲線點RB=[rB]G=(x2, y2)。從RB中取出域元素x2,將其轉化為整數,計算、tB。
,
步驟B2:路側設備驗證RA是否符合橢圓曲線方程,若不滿足則認證失敗;否則從RA取出域元素x1,計算V并驗證,生成會話密鑰,發送RB。計算V、KB。
,
若V為無窮遠點,則認證失敗;否則,將xV、yV轉化為比特串,計算:
成功地發送會話密鑰KB后,將橢圓曲線點RB發送給車輛A。
步驟A2:車輛初始化計算。車輛A從RA中取出域元素x1,將其轉化為整數,計算、tA。
,
步驟A3:車輛接收RB,派生會話密鑰,車輛A接收來自路側設備B發送的橢圓曲線點RB,驗證RB是否滿足橢圓方程,若不滿足則認證失敗;否則從RB中取出域元素x2,計算U、KA。
,
若U為無窮遠項,則認證失敗;否則,將xU、yU轉化為比特串,計算:
成功得到會話密鑰KA。此時車輛A與路側設備B身份認證成功,并生成相同的會話密鑰KA=KB。之后車輛與路側設備進行加密通信。
2.4 密鑰更新階段
密鑰更新是通信安全防護方案中不可忽視的一部分,本方案對此進行了相應的設計。在一定時間間隔過后車輛A需要主動更新密鑰對,并通知路側設備B同步更新,步驟如下:
步驟1:車輛A使用隨機數發生器生成rA∈[1, n-1],計算橢圓曲線點RA=[rA]G=(x1, y1),隨機數rA作為更新的私鑰dA,橢圓曲線點RA作為更新的公鑰PA=(xA, yA)。重新計算摘要值ZA,并存儲。
同時將{ZA, IDA, PA}發送給路側設備B。
步驟2:路側設備B接收到{ZA, IDA, PA},更新公鑰PA和摘要值ZA。
密鑰更新階段完畢,車輛應經常性地更新密鑰對,以保證安全性。
3 安全性分析
3.1 威脅模型
根據《LTE-V2X安全技術白皮書參考規范》中對車聯網安全風險及安全需求的說明,車聯網網絡主要需抵抗假冒攻擊、消息篡改/偽造/重放攻擊等安全風險。
因此,為防范以上安全風險,設計本方案中將要抵御的威脅模型如下:
(1)由于認證過程中車載設備OBU節點與路側設備RSU節點間通信發生在相對不安全的無線信道,攻擊者可以通過無線信道來竊聽信道中任意主體所發送的消息。
(2)攻擊者能夠存儲所獲取的信息。
(3)攻擊者可以對竊聽的信息進行修改或重放,也可以對任意主體發送新的信息。
3.2 安全性證明
本文協議與文獻[14]和文獻[15]方案的安全性對比見表1所列。
3.2.1 重放攻擊
在路側設備與汽車節點的身份認證過程中,攻擊者根據在某次協議運行中竊聽的身份信息,即汽車節點的消息組{IDA, RA},在新的協議運行流程中進行重放,希望偽裝成汽車節點,并與路側設備進行身份認證。但由于汽車A的身份標識IDA在身份認證完成后,已經在路側設備B中被標識為“合法但已認證完畢”的身份。因此,攻擊者對路側設備重放{IDA, RA}后,路側設備檢測IDA發現已認證完畢,則對此消息認證不予通過,不會進行接下來的運算,也不會再發送RB。
3.2.2 假冒攻擊
在路側設備與汽車節點的身份認證過程中,攻擊者根據截獲的某身份信息,即汽車節點的消息組{IDA, RA}或路側設備節點發送的橢圓曲線RB,試圖生成正確的會話密鑰,進而假冒合法身份與汽車或路側設備進行安全通信。則需要輸入正確的密鑰派生函數KDF()的輸入值,從而計算出正確的會話密鑰。攻擊者只能通過竊聽得到RA、RB的值,而生成會話密鑰的KDF()函數的輸入值中包括汽車和路側設備的摘要值ZA、ZB;且ZA、ZB作為關鍵信息儲存在汽車節點和路側設備節點中,不參與無線信道中的消息傳輸,所以攻擊者無法得到正確的輸入值,繼而無法計算出正確的會話密鑰,也就無法偽冒合法身份與其他節點進行安全通信。
3.2.3 可追蹤性
當發現IDA身份存在異常即有一些危險行為,需要獲得該車輛的真實身份時,調查人員可通過將IDA發送給TA獲得該車輛的真實身份,因此本協議在保證匿名性的同時也保證了可追蹤性。
3.2.4 中間人攻擊
當攻擊者在車輛與路側設備之間進行中間人攻擊時,需要假冒成車輛和路側設備來接收發送消息。由于本協議可以抵御假冒攻擊,故也可抵御中間人攻擊。
4 性能分析
4.1 計算開銷分析
本文首先使用C/C++密碼學庫MIRACLE對方案所使用的密碼學操作進行模擬測試。Tbp、Tsbp、Tmtp、Tpbp、Tsec、Tpec、Th分別表示進行一次雙線性配對操作、基于雙線性配對的標量乘法計算、基于雙線性配對的MapToPoint哈希操作、基于雙線性配對的點加操作、基于橢圓曲線的標量乘操作、基于橢圓曲線的點加操作、哈希運算的執行時間。表2給出了各密碼學運算的具體時間。
文獻[14]方案中單一認證計算開銷2Tbp+2Tsbp+2Th≈7.850,批量認證計算開銷2Tbp+(n+1)Tsbp+2Th。
文獻[15] 單一認證計算開銷3Tbp+2Tsbp+2Th≈4.283,批量認證計算開銷2Tbp+(n+1)Tsbp+2Th。本文方案單一認證計算開銷3Tsec+Th≈0.520,批量認證計算開銷3nTsec+nTh。表3給出了各方案在認證過程中產生的計算開銷。由于沒有雙線性對運算,與文獻[14]和文獻[15]相比,計算開銷約減少了90%。
4.2 通信開銷分析
本文方案中消息由{IDA, RA}組成,IDA為16 byte。公鑰長度為256 bits,為32 byte。RA這一臨時公鑰的長度為256位。所以本方案的單一認證通信開銷為16+32=48 byte。
文獻[14]中傳輸匿名身份IDi=(IDi1, IDi2)和簽名σi=(r2, Ui)。其中IDi1∈G,Ui∈G1。因此,通信開銷為|G|+|G1|+40=128+40+40=208 byte。文獻[15]在認證過程中需傳輸一個消息元組{PiID, Mi, signi, Ti}。其中{PiID, Mi, signi}∈G1,Ti為時間戳。該方案的通信開銷為3|G1|+4=128×3+4=388 byte。認證過程通信開銷對比具體見表4所列。從表4中可以看出,由于本方案未采用雙線性對,所以通信開銷較少,在更低時延的情況下完成認證。本文方案減少了約76%的通信開銷。
5 結 語
本文提出了一種基于SM2的輕量級車聯網身份認證協議。利用公鑰系統橢圓曲線來對車輛身份進行認證。由于未采用雙線性對運算,滿足低時延的要求;而且公鑰系統本身具有較強的安全性,更能夠符合VANET系統中高安全性這一基本要求,可以抵御重放攻擊、假冒攻擊、中間人攻擊等多種攻擊方式。同時,采用匿名身份標識,保護了車輛的隱私,在發生問題時,也能通過TA來找到車輛的真實身份。消息認證技術仍是VANET應用的關鍵技術之一,還有很多問題有待進一步解決。
參考文獻
[1] KAKKASAGERI M S,MANVI S S. Information management in vehicular ad hoc networks:a review [J]. Journal of network amp; computer applications,2014,39:334-350.
[2] BITAM S,MELLOUK A,ZEADALLY S . VANET-cloud:a generic cloud computing model for vehicular Ad Hoc networks [J]. IEEE wireless communications,2015,22(1):96-102.
[3] JIANG D,TALIWAL V,MEIER A,et al. Design of 5.9 GHz dsrc-based vehicular safety communication [J]. IEEE wireless communications,2006,13(5):36-43.
[4] LAI C,ZHANG K,CHENG N,et al. SIRC:a secure incentive scheme for reliable cooperative downloading in highway VANETs [J]. IEEE transactions on intelligent transportation systems,2017,18(6):1559-1574.
[5] HSIANG H C,SHIH W K. Improvement of the secure dynamic ID based remote user authentication scheme for multi-server environment [J]. Computer standards and interfaces,2009,31(6):1118-1123.
[6] SOOD S K,SARJE A K,SINGH K . A secure dynamic identity based authentication protocol for multi-server architecture [J]. Journal of network and computer applications,2011(2):34.
[7] CUI J,WANG Y,ZHANG J,et al. Full session key agreement scheme based on chaotic map in vehicular Ad hoc networks [J]. IEEE transactions on vehicular technology,2020,69 (8):8914-8924.
[8] CHEN Z,ZHAO J,HUANG B. Optimizing PKI for 3GPP authentication and key agreement [C]// Fourth International Conference on Multimedia Information Networking amp; Security.Nanjing,China:IEEE,2013.
[9] LIN X,LU R . ECPP:efficient conditional privacy preservation protocol [M]. [S.l.]:John Wiley amp; Sons,Ltd,2008.
[10] ZHANG J,XU M,LIU L . On the security of a secure batch verification with group testing for VANET [J]. International journal of network security,2014,16(5):355-362.
[11]汪朝暉,張振峰. SM2橢圓曲線公鑰密碼算法綜述[J].信息安全研究,2016,2(11):972-982.
[12] MILLER V. Uses of elliptic curves in cryptography [J]. Advances in Cryptology-CRYPTO’85,1986:417-426.
[13] KOBLITZ N. Elliptic curve cryptosystem [J]. Journal of mathematics of computation,1987,48(1):203-209.
[14] LIU Y W,HE Z J,ZHAO S J,et al. An efficient anonymous authentication protocol using batch operations for VANETs [J]. Multimedia tools and applications,2016,75(24):17689-17709.
[15] SIKARWAR H,NAHAR A,DAS D. LABVS:lightweight authentication and batch verification scheme for universal Internet of vehicles (UIoV)[C]// Proceedings of 2020 IEEE 91st Vehicular Technology Conference. Piscataway,New Jersey,USA:IEEE,2020:1-6.