0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AUTOSAR SecOC:保障汽車通信的安全

上??匕?/a> ? 來源:上海控安 ? 作者:上??匕?/span> ? 2023-10-09 16:37 ? 次閱讀

作者 |沈平 上??匕部尚跑浖?chuàng)新研究院汽車網(wǎng)絡(luò)安全組

來源 |鑒源實(shí)驗(yàn)室

社群 |添加微信號TICPShanghai”加入“上??匕?1fusa安全社區(qū)”

在現(xiàn)代汽車行業(yè)中,隨著電子控制單元(ECUs)的普及以及車與車之間通信的不斷增加,確保通信安全變得尤為關(guān)鍵。AUTOSAR (Automotive Open System Architecture) 的 SecOC (Secure Onboard Communication) 模塊,正是為應(yīng)對這種挑戰(zhàn)而設(shè)計(jì)的。AUTOSAR作為一套開放的汽車軟件標(biāo)準(zhǔn),其中的SecOC模塊在其架構(gòu)中起到了至關(guān)重要的角色,它主要職責(zé)是確保車輛內(nèi)部的通訊數(shù)據(jù)安全無虞。通常,SecOC模塊是位于AUTOSAR通訊堆棧的PDU Router與更底層的通訊驅(qū)動之間,確保所有通過這個(gè)堆棧的信息都得到了適當(dāng)?shù)募用芎捅Wo(hù)。實(shí)際應(yīng)用中,SecOC模塊還能與HSM (Hardware Security Module) 模塊相結(jié)合,借助硬件來更快速地進(jìn)行數(shù)據(jù)加密和消息認(rèn)證。

wKgZomUjunaAWM1QAACwyA9syqA278.png

圖1 SecOC在BSW中的架構(gòu)圖

SecOC通信流程依賴于兩大核心組件:消息認(rèn)證與新鮮度值(Freshness Value,F(xiàn)V)。為了確保消息的真實(shí)性與完整性,SecOC利用消息認(rèn)證碼(Message Authentication Code,MAC)進(jìn)行核實(shí)。在消息發(fā)送過程中,系統(tǒng)會利用預(yù)定的密鑰生成MAC,并將其附加在原消息之后。而在消息接收端,系統(tǒng)會再次利用相同的密鑰計(jì)算MAC,并與接收到的MAC進(jìn)行校驗(yàn)。如若不符,則表明消息在傳輸過程中可能遭到了篡改,或者并非來自一個(gè)合法的發(fā)送方。而Freshness Value(FV)的存在主要是為了應(yīng)對“重放攻擊”。為此,每一條消息都會伴隨一個(gè)FV值。這是一個(gè)不斷變化的動態(tài)值,如計(jì)數(shù)器或時(shí)間戳,確保每一條發(fā)送的消息均具有其獨(dú)特性。在MAC的生成過程中,F(xiàn)V也起到了關(guān)鍵作用。這一整個(gè)流程如圖2所示。

wKgaomUjuoOALe4PAAC5Kh15LRU571.png

圖2 SecOC通訊流程圖

接下來,我們將根據(jù)AUTOSAR SecOC官方文檔的附錄11.4,深入探討基于多新鮮度計(jì)數(shù)器的SecOC機(jī)制是如何實(shí)現(xiàn)的。在此示例中,我們遇到三個(gè)關(guān)鍵運(yùn)行實(shí)體,它們是:新鮮度管理器ECU(即“Master”),以及負(fù)責(zé)接收和發(fā)送報(bào)文的ECU(我們稱之為“Slave”)。在此機(jī)制中,Slave的任務(wù)是接收來自Master廣播的Freshness Value(FV)計(jì)數(shù),以便同步更新其本地的FV計(jì)數(shù)。簡單地說,Master負(fù)責(zé)維護(hù)并廣播當(dāng)前的FV計(jì)數(shù),而Slave根據(jù)接收到的計(jì)數(shù)進(jìn)行更新,確保它們的計(jì)數(shù)值保持一致。這種同步機(jī)制是為了確保在整個(gè)系統(tǒng)中,每次的通信都有一個(gè)獨(dú)特的、不斷更新的FV,以加強(qiáng)安全性。這三者之間的交互和關(guān)系可以在圖3中看到。

wKgaomUjupeAURuCAAEZhIaqYPM958.png

圖3 多新鮮度計(jì)數(shù)器管理關(guān)系圖

在SecOC通信流程中,所有的數(shù)據(jù)傳輸都默認(rèn)采用大端模式。發(fā)送者發(fā)送的安全報(bào)文(簡稱S-I-PDU)由幾個(gè)部分組成:S-I-PDU報(bào)文頭、待保護(hù)的交互層協(xié)議數(shù)據(jù)單元(I-PDU)、Freshness Value(FV)和Authenticator(也稱為MAC)。值得注意的是,S-I-PDU報(bào)文頭和FV并不是每次都必須的,它們是可選組件。另外,I-PDU不一定包含原始報(bào)文中的所有載荷(payload),它可能僅包含部分?jǐn)?shù)據(jù)。進(jìn)一步說,通常情況下,我們不會完整地發(fā)送FV和MAC的所有數(shù)據(jù)。為了效率和安全性的考慮,我們通常只選取其中的部分?jǐn)?shù)據(jù)包含在S-I-PDU中。具體來說,對于FV,我們從其低位開始,選取一定長度的數(shù)據(jù);而對于MAC,我們則從其高位開始,選取一定長度的數(shù)據(jù)。這種數(shù)據(jù)組織和截取的方式確保了在有限的報(bào)文長度內(nèi),我們可以傳輸最關(guān)鍵的、具有代表性的數(shù)據(jù)。如圖4和圖5所詳細(xì)展示。

wKgZomUjuquABkl5AADFaumSiYM772.png

圖4 安全報(bào)文構(gòu)成圖

wKgaomUjurqAQxQNAAGTO2al-ro357.png

圖5 FV和MAC截取示意圖

MAC(消息認(rèn)證碼)的計(jì)算是關(guān)于數(shù)據(jù)完整性和真實(shí)性驗(yàn)證的核心。在SecOC中,其生成主要采用對稱加密算法。例如,通過使用AES算法,我們可以得到CMAC(加密消息認(rèn)證碼)。為了計(jì)算MAC,我們需要考慮幾個(gè)關(guān)鍵部分:

· Data Id:這是一個(gè)兩字節(jié)的數(shù)據(jù)標(biāo)識符,它有助于區(qū)分和識別不同的I-PDU。

· I-PDU的保護(hù)部分:這并不是完整的I-PDU數(shù)據(jù),而是我們選擇需要加密保護(hù)的部分。

· 完整的FV (Freshness Value):如前所述,F(xiàn)V是一個(gè)動態(tài)的值,用于確保每條消息的獨(dú)特性,避免重放攻擊。

將這三個(gè)部分組合起來,我們就可以得到MAC的輸入數(shù)據(jù)。然后通過應(yīng)用特定的加密算法(如AES生成CMAC),將這些輸入轉(zhuǎn)化為獨(dú)特的MAC值。如圖6所示。

wKgaomUjus2AAZyHAAEQHNlzmkM362.png

圖6 生成MAC數(shù)據(jù)構(gòu)成圖

在此示例中,完整的Freshness Value(FV)是由以下四個(gè)部分構(gòu)成的:

· Trip Counter (TripCnt):由主Freshness Value Manager(主FVM)控制,每一次“trip”(如車輛啟動和關(guān)閉的周期)都會遞增。它主要記錄了車輛啟動的次數(shù)。上下電時(shí)觸發(fā)。

· Reset Counter (ResetCnt):由主FVM管理,它基于配置的周期(ResetCycle)進(jìn)行周期性遞增??梢钥醋魇且粋€(gè)中間級別的計(jì)數(shù)器,用于追蹤系統(tǒng)重置的次數(shù)。

· Message Counter (MsgCnt):與發(fā)送器ECU相關(guān),每次發(fā)送信息時(shí)都會遞增。用于追蹤特定ECU發(fā)送的消息數(shù)量。

· Reset Flag (ResatFlag):與ResetCnt同步更新。它直接取自ResetCnt的低位數(shù)據(jù),大小通常為兩個(gè)bit。作為一個(gè)標(biāo)志位,它提供了關(guān)于系統(tǒng)重置狀態(tài)的快速參考。

當(dāng)我們談到需要截取的FV時(shí),特指Reset Flag和MsgCntLower(消息計(jì)數(shù)器的低位部分)。如圖7所示,這些組件如何組合以形成完整的FV。同時(shí),它們之間的更新關(guān)系和如何相互影響可以在圖8中看到。這種設(shè)計(jì)確保了在保持消息的唯一性和安全性的同時(shí),系統(tǒng)能夠高效地進(jìn)行操作。

wKgZomUjuuSAMCOuAAF-LOQ4TS8891.png

圖7 FV構(gòu)成與截取圖

wKgZomUjuvGAKDqBAAK9R4GwIu4803.png

圖8 FVCnt更新邏輯圖

接下來,我們將探討SecOC的同步報(bào)文(稱為SyncMsg)及其結(jié)構(gòu)。在SecOC的上下文中,同步報(bào)文起著至關(guān)重要的作用,它確保系統(tǒng)中的所有實(shí)體(例如Slave)與主控制實(shí)體(例如Master或通常在整車中的網(wǎng)關(guān))保持同步。簡而言之,它允許這些實(shí)體對關(guān)鍵的計(jì)數(shù)器值和狀態(tài)有一個(gè)統(tǒng)一的理解,從而確保整個(gè)通信過程的安全性。同步報(bào)文的構(gòu)成如下:TripCnt、ResetCnt和MAC。如圖9所示,這三個(gè)部分組合形成了完整的同步報(bào)文。Master(通常是網(wǎng)關(guān))會定期發(fā)送這些同步報(bào)文,確保系統(tǒng)中的所有Slave能夠與之保持同步,從而維護(hù)整個(gè)系統(tǒng)的安全通信。

wKgaomUjuwOASOZ1AADP0_JN7mQ222.png

圖9 SyncMsg構(gòu)成

同步報(bào)文的MAC計(jì)算與安全報(bào)文的MAC確實(shí)存在細(xì)微差異。在同步報(bào)文的環(huán)境中,為了確保消息的真實(shí)性和完整性,我們需要使用稍有不同的數(shù)據(jù)元素來生成MAC。在同步報(bào)文中,生成MAC需要以下數(shù)據(jù):

· Message ID (MsgID):這是一個(gè)唯一標(biāo)識該消息的值。它有助于區(qū)分和識別不同的同步報(bào)文。MsgID通常占用兩個(gè)Byte。

· Freshness Value (FV):在這種上下文中,F(xiàn)V由TripCnt和ResetCnt組成。

為了確保整體數(shù)據(jù)長度為整個(gè)Byte,如果這兩個(gè)計(jì)數(shù)器的組合不構(gòu)成完整的Byte長度,那么后續(xù)的空白部分會用0來補(bǔ)齊。如圖10所示,MsgID、TripCnt和ResetCnt是順序排列的,然后將這些數(shù)據(jù)輸入加密算法來生成MAC。

wKgaomUjuxGAIfYkAAFQLuZ6VUA351.png

圖10 同步報(bào)文MAC生成數(shù)據(jù)構(gòu)成圖

上文為大家淺析了SecOC的通訊機(jī)制。接下來,我們將模擬這一機(jī)制進(jìn)行實(shí)驗(yàn)。利用特定的CAN總線仿真工具,我們配置了一個(gè)Master節(jié)點(diǎn)和一個(gè)Slave發(fā)送節(jié)點(diǎn)。為確保仿真節(jié)點(diǎn)的SecOC機(jī)制無誤,我們還使用了某CAN總線測試工具進(jìn)行驗(yàn)證和檢驗(yàn)。

將同步報(bào)文ID配置為0x100、TripCnt的長度配置為24 bit、ResetCnt的長度配置為18 bit以及MAC的長度配置為16 bit,MAC生成的對稱加密算法選擇為AES-128,密鑰為12345678901234567890123456789012。將以上同步報(bào)文以2秒將ResetCnt遞增的方式。具體信息如圖11所示。

wKgaomUjux-Afz-8AAIkDaryiYQ306.png

圖11 同步報(bào)文配置信息表

將安全報(bào)文ID配置為0x0、IPDU長度配置為40 bit,F(xiàn)V的長度配置為8 bit以及MAC的長度配置為16 bit。MAC生成的對稱加密算法選擇為AES-128,密鑰為12345678901234567890123456789012。具體信息如圖12所示。

wKgaomUjuy-AOIUYAAJL8vEz8o0632.png

圖12 安全報(bào)文配置信息表

在仿真節(jié)點(diǎn)中完成以上參數(shù)的配置后,在測試工具中完成相應(yīng)的參數(shù)配置,并進(jìn)行SecOC機(jī)制的驗(yàn)證,通過測試結(jié)果調(diào)試自己的仿真節(jié)點(diǎn)邏輯。如圖13、14、15所示。

wKgZomUjuz2AAw8nAAGQ2L8hB5k432.png

圖13 SecOC機(jī)制參數(shù)配置圖

wKgaomUju2KAJUt4AARVtksPhGs373.png

圖14 安全報(bào)文驗(yàn)證圖

在圖14中,紅色框中內(nèi)容表示測試工具作為安全報(bào)文接收節(jié)點(diǎn),收到發(fā)送節(jié)點(diǎn)(仿真節(jié)點(diǎn))發(fā)送的安全報(bào)文信息,其中要保護(hù)的I-PDU為78901234,截?cái)嗟腇V為00,截?cái)嗟腗AC為E27277(16進(jìn)制)。綠色框中內(nèi)容表示安全報(bào)文生成MAC時(shí)所需的數(shù)據(jù)。藍(lán)色框中內(nèi)容為測試工具根據(jù)配置信息所生成的MAC值。只有測試工具計(jì)算的MAC值與收到的截?cái)郙AC值匹配才測試通過。

wKgaomUju3uAYjnyAAMpzRQOvIc769.png

圖15 同步報(bào)文驗(yàn)證圖

在圖15中,紅色框中內(nèi)容表示測試工具作為同步報(bào)文接收方,收到主節(jié)點(diǎn)發(fā)送的同步報(bào)文信息,其中TripCnt值為91,ResetCnt值為77,截?cái)嗟腗AC為D608(16進(jìn)制)。綠色框中內(nèi)容表示測試工具根據(jù)配置信息整合出來要生成MAC的數(shù)據(jù)(16進(jìn)制,符合前文圖10結(jié)構(gòu))。藍(lán)色框中內(nèi)容表示測試工具計(jì)算得到的MAC值。只有測試工具計(jì)算的MAC值與收到的截?cái)郙AC值匹配才測試通過。

本文對AUTOSAR SecOC通訊機(jī)制進(jìn)行了簡單的闡述,并通過建立仿真節(jié)點(diǎn)實(shí)現(xiàn)SecOC通訊機(jī)制,隨后通過測試工具驗(yàn)證所實(shí)現(xiàn)的SecOC機(jī)制。

參考文檔:

AUTOSAR. (2022). Specification of Secure Onboard Communication. AUTOSAR Standard Working Specification.

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5926

    瀏覽量

    135700
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    344

    瀏覽量

    21415
  • 汽車
    +關(guān)注

    關(guān)注

    13

    文章

    3333

    瀏覽量

    37045
收藏 人收藏

    評論

    相關(guān)推薦

    AUTOSAR架構(gòu)下的多核通信介紹

    隨著汽車ECU迅速的往域控制器方向發(fā)展,ECU要處理的任務(wù)越來越多,單核CPU的負(fù)載越來越大,多核ECU勢在必行。AUTOSAR架構(gòu)下OS支持多核處理,本系列文章將詳細(xì)介紹AUTOSAR架構(gòu)下的多核機(jī)制。本文介紹
    的頭像 發(fā)表于 11-13 09:24 ?1844次閱讀
    <b class='flag-5'>AUTOSAR</b>架構(gòu)下的多核<b class='flag-5'>通信</b>介紹

    電池安全保障新能源汽車的發(fā)展

      新能源汽車中,新能源是汽車的亮點(diǎn),但是不管是燃料電池汽車還是電力汽車,對于實(shí)用的客戶來說,最重要的還是安全問題,既然是給了
    發(fā)表于 01-11 15:56

    如何保障物聯(lián)網(wǎng)設(shè)備安全

    的重要性毋庸置疑!那么該如何保障物聯(lián)網(wǎng)設(shè)備安全呢?加密芯片就是保障物聯(lián)網(wǎng)設(shè)備安全最簡單而有效的方式:賦予信息終端唯一可信身份,確保其內(nèi)部運(yùn)行程序合法性,確立互聯(lián)網(wǎng)中終端節(jié)點(diǎn)可信;從根本
    發(fā)表于 09-07 10:36

    什么是汽車安全網(wǎng)關(guān)?

    多重要?網(wǎng)聯(lián)汽車是遠(yuǎn)程攻擊的潛在目標(biāo),如果不進(jìn)行適當(dāng)保護(hù),汽車可能會遭到破壞,失去控制。網(wǎng)關(guān)的安全機(jī)制可以在很大程度上減少網(wǎng)絡(luò)攻擊,最大限度保障駕駛
    發(fā)表于 03-24 12:10

    AUTOSAR的相關(guān)資料推薦

    AUTOSAR基礎(chǔ)篇之EcuM_wto9109的博客-CSDN博客【AutoSAR】【EcuM】ECU狀態(tài)管理專注汽車軟件開發(fā)、AutoSAR、車載以太網(wǎng)、SOA、EE架構(gòu)。07-08
    發(fā)表于 01-27 08:25

    介紹AUTOSAR支持的四種功能安全機(jī)制

    1、AUTOSAR的四種功能安全機(jī)制雖然AUTOSAR不是一個(gè)完整的安全解決方案,但它提供了一些安全機(jī)制用于支持
    發(fā)表于 06-10 17:33

    AUTOSAR功能安全機(jī)制之內(nèi)存分區(qū)與實(shí)現(xiàn)

    1、AUTOSAR功能安全機(jī)制之內(nèi)存分區(qū)與實(shí)現(xiàn)  在AUTOSAR架構(gòu)中,應(yīng)用軟件位于RTE上方,由互連的AUTOSAR SWC組成,這些組件以原子方式封裝了應(yīng)用軟件功能的各個(gè)組成部分
    發(fā)表于 09-19 15:55

    AUTOSAR信息安全框架和關(guān)鍵技術(shù)相關(guān)資料介紹

    越來越多的關(guān)注和重視。AUTOSAR作為目前全球范圍普遍認(rèn)可的汽車嵌入式軟件架構(gòu),已經(jīng)集成的相關(guān)信息安全模塊對實(shí)現(xiàn)信息安全需求有著充分的支持,例如保護(hù)車內(nèi)
    發(fā)表于 11-24 16:51

    面向汽車應(yīng)用的AUTOSAR設(shè)計(jì)技巧

    面向汽車應(yīng)用的AUTOSAR設(shè)計(jì)技巧 汽車OEM正在開發(fā)基于AUTOSAR的電子系統(tǒng)以應(yīng)對當(dāng)代汽車中日益復(fù)雜的軟件。
    發(fā)表于 01-15 10:46 ?1134次閱讀

    基于信息安全HSM固件的ECU間安全通訊

    本文主要描述了基于ST高性能高安全性PowerPC結(jié)合Autosar SecOC完成的硬件加密的安全總線通信實(shí)現(xiàn)。
    的頭像 發(fā)表于 08-18 16:29 ?1463次閱讀
    基于信息<b class='flag-5'>安全</b>HSM固件的ECU間<b class='flag-5'>安全</b>通訊

    AUTOSAR信息安全框架和關(guān)鍵技術(shù)分析

    SecOC 是在AUTOSAR 軟件包中添加的信息安全組件,主要增加了加解密運(yùn)算、密鑰管理、新鮮值管理和分發(fā)等一系列的功能和新要求。該模塊的主要作用是為總線上傳輸?shù)臄?shù)據(jù)提供身份驗(yàn)證,它可以有效地檢測出數(shù)據(jù)回放、欺騙以及篡改等攻擊
    的頭像 發(fā)表于 11-25 09:22 ?1308次閱讀

    淺談AUTOSAR車載安全通信(SecOC)SecOC

    自動合成孔徑雷達(dá): 一種AUTOSAR BSW模塊 與PDU路由器BSW并行 關(guān)鍵數(shù)據(jù)的有效認(rèn)證 議定書層面的保護(hù) 數(shù)據(jù)單位(PDU)-網(wǎng)絡(luò)不可知
    發(fā)表于 05-24 14:26 ?875次閱讀
    淺談<b class='flag-5'>AUTOSAR</b>車載<b class='flag-5'>安全</b><b class='flag-5'>通信</b>(<b class='flag-5'>SecOC</b>)<b class='flag-5'>SecOC</b>

    網(wǎng)絡(luò)安全:關(guān)于SecOC及測試開發(fā)實(shí)踐簡介

    介紹關(guān)于車載網(wǎng)絡(luò)技術(shù)的探討,通過SecOC(Secure Onboard Communication)測試開發(fā)方案實(shí)現(xiàn)網(wǎng)絡(luò)安全。SecOC中更關(guān)注身份合法性的認(rèn)證,包括SSL、TLS提供的保密性,都是可供選擇的方案。
    的頭像 發(fā)表于 07-27 15:29 ?4516次閱讀
    網(wǎng)絡(luò)<b class='flag-5'>安全</b>:關(guān)于<b class='flag-5'>SecOC</b>及測試開發(fā)實(shí)踐簡介

    基于主動中繼的控制器區(qū)域網(wǎng)絡(luò)的反應(yīng)式防御機(jī)制

    業(yè)界為確保車載網(wǎng)絡(luò)安全所做的努力: AUTOSAR機(jī)載安全通信規(guī)范(SECOC) 密碼抽象庫(CAL)的
    的頭像 發(fā)表于 10-25 15:19 ?385次閱讀

    AUTOSAR E2E:車載通信安全保障

    到接收端的完整傳輸過程,保障通訊中數(shù)據(jù)的完整性與安全性。AUTOSAR (AUTomotive Open System ARchitecture) 是一個(gè)全球汽車工業(yè)的標(biāo)準(zhǔn)化項(xiàng)目,旨在
    的頭像 發(fā)表于 10-27 15:32 ?1499次閱讀
    <b class='flag-5'>AUTOSAR</b> E2E:車載<b class='flag-5'>通信</b>的<b class='flag-5'>安全</b><b class='flag-5'>保障</b>