在线观看日产精品_成人性生交大片免费看中文网站_神马影院午夜我不卡_亚洲国产精品久久久久久

中英文核心期刊咨詢網提供中英文核心期刊目錄大全,最新2023中文核心期刊目錄查詢,英文論文發表期刊咨詢服務。
中文核心期刊咨詢網

電控單元安全訪問策略設計

作者: 中文核心期刊2020-11-18閱讀:文章來源:中文核心期刊咨詢網

  隨著汽車電子技術的快速發展,為了確保車輛安全,防止非法或惡意刷寫串改ECU軟硬件,其安全訪問機制和算法就很重要。文章介紹一種電控單元安全訪問的算法設計,利用對ECU狀態進行判斷,來解決車輛生產過程中和售后返修中對ECU安全訪問的不同需求。通過提出的動態安全訪問機制和加入證書簽名來防止非法或惡意攻擊ECU,從而保證車輛行駛安全。

電控單元安全訪問策略設計

  關鍵詞:電控單元;安全訪問;策略

  1引言

  隨著現代汽車電子技術不斷發展和進步,汽車變得更加智能和高效。充當汽車大腦的電控單元其硬件和軟件設計越來越通用化和模塊化,從而導致其軟件的復雜度提高和迭代周期縮短,進而對ECU軟件線下再編程和刷寫有了更多的需求。如何保證ECU刷寫安全和防止非法或惡意編程,其安全訪問機制就顯得尤為重要。現有ECU安全訪問技術中,一般遵循ECU向訪問實體或者診斷工具發送密鑰種子,訪問實體或者診斷工具對密鑰種子進行邏輯運算并得到密鑰,并將其發送ECU,ECU將獲得的密鑰與對自己發送的密鑰種子計算進行邏輯運算獲得的密鑰進行對比,相同則響應通過ECU安全訪問,進入刷寫步驟。其又分為固定詢問和可變詢問,固定詢問是每次ECU發送的密鑰種子是固定一樣的,需要返回的密鑰每次也是一樣的,這種方式的缺點是太過于簡單,非常容易被破解。可變詢問就是ECU每次發送的密鑰種子是不一樣的,ECU和訪問實體或者診斷工具通過相同的算法計算密鑰,ECU得到訪問實體或者診斷工具發送的密鑰和自己計算的密鑰進行比較,這種方法的缺點就是太過依賴算法的保密性,如果非法者通過創建模擬器模擬ECU的方法獲得多組密鑰種子和密鑰用來破解該算法,就有可能被破解成功,給非法訪問和惡意攻擊留下了可能。

  2系統硬件組成

  本文介紹的ECU安全訪問系統包括:安全服務器unlock-Srv、訪問實體client和電控單元ECU。其中unlockSrv和client通過Internet安全鏈路連接,client和ECU直接通過物理連接和使用符合DoIP/UDS/KWP2000等診斷協議數據流進行數據交互。系統組成示意圖如圖1所示。安全服務器unlockSrv,用于解鎖ECU,可以是售后安全服務器或者是O-TA安全服務器,只有被unlockSrv認證過的client在安全的通信鏈路下可以訪問其數據并進行交互,unlockSrv具備進行訪問實體身份驗證、數據驗證和計算解鎖數據。訪問實體client,用于進行解鎖ECU,可以為通過OBD接口和ECU進行連接的診斷工具,也可以是T-BOX或者其它車載電腦充當訪問實體的通過車載總線和ECU連接,再通過4G/5G網絡和unlockSrv進行交互,總之client需擁有訪問un-lockSrv的權限并且能夠與之通過安全鏈路進行信息交互,能夠向ECU發送請求指令來進行信息獲取和軟件刷寫。電控單元ECU具備兩種狀態,virgin狀態和security狀態,virgin狀態下client可以跳過安全訪問直接對ECU進行刷寫,表現為ECU存儲器用于存儲零件號Ref字段、VIN字段、刷寫計數器ProCntr等字段使用默認字節0xFF進行填充。security狀態下client必須經過安全訪問解鎖ECU,才可以進行后續的刷寫動作,例如車輛生產裝配時在線上對ECU進行刷寫后,ECU就從virgin狀態被置為security狀態,這時ECU存儲器用于存儲的Ref被置為真實零件號代碼,VIN被置為對應的車輛VIN值,ProCntr被置為設計定義的值。ECU當然可以具備不同等級的安全訪問,如level1=SIDLev1,level2=SIDLev2。相同ECU內置有一個初始安全種子矩陣發生器,用來產生初始安全種子IntSecSeed16。

  3安全訪問豁免策略設計

  考慮車輛裝配生產過程中,對于ECU安全訪問的特殊要求,首先主機廠可以在流程上要求供應商供給工廠使用的ECU零件必須為virgin狀態,而供給售后使用的ECU必須為se-curity狀態。車輛在裝配生產線上,需要對ECU進行刷寫時,訪問實體或者診斷工具首先需要檢測ECU狀態,若為virgin狀態,則直接跳過安全訪問步驟執行ECU刷寫,并在車輛終檢之前,置ECU為security狀態并執行寫VIN操作,否則退出刷寫,警告E-CU狀態非法。安全訪問豁免流程圖如圖2所示。當工廠對ECU進行下線刷寫時,client需要檢查刷寫計數器字段,如若為默認值0xFF時,則ECU是virgin狀態,client直接跳過安全訪問步驟對ECU進行刷寫,車輛到終檢時,client置ECU刷寫計數器為相應的值,如0x00,ECU進入secu-rity狀態,并置最大刷寫次數ProCntrMax標定參數為0x7F,表示可以最多可以使用診斷工具刷寫127次,就完成了車輛下線刷寫程序。

  4安全訪問整體策略設計

  當車輛銷售給用戶后,需要對ECU軟件進行升級或者需要更換新的ECU零件時,顯然再刷寫的ECU肯定是security狀態,而更換的新零件通過管理流程要求供應商把ECU設置為security狀態。這樣售后車輛的ECU刷寫就必須進行安全訪問,從而可以用來防止非法訪問和惡意刷寫。

  4.1安全訪問準備策略

  如圖3所示,首先,client和ECU及unlockSrv建立連接,client請求ECU進入默認會話,再請求進入編程會話;然后讀取ECU零件號,如使用SID+DID=$22+$F187,并存儲到client內存中;再讀ProCntr,如使用SID=$22,DID=$0100,只有當ProCntr!=0xFF且ProCntr<=ProCntrMax進行下一步;讀取VIN號,如使用SID=$22,DID=$F190,當VIN為空時說明E-CU為新零件,進一步寫VIN如使用SID=$2E,DID=$F190;再執行安全訪問步驟和刷寫ECU;最后置位ECU完成刷寫。設計上可以要求ProCntr==0xFF表示ECU狀態為virgin,不符合OEM流程定義,診斷工具識別后警告或提醒操作員此ECU為非法零件。為保證ECU刷寫壽命可靠定義標定參數ProCntrMax,如圖3所示ProCntr>ProCntrMax,表示ECU刷寫超過了刷寫次數,不能進行刷寫,需要更換零件。

  4.2安全訪問數據流設計

  本文闡述的安全訪問數據流向如下,unlockSrv、client和ECU在進行安全訪問過程中,數據請求和響應的傳遞關系,如圖4所示。client發起安全訪問請求,首先請求種子SID=27+Lev;ECU收到后進行計算,計算步驟如圖5所示,響應反饋種子67+Lev+Seed;client接收到種子后,對數據進行打包向unlockSrv請求解鎖數據;unlockSrv接收到請求,通過計算獲得解鎖數據,計算過程如圖6所示,然后發送給client;client接收到解鎖數據進行解包,將密鑰發送給ECU,SID=27+(Lev+1)+key;ECU接收到密鑰和自己計算得到的密鑰進行比對如果一致,進行解鎖,并寫client指紋信息到存儲器,給出肯定應答67+(Lev+1),密鑰核對過程如圖7所示。client接收到種子結合client的硬件信息(如將其作為指紋信息FingerPrint)對其進行打包,并對打包數據進行證書簽名,如RqstData=SigA[Seed||FingerPrint]||CertA為打包簽名后的請求數據,然后向unlockSrv請求un-lockKey。client接收到RspdData,首先進行證書驗證,再進行服務器檢查;進一步,進行解包得到密鑰;然后按照相應的診斷協議封裝發送給ECU。安全訪問ECU端生成種子如下,ECU通過OEM定義的一種策略算法從SEED16提取IntSecSeed16,如循環差分算法IntSecSeed16=DifCycAlg(SEED16),然后結合ECU的Ref和SIDLev得到安全種子數據,如SecSeedData=IntSecSeed16||Ref||SIDLev;再對SecSeedData進行靜態加密獲得種子Seed=F(SecSeedData)并響應發送Seed給client;最后ECU按照加密算法計算出相應安全訪問等級的安全密鑰,如使用定義的哈希算法,SecKey=HASH(SecSeedData)。安全服務器計算密鑰的流程為:unlockSrv接收到Rqst-Data后,首先進行證書驗證;然后進行指紋信息驗證(client指紋信息必須在進行安全訪問之前,unlockSrv已經對其進行了身份驗證,也就是client指紋之前早已經錄入到了unlockSrv中);再進行靜態解密得到SecSeedData=F-1(Seed);最后un-lockSrv從SecSeedData獲取Ref信息和SIDLev后,明確安全算法和安全訪問等級計算得到SecKey==HASH(SecSeedData),進一步,SecKey結合FingerPrint通過靜態加密得到密鑰Key=Q(SecKey||FingerPrint),并結合服務器地址unlockSrvMAC打包響應發送給client,RspdData=SigA[Key||unlockSrvMAC]||CertA為響應數據。密鑰核對的過程為ECU接收到Key,對其進行靜態解密得到SecKey和FingerPrint,再與在第2步ECU計算得到的SecKey進行比較,如果相等則說明安全訪問成功,并向ECU存儲器flash中寫入FingerPrint,給出client肯定響應,否則給出否定響應。完成安全訪問步驟,進行下一步刷寫動作。區別于早期的ECU安全訪問機制和策略,本文描述的一種適用于車載電控單元的動態網絡安全訪問機制,對ECU解鎖升級過程可以提供更加安全有效的方式來防止和避免通過破解用于ECU本地解鎖算法而非法刷寫ECU攻擊車輛的行為。使用本策略密鑰的獲取提供了安全服務器對訪問實體的鑒權,同時在不同安全等級下生成動態不唯一的種子和密鑰,而且密鑰的獲取除了提供正確的種子還需要結合其它參數如簽名信息、指紋信息,甚至還可以增加車輛信息、令牌信息等作為因子參與安全訪問驗證。

  5總結

  本文提出一種電控單元安全訪問的策略很好的解決了車輛生產過程中ECU安全訪問步驟多、效率低的問題,同時強化了車輛售后過程中ECU安全訪問策略容易被破解或實時性不強導致的整車安全性得不到充分保障的問題。整個策略兼容性強,實施方便,且可以根據OEM自身需要及時調整或者切換證書驗證和算法變更。

  作者:錢亞容 劉浩銳 韋建

相關論文

主站蜘蛛池模板: 颍上县| 高台县| 乌什县| 临高县| 澳门| 都安| 红原县| 蕲春县| 云和县| 临泽县| 上林县| 汝阳县| 新和县| 张家界市| 西峡县| 霍邱县| 大关县| 成安县| 剑阁县| 临桂县| 田东县| 龙口市| 札达县| 武汉市| 舟曲县| 博爱县| 富源县| 岗巴县| 景宁| 林西县| 富裕县| 安溪县| 山东| 江山市| 锦州市| 金川县| 河曲县| 尼木县| 常山县| 峨眉山市| 安新县|