韓德鴻 黃祖朋 韋錦波
關(guān)鍵詞:人機(jī)交互;遠(yuǎn)程升級;云平臺;固件傳輸;信息安全
中圖分類號:TN919文獻(xiàn)標(biāo)識碼:A
0引言
隨著汽車向智能化網(wǎng)聯(lián)化發(fā)展,汽車電子技術(shù)已經(jīng)廣泛地應(yīng)用到了汽車發(fā)動(dòng)機(jī)控制、底盤控制、車身控制和故障診斷以及音響、通信和導(dǎo)航等各個(gè)方面,汽車的電子化程度也成為衡量一個(gè)國家汽車工業(yè)水平的重要標(biāo)志之一[1-2]。作為汽車電子的核心控制元件——電子控制單元(ECU),其在高端智能網(wǎng)聯(lián)汽車上的搭載數(shù)量達(dá)到幾十甚至上百個(gè)之多。當(dāng)汽車需要通過ECU軟件升級以進(jìn)行功能迭代時(shí),傳統(tǒng)低效耗時(shí)的手工刷寫方式已不能滿足要求。因此,開發(fā)汽車遠(yuǎn)程升級系統(tǒng)十分必要。
1汽車遠(yuǎn)程升級架構(gòu)
本文基于車載終端架構(gòu)對汽車遠(yuǎn)程升級系統(tǒng)進(jìn)行設(shè)計(jì),系統(tǒng)由服務(wù)平臺、車載升級設(shè)備、人機(jī)交互設(shè)備、車載網(wǎng)絡(luò)及車載控制單元等組成(圖1)。服務(wù)平臺又稱之為云平臺,負(fù)責(zé)固件管理、下載和日志記錄等任務(wù)[3]。車載升級設(shè)備是執(zhí)行升級的設(shè)備,T-Box、車機(jī)和網(wǎng)關(guān)等車載設(shè)備都可以作為執(zhí)行器使用。人機(jī)交互設(shè)備可集成在車機(jī)上,也可應(yīng)用到移動(dòng)客戶端(手機(jī)等),負(fù)責(zé)將升級過程直觀地呈現(xiàn)給用戶,供用戶進(jìn)行動(dòng)作判斷。車載網(wǎng)絡(luò),現(xiàn)階段主要以CAN為基礎(chǔ),考慮以太網(wǎng)、FlexRay等通信方式在未來汽車軟件升級中的應(yīng)用。車載控制單元,也就是車載ECU,是各執(zhí)行器的控制單元,遠(yuǎn)程升級的對象。
2功能設(shè)計(jì)
汽車遠(yuǎn)程升級功能要求主要包括3個(gè)方面:信息安全、功能安全以及一般功能性要求。信息安全指固件數(shù)據(jù)和指令在傳輸、保存和安裝過程中,為防止信息泄漏、被惡意攻擊等情況所采取的措施。功能安全指軟件升級失敗、網(wǎng)絡(luò)中斷等意外情況發(fā)生時(shí),仍然能保證車輛可以短時(shí)間內(nèi)升級成功或正常行駛[4]。一般功能性要求指的是服務(wù)平臺和車載控制器等設(shè)備的日志記錄功能和Bootloader功能。
2.1信息安全
汽車遠(yuǎn)程升級由于采用無線傳輸技術(shù)將車內(nèi)網(wǎng)絡(luò)與車外網(wǎng)絡(luò)進(jìn)行互聯(lián),在整個(gè)過程容易受到惡意網(wǎng)絡(luò)攻擊,存在巨大的隱患??梢詮囊韵?個(gè)方面進(jìn)行信息安全設(shè)計(jì)。
2.1.1傳輸安全
(1)通信加密:固件在傳輸?shù)倪^程中,通過通信加密保證整個(gè)固件傳輸安全,避免固件被截獲或遭受中間人攻擊導(dǎo)致升級失敗。
(2)協(xié)議偽裝:通信流程偽裝,把一種協(xié)議偽裝成另一種協(xié)議,從而防止對升級流程進(jìn)行攻擊。
(3)固件完整性、合法性校驗(yàn):ECU軟件遠(yuǎn)程升級時(shí)需要配合安全升級機(jī)制,通過數(shù)字簽名和認(rèn)證機(jī)制確保固件的完整性和合法性,對于非法固件禁止進(jìn)行升級。
(4)設(shè)備合法性認(rèn)證:車載升級設(shè)備對更新請求應(yīng)具備自我檢查能力。在對自身分區(qū)或向其他設(shè)備傳輸更新文件或更新命令時(shí),應(yīng)能夠及時(shí)聲明自己的身份和權(quán)限,即對設(shè)備合法性進(jìn)行認(rèn)證[5]。升級過程應(yīng)能正確驗(yàn)證服務(wù)器身份,識別出偽造服務(wù)器,或者高風(fēng)險(xiǎn)鏈接鏈路。
2.1.2數(shù)據(jù)安全
(1)平臺數(shù)據(jù)存儲(chǔ):通過車載終端或其他方式采集上傳到云
平臺中的數(shù)據(jù),會(huì)涉及到車主車輛相關(guān)的私密數(shù)據(jù)。為保證云平臺存儲(chǔ)的用戶隱私信息不被泄露,需要設(shè)置訪問權(quán)限,并對數(shù)據(jù)進(jìn)行加密存儲(chǔ)。
(2)平臺數(shù)據(jù)完整性:保存在云平臺的數(shù)據(jù)應(yīng)當(dāng)具備完整性,不被惡意破壞,不應(yīng)出現(xiàn)因硬件、軟件等外部條件造成數(shù)據(jù)的丟失、錯(cuò)誤。
(3)平臺數(shù)據(jù)的可恢復(fù)性:用戶對存儲(chǔ)在云平臺的數(shù)據(jù)進(jìn)行訪問時(shí),需要無差錯(cuò)響應(yīng)用戶的請求。如果遇到安全攻擊事件,應(yīng)能夠保證數(shù)據(jù)的可恢復(fù)性,防止因數(shù)據(jù)丟失造成的巨大損失。
(4)平臺數(shù)據(jù)安全方法:云平臺數(shù)據(jù)安全應(yīng)采用體系化的信息安全建設(shè),從物理、網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)、信息和應(yīng)用等方面構(gòu)建信息安全防御體系,并在管理方面將信息安全納入到考慮范圍,以降低數(shù)據(jù)泄漏等安全風(fēng)險(xiǎn)。
(5)車載終端數(shù)據(jù)存儲(chǔ):由于固件代碼保存在具有永久存儲(chǔ)功能的器件中,應(yīng)考慮其是否支持加密算法,芯片中是否有保護(hù)寄存器,以及是否可以通過設(shè)置Read-only等模式對固件存儲(chǔ)進(jìn)行保護(hù)??梢栽黾游⑻幚砥骰蛘呶⑻幚砥鲀?nèi)部自帶的固件存儲(chǔ)單元的固件提取難度,同時(shí)減少或禁用ECU上的JTAG、RS232和USB等對外調(diào)試接口,減少固件被讀取的危險(xiǎn)。
2.1.3密鑰安全
(1)APP安全防護(hù):當(dāng)前大多數(shù)汽車APP缺乏軟件防護(hù)和安全保障,通過逆向攻擊就可以看到TSP接口、參數(shù)等信息,存放在APP中的密鑰、控制接口等信息均易被獲取[6],因此,應(yīng)當(dāng)對移動(dòng)APP進(jìn)行有效的防護(hù)。關(guān)于密鑰的存儲(chǔ),由于大部分手機(jī)都沒有內(nèi)置eSE芯片,可采用軟件白盒的方式,通過軟件白盒保證數(shù)據(jù)存儲(chǔ)和傳輸安全。
(2)密鑰存儲(chǔ):可能發(fā)生白盒攻擊。當(dāng)前主流方式是軟件白盒和硬件eSE芯片方案,將密鑰通過預(yù)制或動(dòng)態(tài)下發(fā)的方式存儲(chǔ)在白盒或者eSE芯片中,這樣可以有效防止白盒攻擊。數(shù)據(jù)在傳輸?shù)倪^程中也要經(jīng)過白盒或eSE芯片加密后進(jìn)行,保障數(shù)據(jù)的傳輸安全[7]。
2.2功能安全
功能安全是為防止汽車在遠(yuǎn)程升級過程中,由于意外發(fā)生造成車輛無法行駛或短時(shí)間內(nèi)無法恢復(fù)的情況發(fā)生,可將其視為冗余設(shè)計(jì)[8]。
2.2.1防變磚機(jī)制
在多個(gè)節(jié)點(diǎn)的情況下,遠(yuǎn)程升級時(shí)需對升級目標(biāo)進(jìn)行校驗(yàn),防止升級錯(cuò)誤。此外,升級管控程序需始終保證自身的可運(yùn)行性,即使在升級失敗的情況下,升級管控程序仍然能夠保證升級可重復(fù)進(jìn)行或通過調(diào)用相應(yīng)的接口回滾至原版本。
2.2.2掉電保護(hù)
系統(tǒng)應(yīng)防止升級過程中意外掉電,掉電恢復(fù)后會(huì)自動(dòng)由Boot進(jìn)入升級管理程序,從掉電處繼續(xù)完成覆蓋的過程。
2.2.3回滾機(jī)制
對于軟件本身存在的問題或多次無法升級成功,升級管理程序可調(diào)用特定接口,控制系統(tǒng)回滾至上一個(gè)版本。
2.2.4斷點(diǎn)續(xù)傳
系統(tǒng)具備斷網(wǎng)保護(hù)機(jī)制,在網(wǎng)絡(luò)中斷時(shí)記錄下載點(diǎn),在網(wǎng)絡(luò)狀態(tài)恢復(fù)時(shí)從未完成處繼續(xù)下載。
2.3一般性功能要求
2.3.1升級策略
可按照時(shí)間、地區(qū)和設(shè)備數(shù)量等信息動(dòng)態(tài)調(diào)整升級策略,即針對某一生產(chǎn)批次、某一地區(qū)和一定數(shù)量的車輛進(jìn)行全時(shí)段的遠(yuǎn)程升級設(shè)定,具備動(dòng)態(tài)調(diào)整能力,適應(yīng)不同場景下的要求。
2.3.2各節(jié)點(diǎn)要求
各節(jié)點(diǎn)除滿足上述的信息安全和功能安全外,車載ECU、云平臺和APP還應(yīng)滿足關(guān)于自身特殊的要求。
(1)車載ECU。車載ECU應(yīng)具備Bootloader的功能,Bootloader應(yīng)置于非易丟失存儲(chǔ)區(qū),并受到保護(hù),禁止對其地址區(qū)進(jìn)行任意修改。此外,車載ECU遠(yuǎn)程升級時(shí)需要配合安全升級機(jī)制,通過數(shù)字簽名和認(rèn)證機(jī)制確保固件的完整性和合法性,對于非法固件禁止進(jìn)行升級。再者,車載ECU在接收車載終端傳輸更新文件或更新命令時(shí),應(yīng)能夠及時(shí)校驗(yàn)車載終端身份及權(quán)限,即對設(shè)備合法性進(jìn)行認(rèn)證。
(2)云平臺。在軟件升級過程中,云平臺應(yīng)能正確驗(yàn)證車載終端身份,識別出偽造終端,或者高風(fēng)險(xiǎn)鏈接鏈路[9]。此外,通過車載終端或其他方式采集上傳到云平臺中的數(shù)據(jù),由于會(huì)涉及到車主車輛相關(guān)的私密數(shù)據(jù),云平臺需要設(shè)置訪問權(quán)限,并對數(shù)據(jù)進(jìn)行加密存儲(chǔ),以保證存儲(chǔ)的用戶隱私信息不被泄露。保存在云平臺的數(shù)據(jù)還應(yīng)當(dāng)具備完整性,不被惡意破壞,不應(yīng)出現(xiàn)因硬件、軟件等外部條件造成數(shù)據(jù)的丟失、錯(cuò)誤。
(3)APP。APP應(yīng)當(dāng)能直觀將遠(yuǎn)程升級過程中相應(yīng)的安裝進(jìn)度、安裝歷史等信息直觀反饋給用戶。此外,APP具備一般商用APP的通用特點(diǎn),如密碼找回、注冊和重置等。并且,APP還應(yīng)能遠(yuǎn)程管理車載終端中已經(jīng)下載的固件。
3汽車遠(yuǎn)程升級流程
汽車軟件遠(yuǎn)程升級流程的主要步驟如下(圖2)。
(1)注冊和登錄。用戶通過手機(jī)號在平臺(APP)注冊,首次登錄要進(jìn)行車輛綁定設(shè)置,輸入個(gè)人信息,如身份證號、車輛VIN碼等,再設(shè)置遠(yuǎn)程升級功能的密碼。
(2)固件更新。平臺會(huì)及時(shí)推送新版固件,用戶也可自己選擇檢查更新。若存在新版固件,會(huì)提示固件版本信息,包括新版固件版本號、本地固件版本號以及新功能說明等。
(3)下載新版本固件。用戶確認(rèn)新版本固件功能后,選擇新版本的固件進(jìn)行下載,APP上會(huì)顯示當(dāng)前固件的下載進(jìn)度。下載完成后,系統(tǒng)提示用戶是否立刻安裝。如下載失敗,提示失敗原因,可重新下載。
(4)安裝固件。用戶選擇確定并安裝后,系統(tǒng)會(huì)提醒用戶是否滿足安裝條件,當(dāng)條件滿足時(shí)才允許平臺發(fā)送安裝指令;如不滿足條件,則會(huì)提醒用戶采取相應(yīng)措施,條件滿足后可繼續(xù)選擇安裝。APP上會(huì)實(shí)時(shí)反饋安裝進(jìn)度,安裝完成后,系統(tǒng)提示用戶進(jìn)行相應(yīng)操作,完成更新。如安裝失敗則提示失敗原因,可重新進(jìn)行安裝。
4實(shí)驗(yàn)驗(yàn)證
以市場上本司某款純電動(dòng)車型為實(shí)驗(yàn)平臺,對整車控制器VCU進(jìn)行遠(yuǎn)程升級驗(yàn)證。首先,使用INCA對VCU進(jìn)行本地軟件的刷寫;然后,保持固件的版本一致,在平臺上上傳升級版本程序并進(jìn)行下發(fā);最后,使用INCA的標(biāo)定功能通過訪問VCU固件版本號,來初步判斷遠(yuǎn)程升級的結(jié)果。
實(shí)驗(yàn)表明,通過對總線報(bào)文進(jìn)行實(shí)時(shí)監(jiān)測,固件數(shù)據(jù)可以成功刷寫進(jìn)VCU中。同時(shí),對車輛進(jìn)行上電和換擋、行車及空調(diào)等一系列宏觀的功能測試,整車均滿足條件需求。因此證明遠(yuǎn)程升級是成功的。
5結(jié)束語
隨著智能互聯(lián)汽車電子化率的不斷增加,汽車ECU的軟件升級成為了一大挑戰(zhàn)。本文針對汽車遠(yuǎn)程升級的流程和應(yīng)用場景,對汽車遠(yuǎn)程升級系統(tǒng)進(jìn)行了詳細(xì)的分析設(shè)計(jì)。汽車遠(yuǎn)程升級系統(tǒng)不僅僅是功能方面的實(shí)現(xiàn),信息安全將是其重要的組成部分。在汽車遠(yuǎn)程升級的整個(gè)過程中,面臨著來自各個(gè)方向的攻擊,升級過程中需要配合安全升級機(jī)制,通過數(shù)字簽名和認(rèn)證機(jī)制確保升級的完整性和合法性。
作者簡介:
韓德鴻,本科,工程師,研究方向?yàn)槠囬_發(fā)與商業(yè)運(yùn)營。
通訊作者:
韋錦波,碩士,工程師,研究方向?yàn)樾履茉雌嚋y試診斷技術(shù)。