淺析汽車芯片信息安全之安全啟動(dòng)

知乎
Cassie Ren復(fù)睿微首席架構(gòu)專家
信息安全不僅關(guān)系著用戶的隱私,更關(guān)系著人的生命安全。一旦系統(tǒng)被非法入侵,汽車系統(tǒng)可能被惡意操控,從而可能造成汽車被盜取甚至車輛事故。

本文來自知乎,作者:Cassie Ren復(fù)睿微首席架構(gòu)專家。

一、汽車芯片信息安全發(fā)展現(xiàn)狀

汽車的安全機(jī)制實(shí)際上主要包括功能安全(Safety)和信息安全(Security)兩個(gè)方面。功能安全是涉及人身安全的保護(hù)機(jī)制,而信息安全則是保護(hù)我們的汽車系統(tǒng)里的信息不被惡意竊取和破壞。

早期的汽車芯片和軟件系統(tǒng)設(shè)計(jì)中,由于汽車較少與外界有網(wǎng)絡(luò)互聯(lián),所以并未考慮過多的信息安全性。隨著科技的發(fā)展、汽車行業(yè)的發(fā)展,汽車也加入了萬物互聯(lián)的行列。由于汽車的智能化、網(wǎng)聯(lián)化的提升,信息安全正在占據(jù)著越來越重要的地位。

信息安全不僅關(guān)系著用戶的隱私,更關(guān)系著人的生命安全。一旦系統(tǒng)被非法入侵,汽車系統(tǒng)可能被惡意操控,從而可能造成汽車被盜取甚至車輛事故。

目前世界各國已經(jīng)開始制定相關(guān)法規(guī)來保障汽車的信息安全。2021年初,聯(lián)合國世界車輛法規(guī)協(xié)調(diào)論壇(簡稱UN/WP.29)發(fā)布了兩個(gè)信息安全相關(guān)的重要法規(guī)R155/R156,即信息安全(Cybersecurity)/軟件升級(jí)(Software updates)。

據(jù)悉,中國也在制定相應(yīng)的信息安全法規(guī)《汽車整車信息安全技術(shù)要求》(中國版R155),《汽車軟件升級(jí)通用技術(shù)要求》(中國版R156)。同年8月,國際標(biāo)準(zhǔn)組織ISO也公布了汽車網(wǎng)絡(luò)安全標(biāo)準(zhǔn)ISO/SAE21434,規(guī)定了汽車系統(tǒng)、子系統(tǒng)和零部件應(yīng)具備更強(qiáng)的安全性能以抵御網(wǎng)絡(luò)攻擊。

由此可見,汽車芯片作為汽車零部件里最核心的關(guān)鍵組件,其信息安全已成為汽車芯片設(shè)計(jì)的必備要素和重要考量。

二、安全啟動(dòng)的重要性

安全啟動(dòng)是典型的芯片信息安全方案中的一環(huán),也是信息安全認(rèn)證的重要一環(huán)。通過信息安全認(rèn)證也會(huì)給產(chǎn)品帶來更多的競爭力。

目前市面上考慮到安全的芯片基本都會(huì)選擇支持安全啟動(dòng)功能。安全啟動(dòng)是通過啟動(dòng)時(shí)對(duì)鏡像進(jìn)行驗(yàn)證來保證啟動(dòng)時(shí)的軟件是合法且未經(jīng)篡改的,是在啟動(dòng)階段保證信息安全的一種方式。

360截圖16251112669372.png

三、安全啟動(dòng)信任根

首先,安全啟動(dòng)需要一個(gè)信任根。信任根是密碼系統(tǒng)中始終可以相信的來源。我們都知道ROM存儲(chǔ)是只讀的,基于此特性,我們可以將程序的第一段代碼固化在ROM里作為安全啟動(dòng)的起點(diǎn)。這段代碼無法被輕易替換,從而可保證每次啟動(dòng)第一段代碼的可信性。

四、安全啟動(dòng)信任鏈

安全啟動(dòng)會(huì)對(duì)每一級(jí)鏡像進(jìn)行逐級(jí)驗(yàn)證,以保證下一級(jí)的鏡像的合法性。鏡像驗(yàn)證必須保證其連續(xù)性,否則則無法保證其驗(yàn)證的可信性。

像汽車芯片這種大型的SoC一般是多核系統(tǒng),多核系統(tǒng)的啟動(dòng)可由BootROM校驗(yàn)下一級(jí)bootloader并由該bootloader加載不同核的一級(jí)bootloader,再由一級(jí)bootloader開始連續(xù)校驗(yàn)下面的鏡像內(nèi)容。

由于不同的SoC的設(shè)計(jì)不同,這里只是為了舉例表明安全啟動(dòng)的信任鏈,每級(jí)鏡像的名字可由開發(fā)者自己定義,其框圖如下圖所示:

360截圖16251112669372.png

五、安全啟動(dòng)實(shí)現(xiàn)

加密算法

在安全領(lǐng)域,使用加密算法來對(duì)通信過程進(jìn)行加密是一種常見的安全手段。通過加密算法可實(shí)現(xiàn)對(duì)數(shù)據(jù)的保護(hù)以防止數(shù)據(jù)被泄露,同時(shí)也可防止數(shù)據(jù)被篡改。常用的加密算法一般分為對(duì)稱加密算法和非對(duì)稱加密算法。對(duì)稱加密算法的加密和解密使用同一個(gè)密鑰,而非對(duì)稱算法則使用公鑰和私鑰兩種密鑰來進(jìn)行加解密。公鑰私鑰成對(duì)存在,如用公鑰加密需用私鑰解密,反之亦然。

AES是最常用的對(duì)稱加密算法,其擁有運(yùn)算速度快,內(nèi)存需求低,分組長度和密鑰長度設(shè)計(jì)靈活等優(yōu)點(diǎn)。對(duì)于非對(duì)稱加密算法來說,典型的有RSA和ECC兩種加密算法。RSA加密算法常被選擇用于鏡像的簽名與驗(yàn)簽。

簽名與驗(yàn)簽

由于非對(duì)稱加密的速度遠(yuǎn)低于對(duì)稱加密,故非對(duì)稱加密算法不適用于數(shù)據(jù)量大的場景。我們一般使用SHA-1/SHA-2等算法計(jì)算得到Hash值以用來校驗(yàn)的數(shù)據(jù)完整性,并基于其進(jìn)行加密計(jì)算得到鏡像的簽名。

RSA算法用來簽名與驗(yàn)簽是業(yè)界常見的做法。一般采用私鑰加密得到簽名,公鑰解密來驗(yàn)證簽名以保證信息來源的可信性。與此同時(shí),也會(huì)采用填充技術(shù)來增加加密算法的破解難度。常見的RSA填充算法有PCK1.5填充,OAEP填充,PSS填充等。

對(duì)稱加密的應(yīng)用

簽名與驗(yàn)簽的過程保證了鏡像內(nèi)容的完整性與來源的可信性,但數(shù)據(jù)仍處于明文狀態(tài)。若黑客可以讀到數(shù)據(jù)的存儲(chǔ)空間,仍面臨信息泄露的危險(xiǎn)。為了解決這個(gè)問題,我們可以通過使用對(duì)稱加密算法來對(duì)數(shù)據(jù)進(jìn)行加密。如此一來,就算數(shù)據(jù)被讀走,沒有正確的密鑰也是無法解析其信息。

360截圖16251112669372.png

密鑰的分配與保護(hù)

密鑰的保護(hù)也是信息安全中的一個(gè)議題。如果密鑰被竊取,一樣會(huì)面臨信息被泄露與篡改的危險(xiǎn)。所以在芯片設(shè)計(jì)的過程中,如何生成、保存、載入密鑰是一個(gè)要認(rèn)真考慮的問題。

對(duì)于驗(yàn)簽過程而言,必須保護(hù)好RSA算法的公鑰以防止黑客將其替換偽造簽名。由于RSA加密算法的公鑰比較長,可選擇將其Hash值固化在ROM里或者寫在efuse上,在安全啟動(dòng)的過程中對(duì)公鑰的Hash進(jìn)行比對(duì)以保證公鑰來源的可信性。

對(duì)于對(duì)稱加密而言,必須保護(hù)好用于加解密的秘鑰。可將其寫在OTP或者efuse里,也可采用多級(jí)加密的方式來保護(hù)密鑰以防止被入侵者竊取。

六、結(jié)語

本文簡單介紹了一下汽車芯片安全啟動(dòng)的關(guān)鍵技術(shù)及其實(shí)現(xiàn),簡而言之,就是要保證啟動(dòng)鏡像的可信性和完整性,以及盡量增加黑客竊取破壞的難度。

對(duì)于汽車芯片的信息安全而言,安全啟動(dòng)只是其中的第一步。我們還需要將嚴(yán)密的信息安全考量貫徹整個(gè)芯片的設(shè)計(jì)過程,以滿足全球汽車市場對(duì)信息安全日益嚴(yán)格的需求。

https://mp.weixin.qq.com/s/X2COYOcaS2RRGz1vtoC7OQ

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論