需求背景
在傳統(tǒng)的汽車電子結(jié)構(gòu)中,車內(nèi)的電控單元數(shù)量和復(fù)雜性受到限制,通信帶寬也受到限制。因此,人們普遍認為車內(nèi)各個ECU之間的通信是可靠的。只要ECU節(jié)點接收到相應(yīng)的消息,就會對其進行處理。然而,隨著汽車行業(yè)和互聯(lián)網(wǎng)的持續(xù)發(fā)展,汽車變得越來越智能化和互聯(lián)化,這種默認的車內(nèi)通信變得越來越不安全。如果在車輛的物理總線上添加一個新的節(jié)點,該節(jié)點發(fā)送虛假信號或篡改其他ECU發(fā)送的消息,例如加速、剎車和轉(zhuǎn)彎信號,而與之相關(guān)的動力控制ECU卻盲目接受這些消息,那么車輛可能會失去控制。因此,迫切需要開發(fā)一種安全高效的算法,用于驗證消息的真實性,確認消息發(fā)送方的合法性以及數(shù)據(jù)是否遭到篡改。在這種背景下,安全板載通信(Secure Onboard Communication,簡稱SecOC)機制應(yīng)運而生。
SecOC實現(xiàn)原理
gt;什么是SecOC
SecOC是Security Onboard Communication 的簡稱,中文名稱叫做安全車載通信,是AUTOSAR從Classic Platform4.2開始新增的一個基礎(chǔ)模塊,主要的作用就是為汽車嵌入式網(wǎng)絡(luò)總線上的數(shù)據(jù)傳輸提供身份驗證和防止重放攻擊的功能。
gt;SecOC實現(xiàn)原理
SecOC 機制要求在協(xié)議數(shù)據(jù)單元 的發(fā)送方和接收方的 ECU 都要實現(xiàn) SecOC 模塊。
在發(fā)送方,SecOC 模塊通過向待發(fā)送的協(xié)議原始 PDU 添加認證信息來創(chuàng)建安全PDU,認證信息包括新鮮度值 和 信 息 認 證 碼(Message Authentication Code,簡稱 MAC)。
FV 由新鮮度值管理模塊 獲得。FVM 分為 Master FVM( 由網(wǎng)關(guān)擔(dān)任 ) 和 Slave FVM( 由其它實現(xiàn) SecOC 機制的 ECU 擔(dān)任 ),前者會向后者發(fā)送新鮮度值同步消息來保證PDU 收發(fā)端 FV 的一致性,后者則向前者發(fā)送 FV 同步請求消息。
將 PDU 的數(shù)據(jù)標識符、原始 PDU 以及完整新鮮度值拼接起來,傳遞給認證算法產(chǎn)生 MAC 值。
接收方收到安全 PDU 后會通過MAC認證模塊對其新鮮性與完整性進行驗證,如果驗證成功,那么將原始的數(shù)據(jù)PDU上傳到上層應(yīng)用的軟件模塊,如果驗證失敗,則直接丟棄。
TOSUN SecOC測試解決方案
該解決方案是基于SecOC方案實現(xiàn)車內(nèi)敏感信息的認證。
TOSUN SecOC系統(tǒng)是基于TOSUN同星自研核心軟件TSMaster和CAN工具實現(xiàn),能夠涵蓋開發(fā)和生產(chǎn)過程中的測試需求。主要功能包含主節(jié)點同步報文解析,完整新鮮度值生成,計算MAC值,生成并發(fā)送安全報文、接收解析驗證安全報文和故障注入功能。
測試面板總體如下圖所示:
gt;同步報文接收
新鮮值管理模塊在整車身上一般由網(wǎng)關(guān)充當(dāng),負責(zé)發(fā)送同步報文,便于從節(jié)點更新新鮮值。同步報文的主要作用是保證安全PDU發(fā)送和接收端新鮮度值信息的一致性。
同步報文的行程計數(shù)器、重置計數(shù)器(Reset Counter)和MAC值(Authenticator)長度定義如下:
本解決方案采用AES128-CMAC標準算法和基于同步消息的復(fù)合counter新鮮度值管理方案,MAC值計算方式為CMAC-AES128。
圖示是TOSUN SecOC解決方案中同步報文接收的演示
第一部分顯示被測件發(fā)送的同步報文和報文解析。Data ID由主節(jié)點(被測件/新鮮值管理模塊)決定。
第二部分為算法計算的MAC值,與接收的MAC值前兩位是一致的,則驗證成功返回0;否則驗證失敗返回1,并且錯誤數(shù)量+1。
gt;新鮮度值管理
圖示是TOSUN SecOC解決方案中新鮮度值管理的演示
完整的新鮮度值包括:行程計數(shù)器(Trip Counter),重置計數(shù)器(Reset Counter), 重置標志值(Reset Flag)和消息計數(shù)器(Message Counter)。
1)行程計數(shù)器和重置計數(shù)器由同步報文決定
2)消息計數(shù)器每發(fā)送一次安全報文自增1
3)重置標志位為重置計數(shù)器最后2bit數(shù)據(jù)
從節(jié)點內(nèi)完整的新鮮度值由以上四個數(shù)據(jù)生成。
gt;安全報文發(fā)送
圖示是TOSUN SecOC解決方案中安全報文發(fā)送的演示
第一部分設(shè)置2字節(jié)的Data ID和4字節(jié)的控制信號。
第二部分顯示加密后的MAC值,截取的新鮮值、截取的MAC值和發(fā)送的安全報文。
本解決方案的新鮮度值和MAC值截取的標準是在CAN協(xié)議的通信方式下,F(xiàn)V截取低位1字節(jié),MAC截取高位3字節(jié)。
gt;安全報文接收
圖示是TOSUN SecOC解決方案中安全報文接收的演示
第一部分設(shè)置接收端2字節(jié)的Data ID,顯示完整的安全報文。
第二部分顯示接收端的MAC驗證結(jié)果,驗證成功返回0,亮綠燈;驗證失敗返回1,亮紅燈,錯誤數(shù)量+1。
gt;故障注入測試
圖示是TOSUN SecOC解決方案中故障注入測試的演示
在該面板中點擊任意類型故障注入按鈕可進行故障注入,可看到的錯誤數(shù)量增加并亮紅燈。以檢測和評估系統(tǒng)的可靠性和穩(wěn)定性,從而提高系統(tǒng)的質(zhì)量。
其中“模擬過去新鮮值發(fā)送”是指將新鮮值篡改成上一次發(fā)送 的新鮮值,“模擬未來新鮮值發(fā)送”同理。
鄭重聲明:此文內(nèi)容為本網(wǎng)站轉(zhuǎn)載企業(yè)宣傳資訊,目的在于傳播更多信息,與本站立場無關(guān)。僅供讀者參考,并請自行核實相關(guān)內(nèi)容。