01
背景簡(jiǎn)介
汽車(chē)芯片信息安全的必要性:1.早期由于ECU本身設(shè)計(jì)的資源有限,信息安全考慮的也比較少,導(dǎo)致自身的防護(hù)能力很弱,容易導(dǎo)致黑客攻擊。隨著智能汽車(chē)技術(shù)的發(fā)展,雖然芯片的數(shù)據(jù)處理能力不斷提升,但如果芯片自身的安全防護(hù)能力過(guò)于薄弱,將導(dǎo)致芯片運(yùn)行的固件也很容易受到攻擊,比如固件篡改,敏感信息(如密鑰等)泄露。 2.隨著智能汽車(chē)技術(shù)的不斷發(fā)展,越來(lái)越多的政府、行業(yè)組織的實(shí)踐也明確提出智能汽車(chē)的安全需要構(gòu)建在安全的芯片基礎(chǔ)上,比如EVITA、HSM已成為智能汽車(chē)的安全基礎(chǔ),成為行業(yè)默認(rèn)的標(biāo)準(zhǔn)。
3.智能汽車(chē)功能安全(Safety)和信息安全(Security)在設(shè)計(jì)階段也有沖突的地方,比如過(guò)度基于軟件實(shí)現(xiàn)的安全特性,會(huì)導(dǎo)致控制指令的延時(shí),影響功能安全特性的實(shí)現(xiàn)。因此為了提升產(chǎn)品的性能,以及Safety和Secuirty的強(qiáng)隔離,也必然會(huì)要求將更多的信息安全特性集成到芯片里,或者基于芯片的能力來(lái)實(shí)現(xiàn)。
02
芯片安全知識(shí)圖譜
芯片安全圖譜的兩個(gè)維度:
1. 一個(gè)維度是芯片自身的安全防護(hù)能力,比如能抵抗物理侵入式、半侵入式物理攻擊;能檢測(cè)和防御故障注入攻擊;以及耳濡目染的側(cè)信道攻擊。這就像是一輛坦克自身厚重的鋼板,能抵擋普通子彈和炸彈的攻擊。物理攻擊需要較強(qiáng)的專(zhuān)業(yè)能力,比如借助專(zhuān)用的測(cè)試儀器,以及可以近距離接觸的物理設(shè)備。
2. 另外一個(gè)維度是基于芯片的安全服務(wù),比如芯片直接固化的密碼類(lèi)算法,密鑰管理機(jī)制,真隨機(jī)數(shù)生成器,PUF等機(jī)制。
圖1:汽車(chē)芯片信息安全知識(shí)圖譜V1.0
03
常見(jiàn)的芯片攻擊手段
3.1側(cè)信道攻擊
a)概念:利用設(shè)備的接口對(duì)芯片進(jìn)行電磁和功耗的分析,無(wú)需對(duì)芯片進(jìn)行破壞
b)常見(jiàn)測(cè)評(píng)、攻擊類(lèi)型:時(shí)間分析、功耗分析、電磁輻射分析、光子分析
c)適用對(duì)象:集成電路/芯片、智能卡、智能門(mén)鎖、物聯(lián)網(wǎng)終端、車(chē)載電子等產(chǎn)品
下面是一個(gè)針對(duì)手機(jī)的側(cè)信道攻擊(電磁分析攻擊),作為一個(gè)簡(jiǎn)單的樣例。
圖3(圖源:https://www.sohu.com/a/165330167_99909589)
d)防護(hù)原理:消除和降低側(cè)信道信息與密鑰的相關(guān)性,常用手段:
掩碼技術(shù):引入隨機(jī)掩碼,平衡“0”和“1”分布。
隱藏技術(shù):平均化側(cè)信道信息,降低數(shù)據(jù)的可區(qū)分度。
混淆技術(shù):降低信噪比(有效側(cè)信道信息),如使用隨機(jī)時(shí)鐘等,增加側(cè)信道分析難度。
3.2 故障注入攻擊
利用故障(電壓、時(shí)鐘等)引起電路出現(xiàn)異常,根據(jù)異常信息分析芯片內(nèi)部的敏感信息;或者直接利用引起電路的異常來(lái)改變程序運(yùn)行等。
常用測(cè)評(píng)/攻擊類(lèi)型:電壓注入、時(shí)鐘注入、電磁注入、溫度注入,激光注入。 案例:故障注入攻擊導(dǎo)致安全啟動(dòng)被成功繞開(kāi)
(信息來(lái)源:樂(lè)鑫發(fā)布關(guān)于故障注入和安全啟動(dòng)的安全性公告(CVE-2019-15894))
故障注入攻擊的防護(hù)技術(shù):
傳感器:專(zhuān)用傳感器(電壓、頻率、溫度等)對(duì)電壓、時(shí)鐘故障可以起到檢測(cè)和告警作用
邏輯&時(shí)鐘冗余:邏輯冗余分為面積冗余和時(shí)間冗余。面積冗余是指多分計(jì)算邏輯各計(jì)算一次,最終對(duì)比各個(gè)計(jì)算邏輯的結(jié)果來(lái)檢查是否有故障注入;時(shí)間冗余是指一份計(jì)算邏輯計(jì)算多次,比較多次的結(jié)果來(lái)檢查是否有故障注入。
金屬外殼&特殊封裝:通過(guò)金屬外殼,可以對(duì)激光故障注入,電磁故障注入等手段具有一定的抑制作用
邏輯深埋:將關(guān)鍵電路邏輯部署在芯片內(nèi)層,而不是直接部署在芯片表層,使得故障注入的難度增加
CRC校驗(yàn)
3.3 物理攻擊
a)概念:去除芯片封裝,對(duì)內(nèi)部電路進(jìn)行電接觸,結(jié)合其他攻擊手段獲取保存在芯片內(nèi)部的敏感信息
b)常見(jiàn)攻擊類(lèi)型:FIB電路修改/探針攻擊、單板級(jí)走線篡改/探聽(tīng)、整機(jī)攻擊。
c)防護(hù)技術(shù):
Passive shield:被動(dòng)屏蔽層,例如在芯片表面構(gòu)建鈍化層,金屬屏蔽層,增加攻擊者解封裝難度
Active shield:主動(dòng)屏蔽層會(huì)構(gòu)建一個(gè)電路檢測(cè)網(wǎng),覆蓋在關(guān)鍵電路表面檢測(cè)電路,一旦有損壞,就會(huì)發(fā)出告警
特殊封裝:對(duì)電路(芯片)采用特殊封裝
信號(hào)完整性、機(jī)密性保護(hù)等:針對(duì)單板走線篡改&竊聽(tīng)、總線探針竊聽(tīng)&篡改等,通過(guò)對(duì)信號(hào)完整性和機(jī)密性進(jìn)行保護(hù)來(lái)應(yīng)對(duì)此類(lèi)攻擊
04
驗(yàn)證輔助的安全特性
1. Hardware Trust Anchor(HTA) -以軟件無(wú)法操作的方式保護(hù)敏感數(shù)據(jù)
-提供加解密功能
2. HTA不同標(biāo)準(zhǔn):
- SHE
- HSM
- TPM
3.Evita Full-Medium-Light與SHE差異
以下為詳細(xì)的案例介紹。
4.1 NXP高級(jí)加解密引擎1)架構(gòu)與功能描述:
圖4
2)核心能力:
滿足HSM Full等級(jí);
芯片內(nèi)支持4個(gè)并發(fā)加解密任務(wù)(job),每個(gè)任務(wù)帶有資源ID、TZ(Trustzone標(biāo)記)和任務(wù)ID,并能和Trustzone機(jī)制配合使用,具有很強(qiáng)的權(quán)限控制能力。
4.2 專(zhuān)用算法密碼引擎
1)NXP針對(duì)Flash讀寫(xiě)直接加解密引擎-Bus Encryption Engine,BEE
圖5:BEE 邏輯架構(gòu)圖
總線加密引擎(BEE)被實(shí)現(xiàn)為實(shí)時(shí)解密引擎,用于CPU直接讀取并同時(shí)解密Flash(FlexSPI接口)中的數(shù)據(jù)。BEE的主要功能是:
即時(shí)AES-128解密,支持ECB和CTR模式
別名內(nèi)存空間支持,重新映射最多兩個(gè)單獨(dú)的區(qū)域
針對(duì)這兩個(gè)區(qū)域的獨(dú)立AES密鑰管理
基于安全標(biāo)簽的非安全訪問(wèn)的過(guò)濾
非法訪問(wèn)檢查和過(guò)濾
2)NXP針對(duì)RAM在線加解密引擎-Inline Encryption Engine
圖6 支持的功能:
AES-XTS模式下的DDR加密和解密
QSPI閃存解密,在AES-CTR模式下
I/O DMA直接加密的存儲(chǔ)和檢索(AES CTR 128)
多核資源域分離
使用專(zhuān)用總線安全地加載片上密鑰
差分功率分析(DPA)電阻
檢測(cè)物理篡改并響應(yīng)
4.3 小結(jié)
1.SHE規(guī)范奠定了汽車(chē)安全基礎(chǔ),引入了汽車(chē)可配置的安全子系統(tǒng)概念
2.EVITA的HSM規(guī)范擴(kuò)展了SHE,并采用了Full,Medium、Light三種規(guī)格,從而滿足更多場(chǎng)景的要求
3.如今,OEM正在創(chuàng)建自己的技術(shù)規(guī)范,包括SHE、EVITA和FIPS 140-2的某些方面,以及區(qū)域/行業(yè)性特殊要求(比如支持國(guó)密算法)
4.還有一些廠商定義特定的輕量級(jí)加密引擎,比如NXP的IEE、BEE、PRINCE算法等
05
啟動(dòng)安全
先講一個(gè)概念:信任鏈(chain of trust)
在可信計(jì)算體系中,建議信任需要先擁有可信根(Root of Trust),然后建立一條可信鏈(chain of Trust),再將信任傳遞到系統(tǒng)的各個(gè)模塊,之后就能建立整個(gè)系統(tǒng)的可信鏈。
安全啟動(dòng)的原理就是硬件信任錨+信任鏈。
網(wǎng)絡(luò)設(shè)備的安全性嚴(yán)重依賴(lài)設(shè)備上運(yùn)行軟件的完整性,通常使用信任鏈確保軟件完整性,啟動(dòng)期間每個(gè)階段在執(zhí)行前檢查下一個(gè)階段,如下圖所示,這個(gè)過(guò)程有一個(gè)特例,這一步之前沒(méi)有任何東西可以進(jìn)行任何檢查,此階段稱(chēng)為信任根(Root of Trust)。
5.1 安全啟動(dòng)
安全啟動(dòng)(Secure Boot):安全啟動(dòng)也叫Verify boot,就是在啟動(dòng)過(guò)程中,前一個(gè)部件驗(yàn)證后一個(gè)部件的數(shù)字簽名,驗(yàn)證通過(guò)后,運(yùn)行后一個(gè)部件。
圖7
目前安全啟動(dòng)基本上是對(duì)安全要求比較高的場(chǎng)景下,芯片必備功能。
5.2可信啟動(dòng)可信啟動(dòng)(Trusted Boot):也稱(chēng)為Measure boot,就是在啟動(dòng)過(guò)程中,前一個(gè)部件度量(計(jì)算HASH)后一個(gè)部件,然后把度量值安全保存下來(lái),比如放到一個(gè)集中的部件(或云端),設(shè)備啟動(dòng)后的一致性(完整性)的校驗(yàn)由集中的部件負(fù)責(zé)完成。
圖8
擴(kuò)展:在IoT領(lǐng)域,以微軟為主推出了輕量級(jí)的類(lèi)TPM技術(shù)-DICE,就使用了基于硬件信任錨的可信啟動(dòng)方式。
5.3加密啟動(dòng)
顧名思義,就是存儲(chǔ)在flash中的image是密文,啟動(dòng)過(guò)程中會(huì)先解密再啟動(dòng),下圖是NXP加密啟動(dòng)的流程圖:
圖9
注: 1.加密啟動(dòng)過(guò)程本身沒(méi)有信任鏈的構(gòu)建過(guò)程 2.安全啟動(dòng)(Secure boot)、可信啟動(dòng)(Trusted boot)和加密啟動(dòng)(Encryptedboot)三種啟動(dòng)方式并不是互斥的,可以把實(shí)際應(yīng)用場(chǎng)景、性能要求結(jié)合起來(lái)使用。比如安全啟動(dòng)(Secure Boot)和加密啟動(dòng)(Encrypted boot)相結(jié)合,既可以確保啟動(dòng)過(guò)程系統(tǒng)軟件的一致性(沒(méi)有加載被篡改過(guò)的軟件系統(tǒng)),又能確保Flash中的軟件image不被逆向破解(因?yàn)閕mage已被加密) 3.需要注意的是,如采用加密啟動(dòng),可以借助前面講的IEE硬件加密引擎,就可以顯著提升解密性能,從而提升啟動(dòng)。
06
安全存儲(chǔ)
6.1 OTP存儲(chǔ)器
一次性可編程存儲(chǔ)器(On Chip One Time Programmable ROM, On-Chip OTP ROM):OTP存儲(chǔ)器,也稱(chēng)為eFuse,是芯片中特殊存儲(chǔ)模塊;字段中的任何eFuse位都只能從0編程為1(融合),但是讀取操作沒(méi)有限制。OTP在安全中的應(yīng)用一般可以存放一些固定不變的值,比如:
每個(gè)設(shè)備唯一的根密鑰(Master Key)
設(shè)備唯一ID(Device Unique ID)或者M(jìn)AC地址
一些安全配置或者秘密值(軟件的Hash值,啟動(dòng)模式等)
下面簡(jiǎn)單介紹一下OTP和Secure Boot的配合案例,在一些低端設(shè)備,限于成本和性能等原因,會(huì)采用對(duì)稱(chēng)加密的方式來(lái)驗(yàn)證啟動(dòng)過(guò)程bootloader image合法性,那又是如何做到的呢?
芯片第一次boot時(shí),軟件bootloader根據(jù)以下步驟使能Secure boot:
1)硬件產(chǎn)生一個(gè)secure boot key,將這個(gè)key保存在efuse中,利用這個(gè)key、一個(gè)隨機(jī)數(shù)IV和bootloader image計(jì)算出secure digest。
2)secure digest與隨機(jī)數(shù)IV保存在flash的0x0地址,用于在后續(xù)boot時(shí)驗(yàn)證bootloader image是否被篡改。
3)bootloader通過(guò)燒寫(xiě)efuse中的ABS_DONE_0永久使能secure boot。
4)芯片在后面的boot中,ROM bootloader發(fā)現(xiàn)efuse中的ABS_DONE_0被燒寫(xiě),于是從flash的地址0x0讀取第一次boot時(shí)保存的secure digest和隨機(jī)數(shù)IV,硬件使用efuse中的secure boot key 、隨機(jī)數(shù)IV與當(dāng)前的bootloader image計(jì)算當(dāng)前的secure digest,若與flash中的secure digest不同,則boot不會(huì)繼續(xù),否則就執(zhí)行軟件bootloader。
5)軟件bootloader使用bootloader image中保存的公鑰對(duì)flash中的partition table和app images簽字進(jìn)行驗(yàn)證,驗(yàn)證成功之后才會(huì)boot到app代碼中。
第一次boot時(shí)secure boot與flash encryption的生效過(guò)程如下圖所示,圖中藍(lán)色框是 secure boot的步驟,綠色框是flash encryption的步驟:
圖10
后續(xù)boot時(shí)流程圖如下,圖中綠色框中的步驟會(huì)執(zhí)行解密,解密是由硬件自動(dòng)完成:
圖11(圖源:https://www.cnblogs.com/aaronLinux/p/9198725.html)
6.2 Flash空間保護(hù)機(jī)制
Flash空間保護(hù)主要是Flash某些區(qū)域設(shè)置只讀或者只寫(xiě),防止非法訪問(wèn)和篡改。Flash保護(hù)區(qū)域的數(shù)量和大小會(huì)根據(jù)Flash的類(lèi)型和該Flash塊的大小而有所不同。主要的應(yīng)用場(chǎng)景有:
保護(hù)包含代碼的閃存的所有區(qū)域,以保護(hù)應(yīng)用程序本身不被覆蓋。用于存儲(chǔ)數(shù)據(jù)的閃存區(qū)域?qū)⒉皇鼙Wo(hù)。
保護(hù)向量表和駐留在閃存中的引導(dǎo)加載程序,并使其余閃存不受保護(hù)。這將防止意外刪除引導(dǎo)加載程序,但閃存的其他部分仍未受保護(hù),以允許引導(dǎo)加載程序執(zhí)行固件更新。
下面以NXP Flash的空間保護(hù)機(jī)制為例做個(gè)簡(jiǎn)要說(shuō)明:
圖12 有個(gè)flash存儲(chǔ)空間保護(hù)寄存器,F(xiàn)PROT0–FPROT3,默認(rèn)值由應(yīng)用程序image根據(jù)在flash配置字段中編程的值來(lái)確定。FPOROTn-四個(gè)寄存器保護(hù)Flash的32區(qū)域。 Source:https://www.nxp.com/docs/en/application-note/AN4507.pdf
6.3. 內(nèi)存的保護(hù)機(jī)制
目前操作系統(tǒng)也可以設(shè)置一些區(qū)域的不可讀或者寫(xiě)的機(jī)制,也有芯片級(jí)內(nèi)存保護(hù)機(jī)制,下面仍然以NXP芯片為例。
圖13:i.MX 8安全性概述
安全存儲(chǔ)區(qū)具備嚴(yán)格的訪問(wèn)控制機(jī)制,安全存儲(chǔ)區(qū)域具備Domain ID,權(quán)限級(jí)別(TZ或NS)和權(quán)限列表(Permissions),只有硬件訪問(wèn)時(shí)具備這些能力的訪問(wèn)才能訪問(wèn)成功,否則會(huì)失敗,這個(gè)是完全硬件級(jí)的訪問(wèn)控制,可以與Trust Zone和業(yè)務(wù)的訪問(wèn)控制權(quán)限等配合使用。
07
FOTA(Firmware over the air)
能夠?qū)ζ?chē)執(zhí)行現(xiàn)場(chǎng)軟件更新的優(yōu)勢(shì)已得到充分確立:它將為制造商節(jié)省資金,使關(guān)鍵錯(cuò)誤得以立即修復(fù)并在其生命周期內(nèi)隨時(shí)向汽車(chē)添加引人注目的新功能。理想情況下,對(duì)車(chē)輛操作至關(guān)重要的更新應(yīng)在后臺(tái)無(wú)縫且不可見(jiàn)地進(jìn)行。
圖14
上圖顯示了關(guān)鍵組件,這些組件將更新文件從OEM服務(wù)器獲取到車(chē)輛中的特定ECU。通過(guò)蜂窩網(wǎng)絡(luò)在單個(gè)車(chē)輛和服務(wù)器之間建立安全連接。這樣就可以將新的固件更新安全地發(fā)送到車(chē)輛的Telematics Unit,然后再發(fā)送到OTA Manager。OTA Manager管理車(chē)輛內(nèi)所有ECU的更新過(guò)程。它控制固件更新到ECU的分配,并告訴ECU何時(shí)執(zhí)行更新。
這在需要同時(shí)更新多個(gè)ECU的情況下非常重要。為涉及多個(gè)ECU的車(chē)輛添加新功能。更新過(guò)程完成后,OTA Manager將向OEM發(fā)送確認(rèn)。
可以在運(yùn)行OTA Manager的ECU上安裝外部NAND閃存,以存儲(chǔ)固件更新,直到需要它們?yōu)橹?。外部閃存還可以用于存儲(chǔ)其他車(chē)輛ECU的固件備份副本,如果ECU更新出現(xiàn)重大故障,則可以調(diào)用該備份副本,從而使ECU沒(méi)有任何可用的固件。這些備份副本將通過(guò)加密和身份驗(yàn)證來(lái)提供保護(hù),以防止存儲(chǔ)在外部存儲(chǔ)模塊中的同時(shí)對(duì)固件進(jìn)行任何篡改。
OTA Manager包含車(chē)輛內(nèi)每個(gè)ECU的表格,其中包括序列號(hào)和當(dāng)前固件版本等信息。這樣,OTA Manager可以驗(yàn)證到達(dá)的固件更新,并確保已授權(quán)將其用于該車(chē)輛。如果要更新的ECU不具有安全功能,則OTA Manager還將負(fù)責(zé)解密和驗(yàn)證傳入的更新。7.1 ECU的更新過(guò)程
完整二進(jìn)制文件:新固件完整發(fā)送。這具有不依賴(lài)于先前固件的優(yōu)點(diǎn),從而即使先前版本已損壞也可以進(jìn)行更新。該方法的兩個(gè)缺點(diǎn)是傳輸二進(jìn)制文件所花費(fèi)的時(shí)間以及在接收方ECU中存儲(chǔ)二進(jìn)制文件所需的空間。許多傳統(tǒng)的ECU在CAN總線上的典型速度為500kbit/s。
差異文件:在服務(wù)器上,OEM將新固件與以前的版本進(jìn)行比較,并創(chuàng)建一個(gè)“差異”文件,其中包含它們之間的差異列表。
根據(jù)更改的數(shù)量,此文件通常是:
“A/B”方法(“A/B” approach):這會(huì)使每個(gè)ECU上的閃存數(shù)量增加一倍,以便它可以在“主”閃存中包含當(dāng)前固件,并在“第二”閃存中具有用于全新版本的空間。從最終用戶的角度來(lái)看,這種方法是理想的,因?yàn)镋CU可以使用主存儲(chǔ)器保持正常運(yùn)行,而新固件可以在后臺(tái)寫(xiě)入輔助存儲(chǔ)器。更新完成后,ECU在方便的時(shí)間使用新更新的固件(在輔助閃存塊中)(例如,在下次啟動(dòng)時(shí),也可以等待將開(kāi)關(guān)與要更新的其他ECU進(jìn)行同步)。由于始終有可用的固件,因此沒(méi)有將ECU置于不可操作狀態(tài)的危險(xiǎn),因?yàn)槭冀K可以立即“回滾”到先前的可用固件。一個(gè)明顯的缺點(diǎn)是在MCU上實(shí)現(xiàn)兩倍于執(zhí)行閃存的成本。
“就地”方法(“In place” approach):在這種情況下,設(shè)備上僅存在固件的一個(gè)版本,并且作為更新的一部分擦除并編程了各個(gè)塊。當(dāng)ECU處于正常運(yùn)行狀態(tài)時(shí),更新無(wú)法運(yùn)行——這意味著車(chē)輛將在一段時(shí)間內(nèi)無(wú)法運(yùn)行。該時(shí)間段主要由重新編程ECU Flash所需的時(shí)間決定。車(chē)輛中的主要ECU(如發(fā)動(dòng)機(jī)控制器)將具有數(shù)MB的閃存,如果需要對(duì)完整的固件進(jìn)行重新編程,則可能需要數(shù)十秒的時(shí)間才能完成。對(duì)于OEM廠商來(lái)說(shuō),這是一個(gè)挑戰(zhàn)——客戶是否會(huì)接受這樣的事實(shí),即他們無(wú)法在長(zhǎng)達(dá)一分鐘的時(shí)間內(nèi)啟動(dòng)引擎。A/B方法的增加成本必須與“就地”方法給客戶帶來(lái)的不便之間進(jìn)行權(quán)衡。由于“就地”方法中僅存在固件的一個(gè)版本,因此更新過(guò)程中發(fā)生錯(cuò)誤或重置可能很難從中恢復(fù),并且如果未仔細(xì)處理,則可能導(dǎo)致模塊(以及汽車(chē))功能無(wú)法正常運(yùn)行,因此在車(chē)庫(kù)對(duì)其進(jìn)行更新之前,車(chē)輛將一直無(wú)法使用。
08
安全診斷(Secure Debug)
現(xiàn)代處理器配備了基于硬件的調(diào)試功能,以促進(jìn)片上調(diào)試過(guò)程。
例如,硬件斷點(diǎn)和基于硬件的跟蹤。
通常需要電纜連接(例如JTAG [1])才能使用這些功能。
如果診斷過(guò)程沒(méi)有合適的安全機(jī)制,很容易被黑客利用,如下圖所示:
圖15
安全JTAG模式通過(guò)使用基于挑戰(zhàn)/響應(yīng)的身份驗(yàn)證機(jī)制來(lái)限制JTAG訪問(wèn)。檢查對(duì)JTAG端口的任何訪問(wèn)。只有授權(quán)的調(diào)試設(shè)備(具有正確響應(yīng)的設(shè)備)才能訪問(wèn)JTAG端口。未經(jīng)授權(quán)的JTAG訪問(wèn)嘗試將被拒絕。此功能需要支持基于質(zhì)詢/響應(yīng)的身份驗(yàn)證機(jī)制的外部調(diào)試器工具(例如Lauterbach Trace32,ArmRVDS/DS5調(diào)試器等)。通常在設(shè)備制造期間而不是在開(kāi)發(fā)板上啟用安全JTAG模式。目前很多芯片廠商都提供自己的安全診斷方案,下面僅以NXP為例:
圖16
1.用戶通過(guò)JTAG接口請(qǐng)求調(diào)試
2.SOC以芯片唯一ID響應(yīng)
3.服務(wù)器找到相應(yīng)的密鑰(TZ或normal world)
4.用戶通過(guò)JTAG界面提交密鑰
5.安全的JTAG模塊將密鑰與預(yù)先配置的密鑰進(jìn)行比較
6.如果匹配,則啟用調(diào)試(對(duì)于TZ或normal world)
注:
1.這里的安全診斷是針對(duì)芯片的調(diào)測(cè),不要跟測(cè)試設(shè)備通過(guò)OBD口和車(chē)內(nèi)ECU進(jìn)行通訊爭(zhēng)端協(xié)議(UDS)進(jìn)行混淆了。
2.從安全角度通常建議設(shè)備真正投入使用時(shí),應(yīng)關(guān)閉芯片的JTAG口或者其他類(lèi)型的調(diào)測(cè)端口。
09
安全運(yùn)行環(huán)境
安全運(yùn)行環(huán)境主要是指芯片向OS和APP提供安全隔離的計(jì)算環(huán)境,以及配套的虛擬機(jī)管理程序或者SDK,通常包括芯片計(jì)算多分區(qū)(Multi Partitions)機(jī)制和可信計(jì)算環(huán)境(Trust zone)。
1.ARM Trustzone+虛擬化1)Arm V8.4架構(gòu)開(kāi)始引入Secure EL2擴(kuò)展,在Secure世界中增加了對(duì)虛擬化的支持。這使得可以在非安全狀態(tài)下進(jìn)行虛擬化的功能進(jìn)入安全狀態(tài)。虛擬化的一個(gè)關(guān)鍵特性是增加了虛擬機(jī)管理程序控制兩階段的地址翻譯過(guò)程(如圖17)。
圖17
2)Secure EL1中安全分區(qū)具有隔離的地址空間,其他安全分區(qū)無(wú)法訪問(wèn)此空間,是一個(gè)沙箱環(huán)境。
3)使用Secure EL2安全分區(qū)來(lái)實(shí)現(xiàn)安全世界的虛擬機(jī),安全分區(qū)管理器:EL3和Secure EL2中通用的固件負(fù)責(zé)管理這些安全分區(qū),這里的關(guān)鍵組件是安全分區(qū)管理器(SPM)
圖18
2.系統(tǒng)資源隔離(以NXP的XRDC特性為例)
1)什么是分區(qū):
資源集合(主/從外圍設(shè)備,內(nèi)存區(qū)域)
具有域ID和安全屬性
內(nèi)核,外圍設(shè)備和內(nèi)存可以屬于多個(gè)分區(qū)
2)分區(qū)的工作原理:
系統(tǒng)控制器將外圍設(shè)備和內(nèi)存區(qū)域提交到特定域中(這是客戶定義的)
域之間的任何通信都必須使用消息傳遞協(xié)議
如果某個(gè)域外設(shè)試圖非法訪問(wèn)其他域,則會(huì)發(fā)生總線錯(cuò)誤
3)分區(qū)的好處:
非法訪問(wèn)時(shí)會(huì)立即報(bào)告,有助于在投入實(shí)際應(yīng)用之前發(fā)現(xiàn)難以追查的資源競(jìng)爭(zhēng)問(wèn)題 (又名沙盒方法)
提供成品的安全性:保護(hù)系統(tǒng)關(guān)鍵的SoC外設(shè)免受不太信任的應(yīng)用程序的攻擊
圖19
注:限于篇幅,本文沒(méi)有講述Trustzone技術(shù)本身,這方面的技術(shù)在網(wǎng)上有大量的論述,本文不再重復(fù)。
3. 多核虛擬化
目前很多車(chē)載ECU具有多核,每個(gè)核可以根據(jù)實(shí)際需要運(yùn)行不同ASIL等級(jí)的應(yīng)用程序,也可以把Security和Safety應(yīng)用嚴(yán)格隔離開(kāi),或者通過(guò)虛擬化技術(shù)運(yùn)行不同的操作系統(tǒng)等。因此多核虛擬化技術(shù)應(yīng)用也會(huì)越來(lái)越多。第一節(jié)講的ARM Trustzone最近的架構(gòu)已經(jīng)支持虛擬化技術(shù),下面是NXP虛擬化技術(shù)的一個(gè)例子:
圖20
10
總結(jié)
1.芯片的安全為什么這么重要?
最重要原因是汽車(chē)容易進(jìn)行近距離和物理接觸,所以黑客可以較容易實(shí)施物理攻擊,如果沒(méi)有安全的芯片設(shè)計(jì),很難保障整車(chē)的安全。比如密鑰和隱私數(shù)據(jù)的盜取,篡改等;同時(shí)行業(yè)標(biāo)準(zhǔn),整車(chē)性能要求也促使大家不得不把更多安全功能建立在芯片安全輔助的基礎(chǔ)之上。
2.汽車(chē)芯片級(jí)安全技術(shù)層次以及各技術(shù)之間的關(guān)系
2.1首先要關(guān)注芯片自身的物理安全能力,汽車(chē)芯片必須能抵抗一定級(jí)別的物理攻擊,比如黑客可以利用側(cè)信道攻擊獲取芯片內(nèi)部的密鑰信息,一旦獲取密鑰,就可以成功突破車(chē)內(nèi)其他部件,甚至突破一批汽車(chē)的安全控制措施,因?yàn)槟壳昂芏嘬?chē)型是使用相同密鑰的,安全強(qiáng)度低。
2.2 汽車(chē)智能化和網(wǎng)聯(lián)化的加強(qiáng),從封閉的安全世界走向了一個(gè)相對(duì)開(kāi)放的危險(xiǎn)世界。那么整車(chē)的信任源在哪里?因?yàn)闆](méi)有信任源,整車(chē)的信任體系就無(wú)法建立起來(lái)。這個(gè)時(shí)候我們就要求車(chē)內(nèi)核心的芯片自身必須嵌入信任根或者引入第三方TPM芯片,確保上電的“第一行代碼就是完全可信的”,由此通過(guò)安全啟動(dòng),構(gòu)建整車(chē)的信任鏈。
2.3 有個(gè)信任根,就需要關(guān)注安全存儲(chǔ)。汽車(chē)的密鑰,設(shè)備的唯一身份,以及一些特殊的安全度量值(比如軟件hash),安全配置等,都需要安全的存儲(chǔ)機(jī)制,確保黑客看不見(jiàn),拿不走,改不了,這類(lèi)安全技術(shù)比如OTP、PUP、芯片級(jí)訪問(wèn)控制等。
2.4. 有個(gè)硬件層面的安全底座,就要考慮上層應(yīng)用的安全機(jī)制,尤其是安全隔離。隨著現(xiàn)在ECU計(jì)算能力的增強(qiáng),運(yùn)行的功能越來(lái)越集中,就需要考慮功能之間的隔離,確保一個(gè)功能被黑客攻破,讓攻擊不能蔓延開(kāi),從而不會(huì)影響其他功能的正常運(yùn)行,因此就出現(xiàn)了各種安全運(yùn)行的機(jī)制,比如trust zone,虛擬化技術(shù),運(yùn)行期內(nèi)存一致性檢查技術(shù),控制流一致性(CFI)技術(shù)等。
2.5.另外還有一些特殊場(chǎng)景的安全,比如內(nèi)置數(shù)字版權(quán)技術(shù),芯片安全調(diào)測(cè)技術(shù),固件安全刷寫(xiě)等場(chǎng)景,都需要考慮安全性,否則都會(huì)帶來(lái)嚴(yán)重后果。
最后,我們需要強(qiáng)調(diào)的是,沒(méi)有一個(gè)單點(diǎn)安全技術(shù)可以包治百病,安全沒(méi)有“銀彈”,必須確保各個(gè)芯片設(shè)計(jì),軟件設(shè)計(jì),系統(tǒng)設(shè)計(jì)各環(huán)節(jié)的安全。從威脅分析入手,再基于成本、功耗、基礎(chǔ)設(shè)施配套情況等來(lái)綜合設(shè)計(jì)系統(tǒng)的安全機(jī)制。
責(zé)任編輯:lq
-
芯片
+關(guān)注
關(guān)注
460文章
52513瀏覽量
440867 -
信息安全
+關(guān)注
關(guān)注
5文章
682瀏覽量
39753 -
汽車(chē)芯片
+關(guān)注
關(guān)注
10文章
937瀏覽量
44035
原文標(biāo)題:談?wù)勂?chē)芯片信息安全
文章出處:【微信號(hào):Mouser-Community,微信公眾號(hào):貿(mào)澤電子設(shè)計(jì)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
芯盾時(shí)代入選嘶吼2025網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜
輕輕松松學(xué)電工(識(shí)圖篇)
典型電路原理、電路識(shí)圖從入門(mén)到精通等資料

電路識(shí)圖從入門(mén)到精通高清電子資料
淵亭KGAG升級(jí)引入“高級(jí)策略推理”
微軟發(fā)布《GraphRAG實(shí)踐應(yīng)用白皮書(shū)》助力開(kāi)發(fā)者
利智方:驅(qū)動(dòng)企業(yè)知識(shí)管理與AI創(chuàng)新加速的平臺(tái)
傳音旗下人工智能項(xiàng)目榮獲2024年“上海產(chǎn)學(xué)研合作優(yōu)秀項(xiàng)目獎(jiǎng)”一等獎(jiǎng)

58大新質(zhì)生產(chǎn)力產(chǎn)業(yè)鏈圖譜

三星自主研發(fā)知識(shí)圖譜技術(shù),強(qiáng)化Galaxy AI用戶體驗(yàn)與數(shù)據(jù)安全
芯盾時(shí)代再次入選《嘶吼2024網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》
萬(wàn)里紅入選《嘶吼2024網(wǎng)絡(luò)安全產(chǎn)業(yè)圖譜》8個(gè)細(xì)分領(lǐng)域

評(píng)論