隨著汽車網(wǎng)聯(lián)化和智能化,汽車不再孤立,越來(lái)越多地融入到互聯(lián)網(wǎng)中。在這同時(shí),汽車也慢慢成為潛在的網(wǎng)絡(luò)攻擊目標(biāo),汽車的網(wǎng)絡(luò)安全已成為汽車安全的基礎(chǔ),受到越來(lái)越多的關(guān)注和重視。AUTOSAR作為目前全球范圍普遍認(rèn)可的汽車嵌入式軟件架構(gòu),已經(jīng)集成的相關(guān)信息安全模塊對(duì)實(shí)現(xiàn)信息安全需求有著充分的支持,例如保護(hù)車內(nèi)通信或保護(hù)機(jī)密數(shù)據(jù)。由于CP AUTOSAR 和AP AUTOSAR 的體系結(jié)構(gòu)不同,目前信息安全模塊的相關(guān)技術(shù)實(shí)現(xiàn)也存在差異。
1. SecOC
在車載網(wǎng)絡(luò)中,CAN 總線作為常用的通訊總線之一,其大部分?jǐn)?shù)據(jù)是以明文方式廣播發(fā)送且無(wú)認(rèn)證接收,這種方案具有低成本、高性能的優(yōu)勢(shì)。但是隨著汽車網(wǎng)聯(lián)化、智能化的業(yè)務(wù)需要,數(shù)據(jù)安全性越來(lái)越被重視。傳統(tǒng)的針對(duì)報(bào)文添加RollingCounter 和 Checksum 信息的方法,實(shí)現(xiàn)的安全性十分有限,也容易被逆向破解,進(jìn)而可以偽造報(bào)文控制車輛。
SecOC 是在AUTOSAR 軟件包中添加的信息安全組件,主要增加了加解密運(yùn)算、密鑰管理、新鮮值管理和分發(fā)等一系列的功能和新要求。該模塊的主要作用是為總線上傳輸?shù)臄?shù)據(jù)提供身份驗(yàn)證,它可以有效地檢測(cè)出數(shù)據(jù)回放、欺騙以及篡改等攻擊。
圖4.1-1消息認(rèn)證和新鮮度驗(yàn)證流程
在SecOC 標(biāo)準(zhǔn)中,AUTOSAR 主要基于MAC 的身份驗(yàn)證和Freshness 的防重放攻擊,來(lái)實(shí)現(xiàn)數(shù)據(jù)的真實(shí)性和完整性校驗(yàn)。首先MAC(Message Authentication Code)是保障信息完整性和認(rèn)證的密碼學(xué)方法之一,其中CMAC(Cipher based MAC)一般用于對(duì)稱加密,整車廠可在車輛下線刷寫程序時(shí)靜態(tài)分配密鑰,也可選擇使用云端服務(wù)器動(dòng)態(tài)地給車輛分配密鑰)是車載總線加密認(rèn)證常用方案。MAC 的作用不是防止有效數(shù)據(jù)被泄露,而是為了保護(hù)數(shù)據(jù)不會(huì)被攻擊方篡改,即完成數(shù)據(jù)來(lái)源的認(rèn)證。如需保護(hù)通信數(shù)據(jù)不被攻擊方監(jiān)聽(tīng),則報(bào)文的有效數(shù)據(jù)還需要進(jìn)行額外的加密。
為了降低重復(fù)攻擊的風(fēng)險(xiǎn),則需要在Secured I-PDU 中加入新鮮度值,F(xiàn)reshness Value 是一個(gè)根據(jù)一定邏輯不斷更新的數(shù)值,F(xiàn)reshness Value 的更新方法多種多樣,AUTOSAR 標(biāo)準(zhǔn)將基于計(jì)數(shù)器或基于時(shí)間的新鮮度值作為典型選項(xiàng)。
在CP AUTOSAR 平臺(tái),SecOC 模塊依賴于PduR 的API 和功能,提供了PDU Router 所需的上下兩層API(upper and lower layer API)功能。依賴于由CSM 模塊在AUTOSAR 中提供的加密算法。SecOC 模塊需要API 函數(shù)來(lái)生成和驗(yàn)證加密簽名(Cryptographic Signatures)或消息驗(yàn)證碼(Message?Authentication Codes)。為RTE 提供具有管理功能的API 作為服務(wù)接口進(jìn)行調(diào)用。
SecOC 通信協(xié)議特性同樣適用于AP AUTOSAR 平臺(tái)標(biāo)準(zhǔn)中,其主要目標(biāo)是實(shí)現(xiàn)與CP AUTOSAR平臺(tái)SecOC 功能互操作性,尤其適用于使用 UDP 多播的消息場(chǎng)景(SecOC 是目前唯一支持的協(xié)議)和與CP AUTOSAR 之間基于信號(hào)的網(wǎng)絡(luò)綁定的安全通信場(chǎng)景。
圖4.1-2 AP AUTOSAR通信管理中的SecOC
為了實(shí)現(xiàn)與CP AUTOSAR 平臺(tái)的互操作性,SecOC 同樣應(yīng)用于Adaptive CM 中。認(rèn)證信息包括認(rèn)證器(例如,消息認(rèn)證碼)和可選的新鮮度值。為了保持與CP AUTOSAR 平臺(tái)的互操作性并提供可選的新鮮度值管理功能,AP AUTOSAR CM 將依賴于可插入的新鮮度值管理庫(kù)。該庫(kù)將提供新鮮度值管理相關(guān)的API,包含CP AUTOSAR 平臺(tái)關(guān)于Freshness Management 客戶端、服務(wù)端接口的副本以及調(diào)用定義的相關(guān)功能。
SecOC 的核心思想在于通信認(rèn)證,但是不涉及報(bào)文加密。雖然偽造報(bào)文的難度已經(jīng)大大提升了,但是在通信過(guò)程中采用明文傳輸,依舊有一定的風(fēng)險(xiǎn);認(rèn)證信息的強(qiáng)度和信息長(zhǎng)度相關(guān),通信認(rèn)證方案會(huì)加大報(bào)文負(fù)載(傳統(tǒng)CAN 報(bào)文的負(fù)載只用8-64 個(gè)字節(jié)),從而導(dǎo)致負(fù)載率提升,通信實(shí)時(shí)性下降,可能使得正常功能受到影響,應(yīng)考慮信息安全強(qiáng)度與通信實(shí)時(shí)性的相互平衡;MAC 技術(shù)應(yīng)考慮對(duì)稱密鑰的管理和共享的問(wèn)題,目前大部分MCU 是沒(méi)有安全功能的,對(duì)稱密鑰也是明文保存在系統(tǒng)或者內(nèi)存中。共享該密鑰時(shí)采用明文通信,這是非常不安全的。但MCU 的計(jì)算能力和存儲(chǔ)空間是有限的,采用了安全機(jī)制以后,必然占用很大的資源消耗,應(yīng)充分考慮系統(tǒng)的穩(wěn)定性,以保障業(yè)務(wù)與安全機(jī)制能夠正常運(yùn)行;SecOC 用于保證安全通信,必然涉及密鑰(key)的管理,應(yīng)考慮灌裝、更新和維護(hù)該key, 同時(shí)還需考慮換件后key 的一致性。
2. TLS
TLS(Transport Layer Security)作為傳輸層的中堅(jiān)力量,可以支撐上層的SOME/IP、MQTT 和HTTP 等協(xié)議。不但可以用于V2X 的安全通訊,也可以用于車內(nèi)通訊節(jié)點(diǎn)之間的安全通訊。當(dāng)然像T-BOX等可以與車外節(jié)點(diǎn)通訊的節(jié)點(diǎn)來(lái)說(shuō),其安全性要求更高,可以應(yīng)用更加完整的廣義TLS,既安全,又靈活。而車內(nèi)之間一般IP 地址、端口、服務(wù)接口等都固定,安全性要求也不如T-BOX 高,則可以應(yīng)用廣義TLS中的預(yù)共享密鑰(TLS_PSK)等套件,既高效,又穩(wěn)定。
TLS 屬于工作在傳輸層的協(xié)議,它介于傳輸層底層協(xié)議和上層應(yīng)用協(xié)議之間。而以太網(wǎng)的傳輸層主要有兩大底層協(xié)議:TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。二者各有特點(diǎn),互為補(bǔ)充。不管在傳統(tǒng)互聯(lián)網(wǎng)上,還是車載以太網(wǎng)上,兩者都是常見(jiàn)的傳輸層底層協(xié)議。不同的傳輸層底層協(xié)議實(shí)際上對(duì)應(yīng)著不同的傳輸層安全保護(hù)協(xié)議,采用TCP 傳輸?shù)模陀肨LS 保護(hù)。采用UDP 傳輸?shù)模陀肈TLS 保護(hù)。DTLS 的全稱是Datagram Transport Layer?Security,比TLS 多出來(lái)的“D” ,指的就是UDP 中的“D” 。TLS 和DTLS 各有不同的版本,目前主流支持的還是1.2 和1.3版本。
AUTOSAR 標(biāo)準(zhǔn)基于Ethernet 架構(gòu)同時(shí)提供了ISO DoIP 的解決方案。DoIP 全稱是Diagnostic Over?IP,顧名思義就是基于IP 的診斷。DoIP 具有處理大量數(shù)據(jù)、節(jié)省重編程時(shí)間、方便接入IT 設(shè)施、標(biāo)準(zhǔn)通信靈活使用等優(yōu)勢(shì)。普通的DoIP 是基于TCP 進(jìn)行診斷通信,在ISO 13400-2 2019 版本中定義了安全的DoIP 會(huì)話,即基于TLS 進(jìn)行診斷通信。
DoIP server 協(xié)議棧會(huì)根據(jù)DoIP client 實(shí)體的請(qǐng)求,確定使用TCP 還是TLS 進(jìn)行診斷信息的傳輸。TLS 允許在Client DoIP 實(shí)體和Server DoIP 實(shí)體之間建立經(jīng)過(guò)身份認(rèn)證和加密的通信通道,Client DoIP實(shí)體身份的驗(yàn)證可以在診斷應(yīng)用層中實(shí)現(xiàn),例如ISO 14229 中定義的0x29 服務(wù)。
TLS 技術(shù)仍有自身的技術(shù)局限性。大部分控制器都是采用了MCU,計(jì)算能力和存儲(chǔ)空間都是有限的,采用了安全機(jī)制,例如加解密算法、消息摘要算法、簽名驗(yàn)簽算法等,必然占用很大的資源消耗,應(yīng)考慮在不影響正常功能的情況下安全策略能夠正常實(shí)施。SSL/TLS 采用安全認(rèn)證的方式來(lái)識(shí)別對(duì)方身份,需要提前灌裝安全證書(shū),如果控制器進(jìn)行換件,應(yīng)保證證書(shū)的一致性,讓新的控制器能夠進(jìn)行身份的合法驗(yàn)證,從而正常通信。在實(shí)際應(yīng)用場(chǎng)景中,大部分控制器可能沒(méi)有安全存儲(chǔ)環(huán)境(SE 或者HSM 等),應(yīng)考慮保證證書(shū)和私鑰的安全存儲(chǔ)。在采用TLS 進(jìn)行安全認(rèn)證通信中,必然會(huì)降低通信的效率,應(yīng)考慮通信的實(shí)時(shí)性。安全技術(shù)應(yīng)用的同時(shí)會(huì)帶來(lái)一些資源消耗,產(chǎn)生一定的局限性。應(yīng)當(dāng)在滿足汽車信息安全相關(guān)法規(guī)標(biāo)準(zhǔn)的原則下,技術(shù)手段在不影響控制器正常運(yùn)行的前提下,進(jìn)行方案選型完成集成部署,如果內(nèi)部安全通信技術(shù)手段消耗過(guò)多的控制器資源并影響了正常業(yè)務(wù)運(yùn)行,應(yīng)適當(dāng)降低安全等級(jí),必須同時(shí)兼顧控制器運(yùn)行和內(nèi)部安全通信。
隨著汽車網(wǎng)聯(lián)化的發(fā)展,以太網(wǎng)通訊已經(jīng)在車內(nèi)通訊及車聯(lián)網(wǎng)普及,TLS 和DTLS 也更多地出現(xiàn)在汽車行業(yè)的視野里。AUTOSAR 在CP 和AP 中也加入了TLS 和DTLS 的規(guī)范。從AUTOSAR CP 4.4 標(biāo)準(zhǔn)開(kāi)始就明確了支持1.2 和1.3 版本,優(yōu)先選擇1.3 版本。AP R21-11 中只描述了1.2 版本,但相信將來(lái)版本也會(huì)加上1.3 版本。
3. IPsec
IPsec(Internet Protocol Security)是網(wǎng)絡(luò)安全協(xié)議,運(yùn)行在OSI 模型的第三層(Internet Protocol,IP 層),在VPN(Virtual Private Network)應(yīng)用很廣泛。IPsec 在IP 層對(duì)報(bào)文提供數(shù)據(jù)機(jī)密性、數(shù)據(jù)完整性、數(shù)據(jù)來(lái)源認(rèn)證、防重放等安全服務(wù),定義了如何在IP 數(shù)據(jù)包中增加字段來(lái)保證IP 包的完整性、私有性和真實(shí)性,以及如何加密數(shù)據(jù)包。
圖4.1-3 IPsec協(xié)議及組件功能
IPsec 提供了兩種安全機(jī)制:認(rèn)證和加密。認(rèn)證機(jī)制使IP 通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過(guò)程中是否遭篡改。加密機(jī)制通過(guò)對(duì)數(shù)據(jù)進(jìn)行加密運(yùn)算來(lái)保證數(shù)據(jù)的機(jī)密性,以防數(shù)據(jù)在傳輸過(guò)程中被竊聽(tīng)。
IPsec 的安全體系由驗(yàn)證頭協(xié)議(Authentication Header,AH)、安全封裝協(xié)議(Encapsulating?Security Payload ,ESP)及安全聯(lián)盟(Security Association,SA)三部分組成。AH 是認(rèn)證頭協(xié)議(IP?協(xié)議號(hào)為51),主要提供的功能有數(shù)據(jù)源驗(yàn)證、數(shù)據(jù)完整性校驗(yàn)和防報(bào)文重放功能,可選擇的散列算法有MD5(Message Digest ),SHA1(Secure Hash Algorithm)等。ESP 是報(bào)文安全封裝協(xié)議(IP 協(xié)議號(hào)為50),ESP 將需要保護(hù)的用戶數(shù)據(jù)進(jìn)行加密后再封裝到IP 包中,驗(yàn)證數(shù)據(jù)的完整性、真實(shí)性和私有性。可選擇的加密算法有DES,3DES,AES 等。SA(Security Association)是IPsec 的基礎(chǔ),也是IPsec的本質(zhì),IPsec 對(duì)數(shù)據(jù)流提供的安全服務(wù)通過(guò)SA 來(lái)實(shí)現(xiàn),它包括協(xié)議、算法、密鑰等內(nèi)容。IPsec 有隧道(tunnel)和傳輸(transport)兩種運(yùn)行模式,運(yùn)行模式和安全體系中的AH 及ESP 組合形成4 種情況:隧道模式+AH、隧道模式+ESP、傳輸模式+AH 以及傳輸模式+ESP。
AUTOSAR CP R19-11 標(biāo)準(zhǔn)在TCP/IP 模塊加入IPsec 相關(guān)功能介紹,并對(duì)功能實(shí)現(xiàn)進(jìn)行了條件約束,目前只支持IPsec 運(yùn)輸運(yùn)行模式,隧道運(yùn)行模式、IPv6 和多點(diǎn)傳播都暫不支持。并規(guī)定了其他模塊可執(zhí)行的操作內(nèi)容,KeyM 模塊可為IPsec 子模塊提供證書(shū)處理,CSM 允許執(zhí)行IPsec 子模塊所使用的加密作業(yè)和密鑰操作。
AUTOSAR AP 中IPsec 協(xié)議實(shí)施的目標(biāo)是在車載IP 網(wǎng)絡(luò)中提供安全的通信通道。在 AUTOSAR 自適應(yīng)平臺(tái)中實(shí)施IPsec 將為網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信提供保密性、完整性或兩者兼?zhèn)涞倪x項(xiàng)。IPsec 作為標(biāo)準(zhǔn)網(wǎng)絡(luò)安全協(xié)議提供了安全通信的手段,同時(shí)支持多供應(yīng)商堆棧互操作性。自適應(yīng)平臺(tái)沒(méi)有為電子控制單元指定任何操作系統(tǒng),因此是IPsec 功能最好的實(shí)踐方式。
4. Crypto Stack
為了汽車軟件提供統(tǒng)一的安全加密/ 解密接口,AUTOSAR 在4.3 版本推出Crypto Stack 模塊。Crypto Stack 是AUTOSAR 架構(gòu)體系中負(fù)責(zé)數(shù)據(jù)加密保護(hù)和密鑰管理的模塊,由Crypto Service Manager,Crypto Interface, Crypto Driver 三個(gè)部分組成,為應(yīng)用程序和系統(tǒng)服務(wù)提供了標(biāo)準(zhǔn)化的密碼服務(wù)接口。密碼服務(wù)可以是哈希計(jì)算,非對(duì)稱簽名驗(yàn)證,對(duì)稱加密等。其主要應(yīng)用于ECU 通信加密、SecurityAccess 流程保護(hù)和KEY 的管理等使用場(chǎng)景。
CSM(Crypto Service Manager)是加密服務(wù)管理器,位于AUTOSAR 的SYS 模塊最高層的服務(wù)層。服務(wù)層是基礎(chǔ)軟件的最高層,它的任務(wù)是為應(yīng)用軟件和基本軟件模塊提供基本服務(wù),即為應(yīng)用軟件和基本軟件模塊提供最相關(guān)的功能。CSM 基于一個(gè)依賴于軟件庫(kù)或硬件模塊的加密驅(qū)動(dòng)程序來(lái)提供加密功能的服務(wù),也可以使用多個(gè)加密驅(qū)動(dòng)程序的混合設(shè)置。CSM 通過(guò)CryIf(Crypto Interface)訪問(wèn)不同的加密驅(qū)動(dòng)程序。
圖4.1-4 CSM和鄰近模塊的關(guān)系
CSM 作為服務(wù)層,為SWC 或BSW 提供加密操作的接口。CSM 的主要任務(wù)是對(duì)服務(wù)進(jìn)行調(diào)度和排序,并調(diào)用加密接口(CryIf)進(jìn)行進(jìn)一步操作。CryIf 將請(qǐng)求調(diào)度到加密驅(qū)動(dòng)程序及其靜態(tài)分配給該服務(wù)的加密驅(qū)動(dòng)程序?qū)ο蟆SM 使用基元(CsmPrimitives,已配置加密算法的實(shí)例)的靜態(tài)配置來(lái)定義加密操作。然后將這樣的基元分配給Job(Job 是配置過(guò)的CsmJob,指的是密鑰、密碼原語(yǔ)和參考信道),該配置決定進(jìn)一步的屬性,如優(yōu)先級(jí)、異步或同步執(zhí)行以及程序執(zhí)行中應(yīng)使用的密鑰。需要注意的是,密鑰總是位于加密驅(qū)動(dòng)程序本身中,CSM 只使用對(duì)它的引用。
密鑰和基元的分離允許加密操作和密鑰管理API 分離。這使得應(yīng)用程序可以專注于所需的加密操作,如MAC 計(jì)算和驗(yàn)證,而密鑰管理器則在配置設(shè)置期間提供密鑰。
CSM的API大致可以分為兩類:直接AP(I 主要用于密鑰管理)和基于Job的AP(I 主要用于加密操作)(見(jiàn)下圖)直接API 與CryIf 和Crypto Driver 中的函數(shù)有直接對(duì)應(yīng)關(guān)系,這些函數(shù)只能同步調(diào)用,CSM將把參數(shù)從應(yīng)用程序直接傳遞給函數(shù)調(diào)用。基于Job 的API 使用一個(gè)Job 結(jié)構(gòu),即Crypto_JobType,它包含靜態(tài)和動(dòng)態(tài)參數(shù)以及對(duì)結(jié)構(gòu)的引用,為執(zhí)行該Job 的加密驅(qū)動(dòng)程序提供所有必要的信息,使用Job 的每個(gè)服務(wù)都將使用此結(jié)構(gòu)。服務(wù)的所有必要參數(shù)將由CSM 打包到結(jié)構(gòu)的元素中,然后調(diào)用CryIf,然后調(diào)用配置好的Crypto Driver。
圖4.1-5 CSM、CryIf和Crypto的Job API和直接API調(diào)用樹(shù)
Job 可以同步運(yùn)行,也可以異步運(yùn)行,這取決于靜態(tài)配置。加密服務(wù)信息、加密算法族和模式的參數(shù)決定了加密驅(qū)動(dòng)程序中要執(zhí)行的確切的加密算法。
CryIf(Crypto Interface)是加密接口模塊,位于BSW(Basic SoftWare)的抽象層。CryIf 模塊提供了唯一的接口來(lái)管理不同的加密硬件和軟件解決方案,如 HSM、SHE 或基于軟件的 CDD。
圖4.1-6 AUTOSAR Layered View with Crypto-Interface
CryDrv 有如下兩種實(shí)現(xiàn)方式:
1. Crypto(HW based):硬件加密模塊的驅(qū)動(dòng)程序,用于控制HSM(Hardware Security Module)或SHE(Security Hardware Extensions),和具體芯片有關(guān)。
2. Crypto(SW based):基于軟件的CDDs(Complex Device Drivers) 實(shí)現(xiàn)的加密算法, 如AES-128 等算法。
基于以上兩種不同的實(shí)現(xiàn)方式,CryIf 模塊提供了唯一的接口來(lái)管理不同的加密硬件和軟件解決方案。因此,基于 CryIf 維護(hù)的映射方案,CSM 模塊可以使用多個(gè)底層的Crypto HW 以及 Crypto SW 解決方案。此外,CryIf 還確保了對(duì)加密服務(wù)的并發(fā)訪問(wèn),從而能夠同時(shí)處理多個(gè)加密任務(wù)。
與CP AUTOSAR 不同,AUTOSAR 自適應(yīng)平臺(tái)支持用于通用加密操作和安全密鑰管理的API。該API 支持在運(yùn)行時(shí)動(dòng)態(tài)生成密鑰和加密作業(yè),以及對(duì)數(shù)據(jù)流進(jìn)行操作。API 實(shí)現(xiàn)可以引用一個(gè)中央單元(加密服務(wù)管理器)來(lái)實(shí)現(xiàn)平臺(tái)級(jí)任務(wù),例如跨應(yīng)用程序一致地進(jìn)行訪問(wèn)控制和證書(shū)存儲(chǔ)。該實(shí)現(xiàn)還可以使用加密服務(wù)管理器來(lái)協(xié)調(diào)功能到加密驅(qū)動(dòng)程序的卸載,例如硬件安全模塊(HSM)。為了在潛在的應(yīng)用程序受損的情況下支持密鑰的安全遠(yuǎn)程管理,Crypto Stack 集成了密鑰管理體系結(jié)構(gòu),其中密鑰和相關(guān)數(shù)據(jù)以端到端的保護(hù)形式進(jìn)行管理。密鑰可以基于現(xiàn)有的供應(yīng)密鑰以受信任的方式引入系統(tǒng),也可以通過(guò)本地密鑰生成以不受信任的方式引入系統(tǒng)。
5. IAM
車內(nèi)信息娛樂(lè)應(yīng)用程序由于與外界互聯(lián)網(wǎng)相連,因此被入侵的風(fēng)險(xiǎn)很高,像這類應(yīng)用程序在設(shè)計(jì)時(shí)一定是不被允許使用車身控制相關(guān)服務(wù)的。例如信息娛樂(lè)系統(tǒng)被外界攻擊,然后被遠(yuǎn)程控制去使用制動(dòng)服務(wù),為了保障安全,必須要阻止這種信息娛樂(lè)應(yīng)用程序?qū)χ苿?dòng)服務(wù)訪問(wèn)的任何嘗試。
日益增長(zhǎng)的信息安全需求驅(qū)動(dòng)了身份和訪問(wèn)管理(IAM)的概念,因?yàn)锳UTOSAR Adaptive 平臺(tái)需要和應(yīng)用程序建立健壯和良好定義的信任關(guān)系。IAM 為Adaptive 應(yīng)用程序引入了特權(quán)分離,并針對(duì)攻擊時(shí)的特權(quán)升級(jí)提供了保護(hù)。另外,在部署期間,IAM 能夠使集成者提前驗(yàn)證Adaptive 應(yīng)用程序要求的資源訪問(wèn)權(quán)限。IAM 為來(lái)自適應(yīng)應(yīng)用程序?qū)Ψ?wù)接口,Adaptive 平臺(tái)基礎(chǔ)功能簇和相關(guān)模型資源的的請(qǐng)求提供了訪問(wèn)控制框架。
IAM 框架為AUTOSAR Adaptive 平臺(tái)堆棧和Adaptive 應(yīng)用程序的開(kāi)發(fā)人員提供了一種機(jī)制,這種機(jī)制用于對(duì)每個(gè)應(yīng)用程序的意圖進(jìn)行建模,根據(jù)訪問(wèn)請(qǐng)求提供訪問(wèn)控制決策,并執(zhí)行控制訪問(wèn)。IAM 側(cè)重于提供方法來(lái)限制Adaptive 應(yīng)用程序?qū)daptive 平臺(tái)基礎(chǔ)接口、服務(wù)接口與功能集群相關(guān)的明確資源接口( 例如KeySlots) 的訪問(wèn)。特別對(duì)系統(tǒng)資源( 如CPU 或RAM) 的強(qiáng)制配額不包括在IAM 中。
在運(yùn)行期間,IAM 的進(jìn)程對(duì)Adptive 應(yīng)用程序是透明的,除非請(qǐng)求被拒絕并發(fā)出通知。遠(yuǎn)程Adaptive平臺(tái)提供的服務(wù)實(shí)例請(qǐng)求由IAM 覆蓋的,傳入請(qǐng)求的PDPs 必須由Adaptive 應(yīng)用程序?qū)崿F(xiàn)。
該框架旨在運(yùn)行期間執(zhí)行對(duì)AUTOSAR 資源的訪問(wèn)控制。假設(shè)Adaptive 應(yīng)用程序?qū)⒃趩?dòng)時(shí)進(jìn)行身份驗(yàn)證,并且現(xiàn)有受保護(hù)的運(yùn)行時(shí)環(huán)境確保Adaptive 應(yīng)用程序被正確隔離,并且防止它們的特權(quán)升級(jí)( 例如繞過(guò)訪問(wèn)控制)。
考慮一個(gè)簡(jiǎn)單的應(yīng)用場(chǎng)景,對(duì)于訪問(wèn)權(quán)限的描述,通常可以用一個(gè)訪問(wèn)權(quán)限矩陣來(lái)表示:
圖4.1-7 訪問(wèn)權(quán)限矩陣
訪問(wèn)權(quán)限矩陣顯示的是訪問(wèn)主體和訪問(wèn)客體之間的訪問(wèn)權(quán)限。所謂訪問(wèn)主體,是指一個(gè)想要獲得其他服務(wù)訪問(wèn)權(quán)限的對(duì)象,通常是指系統(tǒng)中的一個(gè)進(jìn)程;所謂訪問(wèn)客體,是指應(yīng)當(dāng)授權(quán)被訪問(wèn)的對(duì)象,通常它可以是指系統(tǒng)中的一個(gè)進(jìn)程也可以是系統(tǒng)中的其他資源。
訪問(wèn)權(quán)限相關(guān)的信息需要以清單文件的形式部署在系統(tǒng)中。對(duì)于這份清單文件,有兩種組成形式:
第一種,針對(duì)每一個(gè)服務(wù)和應(yīng)用,從訪問(wèn)權(quán)限主體的角度,列舉每個(gè)訪問(wèn)主體的訪問(wèn)意圖,也就是每個(gè)訪問(wèn)主體擁有的其他服務(wù)或應(yīng)用程序(訪問(wèn)客體)的訪問(wèn)權(quán)限;
第二種,針對(duì)每一個(gè)服務(wù)和應(yīng)用,從被訪問(wèn)的客體角度,列舉出它支持被哪些其他服務(wù)和應(yīng)用(訪問(wèn)主體)訪問(wèn)。對(duì)于訪問(wèn)主體,通常情況下它可訪問(wèn)的客體清單文件是不會(huì)隨著時(shí)間推移而改變;但是對(duì)于一個(gè)訪問(wèn)客體,它的被訪問(wèn)清單會(huì)隨著部署了新的應(yīng)用而更新。
6. KeyM
在一個(gè)加密功能中,密鑰和證書(shū)的功能比重很大。首先,密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的參數(shù)。許多加密算法需要使用到密鑰,因此,就需要KeyM 模塊來(lái)管理密鑰,而KeyM 對(duì)于密鑰的管理主要體現(xiàn)在更新和生成密鑰方面。而證書(shū)以加密或解密的形式保障了用戶網(wǎng)絡(luò)交流中的信息和數(shù)據(jù)的完整性和安全性。KeyM 模塊可以實(shí)現(xiàn)證書(shū)鏈的配置保存與驗(yàn)證,這使得網(wǎng)絡(luò)中的信息和數(shù)據(jù)的安全性更高。
AUTOSAR KeyM 模塊由兩個(gè)子模塊組成:密鑰子模塊和證書(shū)子模塊。密鑰子模塊用于初始化、更新和維護(hù)的密鑰材料;證書(shū)子模塊允許定義和配置證書(shū),以便在生產(chǎn)時(shí)存儲(chǔ)它們,并進(jìn)一步用于多種用途。
圖4.1-8 AUTOSAR layered view with KEYM
密鑰子模塊提供了一個(gè)API 和配置項(xiàng),用于引入或更新預(yù)定義的加密密鑰材料。它充當(dāng)一個(gè)關(guān)鍵客戶端,解釋從一個(gè)關(guān)鍵服務(wù)器提供的數(shù)據(jù),并創(chuàng)建相應(yīng)的關(guān)鍵材料,這些密鑰被提供給加密服務(wù)管理器。成功安裝密鑰材料后,應(yīng)用程序就能夠進(jìn)行加密操作。
證書(shū)子模塊提供了對(duì)證書(shū)進(jìn)行操作的API 和配置。允許配置證書(shū)鏈,在配置中將證書(shū)的屬性和關(guān)系設(shè)置好,上層應(yīng)用通過(guò) API 將證書(shū)數(shù)據(jù)傳給KeyM 后,證書(shū)子模塊將根據(jù)配置內(nèi)容及HSM 按照標(biāo)準(zhǔn)結(jié)構(gòu)解析的證書(shū)存儲(chǔ)配置的位置(NVM、CSM 或 RAM)。此外,證書(shū)子模塊允許BSW 模塊和SWC 在AUTOSAR 軟件架構(gòu)的中心點(diǎn)上更有效地使用證書(shū)進(jìn)行操作。此類操作的示例包括驗(yàn)證完整的證書(shū)鏈或從運(yùn)行時(shí)提供并驗(yàn)證的證書(shū)中檢索元素。所需的加密操作(如驗(yàn)證證書(shū)簽名)仍然由加密服務(wù)管理器中定義的相關(guān)加密作業(yè)執(zhí)行。
與CP AUTOSAR 不同,AP AUTOSAR 平臺(tái)的更新和配置、通信、持久性或診斷等服務(wù),也需要加密服務(wù)作為其功能的一部分。因?yàn)榧軜?gòu)差異的原因,AP AUTOSAR 平臺(tái)會(huì)將需要用戶自定義、差異性的功能在應(yīng)用層去實(shí)現(xiàn),所以應(yīng)用程序可以定義所需的密鑰插槽、加密提供程序和證書(shū)。當(dāng)需要關(guān)鍵材料時(shí),必須由自適應(yīng)應(yīng)用程序(例如OEM key manager)配置,平臺(tái)應(yīng)指定槽型機(jī)器的關(guān)鍵槽。為了管理關(guān)鍵材料,一個(gè)專用的自適應(yīng)應(yīng)用程序(密鑰管理器)可以指定相同的密鑰插槽(即相同的參數(shù)和插槽型機(jī)器)。
7. IdsM
車輛中的許多新功能建立在車載和后臺(tái)服務(wù)之上,需要面對(duì)保護(hù)車輛免受網(wǎng)絡(luò)攻擊的挑戰(zhàn)。為車輛的E/E 架構(gòu)配置了安全機(jī)制,更新簽名軟件、安全啟動(dòng)和安全車載通信系統(tǒng)正在逐步建立。目前,IDS 作為一種額外的安全機(jī)制正在引起OEM 和供應(yīng)商的關(guān)注。
入侵檢測(cè)系統(tǒng)管理器(IdsM)是一個(gè)基礎(chǔ)軟件模塊(適用于Classic AUTOSAR)或平臺(tái)服務(wù)(適用于Adaptive AUTOSAR),用于收集和集中聚合可能由車輛軟件、通信或電子系統(tǒng)受到惡意攻擊而導(dǎo)致的安全事件。軟件組件IdsM 提供了接收板載安全事件SEv 通知的標(biāo)準(zhǔn)化接口。SEv 可以通過(guò)BSW (Basic?Software Modules)和SW-C (application Software Components)實(shí)現(xiàn)的安全傳感器上報(bào)。此外,可以用可選的上下文數(shù)據(jù)(如事件類型和可疑數(shù)據(jù))報(bào)告SEv,這些數(shù)據(jù)對(duì)于在后端執(zhí)行的安全取證來(lái)說(shuō)是有用的信息。
除了收集,IdsM 還可以根據(jù)可配置的規(guī)則對(duì)SEv 進(jìn)行篩選。IdsM 將上報(bào)的SEv 過(guò)濾并轉(zhuǎn)換為合格的機(jī)載安全事件(QSEv),IdsM 進(jìn)一步處理QSEv,用于存儲(chǔ)或轉(zhuǎn)發(fā)。根據(jù)總體安全概念的不同,QSEv可以通過(guò)安全事件內(nèi)存(Sem)在本地持久化,也可以傳播到已配置的接收器,或者兩者兼有。可用的接收器是診斷事件管理器(Dem)模塊和IDS 報(bào)告器模塊(IdsR),它們可以將QSEv 數(shù)據(jù)傳遞給后端中的安全操作中心(SOC)。
在車輛內(nèi)的每個(gè)安全相關(guān)或機(jī)器中,IdsM 模塊或服務(wù)的實(shí)例會(huì)收集和過(guò)濾安全事件(可選地包括附加數(shù)據(jù)),以便將它們存儲(chǔ)在本地安全事件內(nèi)存(Sem)和/ 或通過(guò)車輛網(wǎng)絡(luò)將它們轉(zhuǎn)發(fā)到中央入侵檢測(cè)系統(tǒng)報(bào)告器(IdsR)。例如,該IdsR 可能位于遠(yuǎn)程信息處理單元內(nèi),使其能夠通過(guò)蜂窩網(wǎng)絡(luò)向OEM 的安全操作中心(SOC)發(fā)送安全報(bào)告和相關(guān)數(shù)據(jù)。然后,安全事件管理(SIEM)分析這些信息,并在必要時(shí)用于制定和決定適當(dāng)?shù)姆烙蚓徑獯胧┮詰?yīng)對(duì)攻擊。
AUTOSAR 標(biāo)準(zhǔn)指出BSW 模塊、CDD 和SWC 都可以充當(dāng)安全傳感器,安全傳感器將安全事件(SEv)報(bào)告給IdsM,AUTOSAR 標(biāo)準(zhǔn)化可以由AUTOSAR BSW 報(bào)告的安全事件類型的子集。每個(gè)BSW 的規(guī)格里列出了自己產(chǎn)生的安全事件類型,這些事件由相應(yīng)模塊報(bào)告,業(yè)務(wù)組件也可以報(bào)告在AUTOSAR 中未標(biāo)準(zhǔn)化的自定義安全事件類型,可以使用安全性摘要(SecXT)指定由特定ECU 報(bào)告的安全性事件類型的屬性。AUTOSAR 入侵檢測(cè)系統(tǒng)管理器是通用的、提供靈活的配置。它獨(dú)立于底層通信系統(tǒng),在上述限制和假設(shè)條件下可以應(yīng)用于任何汽車領(lǐng)域。
編輯:黃飛
?
評(píng)論
查看更多