芯來(lái)科技的RISC-V TEE實(shí)踐:開放架構(gòu)下的嵌入式安全創(chuàng)新
隨著物聯(lián)網(wǎng)和嵌入式設(shè)備的普及,數(shù)據(jù)泄露、惡意軟件和未經(jīng)授權(quán)訪問(wèn)等安全威脅日益嚴(yán)峻,嵌入式系統(tǒng)對(duì)安全隔離的需求愈發(fā)迫切。可信執(zhí)行環(huán)境(TEE)應(yīng)運(yùn)而生,通過(guò)硬件和軟件協(xié)同設(shè)計(jì),為敏感數(shù)據(jù)和關(guān)鍵操作提供隔離的執(zhí)行環(huán)境。ARM的TrustZone和x86的SGX等技術(shù)已在TEE實(shí)現(xiàn)中占據(jù)主導(dǎo),但均存在局限。ARM TrustZone依賴專有硬件擴(kuò)展,增加了設(shè)計(jì)復(fù)雜性和成本,且靈活性有限;x86 SGX則因指令集封閉和高功耗,難以適應(yīng)資源受限的嵌入式場(chǎng)景。相比之下,RISC-V作為開源指令集架構(gòu),憑借其模塊化設(shè)計(jì)和高可定制性,為TEE提供了更靈活、低成本的實(shí)現(xiàn)路徑,支持多樣化的安全需求。
在第五屆RISC-V中國(guó)峰會(huì)嵌入式系統(tǒng)分論壇上,芯來(lái)科技高級(jí)軟件工程師桂兵發(fā)表了題為“Nuclei TEE:RISC-V安全系統(tǒng)實(shí)踐”的演講,詳細(xì)介紹了芯來(lái)科技在RISC-V架構(gòu)上實(shí)現(xiàn)可信執(zhí)行環(huán)境(TEE)的最新進(jìn)展。
TEE(可信執(zhí)行環(huán)境)最早由2006年的開放移動(dòng)終端平臺(tái)(OMTP)提出,是一種支持安全與非安全環(huán)境并存的雙系統(tǒng)安全解決方案。2010年,GlobalPlatform(GP)進(jìn)一步制定了TEE規(guī)范標(biāo)準(zhǔn)。TEE架構(gòu)支持多種處理器架構(gòu),包括ARM的TrustZone以及RISC-V的物理內(nèi)存保護(hù)(PMP)、WorldGuard和輸入輸出PMP(IOPMP)等機(jī)制。這些技術(shù)通過(guò)硬件隔離確保敏感操作與非敏感操作的安全分離,是現(xiàn)代嵌入式系統(tǒng)安全設(shè)計(jì)的核心。
為便于理解,桂兵簡(jiǎn)要對(duì)比了ARM的TrustZone架構(gòu)。在ARM A系列處理器中,TrustZone通過(guò)增加專用的安全模式以及安全相關(guān)的硬件擴(kuò)展(如TrustZone地址空間控制器TZASC、保護(hù)控制器TZPC和通用中斷控制器GIC)實(shí)現(xiàn)安全隔離。而ARM M系列則通過(guò)地址空間劃分區(qū)分安全與非安全區(qū)域,依賴SG(安全網(wǎng)關(guān))、BXNS(跳轉(zhuǎn)到非安全)和BLXNS(帶鏈接跳轉(zhuǎn)到非安全)三條指令實(shí)現(xiàn)安全函數(shù)調(diào)用。非安全代碼需通過(guò)特定的非安全可調(diào)用(NSC)區(qū)域執(zhí)行SG指令,才能訪問(wèn)安全函數(shù),確保安全域與非安全域的受控交互。
芯來(lái)科技根據(jù)其產(chǎn)品線的特點(diǎn),針對(duì)AP級(jí)和MCU級(jí)處理器開發(fā)了差異化的TEE解決方案。對(duì)于AP級(jí)處理器,芯來(lái)采用機(jī)器模式(M)、管理模式(S)和用戶模式(U),結(jié)合PMP和增強(qiáng)型中斷控制器,構(gòu)建了基于開源OP-TEE框架的安全架構(gòu)。桂兵提到,去年公司曾展示過(guò)一個(gè)服務(wù)流程,驗(yàn)證了該架構(gòu)的實(shí)際應(yīng)用。內(nèi)存隔離通過(guò)PMP實(shí)現(xiàn),例如將M模式分配到PMP0區(qū)域以運(yùn)行安全代碼。此外,芯來(lái)在硬件層面通過(guò)總線、緩存和轉(zhuǎn)換旁路緩沖區(qū)(TLB)實(shí)現(xiàn)了進(jìn)一步的隔離,確保安全與非安全環(huán)境的物理分離。
在AP級(jí)方案的中斷處理機(jī)制中,芯來(lái)設(shè)計(jì)了以S模式為主的處理流程,M模式僅作為中轉(zhuǎn),負(fù)責(zé)轉(zhuǎn)發(fā)非關(guān)鍵中斷。為防止篡改,公司對(duì)平臺(tái)級(jí)中斷控制器(PLIC)進(jìn)行了優(yōu)化,確保M模式啟用中斷后,S模式無(wú)法修改相關(guān)配置。在安全世界運(yùn)行時(shí),非安全中斷被暫時(shí)擱置,以避免干擾;而非安全世界運(yùn)行時(shí),安全中斷仍可被響應(yīng)。這種動(dòng)態(tài)中斷管理機(jī)制在保障安全的同時(shí),兼顧了系統(tǒng)效率。
對(duì)于MCU級(jí)處理器,芯來(lái)基于ARM的開源Trusted Firmware-M(TF-M)框架開發(fā)了TEE解決方案,適合資源受限的設(shè)備。該方案將安全執(zhí)行環(huán)境(SPE)置于M模式,非安全執(zhí)行環(huán)境(NSPE)則運(yùn)行于S和U模式,通過(guò)PMP實(shí)現(xiàn)硬件級(jí)隔離。然而,桂兵指出,目前的實(shí)現(xiàn)僅限于SPE與NSPE之間的隔離,SPE內(nèi)部的進(jìn)一步隔離尚待開發(fā)。在中斷響應(yīng)方面,芯來(lái)通過(guò)配置機(jī)器定時(shí)器(mtimer)區(qū)分安全與非安全中斷,嚴(yán)重中斷可直接路由至M模式處理,次要中斷則交由S模式響應(yīng)。函數(shù)調(diào)用采用類似ARM的跳板機(jī)制,在M模式維護(hù)一個(gè)函數(shù)ID列表,驗(yàn)證NSPE的調(diào)用請(qǐng)求,非法調(diào)用將觸發(fā)錯(cuò)誤,確保系統(tǒng)安全性。
在比較AP級(jí)與MCU級(jí)方案時(shí),桂兵強(qiáng)調(diào)了兩者的核心差異。在AP級(jí)方案中,S模式支持安全與非安全狀態(tài),適用于復(fù)雜應(yīng)用場(chǎng)景;而在MCU級(jí)方案中,S模式全部為非安全狀態(tài),簡(jiǎn)化了資源受限設(shè)備的設(shè)計(jì)。此外,MCU方案采用的增強(qiáng)型核心本地中斷控制器(ECLIC)支持中斷嵌套,而AP方案使用的PLIC天然不支持嵌套。芯來(lái)的測(cè)試流程首先驗(yàn)證M模式運(yùn)行情況,隨后測(cè)試NSPE對(duì)SPE服務(wù)的調(diào)用,確保整個(gè)TEE系統(tǒng)的完整性。
演講最后,桂兵通過(guò)一個(gè)演示展示了芯來(lái)TEE方案的實(shí)際運(yùn)行效果,驗(yàn)證了內(nèi)存隔離、中斷處理和安全函數(shù)調(diào)用的可靠性。演示基于OP-TEE和TF-M框架,展現(xiàn)了安全與非安全環(huán)境的無(wú)縫交互,凸顯了芯來(lái)解決方案的實(shí)用性與穩(wěn)定性。
芯來(lái)科技的TEE實(shí)踐充分體現(xiàn)了RISC-V開放架構(gòu)在安全嵌入式系統(tǒng)中的潛力。通過(guò)針對(duì)AP和MCU場(chǎng)景的定制化方案,展示了RISC-V在滿足現(xiàn)代安全需求方面的靈活性。PMP的內(nèi)存隔離、優(yōu)化的中斷處理和硬件級(jí)保護(hù)機(jī)制共同構(gòu)成了健壯且可擴(kuò)展的解決方案。
據(jù)悉,芯來(lái)科技成立于2018年,其RISC-V CPU IP完全自主研發(fā),累計(jì)出貨量已達(dá)數(shù)億顆,穩(wěn)居國(guó)內(nèi)RISC-V IP市場(chǎng)領(lǐng)先地位。目前,公司產(chǎn)品線涵蓋六個(gè)系列,包括通用型和專用型處理器IP,廣泛滿足不同應(yīng)用需求,奠定了其在行業(yè)第一梯隊(duì)的地位。
芯來(lái)科技的在RISC-V上實(shí)現(xiàn)的TEE創(chuàng)新,為全球RISC-V社區(qū)在安全嵌入式系統(tǒng)領(lǐng)域的創(chuàng)新提供了借鑒。隨著RISC-V生態(tài)的持續(xù)發(fā)展,芯來(lái)科技的TEE解決方案無(wú)疑將在推動(dòng)開源硬件安全應(yīng)用方面發(fā)揮重要作用。