?

一種低成本的安全車載通信實現

2021-06-30 01:43冠捷半導體上海有限公司
電子世界 2021年11期
關鍵詞:秘鑰通訊消息

冠捷半導體(上海)有限公司 王 敏

CAN網絡作為目前汽車的主要網絡,是確保整車信息安全重要的一個環節。本文在汽車電子軟件開發標準AUTOSAR提出的SecOC概念基礎上加以擴展,實現了一套不依賴于AUTOSAR軟件但兼容于其SecOC通訊機制的系統。實驗證明,該系統能有效地生成SecOC校驗時需要的Freshness值以及MAC消息認證碼,能正常接入使用SecOC通訊機制的網絡,在不降低安全性的條件下,極大節省了硬件成本和軟件開發成本。

在汽車信息化,互聯化,電子化的今天,汽車信息安全成為一個越來越重要的話題。相對于傳統汽車,現代化的汽車存在著更多的信息接入口,例如:板上調試接口,遠程無線連接接口,如WIFI,藍牙等,信息娛樂接口,如CD,USB等。而這些接口都是黑客常見的目標。黑客通常會從這些接口入手,尋找一些漏洞,入侵到汽車系統里。緊接著,黑客會嘗試破解車內CAN網絡協議,在CAN網絡上發送一些非法消息,以實現對車內各個部件的控制或者破壞。

近年來,汽車被惡意攻擊的事件頻發,例如,在2015年,查理·米勒和克里斯·瓦拉塞克就利用菲亞特克萊斯勒的車載娛樂系統的漏洞更新了車內ECU的固件并向CAN總線發送非法控制指令從而成功入侵了2014款Jeep自由光。二人在2016年再次合作,利用相似的手法破解了板上調試接口,像CAN網絡上發送控制指令,實現了對汽車的動力系統的操控,可以隨意的進行加減速和剎車。

從這些例子我們可以發現由于CAN網絡是車內最主要的通信渠道,CAN網絡安全是汽車信息安全的最后也是最重要的一個環節。但頻頻的黑客攻擊事件也說明了傳統CAN2.0網絡對于信息安全的防護極其薄弱,已經難以適應當今汽車發展的需求。為了提高車載CAN總線的安全性,國際知名汽車電子軟件開發標準AUTOSAR提出了基于CAN-FD總線的車載安全通信模塊SecOC(Secure on Board Communication)安全驗證機制,通過在CAN-FD總線數據上附加Freshness值以及MAC消息認證碼,來實現通訊雙方的認證以及消息驗證,從而保障了車載通訊網絡的安全。下面將詳細介紹SecOC的原理和基于外掛式硬件安全模塊的SecOC實現方法。

1 SecOC原理

1.1 SecOC基本概念

SecOC從屬于AUTOSAR軟件規范中的Safety and Security部分,旨在對單個傳輸的數據單元的安全性進行校驗以檢測識別重播,欺騙,篡改等攻擊行為。SecOC于AUTOSAR 4.3.1版本首次提出,在對之前版本AUTOSAR架構改動較少,資源消耗不大量增長的情況下,實現了安全的CAN-FD通信。該模塊主要使用了基于對稱身份驗證方法的MAC消息認證碼,相對于傳送統的非對稱密鑰驗證體系來說,密鑰長度更加短,計算時間更加少,對軟硬件的資源消耗更加少,但卻可以實現和非對稱秘鑰驗證類似的安全性。同時,AUTOSAR也保留了非對稱秘鑰驗證的模塊接口,可以在對稱秘鑰驗證系統和非對稱秘鑰驗證系統間靈活切換。

如圖1所示,SecOC模塊是AUTOSAR基礎軟件模塊的一部分,集成于通訊服務的PDU(Protocol Data Unit)路由層,配合系統服務的CSM加密服務管理單元等確保整個AUTOSAR通訊協議的安全性。在該架構中PDU路由層會把安全相關的PDU傳給SecOC模塊,然后由SecOC模塊根據預先的配置信息將相應的PDU內容添加相關的安全認證信息,或者讀取其中的安全認證信息。

圖1 SecOC模塊層級

如圖2所示,SecOC模塊處理后包含安全認證信息的Secured I-PDU報文結構主要包括可選的Secured I-PDU頭,Authentic I-PDU,可選的Freshness值和Authenticator四個部分。Authentic I-PDU為合法的協議內容,如各種傳感器狀態內容??蛇x的Freshness值和Authenticator是進行安全校驗的重要部分。Freshness值是一個隨時間不斷變化,不重復的值,以確??偩€上的消息不會被重放攻擊,一般是一個單調計數器或者時間戳。Authenticator部分是MAC消息認證碼的部分,由對稱秘鑰,Authentic I-PDU數據,對應消息的ID值和Freshness值計算生成,用于保護驗證消息的數據完整性和真實性。

圖2 Secured I-PDU結構

1.2 SecOC通訊機制

如圖3所示,在通訊過程中,發送端應用層的Freshness值管理器(FVM)會生成一個Freshness值并根據配置好的長度裁減后用于本次通訊。SecOC模塊包含一個MAC消息認證碼生成單元,目前常用的MAC消息認證碼生成算法是AES-CMAC及HMAC。將生成好的Freshness值,秘鑰K,消息ID和Authentic I-PDU數據送入MAC消息認證碼生成器,就可以計算得到MAC消息認證碼值。同樣的,根據配置的不同,最終發送到總線的MAC消息認證碼長度也是可裁減的。

圖3 SecOC安全機制驗證流程

接收端收到Secured I-PDU數據后,接收端的Freshness值管理器會首先比對Freshness值,如果該值小于等于之前保存的上一次Freshness值或不在設定的時間范圍內,則說明這是一包被重放的數據,有安全隱患,需要丟棄;如果該值大于之前保存的上一次Freshness值或在設定的時間范圍內,則說明該字段安全,進行之后的檢驗。接收端的MAC消息認證碼驗證單元按照發送端的MAC消息認證碼生成單元一樣的算法計算Freshness值,秘鑰K,消息ID和Authentic I-PDU數據對應的MAC消息認證碼值并和接收到的MAC消息認證碼值比對,如果兩者一致,說明該包數據安全可信;如果不一致,則說明該包數據有安全隱患,需要丟棄。

2 基于TA100的SecOC設計

在SecOC的實現過程中,除了需要大量的軟件工作,同時要求硬件MCU具有安全算法能力和對秘鑰的安全保護能力。對于普通的MCU,其往往沒有足夠快的安全運算能力,或者自帶的硬件安全單元不支持AES-CMAC算法或者HMAC算法。對于一些運行速率高,運算能力強勁的MCU,雖然可以通過純軟件的方式完成相關的SecOC算法,但是很多又缺乏硬件上的安全保護機制,無法實現對秘鑰的安全存儲,達不到汽車相關安全規范對信息安全的要求。于是,汽車供應商只能基于少許的帶硬件安全模塊HSM且支持AUTOSAR的MCU器件進行SecOC的開發,SecOC的應用范圍收到了極大的限制。

為了解決這一問題,我們考慮使用車規級別的外掛式硬件安全芯片,在不使用AUTOSAR架構的情況下實現SecOC的相應功能,實現安全的車載通訊。

2.1 系統硬件架構

如圖4所示,我們搭建了一套硬件系統。其中,主控端使用美國微芯公司生產的ATSAMV71Q20。ATSAMV71Q20是一顆Cortex M7內核的單片機,最高運行速率300MHz,附帶SPI,I2C,UART,CAN和CAN-FD等多種數據接口。CAN-FD收發器使用美國微芯公司生產的ATA6571。安全芯片使用美國微芯公司生產的TA100。TA100集成了多種對稱,非對稱及哈希等安全算法,可以實現安全啟動,安全升級,消息認證和TLS等多種安全功能。對于SecOC安全機制中所需要的AES-CMAC算法和HMAC算法,TA100可以在微秒級別完成,非常適合該系統。

圖4 系統硬件架構

系統中的MOOCA FD是用來充當SecOC的接收節點的CANFD分析儀,它可以通過配置成為一個符合AUTOSAR通訊標準的SecOC子節點,從而判斷本系統發出的數據是否符合AUTOSAR中對SecOC的要求。

2.2 系統軟件設計

為了模擬真實的量產使用環境,軟件部分主要包含兩大部分:產線燒錄軟件及客戶端使用軟件。

對于產線燒錄軟件主要是為了將后續測試需要的AES-CMAC秘鑰組燒錄進TA100,并對TA100做基本配置。這部分的軟件流程如圖5(a)所示。(1)初始化主控各外設,配置主時鐘為300MHz,使能SPI及USB模塊。(2)配合微芯公司提供的上位機工具讀取存儲于上位機的AES-CMAC秘鑰數據。(3)將秘鑰數據發送到TA100。(4)對秘鑰數據進行再校驗,如果出現錯誤則重試步驟(3)。(5)寫入其他TA100配置,并鎖定TA100,以確保相關秘鑰再也無法被讀寫。

圖5 系統軟件流程

對于客戶端使用軟件,即測試用軟件,會將8字節的Authentic I-PDU明文數據添加Freshness值及由TA100計算得到的MAC消息認證碼(也就是Authenticator部分)值發送到CAN-FD總線上。這初部分的軟件流程如圖5(b)所示。(1)初始化主控各外設,配置主時鐘為300MHz,使能SPI及CAN-FD模塊。(2)讀取TA100單調遞增的安全計數值作為Freshness值。(3)打包Authentic I-PDU明文數據及Freshness值數據。(4)使能TA100的AESCMAC功能,并配置好后續MAC消息認證碼所需要的秘鑰。(5)將打包好的Authentic I-PDU明文數據及Freshness值數據發送至TA100。(6)等待TA100計算完成返回MAC消息認證碼值數據。(7)重新打包所有數據,并發送到CAN-FD總線上。(8)檢查停止測試的按鍵是否按下,如果按下則停止測試,否則跳轉到(2)循環進行測試。

2.3 系統測試結果

搭建好測試系統后,打開MOOCA FD上位機工具,導入測試系統使用的秘鑰值,并配置成AUTOSAR SecOC子節點。記錄MOOCA FD收到的數據,如圖6所示,SecOC子節點已成功收到數據并校驗通過。說明本系統作為SecOC的主節點,在不使用帶硬件安全模塊HSM的MCU器件且不使用AUTOSAR的情況下,可以實現AUTOSAR SecOC主節點一樣的功能。

圖6 測試結果

結語:AUTOSAR規范提出了SecOC的概念,通過對CAN總線上的數據進行校驗和認證,以實現對汽車CAN總線通訊數據的保護。但受限于SecOC對軟件和硬件的苛刻要求,該概念的推廣收到了極大的阻礙。本文通過使用外掛式的安全加密芯片TA100,在不使用高成本的安全控制器件的情況下,構建了一套兼容SecOC安全機制的軟硬件系統。該系統不依賴于AUTOSAR系統和MCU本身硬件安全能力,軟件開發簡單,通用性強。在保證車載通信安全的基礎上,具有很好的實用性和靈活性。

猜你喜歡
秘鑰通訊消息
《茶葉通訊》簡介
《茶葉通訊》簡介
通訊報道
ETC秘鑰國產化升級改造方案設計與實現
干細胞開啟未來大健康的“秘鑰” 專家與媒體面對面活動走進中源協和—山西省干細胞基因工程有限公司
一張圖看5G消息
通訊簡史
基于Unity 3D的產品秘鑰二維碼實現
基于二元多項式與中國剩余定理的多秘密分享方案
消息
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合