摘要
當今世界,在網際網路多模式發展和工業智慧化趨勢的背景下,傳統制造業逐漸向“智慧製造”轉型升級。汽車產業在移動互聯、大資料及雲計算等技術的推動下向智慧化、網聯化發展的趨勢愈發明顯。當前,CAN匯流排作為汽車行業專用的匯流排,已暴露出了越來越多的車聯網資訊保安問題,無法適應汽車的發展趨勢。
對此,傳統的CAN匯流排引入一套通訊認證的方法,即SecOC(Secure Onboard Communication)。SecOC作為新一代車內網路安全匯流排方案,美亞網安已將該技術整合在車聯網資訊保安自動化檢測試驗裝置中,透過在國內主機廠進行SecOC匯流排驗證性測試,積累了測試用例,並取得了良好的效果。
前段時間,美亞網安技術專家就車聯網資訊保安方面為我們分享了SecOC匯流排加密通訊原理,本期,技術專家將帶來SecOC匯流排新鮮值及含義。
在上一期《車聯網資訊保安之:SecOC匯流排加密通訊原理》文章中,技術專家對SecOC匯流排加解密通訊進行了介紹,並且對整個匯流排通訊加密流程做了較為詳細的闡述,透過MAC碼實現身份認證,防止匯流排資料被篡改。除此之外,為了避免CAN/CAN-FD被重放攻擊,SecOC同樣引入新鮮值,透過不同的新鮮值在一定程度上大大提升了匯流排的安全性,在效能與安全性之間做了很好的權衡。
整個SecOC匯流排報文結構如下所示,Authentic I-PDU是需要被保護的資料;Authenticator為認證資訊(通常使用訊息認證碼,即Message Authentication Code,簡稱MAC,後文以MAC來簡稱此內容);Secured I-PDU Header為可選用的報頭;Freshness Value為可選用的新鮮度值。
新鮮值傳達了資訊的實時性,可以由時間戳校驗和幀計數器校驗兩種模式生成。時間戳檢驗的最大挑戰在於要求多個 ECU 間進行時間同步,消除 ECU 振盪器自身產生的偏差,所以時間戳檢驗需要同步機制。
目前只有 TTCAN 以及更先進的 Flexray 匯流排支援這種機制,因此我們選用了幀計數器模式。在每個傳送者或接收者的 ECU 中,都有一個專用本地幀計數器將用於跟蹤 CAN 訊息事件。該幀計數器只會在每個 CAN 成功傳送或接收事件計數,這避免了時間同步上的問題。當出現報文錯誤或丟失情況時,ECU可以透過幀計數器重新同步來恢復正常工作。
新鮮值由Trip Counter、Reset Counter、Message Counter、Reset Flag共8位元組組成,如下圖所示:
Trip Counter
此計數器為遞增計數器,初始值為0,在上電、喚醒等操作時自增,當Trip Counter自增時,Reset Counter清零;Master ECU將一個新的Trip Counter和Reset Counter放到同步訊息中傳送給Slave ECU,所有Slave ECU都儲存Trip Counter和Reset Counter。每一次自增後都將當前值寫入非易失性儲存中,建議儲存在安全儲存區域。
(建議Trip Counter為3位元組,0XFFFFFF = 16777215 ,按使用壽命30年計算,16777215 / 30 /365 = 1532,即平均每天可重複上電1532次,30年後才會出現溢位。若Trip Counter 溢位,將不會有效抵禦重放攻擊。)Reset_counter溢位時,Trip Counter + 1
Reset Counter
此計數器單調遞增,ResetCounter可根據實際場景設定不同的週期,週期單調遞增(即Reset Counter + 1);當Reset Counter自增時,Message Counter清零;Master ECU將當前最新的Trip Counter和Reset Counter作為同步訊息傳送給Slave ECU。所有Slave ECU都儲存Trip Counter和Reset Counter。
(建議Reset_Counter為3位元組,0XFFFFFF = 16777215, CAN總線上最快10MS一幀報文發出,這裡設定Reset Counter的遞增週期為200ms(可配置),每秒鐘會遞增5次,每天遞增5*60*60*24 = 432000次。16777215 / 432000 = 38,即不下電的情況下,ResetCounter在第38天后會發生溢位。溢位後將不再能夠抵禦放攻擊)。
Message Counter
此計數器單調遞增,傳送ECU每傳送一次報文資料幀,傳送ECU的Message Counter + 1,擷取Message Counter的低位(Message CntLower),作為新鮮值部分組包到CAN匯流排報文幀中(Secure I-PDU)。接收到成功驗證一條指令後同樣執行Message_Counter + 1操作。
(Message Counter建議14bit,高位10bit不出現在訊息體中,低位4bit出現在訊息體中。需保證在一次Reset週期內,Message Counter不會出現溢位,溢位後將不在能夠抵禦重放攻擊)。
Reset Flag
實時同步來自MasterECU中的Reset Counter的值。取Reset Counter的低2位,作為新鮮值部分組包到CAN匯流排報文幀中。需要特別注意的是,建議要將Trip Counter、Reset Counter、Message Counter等儲存在非易失性儲存器(NVRAM)中,因為如果用普通Flash,通常只能擦寫10萬次,如果Reset Counter每200ms同步一次,Flash很快就會被寫壞。因此可以考慮對Flash做磨損平衡處理,即Reset Counter和Message Counter不儲存,但是安全性會受影響,如果網格發出同步指令之前,某些ECU間的通訊可能存在被重放攻擊的可能性。
當前,美亞網安在汽車資訊保安與汽車取證方面已經有了深度的研究,全面理解汽車電子電氣架構和匯流排協議。未來,北京美亞網安將持續性的輸出車聯網資訊保安技術的能力,加強同國內外主機廠的合作,為提升整個汽車行業的資訊保安能力做出自己的貢獻。
公司簡介
北京美亞柏科網路安全科技有限公司(簡稱:美亞網安)是國投智慧控股廈門市美亞柏科資訊股份有限公司(股票簡稱:美亞柏科,股票程式碼:300188)的全資子公司,是美亞柏科集團網路空間安全、大資料智慧化、網路開源情報和智慧裝備製造四大產品戰略重要組成部分。以服務國家網路強國戰略為已任,力爭成為網路空間安全的領先者。
在新一代網路空間安全的建設浪潮下,利用大資料和零信任技術,依託“狼煙計劃”從使用者角度構建“一中心兩體系”為核心的大資料安全產品;依託“長城計劃”從監管者角度打造網路安全大資料產品。
公司致力於網路安全、資料安全、內容安全等技術方向的研究,透過網路安全生態的建設,構建有競爭力的產品和解決方案,實現雲計算、大資料、物聯網、工業控制、移動互聯五大領域的全覆蓋。透過諮詢規劃、系統整合、平臺產品、安全服務、教育培訓等,全面支撐政府機關、監管單位、事業單位、大型企業等客戶的網路安全建設與運營。