芯片級(jí)安全關(guān)鍵技術(shù),你學(xué)會(huì)了嗎?
?物聯(lián)網(wǎng)面臨很多的安全風(fēng)險(xiǎn),如果處理不當(dāng),不僅會(huì)造成敏感信息泄露、設(shè)備劫持,更有甚者會(huì)危害人身安全。目前很多物聯(lián)網(wǎng)系統(tǒng)缺乏體系化的安全設(shè)計(jì),同時(shí),物聯(lián)網(wǎng)安全與傳統(tǒng)的計(jì)算機(jī)信息系統(tǒng)安全相比,有兩個(gè)難點(diǎn):
(1)復(fù)雜的部署環(huán)境和網(wǎng)絡(luò)結(jié)構(gòu)。如智能電表系統(tǒng)部署在千家萬(wàn)戶,智能手環(huán)隨身佩戴,智能車(chē)載終端隨車(chē)移動(dòng),中間經(jīng)過(guò)各類網(wǎng)絡(luò)如藍(lán)牙、RF、PLC、運(yùn)營(yíng)商網(wǎng)絡(luò)等。
(2)受限的計(jì)算和網(wǎng)絡(luò)資源。很多物聯(lián)網(wǎng)場(chǎng)景中傳感器、終端以及部分網(wǎng)關(guān)的資源往往非常有限,包括計(jì)算、存儲(chǔ)及能源,難以運(yùn)行復(fù)雜的安全協(xié)議以及部署安全Agent。網(wǎng)絡(luò)帶寬也很有限,很多本地網(wǎng)絡(luò)運(yùn)行在幾十Kbps共享帶寬下。
1、芯片級(jí)安全技術(shù)
物聯(lián)網(wǎng)的硬件基礎(chǔ)是超大型集成電路或者芯片,這些芯片決定了物聯(lián)網(wǎng)設(shè)備如何運(yùn)行,如何處理數(shù)據(jù)。物聯(lián)網(wǎng)設(shè)備為生活帶來(lái)便捷的同時(shí),也帶來(lái)了困擾。當(dāng)物聯(lián)網(wǎng)設(shè)備遭受攻擊時(shí),它可能會(huì)泄露個(gè)人隱私或商業(yè)機(jī)密,甚至可能造成大規(guī)模的網(wǎng)絡(luò)癱瘓。而且由于物聯(lián)網(wǎng)設(shè)備本身計(jì)算資源有限,系統(tǒng)和硬件高度定制化、不通用、以及網(wǎng)絡(luò)傳輸速率和工作環(huán)境等限制,難以部署傳統(tǒng)的安全防護(hù)措施。
針對(duì)于物聯(lián)網(wǎng)設(shè)備的安全問(wèn)題,芯片級(jí)的安全技術(shù)是不錯(cuò)的解決方案,芯片級(jí)的安全技術(shù)包括可信平臺(tái)模塊(TPM)、安全啟動(dòng)(Secure Boot)、TEE、內(nèi)存安全以及側(cè)信道防護(hù)等等。
這些芯片級(jí)的安全技術(shù)具有從根本上解決物聯(lián)網(wǎng)安全問(wèn)題的能力,芯片級(jí)安全技術(shù)軟硬結(jié)合的防御措施,使攻擊者難以竊取數(shù)據(jù),竊取了也讀不懂、讀懂了也篡改不了。芯片級(jí)安全技術(shù)是物理安全的發(fā)展方向之一,目前越來(lái)越多的芯片廠商在設(shè)計(jì)的芯片中增加了安全機(jī)制,如TrustZone,同時(shí)國(guó)際上也成立了可信計(jì)算組織TCG(Trusted Computing Group),以推動(dòng)安全技術(shù)的發(fā)展。
2、可信計(jì)算與TPM芯片
可信計(jì)算是一項(xiàng)由可信計(jì)算組織TCG(Trusted Computing Group)推動(dòng)和開(kāi)發(fā)的技術(shù)??尚庞?jì)算通過(guò)保證計(jì)算機(jī)操作系統(tǒng)和引導(dǎo)程序的完整性,來(lái)保障系統(tǒng)和應(yīng)用的行為可以按預(yù)期執(zhí)行。所以防篡改是可信計(jì)算的核心目的之一,通過(guò)基于硬件的安全芯片來(lái)校驗(yàn)系統(tǒng)和引導(dǎo)程序的完整性。
當(dāng)前大部分信息安全系統(tǒng)主要是由防火墻、入侵檢測(cè)和防病毒軟件組成,這些在計(jì)算資源有限、部署環(huán)境復(fù)雜的IoT設(shè)備上難以部署,而且這些手段面對(duì)越來(lái)越系統(tǒng)化、隱蔽化、多樣化的攻擊方式也逐漸捉襟見(jiàn)肘。
對(duì)物聯(lián)網(wǎng)設(shè)備來(lái)說(shuō),一是用戶認(rèn)證,認(rèn)證使用者的權(quán)限,對(duì)于智能音箱、家庭攝像頭這類的設(shè)備,隱私安全尤為重要。二是設(shè)備認(rèn)證,物聯(lián)網(wǎng)設(shè)備的部署環(huán)境復(fù)雜,即使在同一個(gè)局域網(wǎng)內(nèi),也有可能受到惡意設(shè)備的攻擊,物聯(lián)網(wǎng)網(wǎng)絡(luò)中的設(shè)備應(yīng)該要求它們之間進(jìn)行身份驗(yàn)證,確保攻擊者無(wú)法使用隱含的信任作為進(jìn)入系統(tǒng)的憑證。
3、可信計(jì)算的機(jī)制
可信計(jì)算可以在物聯(lián)網(wǎng)設(shè)備中建立起主動(dòng)防御機(jī)制。通過(guò)鏈?zhǔn)叫r?yàn)和專有的可信操作系統(tǒng)確保完成某些操作的應(yīng)用程序能夠按照預(yù)期的行為完成任務(wù)。在物聯(lián)網(wǎng)設(shè)備上建立整個(gè)可信環(huán)境,首先需要一個(gè)可信根,然后建立一條可信鏈,再將可信傳遞到系統(tǒng)的各個(gè)模塊,之后就能建立整個(gè)系統(tǒng)的可信。
可信根是可信系統(tǒng)的底層機(jī)制,是系統(tǒng)可信的源頭,可信根應(yīng)具備密碼服務(wù)功能、針對(duì)系統(tǒng)啟動(dòng)工程的度量能力和控制能力,先于其他部分啟動(dòng)。在TCG定義的可信計(jì)算中,可信根由具備密碼服務(wù)功能的可信平臺(tái)模塊(TPM)以及系統(tǒng)BIOS中的度量代碼段(CRTM)組成。TPM為系統(tǒng)提供了密碼服務(wù)引擎,CRTM執(zhí)行對(duì)系統(tǒng)的度量功能并且可以在度量未通過(guò)時(shí)實(shí)施控制。
可信鏈?zhǔn)怯煽尚鸥_(kāi)始,通過(guò)逐層擴(kuò)展的方式實(shí)現(xiàn)。首先需要用可信根驗(yàn)證系統(tǒng)硬件和固件的可信性,用固件的驗(yàn)證機(jī)制驗(yàn)證操作系統(tǒng)引導(dǎo)程序的可信性,用操作系統(tǒng)引導(dǎo)程序驗(yàn)證操作系統(tǒng)安全部件的可信性,由操作系統(tǒng)安全部件為應(yīng)用程序提供可信運(yùn)行環(huán)境,從而在系統(tǒng)中構(gòu)建一個(gè)完整的信任鏈條,保障應(yīng)用的可信運(yùn)行。
4、基于TPM可信物聯(lián)網(wǎng)架構(gòu)
早期可信計(jì)算研究主要以可信計(jì)算組織(TCG)為主,在可信計(jì)算中最核心的部分就是TPM硬件芯片。到目前為止,TPM規(guī)范已經(jīng)發(fā)展到2.0。TPM1.1b發(fā)布于2003年,是第一個(gè)得到廣泛應(yīng)用的TPM規(guī)范。在此之前,TPM已經(jīng)提供如密鑰生成、存儲(chǔ)、安全授權(quán)和設(shè)備健康驗(yàn)證等基本功能。當(dāng)前基于TPM安全平臺(tái)的技術(shù)有三種,ARM TrustZone、Intel TXT和AMD PSP。
1) ARM TrustZone
TrustZone提供了一種能夠在SoC上創(chuàng)建一個(gè)虛擬處理器的功能,從而把軟硬件資源劃分為兩部分,一部分叫安全世界(Secure World,SWd),運(yùn)行執(zhí)行安全功能的可信軟件;另一個(gè)叫正常世界(Normal World),運(yùn)行其他的操作。安全世界和正常世界可以通過(guò)一個(gè)叫Monitor Mode的模式轉(zhuǎn)換。這兩個(gè)執(zhí)行環(huán)境被SoC的硬件隔離開(kāi)來(lái),保證主操作系統(tǒng)不會(huì)干擾安全世界(SWd)中的程序和數(shù)據(jù)。這使得用戶可以在不能信任整個(gè)設(shè)備的情況下,保持對(duì)安全世界(SWd)中數(shù)據(jù)的信賴。ARMTrustZone技術(shù)是所有Cortex-A類處理器的基本功能,是通過(guò)ARM架構(gòu)安全擴(kuò)展引入的。
目前,ARM處理器在物聯(lián)網(wǎng)中應(yīng)用最為普及,如智能手機(jī)、電視盒子、車(chē)載娛樂(lè)系統(tǒng)等。
2) Intel TXT
TXT是Trusted Execution Technology的簡(jiǎn)稱,即可信執(zhí)行技術(shù),是TPM2.0的典型代表。其主要目標(biāo)是通過(guò)使用特定的Intel CPU、專用硬件以及相關(guān)固件,建立一個(gè)從一開(kāi)機(jī)就可信的環(huán)境,進(jìn)而為系統(tǒng)軟件提供多種方法來(lái)實(shí)現(xiàn)更安全的系統(tǒng)以及更好的數(shù)據(jù)完整性保護(hù)。
3) AMD PSP
AMD安全處理器是獨(dú)立于平臺(tái)核心處理器的、集成在SoC中的專用安全硬件子系統(tǒng)。它可以提供一個(gè)隔離的環(huán)境,一些敏感組件可以在不受其他軟件影響的情況下運(yùn)行。PSP 可以執(zhí)行系統(tǒng)工作任務(wù)以及可信第三方提供的工作任務(wù)。
5、安全啟動(dòng) Secure Boot
嵌入式設(shè)備的啟動(dòng)流程從芯片上電運(yùn)行開(kāi)始,首先運(yùn)行的是固化在芯片內(nèi)部ROM里的一段代碼(ROM Code),然后ROM Code加載一級(jí)引導(dǎo),一級(jí)引導(dǎo)加載Bootloader,Bootloader初始化各種硬件,之后加載并將參數(shù)傳遞給操作系統(tǒng)內(nèi)核,由操作系統(tǒng)內(nèi)核啟動(dòng)各種服務(wù)。在這個(gè)過(guò)程中,加載Bootloader和加載操作內(nèi)核階段往往容易受到惡意的攻擊,如篡改內(nèi)核版本、修改 Bootloader傳遞給內(nèi)核的參數(shù)等,或是通過(guò)硬件手段往存儲(chǔ)操作系統(tǒng)內(nèi)核的芯片中刷入惡意固件,以達(dá)到修改設(shè)備功能的目的。
因此Secure Boot的機(jī)制是向物聯(lián)網(wǎng)設(shè)備啟動(dòng)的每個(gè)階段添加校驗(yàn)機(jī)制,在加載運(yùn)行下一級(jí)之前,對(duì)下一級(jí)的代碼進(jìn)行安全校驗(yàn),校驗(yàn)通過(guò)才加載運(yùn)行,校驗(yàn)不通過(guò)則停止運(yùn)行,這個(gè)機(jī)制有效的防止未經(jīng)授權(quán)或惡意的修改固件,有效的保護(hù)了物聯(lián)網(wǎng)設(shè)備的啟動(dòng)安全。
1)ARM TrustZone中的Secure Boot
TrustZone 中Secure Boot方案將加密檢查添加到安全世界(SWd)啟動(dòng)過(guò)程的每個(gè)階段。這個(gè)過(guò)程用于校驗(yàn)所有SWd軟件鏡像的完整性,從而防止運(yùn)行任何未經(jīng)授權(quán)或遭受惡意修改的軟件。
防止惡意攻擊的最簡(jiǎn)單方法是將所有安全世界資源執(zhí)行都保留在SoC內(nèi)存位置中。如果代碼和數(shù)據(jù)永遠(yuǎn)不會(huì)存儲(chǔ)在SoC封裝之外的其他芯片中,那么讀取或修改數(shù)據(jù)就變得更加困難,因?yàn)閷?duì)SoC封裝的物理攻擊要比將邏輯探針連接到PCB走線或封裝引腳困難得多。
安全啟動(dòng)代碼通常負(fù)責(zé)將代碼加載到SoC內(nèi)存中,因此,正確地進(jìn)行身份驗(yàn)證以避免為攻擊者引入機(jī)會(huì)之窗至關(guān)重要。假設(shè)正在運(yùn)行的代碼和所需的簽名已經(jīng)在安全的SoC內(nèi)存中,則在使用加密方法進(jìn)行身份驗(yàn)證之前,應(yīng)先將要驗(yàn)證的二進(jìn)制或PuK復(fù)制到安全位置。對(duì)鏡像進(jìn)行身份驗(yàn)證然后將其復(fù)制到安全內(nèi)存位置的設(shè)計(jì)有遭受攻擊的風(fēng)險(xiǎn),攻擊者可以在檢查完成和進(jìn)行復(fù)制之間的短窗口期中修改鏡像。
2)AMD Secure Boot
AMD在特別的加速處理器(APU)中內(nèi)置了專屬的安全處理器。這套安全處理器是基于ARMTrustZone架構(gòu)的,它運(yùn)行于硬件之上通過(guò)將CPU分割為兩個(gè)虛擬的"世界"來(lái)建立安全環(huán)境。保密任務(wù)將運(yùn)行于AMD安全處理器(即"安全世界")中,而其他的任務(wù)則以"標(biāo)準(zhǔn)操作"方式運(yùn)行。這樣確保了敏感數(shù)據(jù)的存儲(chǔ)和可信應(yīng)用程序的安全運(yùn)行。?