隨著人們?cè)絹?lái)越認(rèn)識(shí)到我們的汽車(chē)正在演變?yōu)闈L動(dòng)數(shù)據(jù)中心,制造商面臨著保持軟件最新的挑戰(zhàn)。部分需求是由經(jīng)濟(jì)驅(qū)動(dòng)的;召回行動(dòng)成本的上升使得自動(dòng)升級(jí)變得至關(guān)重要。與此同時(shí),消費(fèi)者開(kāi)始期待他們的計(jì)算機(jī)和移動(dòng)設(shè)備會(huì)自動(dòng)升級(jí)。因此,一個(gè)明顯的步驟是使用移動(dòng)連接進(jìn)行軟件無(wú)線(xiàn) (SOTA) 更新。在汽車(chē)信息娛樂(lè)系統(tǒng)中使用 SOTA 更新已變得相對(duì)普遍,但在汽車(chē)的關(guān)鍵功能區(qū)域?qū)嵤┲埃枰紤]安全性、安全性和便利性因素。必須保護(hù)車(chē)輛免受篡改并且更新過(guò)程是可靠的,
IHS 的研究人員預(yù)測(cè),向 SOTA 更新的運(yùn)動(dòng) 將加速,在最近的一份汽車(chē)報(bào)告中估計(jì),通過(guò) SOTA 節(jié)省的潛在成本將從 2015 年的約 27 億美元增長(zhǎng)到 2022 年的超過(guò) 350 億美元(圖 1)。降低召回成本、加快功能更新和提高客戶(hù)滿(mǎn)意度是汽車(chē)制造商 (OEM) 引入 SOTA 的充分理由。
【圖1 | 顯著的成本節(jié)約是 SOTA 的主要?jiǎng)恿Γ?/p>
為電子控制單元 (ECU) 實(shí)施 SOTA 比信息娛樂(lè)應(yīng)用要求更高。通常,帶有嵌入式閃存的微控制器用于控制汽車(chē)中的實(shí)時(shí)應(yīng)用程序。執(zhí)行更新時(shí),必須遵守質(zhì)量、安全和安保標(biāo)準(zhǔn)。車(chē)輛安全絕不能因數(shù)據(jù)安全性差而受到影響。
如果沒(méi)有有效的安全性,SOTA 更新很容易受到旨在操縱車(chē)輛安全關(guān)鍵應(yīng)用程序的攻擊。這可能會(huì)危及整個(gè)車(chē)輛的安全,在最壞的情況下會(huì)危及車(chē)內(nèi)乘客的生命。需要一種支持使用證書(shū)和私鑰以及加密操作的復(fù)雜安全架構(gòu)來(lái)防止這種情況。合適的密碼學(xué)基于標(biāo)準(zhǔn)算法,例如 RSA、ECC、AES 和 SHA。安全微控制器具有此類(lèi)安全功能和特性。
SOTA 流程和必要的安全架構(gòu)
除了 SOTA 集成的安全性和安全性方面,對(duì)于汽車(chē)制造商來(lái)說(shuō),將車(chē)輛現(xiàn)有系統(tǒng)架構(gòu)的影響降到最低并保證最大可用性(即車(chē)輛必須保持靜止的更新時(shí)間最小化)是極其重要的。在這方面特別感興趣的是現(xiàn)有的車(chē)載網(wǎng)絡(luò)架構(gòu)和 ECU 級(jí)別的特殊要求。這些將在下面討論。
以前,對(duì) ECU(或整車(chē))進(jìn)行重新編程意味著要去車(chē)庫(kù)。此類(lèi)更新使用插入車(chē)載診斷 (OBD) 插座的診斷工具。診斷工具管理完整的更新過(guò)程(特別是新軟件或服務(wù)包的下載)、分發(fā)到目標(biāo) ECU 以及最終驗(yàn)證。如果可能,OEM 希望為 SOTA 保留類(lèi)似的機(jī)制。因此,對(duì)于 SOTA,診斷工具的功能需要轉(zhuǎn)移到車(chē)載網(wǎng)絡(luò)架構(gòu)的中心點(diǎn),并為附加 SOTA 過(guò)程提供所需的功能。
SOTA 更新通常在連續(xù)的步驟中執(zhí)行。一旦一個(gè)新的軟件包被生產(chǎn)出來(lái)并被賦予一個(gè)安全“包裝”(加密和簽名),與目標(biāo)車(chē)輛的通信就會(huì)發(fā)生。在車(chē)輛(作為客戶(hù)端)和 OEM 更新服務(wù)器之間建立安全連接。車(chē)輛與服務(wù)器平臺(tái)進(jìn)行相互認(rèn)證,并建立一個(gè)具有傳輸層安全性(TLS)的安全加密傳輸通道,將新的軟件包交付給車(chē)輛。在初始驗(yàn)證后,更新存儲(chǔ)在中央存儲(chǔ)器中。此更新階段在后臺(tái)進(jìn)行,不會(huì)通知駕駛員或影響車(chē)輛在駕駛時(shí)的行為。實(shí)際的更新過(guò)程要等到車(chē)輛安全停放后由駕駛員啟動(dòng)后才會(huì)開(kāi)始。
SOTA 架構(gòu)
SOTA 的車(chē)輛架構(gòu)基本上可以細(xì)分為三個(gè) ECU 模塊,其中不同的安全微控制器執(zhí)行不同的安全功能:遠(yuǎn)程信息處理控制器、中央網(wǎng)關(guān)和目標(biāo)控制單元(圖 2)。
【圖2 | SOTA實(shí)現(xiàn)的主要功能塊:遠(yuǎn)程信息處理單元、中央網(wǎng)關(guān)和目標(biāo)ECU]
遠(yuǎn)程信息處理單元通過(guò)其移動(dòng)無(wú)線(xiàn)電接口連接到 OEM 服務(wù)器并執(zhí)行服務(wù)認(rèn)證。出于安全原因,建議為此關(guān)鍵身份驗(yàn)證功能實(shí)施專(zhuān)用安全控制器(即可信平臺(tái)模塊或 TPM)。除了實(shí)際的應(yīng)用控制器之外,還使用了一個(gè)獨(dú)立的微控制器 (MCU),以實(shí)現(xiàn)與車(chē)輛網(wǎng)絡(luò)的安全連接。
中央網(wǎng)關(guān)中的 MCU 支持對(duì)接收到的軟件進(jìn)行驗(yàn)證和中間存儲(chǔ)。還可以將安全關(guān)鍵的身份驗(yàn)證功能從遠(yuǎn)程信息處理單元轉(zhuǎn)移到網(wǎng)關(guān)中。在這種情況下,建議將 TPM 放置在網(wǎng)關(guān)中,然后網(wǎng)關(guān)可以承擔(dān)其他重要的安全功能,例如中央密鑰管理。
實(shí)際更新是在驅(qū)動(dòng)程序初始化后在目標(biāo) ECU 中執(zhí)行的。數(shù)據(jù)包從內(nèi)存?zhèn)鬏數(shù)侥繕?biāo) ECU,在那里它被解密、再次驗(yàn)證并最終“刷新”。如今,汽車(chē)級(jí) MCU 支持所有這些與安全相關(guān)的功能。
使用“信任錨”進(jìn)行安全身份驗(yàn)證和驗(yàn)證
如上所述,被稱(chēng)為“信任錨”的安全控制器執(zhí)行專(zhuān)門(mén)的安全功能以防止操縱和故障,尤其是在更新關(guān)鍵安全相關(guān)應(yīng)用程序期間。TPM 是一種基于標(biāo)準(zhǔn)、經(jīng)過(guò)認(rèn)證的安全控制器,可專(zhuān)門(mén)用于關(guān)鍵身份驗(yàn)證功能。它的任務(wù)是確保只有經(jīng)過(guò)授權(quán)的設(shè)備才能向車(chē)輛發(fā)送數(shù)據(jù)。
TPM 執(zhí)行所有加密算法以進(jìn)行身份??驗(yàn)證。為此,它將長(zhǎng)期證書(shū)和私鑰保存在受保護(hù)的域中。TPM 2.0 支持最新的算法,如 ECC、RSA、AES 和 SHA 256。TPM 可以加密鏈接到應(yīng)用程序處理器。TPM 的密鑰存儲(chǔ)器是可擴(kuò)展的,可以安全地加載到應(yīng)用處理器的外部存儲(chǔ)器中。因此,OEM 能夠保存更多的身份驗(yàn)證證書(shū)。
TPM 是在經(jīng)過(guò)安全認(rèn)證的制造過(guò)程中生產(chǎn)的,其中第一個(gè)密鑰安全地保存在 TPM 中。與安全硬件擴(kuò)展 (SHE) 模塊或硬件安全模塊 (HSM) 相比,TPM 中的保護(hù)級(jí)別(例如針對(duì)硬件或側(cè)信道攻擊)要高得多。但是,所有相關(guān)的 MCU 都應(yīng)具有這些集成安全模塊之一,以確保端到端保護(hù)。
典型的網(wǎng)絡(luò)攻擊以執(zhí)行非指定操作的方式操縱系統(tǒng)。為了防止這種情況,系統(tǒng)通常被分解為不同的、隔離的安全域。TPM 是隔離安全域的示例,它將非對(duì)稱(chēng)密鑰存儲(chǔ)在單獨(dú)的受保護(hù)環(huán)境中,并將它們用于加密過(guò)程。汽車(chē)微控制器還定義了隔離的安全域。HSM 可以將安全功能與應(yīng)用程序域隔離開(kāi)來(lái)。第一個(gè)重要步驟是通過(guò)安全啟動(dòng)對(duì)在駕駛周期開(kāi)始時(shí)涉及的微控制器中的程序存儲(chǔ)器進(jìn)行完整性檢查;SHE 和 HSM 都使用加密校驗(yàn)和檢查內(nèi)存內(nèi)容。
具有嵌入式 HSM 的 MCU 還對(duì)接收到的軟件進(jìn)行重要驗(yàn)證。驗(yàn)證過(guò)程受益于 HSM 強(qiáng)大的加密加速器和快速通信總線(xiàn)。此驗(yàn)證由網(wǎng)關(guān) MCU 使用 HSM 執(zhí)行。由于固件驗(yàn)證僅使用公共證書(shū),因此安全要求低于身份驗(yàn)證過(guò)程。
在 SOTA 上下文中,HSM 也可用于按需完整性檢查。在我們的示例中,遠(yuǎn)程信息處理單元和網(wǎng)關(guān)都安全地交換其完整性狀態(tài),然后才開(kāi)始軟件更新??梢栽谀繕?biāo) ECU 上實(shí)施類(lèi)似的程序。目標(biāo) ECU 也使用 HSM,但安全閃存引導(dǎo)加載程序 (SFBL) 負(fù)責(zé)接收和驗(yàn)證更新。閃存引導(dǎo)加載程序 (FBL) 和 SFBL 之間的區(qū)別在于后者實(shí)現(xiàn)了額外的加密算法。引導(dǎo)加載程序本身應(yīng)從任何 SOTA 更新過(guò)程中排除。由于車(chē)輛在行駛過(guò)程中可能會(huì)受到攻擊,因此動(dòng)態(tài)檢查應(yīng)用軟件的能力是 HSM 優(yōu)于 SHE 模塊的關(guān)鍵優(yōu)勢(shì)。
專(zhuān)為最大可用性而設(shè)計(jì)
身份驗(yàn)證和相關(guān)的安全功能通常在網(wǎng)關(guān) ECU 內(nèi)部執(zhí)行,新軟件包從 OEM 服務(wù)器下載后臨時(shí)存儲(chǔ)在中央存儲(chǔ)器中。由于新軟件必須從網(wǎng)關(guān)的中央存儲(chǔ)器傳輸?shù)侥繕?biāo) ECU,因此必須考慮相應(yīng)的網(wǎng)絡(luò)拓?fù)?,因?yàn)樗?OEM 之間有所不同。本質(zhì)上存在三種不同的方法(圖 3)。
【圖3 | 用于安全 OTA 固件更新的各種方法:使用中央網(wǎng)關(guān)內(nèi)存的傳統(tǒng)方法、使用兩個(gè)閃存塊的 A/B 交換以及具有額外本地內(nèi)存的方法]
在“傳統(tǒng)”方法中,為了更新單個(gè) ECU,相關(guān)的新軟件包通過(guò)板載網(wǎng)絡(luò)從中央存儲(chǔ)器加載到目標(biāo) ECU 微控制器中的嵌入式閃存中。這是一步完成的——無(wú)需對(duì) ECU 進(jìn)行任何硬件更改。主要限制是總線(xiàn)速度,它決定了更新需要多長(zhǎng)時(shí)間。表 1 顯示了常見(jiàn)總線(xiàn)系統(tǒng)的數(shù)據(jù)速率。讓我們假設(shè)一個(gè) 4 MB 的服務(wù)包,如表中所示。在這種情況下,通過(guò) CAN 總線(xiàn)更新單個(gè) ECU 大約需要 5 分鐘;帶有 20 個(gè) ECU 的車(chē)輛將停止運(yùn)行超過(guò) 1.5 小時(shí)。盡管有多種方法可以提高吞吐量(集群 CAN 總線(xiàn)子域或數(shù)據(jù)壓縮),但它們都會(huì)導(dǎo)致復(fù)雜性和成本增加。
[表 1 | 各種總線(xiàn)系統(tǒng)的數(shù)據(jù)傳輸率比較]
另一種方法是 A/B 交換。閃存中有兩個(gè)塊(A 和 B)用于執(zhí)行微控制器內(nèi)部的代碼。軟件從中央存儲(chǔ)器下載到目標(biāo) ECU 并重新編程空閑的內(nèi)存塊(例如塊 B)可以在車(chē)輛使用時(shí)在后臺(tái)進(jìn)行,并且需要盡可能長(zhǎng)的時(shí)間。同時(shí),塊 A 不受影響,可以繼續(xù)用于執(zhí)行當(dāng)前代碼。一旦所有 ECU 都以這種方式“預(yù)編程”,控制器就會(huì)將代碼執(zhí)行從塊 A 切換到塊 B。交換過(guò)程在重新啟動(dòng)后完成。這種方法具有幾乎不存在停機(jī)時(shí)間的巨大優(yōu)勢(shì)。缺點(diǎn)在于更大的閃存成本更高,并且需要額外的驗(yàn)證機(jī)制來(lái)排除對(duì)功能安全的任何影響。此外,
第三種方法旨在結(jié)合前兩種方法的優(yōu)點(diǎn): 提供額外的“ECU 級(jí)別的外部存儲(chǔ)器”。新服務(wù)在車(chē)輛使用時(shí)在后臺(tái)加載到此外部存儲(chǔ)器中,并在此處等待實(shí)際更新過(guò)程。這種方法利用了這樣一個(gè)事實(shí),即現(xiàn)代微控制器可以非??焖俚夭脸椭匦戮幊唐溟W存。例如,可以通過(guò) SPI 接口在 8 秒內(nèi)從外部本地存儲(chǔ)器擦除和重新編程 4 MB。這種方法的主要好處是對(duì)現(xiàn)有系統(tǒng)設(shè)計(jì)的干預(yù)最少、可管理的額外成本以及附加存儲(chǔ)元件的小尺寸。表 2 對(duì)所討論的三種方法進(jìn)行了比較。
[表 2 | SOTA固件更新的各種方法的優(yōu)缺點(diǎn)]
結(jié)論
汽車(chē)軟件的無(wú)線(xiàn)更新功能有望為汽車(chē)行業(yè)節(jié)省大量資金,并改善客戶(hù)的擁有體驗(yàn)。但是,需要制定足夠的安全規(guī)定,以防止非法訪問(wèn)車(chē)輛及其安全關(guān)鍵應(yīng)用程序。適當(dāng)?shù)奈⒖刂破骱完P(guān)鍵點(diǎn)的額外專(zhuān)用安全控制器提供優(yōu)化的功能來(lái)保護(hù) SOTA。除了具體的安全措施外,OEM 還需要考慮如何通過(guò)優(yōu)化的網(wǎng)絡(luò)架構(gòu)和內(nèi)存策略,最大限度地減少更新過(guò)程中的車(chē)輛停機(jī)時(shí)間,從而減少對(duì)駕駛員的影響。
作者:Bjoern Steurich,Martin Klimke,Ines Pedersen
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7627瀏覽量
151799 -
控制器
+關(guān)注
關(guān)注
112文章
16427瀏覽量
178898 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7523瀏覽量
164130
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論