
因汽車(chē)信息安全問(wèn)題導(dǎo)致車(chē)輛被召回的典型事件發(fā)生在2015年的菲亞特克萊斯勒汽車(chē)公司(FCA)身上。在一次信息安全測(cè)試,多名信息安全專(zhuān)家利用FCA生產(chǎn)的汽車(chē)上拆下來(lái)的娛樂(lè)主機(jī)的聯(lián)網(wǎng)通道以及對(duì)外的物理接口,入侵了FCA的云端,并偽造發(fā)送了車(chē)輛的遠(yuǎn)程控制指令,結(jié)果順利打開(kāi)了車(chē)輛的空調(diào)、儀表、雨刷等模塊。且這類(lèi)攻擊既可發(fā)生于車(chē)輛尚未啟動(dòng)時(shí),也可發(fā)生于汽車(chē)行駛過(guò)程中,存在極大的安全風(fēng)險(xiǎn)。隨后,F(xiàn)CA宣布在美國(guó)召回140萬(wàn)輛存在此信息安全風(fēng)險(xiǎn)的轎車(chē)和卡車(chē)。
處于開(kāi)放網(wǎng)絡(luò)環(huán)境中的汽車(chē)面臨的信息安全風(fēng)險(xiǎn)主要來(lái)自于車(chē)載終端、云服務(wù)平臺(tái)、通信鏈路和外部生態(tài)等方面。主機(jī)廠在經(jīng)歷車(chē)聯(lián)網(wǎng)業(yè)務(wù)野蠻生長(zhǎng)之后,開(kāi)始越來(lái)越重視車(chē)聯(lián)網(wǎng)的信息安全,并通過(guò)各種手段提升車(chē)輛的信息安全防護(hù)能力。包括加強(qiáng)車(chē)聯(lián)網(wǎng)數(shù)據(jù)在全生命周期的分級(jí)分類(lèi)管理和訪問(wèn)控制;完善車(chē)輛研發(fā)、生產(chǎn)、使用過(guò)程中的身份認(rèn)證體系;搭建多方聯(lián)動(dòng)、信息共享、實(shí)時(shí)精準(zhǔn)的安全服務(wù)平臺(tái)等。
國(guó)家相關(guān)機(jī)構(gòu)作為行業(yè)的監(jiān)管方,也正在逐步建立建全有關(guān)網(wǎng)聯(lián)汽車(chē)的安全管理體系(國(guó)標(biāo)、行業(yè)規(guī)范),強(qiáng)化汽車(chē)行業(yè)對(duì)于信息安全的風(fēng)險(xiǎn)防控以及安全防御能力。
本文作為車(chē)聯(lián)網(wǎng)圈黑話第五期,通過(guò)對(duì)車(chē)聯(lián)網(wǎng)中典型的車(chē)云架構(gòu)進(jìn)行剖析,分析潛在的信息安全威脅,并介紹一些通用的信息安全方案。
車(chē)聯(lián)網(wǎng)車(chē)云業(yè)務(wù)整體架構(gòu)
車(chē)聯(lián)網(wǎng)的常用架構(gòu)為云管端架構(gòu),云指云服務(wù)平臺(tái),端指車(chē)載終端,管指連接云服務(wù)平臺(tái)與車(chē)載終端的通信鏈路,通用的云管端架構(gòu)方案如下圖所示。
車(chē)載終端以內(nèi)置4G/5G通信模塊的TBOX/智能網(wǎng)關(guān)為主。對(duì)外通過(guò)遠(yuǎn)程通信技術(shù)與云服務(wù)平臺(tái)進(jìn)行通信,對(duì)內(nèi)通過(guò)CAN/LIN/車(chē)載以太網(wǎng)與車(chē)內(nèi)其他ECU進(jìn)行通信。從而提供行車(chē)數(shù)據(jù)采集、遠(yuǎn)程查詢和控制、遠(yuǎn)程診斷、遠(yuǎn)程升級(jí)等服務(wù)。
至于連接云服務(wù)平臺(tái)與車(chē)載終端的通信鏈路,公網(wǎng)域與車(chē)載終端一般采用HTTPS協(xié)議,私網(wǎng)域與車(chē)載終端一般采用TCP/IP協(xié)議。而對(duì)接入車(chē)輛/設(shè)備多的場(chǎng)景可在網(wǎng)絡(luò)的應(yīng)用層采用MQTT協(xié)議。
如同其他涉及云端和設(shè)備端的系統(tǒng),車(chē)聯(lián)網(wǎng)云管端架構(gòu)面臨的信息安全威脅主要包括:云端的被篡改、通信鏈路的監(jiān)聽(tīng)、車(chē)端密鑰的泄露、本地網(wǎng)絡(luò)的通信安全等。
云端威脅策略分析
一、服務(wù)器安全
汽車(chē)領(lǐng)域的云服務(wù)平臺(tái)與傳統(tǒng)互聯(lián)網(wǎng)領(lǐng)域云平臺(tái)類(lèi)似,容易遭受服務(wù)器被入侵的風(fēng)險(xiǎn),導(dǎo)致敏感數(shù)據(jù)泄露、關(guān)鍵指令被篡改,從而損害車(chē)主的權(quán)益。比如攻擊者通過(guò)入侵服務(wù)器來(lái)篡改車(chē)輛遠(yuǎn)程控制報(bào)文,輕則導(dǎo)致車(chē)輛操作異常,重則影響車(chē)輛正常行駛,危及用戶的生命安全。
各主機(jī)廠一般采用將敏感數(shù)據(jù)和重要服務(wù)“關(guān)在家中”的手段來(lái)保證信息安全。通過(guò)專(zhuān)線網(wǎng)絡(luò)、身份認(rèn)證、設(shè)置獨(dú)立機(jī)房專(zhuān)業(yè)運(yùn)維等措施,阻止非法用戶的訪問(wèn)。二、服務(wù)接口安全
由于微服務(wù)架構(gòu)具有部署靈活,彈性擴(kuò)容等優(yōu)點(diǎn),最新搭建的云服務(wù)平臺(tái)普遍采用以SpringCloud為代表的框架作為開(kāi)發(fā)的基礎(chǔ)。主機(jī)廠部分車(chē)聯(lián)網(wǎng)業(yè)務(wù)需要獲取用戶、車(chē)輛、零件的相關(guān)數(shù)據(jù),并將這些數(shù)據(jù)作為業(yè)務(wù)流轉(zhuǎn)的基礎(chǔ)。跨平臺(tái)和跨系統(tǒng)間的數(shù)據(jù)共享和數(shù)據(jù)通信一般通過(guò)微服務(wù)的Web Service接口方式來(lái)實(shí)現(xiàn)。
為了驗(yàn)證發(fā)送方身份,并保證數(shù)據(jù)的完整性,數(shù)據(jù)傳輸接口一般使用HTTPS協(xié)議,來(lái)保證發(fā)送方身份的真實(shí)性。同時(shí)通過(guò)定期更換對(duì)稱(chēng)密鑰,對(duì)報(bào)文加密或增加MAC驗(yàn)證字段等手段,來(lái)驗(yàn)證數(shù)據(jù)的完整性。主機(jī)廠還可以在報(bào)文中添加新鮮度字段(如時(shí)間戳)等手段,對(duì)新鮮度進(jìn)行管理,以防攻擊者使用相同的數(shù)據(jù)進(jìn)行重放攻擊。
通信鏈路威脅分析和策略
車(chē)聯(lián)網(wǎng)公網(wǎng)域主要承載車(chē)端的非敏感文件或日志的上傳/下載、云存儲(chǔ)等業(yè)務(wù),采用HTTPS協(xié)議便能滿足信息安全的需求。然而對(duì)于部署敏感數(shù)據(jù)交互和車(chē)控功能等業(yè)務(wù)的私網(wǎng)域,通信端需要能夠應(yīng)對(duì)更高等級(jí)的信息安全威脅。這些威脅包括車(chē)載終端被偽造,非法連接云服務(wù)平臺(tái);云服務(wù)平臺(tái)被釣魚(yú);指令或業(yè)務(wù)數(shù)據(jù)明文傳輸被截獲,敏感信息泄露;指令或業(yè)務(wù)數(shù)據(jù)被截獲篡改,執(zhí)行錯(cuò)誤請(qǐng)求,造成安全事故等。
在通信鏈路攻擊中,攻擊者可以通過(guò)偽基站、DNS劫持等手段劫持會(huì)話,竊取車(chē)輛的知識(shí)產(chǎn)權(quán)或敏感數(shù)據(jù)。如在FOTA業(yè)務(wù)中監(jiān)聽(tīng)竊取車(chē)輛的升級(jí)包,以反向工程ECU固件。
攻擊者還可通過(guò)車(chē)輛物理接口,篡改云端通信路徑,使用偽造的服務(wù)器對(duì)車(chē)輛實(shí)施攻擊。例如執(zhí)行無(wú)休止的數(shù)據(jù)攻擊,從而使車(chē)端的控制器耗盡其存儲(chǔ)空間,無(wú)法進(jìn)行正常的業(yè)務(wù)操作。或是拷貝TBOX軟件版本至其他設(shè)備,偽裝成合法車(chē)輛對(duì)云服務(wù)平臺(tái)非法訪問(wèn)。
通過(guò)對(duì)上述風(fēng)險(xiǎn)的分析,結(jié)合車(chē)聯(lián)網(wǎng)業(yè)務(wù)流程涉及車(chē)云兩端的頻繁交互,迫切需要為參與車(chē)聯(lián)網(wǎng)業(yè)務(wù)的核心實(shí)體對(duì)象(云服務(wù)平臺(tái)、車(chē)載終端等)賦予高強(qiáng)度的身份標(biāo)識(shí),保證實(shí)體對(duì)象的唯一性,同時(shí)基于各實(shí)體對(duì)象的身份標(biāo)識(shí),實(shí)現(xiàn)車(chē)載終端接入車(chē)聯(lián)網(wǎng)服務(wù)平臺(tái)的雙向高強(qiáng)度身份校驗(yàn)。
公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure, PKI)通過(guò)采用非對(duì)稱(chēng)密碼算法技術(shù),提供信息安全服務(wù),是一種通用并遵循標(biāo)準(zhǔn)的密鑰管理平臺(tái)。它能夠?yàn)樗芯W(wǎng)絡(luò)應(yīng)用透明地提供采用加密和數(shù)字簽名等密碼服務(wù)所必需的密鑰和證書(shū)管理。在車(chē)聯(lián)網(wǎng)應(yīng)用中,PKI可為各類(lèi)實(shí)體對(duì)象提供身份的可信描述,為對(duì)象簽發(fā)統(tǒng)一的數(shù)字身份標(biāo)識(shí)—數(shù)字證書(shū),從而構(gòu)建可信的網(wǎng)絡(luò)虛擬環(huán)境。為實(shí)現(xiàn)信息的保密性、完整性,不可抵賴性提供基礎(chǔ)支撐。
PKI子系統(tǒng)之間的邏輯關(guān)系如下圖所示。
云端的設(shè)備接入網(wǎng)關(guān)、車(chē)載終端均需由PKI簽發(fā)證書(shū),對(duì)于TBOX、AVN等控制器的激活操作,即PKI中的證書(shū)簽發(fā),步驟簡(jiǎn)述如下:
步驟1:TBOX產(chǎn)生公私鑰對(duì)并構(gòu)造P10申請(qǐng)(P10中包含證書(shū)主題、有效期、公鑰以及上述信息的簽名),將申請(qǐng)發(fā)送至云端;
步驟2:云端證書(shū)管理服務(wù)接收到請(qǐng)求后,對(duì)上傳的信息進(jìn)行校驗(yàn),并將P10和車(chē)輛其他信息封裝成PKI識(shí)別的證書(shū)請(qǐng)求,PKI簽發(fā)證書(shū);
步驟3:云端將簽發(fā)后的PKI證書(shū)返回至車(chē)端TBOX存儲(chǔ)。
在云端和設(shè)備端均激活(證書(shū)簽發(fā))后,通信實(shí)體與云端便可基于數(shù)字證書(shū)進(jìn)行通信。
車(chē)端威脅分析和策略
HSM(Hardware Security Module,硬件安全模塊)是車(chē)端安全方案的基礎(chǔ)支撐,后文將要介紹的兩種車(chē)端信息安全策略TrustZone/TEE執(zhí)行環(huán)境和SecOC協(xié)議,也均是基于HSM實(shí)現(xiàn)。HSM將算法、密鑰、加密方式等信息寫(xiě)入無(wú)法篡改的硬件模塊中,并處理安全性相關(guān)任務(wù)包括安全的車(chē)載通信、運(yùn)行時(shí)的操作檢測(cè)以及安全的啟動(dòng)、刷新、日志記錄和調(diào)試等。以此來(lái)阻止攻擊者通過(guò)繞過(guò)與安全性相關(guān)的ECU接口,獲得對(duì)車(chē)載網(wǎng)絡(luò)的訪問(wèn)權(quán)限。
一、Trustzone/TEE執(zhí)行環(huán)境
TrustZone是ARM A-profile架構(gòu)中的安全架構(gòu)。TrustZone將CPU的工作狀態(tài)分為兩種,NWS(Normal World Status,正常世界狀態(tài))和SWS(Secure World Status,安全世界狀態(tài))。支持TrustZone技術(shù)的芯片提供了對(duì)外圍硬件資源的硬件級(jí)別的保護(hù)和安全隔離。當(dāng)CPU處于NWS時(shí),任何應(yīng)用都無(wú)法訪問(wèn)安全硬件設(shè)備,也無(wú)法訪問(wèn)屬于SWS的內(nèi)存、緩存以及其他外圍安全硬件設(shè)備。它們之間具有系統(tǒng)級(jí)別的硬件強(qiáng)制隔離。

一個(gè)完整的SoC由ARM內(nèi)核、系統(tǒng)總線、片上RAM、片上ROM以及其他外圍設(shè)備組件構(gòu)成。對(duì)于ARM內(nèi)核的控制器,需要支持TrustZone,同時(shí)配合相應(yīng)的組件,才能實(shí)現(xiàn)整個(gè)系統(tǒng)芯片達(dá)到硬件級(jí)別的保護(hù)和隔離措施。下圖是一個(gè)支持TrustZone的SoC的硬件框圖。

實(shí)現(xiàn)硬件層面的各種隔離,需要對(duì)整個(gè)系統(tǒng)的硬件和處理器核做出相應(yīng)的擴(kuò)展,包括將CPU內(nèi)核進(jìn)行虛擬化,將CPU的運(yùn)行狀態(tài)分為安全狀態(tài)和非安全狀態(tài);在總線增加安全位讀寫(xiě)信號(hào)線;增加內(nèi)存管理單元(Memory Management Unit,MMU)頁(yè)表的安全位;緩存增加安全位;其他外圍組件提供安全操作權(quán)限控制和安全操作信號(hào)等。
二、SecOC協(xié)議
最近幾年車(chē)內(nèi)總線的加密通信受到了越來(lái)越多的關(guān)注。為了響應(yīng)汽車(chē)行業(yè)對(duì)數(shù)據(jù)加密和驗(yàn)證的需求,AUTOSAR組織補(bǔ)充了SecOC(Secure Onboard Communication)組件,為車(chē)載通訊總線引入了一套通信加密和驗(yàn)證的標(biāo)準(zhǔn),是車(chē)載網(wǎng)絡(luò)上一種有效的信息安全方案。
SecOC是在AUTOSAR軟件包中添加的信息安全組件,該模塊增加了加解密運(yùn)算、密鑰管理、新鮮值管理和分發(fā)等一系列的功能和新要求。SecOC模塊能夠給CAN/CANFD總線上的報(bào)文數(shù)據(jù)提供有效可行的身份驗(yàn)證機(jī)制,與當(dāng)前的AUTOSAR的ARA通信機(jī)制集成良好,對(duì)資源消耗小。該規(guī)范基于對(duì)稱(chēng)算法的MAC認(rèn)證。與非對(duì)稱(chēng)算法相比,使用更短的密鑰實(shí)現(xiàn)了相同級(jí)別的安全性。若通信的控制器之間需要實(shí)現(xiàn)SecOC協(xié)議,則發(fā)送和接收控制器都必須集成SecOC模塊。原始報(bào)文稱(chēng)為Authentic I-PDU,SecOC模塊基于原始數(shù)據(jù)和密鑰,使用約定的算法得到MAC值。報(bào)文頭、原始報(bào)文、新鮮度和MAC組裝后得到Secured I-PDU,結(jié)構(gòu)如下圖所示。

其次,為了降低重復(fù)攻擊的風(fēng)險(xiǎn),則需要在Secured I-PDU中加入新鮮度值,新鮮度值是一個(gè)根據(jù)一定邏輯不斷更新的數(shù)值, AUTOSAR推薦計(jì)數(shù)器或基于時(shí)間戳生成新鮮度值。OEM在實(shí)施 SecOC 方案時(shí)需要定義和做好兩個(gè)關(guān)鍵部分:新鮮度值管理和密鑰管理。下圖為基于SecOC的通訊加密和認(rèn)證過(guò)程。

接收節(jié)點(diǎn)的SecOC模塊通過(guò)驗(yàn)證MAC來(lái)判斷原始報(bào)文的來(lái)源和完整性。新鮮度值驗(yàn)證該報(bào)文是否重復(fù)并合法。
總結(jié)
隨著車(chē)聯(lián)網(wǎng)技術(shù)的發(fā)展,汽車(chē)電子架構(gòu)的革新,自動(dòng)駕駛量產(chǎn)的推進(jìn),汽車(chē)在信息安全方面將面臨更多更嚴(yán)重的威脅。各主機(jī)廠和Tier1需要通過(guò)安全防護(hù)體系的建立以及持續(xù)性的風(fēng)險(xiǎn)分析和攻防策略優(yōu)化,提升各車(chē)聯(lián)網(wǎng)平臺(tái)的信息安全能力。
轉(zhuǎn)自十一號(hào)組織