知圈
|
進(jìn)“域控制器群”請(qǐng)加微13636581676,備
注域
如今,汽車搭載的各種單項(xiàng)駕駛輔助功能正逐步發(fā)展成為高度復(fù)雜且相互關(guān)聯(lián)的系統(tǒng),以促進(jìn)實(shí)現(xiàn)全自動(dòng)化駕駛。從最早的基于警報(bào)的支持功能發(fā)展到輔助駕駛功能(例如車道偏離預(yù)警系統(tǒng)),再到能夠部分控制車輛的功能(例如高速公路自主巡航功能或代客泊車功能),人們一直在為實(shí)現(xiàn)全自動(dòng)化駕駛的目標(biāo)而努力。隨著這些技術(shù)的發(fā)展,人們對(duì)能夠處理大量數(shù)據(jù)的傳輸速率的需求也與日俱增,促使車載以太網(wǎng)成了未來(lái)汽車的一項(xiàng)關(guān)鍵技術(shù)。
為實(shí)現(xiàn)自動(dòng)化駕駛的目標(biāo),車載以太網(wǎng)不僅應(yīng)具備高帶寬,最重要的是還必須能夠提供可靠、安全的通信。本技術(shù)文獻(xiàn)描述了可信性與安防性之間的緊密聯(lián)系(見(jiàn)圖1)。可信性包括安全關(guān)鍵系統(tǒng)必須考慮到所有相關(guān)屬性,以防止在系統(tǒng)發(fā)生故障時(shí)出現(xiàn)嚴(yán)重的、不可承受的后果。這些屬性指可用性、可靠性和完整性,以及安全性和可維護(hù)性。在安防性方面,最重要的是防范人為的惡意攻擊,因此,保密性與可用性和完整性一樣,也在安防性的范疇之內(nèi)。
可信性與安防性并沒(méi)有明確區(qū)分界限,因?yàn)榕c安防性相關(guān)的攻擊同樣會(huì)影響可信性:此類攻擊會(huì)通過(guò)破壞正確的傳感器數(shù)據(jù)和/或控制數(shù)據(jù)的接收,從而影響服務(wù)的可用性。惡意操作網(wǎng)絡(luò)上的傳感器或控制數(shù)據(jù),會(huì)破壞系統(tǒng)的完整性。未經(jīng)授權(quán)的第三方攔截或記錄控制數(shù)據(jù),會(huì)破壞保密性。必須在整個(gè)壽命期內(nèi),為整車網(wǎng)絡(luò)防范以上所有行為。
就自動(dòng)駕駛方面的功能而言,防范外部攻擊非常重要。對(duì)通信網(wǎng)絡(luò)的攻擊形式包括,故意插入故障消息(如制動(dòng)命令),或者有意干擾正確消息傳輸(如篡改、延遲或刪除現(xiàn)有消息、中繼消息等)。對(duì)汽車的攻擊點(diǎn)包括外部節(jié)點(diǎn),如車載診斷接口 (OBD) 或無(wú)線連接(參見(jiàn)圖2),被黑客破解的現(xiàn)有節(jié)點(diǎn),如安全防護(hù)等級(jí)低的信息娛樂(lè)控制設(shè)備,或者被交換和被操縱的控制設(shè)備。
汽車的壽命期相對(duì)較長(zhǎng),因此攻擊模式可能隨著時(shí)間發(fā)展而改變。根據(jù)摩爾定律,計(jì)算機(jī)處理能力約每2年翻倍一次。這一定律也適用于不斷擴(kuò)大和日趨復(fù)雜化的攻擊。例如,8年前被視為安全的數(shù)據(jù)加密方法現(xiàn)在可能會(huì)受到攻擊,因?yàn)楫?dāng)時(shí)的密鑰長(zhǎng)度對(duì)于現(xiàn)在來(lái)說(shuō)太短了。
多級(jí)安全架構(gòu)可以有效對(duì)抗這些外部威脅,這個(gè)概念可避免黑客僅攻破一道安全屏障就能破解整個(gè)系統(tǒng),從而造成巨大的破壞。
Elektrobit (EB) 開(kāi)發(fā)的安全架構(gòu)包括4個(gè)等級(jí),可以分層保護(hù)系統(tǒng)。第1級(jí)“加密網(wǎng)絡(luò)權(quán)限”,嚴(yán)格限制網(wǎng)絡(luò)訪問(wèn)權(quán),盡可能讓惡意攻擊者難以進(jìn)入通信網(wǎng)絡(luò)。這一級(jí)已經(jīng)能夠提供非常有效的防護(hù)。如果第一級(jí)被攻破了,第2級(jí)“安全車載通信”可確保被交換的所有安全相關(guān)消息得到保護(hù),防止被攻擊者篡改。如果這一級(jí)也被攻破,第3級(jí)“數(shù)據(jù)使用政策”會(huì)要求執(zhí)行特定的用戶驗(yàn)證以進(jìn)行保護(hù)。在進(jìn)一步處理敏感消息內(nèi)容前,系統(tǒng)會(huì)在特定的用戶環(huán)境中執(zhí)行檢查。最后第4級(jí)是“檢測(cè)與防御”。這一級(jí)會(huì)檢查整個(gè)通信模式的異常情況。如果發(fā)現(xiàn)攻擊行為,防御機(jī)制會(huì)確保恢復(fù)被攻破的1-3級(jí)安防層。這種多級(jí)架構(gòu)可為針對(duì)系統(tǒng)可用性、完整性和保密性的攻擊提供全面的防護(hù)。
第一級(jí) 加密網(wǎng)絡(luò)權(quán)限
安全架構(gòu)的第一級(jí)通過(guò)四項(xiàng)措施限制對(duì)車載網(wǎng)絡(luò)的訪問(wèn):(1) 集中的非車內(nèi)連接,(2) 安防區(qū)域,(3) 設(shè)備身份驗(yàn)證,(4) 凍結(jié)網(wǎng)絡(luò)配置
第一個(gè)措施旨在減少具有非車內(nèi)連接的控制設(shè)備數(shù)量,將潛在攻擊點(diǎn)限制為少數(shù)實(shí)現(xiàn)充分防護(hù)的控制設(shè)備。例如,在“智能天線模塊”中,應(yīng)用程序?qū)泳W(wǎng)關(guān)將外部網(wǎng)絡(luò)與內(nèi)部網(wǎng)絡(luò)完全分開(kāi),從而保護(hù)此類控制設(shè)備。這意味著攻擊者無(wú)法從外部直接訪問(wèn)內(nèi)部網(wǎng)絡(luò)節(jié)點(diǎn)。
第二個(gè)措施將網(wǎng)絡(luò)劃分為多個(gè)安防區(qū)域。這種系統(tǒng)通常無(wú)法采用實(shí)際的物理劃分形式,所以按照IEEE 802.1Q通過(guò)虛擬局域網(wǎng)(VLAN)進(jìn)行劃分。在以太網(wǎng)頭和數(shù)據(jù)之間插入VLAN標(biāo)簽。此標(biāo)簽會(huì)提供VLAN所有以太網(wǎng)消息的唯一標(biāo)識(shí)。VLAN標(biāo)簽可在交換機(jī)或直接在控制設(shè)備中添加或移除。這樣可以清晰而高效地分離涉及外部設(shè)備(如診斷測(cè)試設(shè)備)的數(shù)據(jù)通信和純內(nèi)部通信。其他安防區(qū)域根據(jù)汽車域,如信息娛樂(lè)系統(tǒng)或傳動(dòng)系統(tǒng),或者消息類型(如音頻/視頻、時(shí)間敏感的控制數(shù)據(jù)、非時(shí)間敏感的控制數(shù)據(jù)),通過(guò)不同的VLAN建立,一個(gè)控制設(shè)備可以從屬于多個(gè)安防區(qū)域。
第三個(gè)措施僅允許通過(guò)身份驗(yàn)證的網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)入該網(wǎng)絡(luò)。未使用的交換機(jī)端口永久停用,或者僅在連接節(jié)點(diǎn)成功驗(yàn)證身份后才能激活以便用于正常通信。網(wǎng)絡(luò)節(jié)點(diǎn)的身份驗(yàn)證通過(guò)交換機(jī)固件或者直接連接到交換機(jī)的微控制器進(jìn)行。
凍結(jié)網(wǎng)絡(luò)配置是第四個(gè)措施。在學(xué)習(xí)階段后,傳輸以太網(wǎng)幀的交換機(jī)中的ARL表,以及用于L2/L3地址轉(zhuǎn)換的控制設(shè)備中的ARP表會(huì)進(jìn)入靜態(tài)配置或凍結(jié)狀態(tài)。這樣可以防止新節(jié)點(diǎn)發(fā)送或接收消息。為交換機(jī)和接收控制設(shè)備交替(或額外)提供訪問(wèn)控制列表,用于比較接收消息的頭地址字段(如IP源地址),并拒絕不符合列表的消息。
多級(jí)安全架構(gòu)的第二級(jí)通過(guò)兩個(gè)措施保護(hù)車載通信安全:(1) 數(shù)據(jù)認(rèn)證和 (2) 數(shù)據(jù)加密。
數(shù)據(jù)認(rèn)證采用對(duì)稱加密方法,發(fā)送方利用消息數(shù)據(jù),為連接分配專門(mén)的密鑰,以及新鮮度值(時(shí)間戳或計(jì)數(shù)器),計(jì)算消息認(rèn)證碼 (MAC) 并添加到消息中。接收方執(zhí)行相同計(jì)算,比較計(jì)算值與接收消息中的MAC值。這樣接收方能夠有效判斷數(shù)據(jù)是否來(lái)自未經(jīng)授權(quán)的發(fā)送方,之前是否記錄過(guò)該數(shù)據(jù)然后重新傳輸(中繼攻擊),或者傳輸過(guò)程中是否被惡意中間設(shè)備更改(中間人攻擊)。目前,使用非對(duì)稱加密方法的數(shù)據(jù)簽名計(jì)算還不能用于車載通信,因?yàn)檫@樣會(huì)顯著增加計(jì)算量。
第二個(gè)措施是用密鑰加密數(shù)據(jù)(對(duì)稱加密),防止被未經(jīng)授權(quán)的第三方竊聽(tīng)。
在不同通信等級(jí)采用IEEE、IETF或AUTOSAR的不同標(biāo)準(zhǔn)化協(xié)議實(shí)現(xiàn)這兩個(gè)措施,如表1所示。
協(xié)議所在的通信等級(jí)是選擇協(xié)議時(shí)的一個(gè)主要考慮因素。
圖3:
用于安全通信的協(xié)議
如圖3所示,MACsec (IEEE 802.1AE) 在OSI第2層工作,因此始終僅直接用于兩個(gè)相鄰以太網(wǎng)節(jié)點(diǎn)之間。Ipsec (IETF 4302, 4303) 在OSI第3層工作,已經(jīng)通過(guò)發(fā)送方與接收方之間的連續(xù)線路,實(shí)現(xiàn)安全的端到端連接,如圖3所示。TLS (IETF 5246) 在OSI第4層工作,采用TCP傳輸協(xié)議。SecOC (AUTOSAR) 在傳輸層工作,所以幾乎獨(dú)立于基本網(wǎng)絡(luò)協(xié)議。除了TCP,還可與汽車中最經(jīng)常使用的UDP傳輸協(xié)議共同使用。SecOC的特點(diǎn)在于可以僅部分傳輸為數(shù)據(jù)認(rèn)證而計(jì)算的消息認(rèn)證碼(MAC截?cái)啵虼诉€可用于較慢的車載網(wǎng)絡(luò)(CAN、CAN-FD、FlexRay)。
在我們的安全架構(gòu)中,我們使用SecOC作為車載系統(tǒng),加入用于加密傳輸?shù)臄U(kuò)展,以及與車載外部設(shè)備通信的TLS。
加密的基本原則是不得對(duì)不同功能和設(shè)備使用相同的密鑰,不得長(zhǎng)時(shí)間使用同一密鑰。數(shù)據(jù)認(rèn)證、密鑰交換和數(shù)據(jù)加密都需要不同密鑰。如果用于數(shù)據(jù)加密的密鑰外泄,其他密鑰不受影響,可以通過(guò)現(xiàn)有加密密鑰交換以分配新密鑰。為了限制某一密鑰對(duì)應(yīng)的數(shù)據(jù)量,可根據(jù)用途,為每個(gè)密鑰指定具體的有效壽命。此外,可以根據(jù)相應(yīng)汽車域或其他功能方面將通信劃分為不同組,為其分配不同的連接密鑰。
為了高效執(zhí)行加密功能和安全密鑰存儲(chǔ),應(yīng)使用硬件安全模塊 (HSM)。為汽車ECU分配密鑰是一個(gè)非常復(fù)雜的任務(wù)。IT領(lǐng)域的常用方法,如Internet Key Exchange Protocol IKEv2 (IETF 4306) 和X.509證書(shū) (IETF 5280),不適合用于車內(nèi)密鑰管理。此類方法消耗的資源過(guò)多,需要在線連接證書(shū)頒發(fā)機(jī)構(gòu)服務(wù)器(CA服務(wù)器),但無(wú)法始終保證安全性或者用時(shí)過(guò)長(zhǎng)。應(yīng)由車內(nèi)的一個(gè)ECU擔(dān)任密鑰主設(shè)備角色,在中央向其他ECU分發(fā)密鑰。密鑰交換通過(guò)對(duì)稱加密實(shí)現(xiàn),在收到診斷請(qǐng)求,經(jīng)過(guò)一段時(shí)間后,或者通過(guò)車外服務(wù)后端服務(wù)器觸發(fā)。密鑰主設(shè)備是與服務(wù)后端服務(wù)器進(jìn)行密鑰管理方面通信的唯一ECU,它使用的是非對(duì)稱加密方法。
EB多級(jí)安全架構(gòu)的第3級(jí)基于“數(shù)據(jù)使用政策”原則。利用特定的應(yīng)用程序知識(shí),檢驗(yàn)并根據(jù)需要限制接收的數(shù)據(jù)(傳感器值或關(guān)鍵執(zhí)行機(jī)構(gòu)命令),考慮值的順序、汽車狀態(tài)或其他傳感器數(shù)據(jù)。
這樣,可以發(fā)現(xiàn)嘗試篡改顯示數(shù)據(jù)的舉動(dòng),或者在正常汽車運(yùn)行過(guò)程中阻止執(zhí)行特定的診斷功能。此外,可以定義執(zhí)行特定功能前必須滿足的具體要求,例如,打開(kāi)駕駛員車門(mén)后,才能執(zhí)行診斷特定功能。這樣可以限制處理具有不合理內(nèi)容的接收消息,從而避免惡意攻擊造成的不利影響。這類保護(hù)可作為額外的安防措施,但設(shè)計(jì)此類數(shù)據(jù)使用政策時(shí)必須考慮其潛在的副作用。航空行業(yè)的反向推力示例可以說(shuō)明這一點(diǎn)。在著陸時(shí),飛機(jī)渦輪的反向推力為輪子提供額外或替代的制動(dòng)方法。
在飛行過(guò)程中惡意觸發(fā)反向推力導(dǎo)致飛機(jī)墜毀的事故之后,人們采用數(shù)據(jù)使用政策形式實(shí)施不同的措施,確保在著陸過(guò)程中,只有當(dāng)飛機(jī)落在地面后才能啟動(dòng)反向推力。例如,輪子必須正在轉(zhuǎn)動(dòng)就是其中一個(gè)條件。但是,在結(jié)冰的跑道上,輪子可能無(wú)法轉(zhuǎn)動(dòng),這樣就無(wú)法觸發(fā)作為唯一制動(dòng)方式的反向推力。在此情況下,數(shù)據(jù)使用政策過(guò)于強(qiáng)大,妨礙作為重要制動(dòng)方式的反向推力的正確運(yùn)行。
設(shè)計(jì)第3級(jí)數(shù)據(jù)使用政策時(shí),應(yīng)考慮特定應(yīng)用程序的完整環(huán)境。其目的是發(fā)現(xiàn)因篡改而產(chǎn)生的不合理數(shù)據(jù)。應(yīng)接受所有其他數(shù)據(jù),以確保系統(tǒng)功能的可用性。
在第4級(jí)“檢測(cè)與防御”,檢查通信模式異常,根據(jù)需要確定防御措施。假定惡意攻擊改變了已知通信模式。突然收到異常的定期消息,或者消息的MAC認(rèn)證反復(fù)失敗。有一種極端情況是拒絕服務(wù)攻擊,反復(fù)發(fā)送消息,其目標(biāo)是導(dǎo)致信息過(guò)載。這會(huì)極大影響系統(tǒng)的正常通信。
交換機(jī)已經(jīng)提供許多檢測(cè)異常的機(jī)制。如果超過(guò)以前設(shè)置的帶寬限制,或者IP消息具有相同目標(biāo)和源地址,某些交換機(jī)可以在硬件中檢測(cè)此情況。此外,可以在選定的控制設(shè)備上的軟件中實(shí)施檢測(cè)算法。
如果檢測(cè)到此類異常情況,可以提供多個(gè)防御模式。直接使用交換機(jī)阻止已識(shí)別的干擾發(fā)射器,恢復(fù)1級(jí)防護(hù)。完成后,可以交換數(shù)據(jù)加密密鑰,恢復(fù)2級(jí)防護(hù),應(yīng)用程序可以關(guān)閉特定功能,重新實(shí)現(xiàn)3級(jí)防護(hù)。
因此,這些防御機(jī)制可以恢復(fù)被攻擊者攻破的安全架構(gòu)防護(hù)層。根據(jù)應(yīng)用情況 ,決定是否要繼續(xù)無(wú)阻礙運(yùn)行,或者由自動(dòng)化汽車的駕駛員再次接管方向盤(pán)。在任何情況下均建議使用故障內(nèi)存項(xiàng)(診斷故障代碼)。
這里顯示的架構(gòu)用于防范針對(duì)可用性、完整性和保密性的惡意攻擊,每級(jí)的防護(hù)類型略有不同(參見(jiàn)表2)。1級(jí)在所有的三個(gè)方面提供防護(hù)。2級(jí)保護(hù)完整性和保密性,但無(wú)法抵擋針對(duì)可用性的攻擊(如拒絕服務(wù)攻擊)。3級(jí)僅提供完整性防護(hù)。4級(jí)能夠抵擋針對(duì)可用性的攻擊,提供針對(duì)完整性的部分防護(hù)。這樣,安全機(jī)制在不同等級(jí)互補(bǔ),第1級(jí)保護(hù)性最強(qiáng)并且最為重要。如果第1級(jí)被實(shí)際攻破,其他級(jí)可以逐步幫助限制攻擊影響,明確檢測(cè)攻擊和采取必要措施。
表2:多級(jí)安全架構(gòu)提供的防護(hù)效果
Elektrobit已經(jīng)在AUTOSAR通信堆棧環(huán)境中實(shí)施所述安全架構(gòu)(參見(jiàn)圖5)。可以合理配置現(xiàn)有AUTOSAR軟件模塊來(lái)實(shí)現(xiàn)以上防御等級(jí),但在一些情況下,需要部分專有擴(kuò)展以實(shí)現(xiàn)完整功能。通過(guò)在以太網(wǎng)EthSwt模塊和EthIf模塊配置交換機(jī),實(shí)現(xiàn)1級(jí)防護(hù)。可以在Tcplp模塊中配置接收方列表。
圖4:在AUTOSAR中實(shí)施多級(jí)安全架構(gòu)
在2級(jí),可以通過(guò)SecOC模塊和CSM /HSM加密模塊實(shí)現(xiàn)數(shù)據(jù)完整性。此外,需要加密(SecOC)和密鑰管理 (SecKeyM)擴(kuò)展。3級(jí)采用應(yīng)用程序軟件組件的形式實(shí)現(xiàn)。4級(jí)的實(shí)現(xiàn)方式是配置交換機(jī),添加與其他等級(jí)相關(guān)模塊交互的軟件擴(kuò)展(SecMon)。
多級(jí)安全架構(gòu)對(duì)于保護(hù)通過(guò)車載以太網(wǎng)進(jìn)行的通信來(lái)說(shuō)具有重要的作用。安防性和可信性彼此相關(guān),這對(duì)于自動(dòng)駕駛功能來(lái)說(shuō)非常重要,尤其是在高度復(fù)雜情況下,汽車系統(tǒng)的功能關(guān)系到乘客的生命安全。這里用到IT領(lǐng)域的大量知識(shí),交換機(jī)配置、VLAN標(biāo)簽和許多方法已經(jīng)在IT領(lǐng)域廣泛應(yīng)用了很長(zhǎng)時(shí)間。汽車領(lǐng)域具有特殊要求,但在充分定義的環(huán)境之下可以實(shí)現(xiàn)優(yōu)化。
Elektrobit開(kāi)發(fā)的安全架構(gòu)考慮了所有這些內(nèi)容,采用兼容AUTOSAR標(biāo)準(zhǔn)的方式集成這些解決方案。
