安全性現(xiàn)在是許多嵌入式應(yīng)用程序的主要要求。隨著連接設(shè)備越來(lái)越多地融入我們的生活,其安全隱患可能是災(zāi)難性的——可能導(dǎo)致隱私、數(shù)據(jù)和財(cái)務(wù)信息的丟失,甚至在某些情況下導(dǎo)致死亡。
由于其行為有封閉性的特點(diǎn),一般嵌入式平臺(tái)不需要考慮任何級(jí)別的安全性;然而,現(xiàn)在許多嵌入式設(shè)備都會(huì)聯(lián)網(wǎng),并支持第三方下載軟件,這就引起人們對(duì)這些“智能”設(shè)備的安全和可信操作的密切關(guān)注。
這種“智能“超越PC和手機(jī),由此引發(fā)了新的思考。
圖1- 不同應(yīng)用間隔離的SoC平臺(tái)
現(xiàn)在,為了使不同應(yīng)用程序的資產(chǎn)保護(hù)(如密碼,數(shù)據(jù),證書等)相互隔離,必須要采用一個(gè)標(biāo)準(zhǔn)的方法,并在可移植性、可擴(kuò)展性和部署方便性方面提出了挑戰(zhàn)。為此,行業(yè)采用在嵌入式平臺(tái)中強(qiáng)制執(zhí)行多個(gè)受保護(hù)的環(huán)境的方法是至關(guān)重要的。保護(hù)一個(gè)或多個(gè)環(huán)境的能力使得這些應(yīng)用程序的可信操作需要防止來(lái)自物理上或者互聯(lián)網(wǎng)的外部攻擊。
什么是TEE?它是做什么的?
TEE在連接設(shè)備中提供一個(gè)安全區(qū)域,確保敏感數(shù)據(jù)在隔離、可信的環(huán)境中存儲(chǔ)、處理和保護(hù) - 通過(guò)提供隔離的、安全執(zhí)行的授權(quán)軟件,實(shí)現(xiàn)端到端的安全。換句話說(shuō),TEE表示一個(gè)與SoC中其他模塊隔離并能夠執(zhí)行可信應(yīng)用程序(TAs)的區(qū)域。
圖2 -由硬件支持的虛擬化強(qiáng)制執(zhí)行的隔離
TEE確保客戶在安全和豐富的應(yīng)用程序中運(yùn)行
TEE可以包括CPU和其他元件,如存儲(chǔ)器和IO;在許多情況下,可信應(yīng)用程序需要訪問(wèn)安全加速器,這些加速器也必須駐留在TEE環(huán)境中,例如GPU、顯示端口、信任根(RoT)等。
通過(guò)讓授權(quán)的應(yīng)用程序在TEE中執(zhí)行,平臺(tái)可以按預(yù)期可信地運(yùn)行。此方法在為可信應(yīng)用程序提供保護(hù)不受非可信應(yīng)用程序干擾的同時(shí),也能確保在這些區(qū)域如鍵盤、支付交易、生物識(shí)別等之間的信息交換能力。
位于嵌入式設(shè)備核心的可信執(zhí)行環(huán)境必須繼續(xù)發(fā)展,超越現(xiàn)有的二進(jìn)制方法,以保護(hù)新興設(shè)備中的可信資產(chǎn)和現(xiàn)有設(shè)備的新范式。我們認(rèn)為答案在于對(duì)這些存在風(fēng)險(xiǎn)的產(chǎn)品采取“多重信任”的方法。
GlobalPlatform 扮演什么角色?
GlobalPlatform已經(jīng)開(kāi)始對(duì)多個(gè)市場(chǎng)/應(yīng)用程序的TEE應(yīng)用程序編程接口(API)進(jìn)行標(biāo)準(zhǔn)化支持。這些標(biāo)準(zhǔn)的應(yīng)用程序接口大大減少了應(yīng)用程序開(kāi)發(fā)人員的挑戰(zhàn)。例如,可信應(yīng)用程序開(kāi)發(fā)過(guò)程可以與豐富多樣的應(yīng)用程序開(kāi)發(fā)過(guò)程解耦。有了TEE,原本曾經(jīng)緊密相連的工作,開(kāi)發(fā)人員可以通過(guò)獨(dú)立創(chuàng)建一組通用應(yīng)用程序接口來(lái)實(shí)現(xiàn)。這允許互操作性和易用性,并最終加速部署需要安全和可信操作的應(yīng)用程序。
由GlobalPlatform定義的可信執(zhí)行環(huán)境(TEE)為軟件開(kāi)發(fā)人員提供了一個(gè)開(kāi)源、透明的環(huán)境,可以通過(guò)一個(gè)平臺(tái)安全可靠的操作來(lái)實(shí)現(xiàn)對(duì)他們應(yīng)用程序的保護(hù),不受其他應(yīng)用程序的危害。
TEE的今天和未來(lái)
TEE是一種在多環(huán)境共存的同時(shí),建立起策略來(lái)保護(hù)每個(gè)環(huán)境的代碼和數(shù)據(jù)的方法。GlobalPlatform TEE的初始部署主要用于移動(dòng)空間,解決諸如安全視頻路徑或安全支付等應(yīng)用程序。然而,在過(guò)去的幾年中,在其他應(yīng)用領(lǐng)域,如消費(fèi)電子、智能家電、家庭網(wǎng)關(guān)、無(wú)人駕駛飛機(jī)等,也出現(xiàn)了類似的需求。
隨著行業(yè)正朝著采用異構(gòu)性的可信應(yīng)用程序遷移,從操作、安全要求、認(rèn)證授權(quán),更新和打補(bǔ)丁的頻率等不同,以及其他方面的考慮,人們對(duì)單一TEE結(jié)構(gòu)下管理這些關(guān)鍵任務(wù)應(yīng)用有更多的關(guān)注。需要在各自獨(dú)立的環(huán)境中保留這些可信應(yīng)用程序,從而為最易受攻擊的路徑添加另一層保護(hù)。
一個(gè)多可信的TEE可以同時(shí)運(yùn)行多個(gè)可信筒倉(cāng)(silos),以處理混合可信應(yīng)用程序,每個(gè)TA都要在自己的可信環(huán)境上執(zhí)行。有了多可信TEE,驗(yàn)證和LCM(生命周期管理)的易用性使部署更輕松從而加快上市時(shí)間
圖3 -多信任TEE允許同時(shí)運(yùn)行多個(gè)TEE
一個(gè)多可信的TEE允許應(yīng)用程序開(kāi)發(fā)人員只關(guān)注他們自身應(yīng)用程序的安全功能,就像他們使用一個(gè)單一的TEE一樣,而不用擔(dān)心會(huì)受到來(lái)自相鄰可信應(yīng)用程序的干擾。
多可信TEE上的“安全數(shù)據(jù)路徑”示例
在一些宿主應(yīng)用程序中,有一系列并發(fā)運(yùn)行的、不同的輔助安全任務(wù),支持宿主應(yīng)用程序,而且越來(lái)越需要保持每個(gè)任務(wù)的自主性。一個(gè)例子是運(yùn)行安全視頻流的控制路徑,并將它與相鄰的支付流隔離。每個(gè)流程都需要符合特定的認(rèn)證,并且具有不同的生命周期。除了來(lái)自不同的獨(dú)立第三方的遠(yuǎn)程管理,這種差異可能對(duì)不同任務(wù)的資產(chǎn)造成危害和污染。
多可信TEE提供了支持多個(gè)并發(fā)TAs的機(jī)制,不同的TA可以在各自可信任環(huán)境中獨(dú)立運(yùn)行。,支持多個(gè)TEE的能力使軟件能夠更加獨(dú)立的進(jìn)行補(bǔ)丁、更新和生命周期管理。
圖 4- 多信任TEE示例操作雙隔離DRM流程
硬件虛擬化的必要性
在嵌入式環(huán)境中,硬件虛擬化的使用是通過(guò)隔離,維持應(yīng)用程序在一個(gè)潔凈的執(zhí)行環(huán)境,同時(shí)防止軟件交叉污染和泄漏,以確保安全性。此外,該技術(shù)還可以將關(guān)鍵資產(chǎn)(如設(shè)備通信接口(軟件棧)、存儲(chǔ)和其他資源)隔離和保護(hù)到自己的地址空間中,并確保不能從任何其他應(yīng)用程序的地址空間訪問(wèn)。
每一個(gè)這些獨(dú)立的內(nèi)存空間都被稱為“域”。每個(gè)系統(tǒng)功能只能使用自己的域,通常不能訪問(wèn)其他功能所使用的域。通過(guò)擁有多個(gè)域,每一個(gè)單一功能都與其他功能和系統(tǒng)的其余部分相隔離。訪問(wèn)在多個(gè)域之間共享的內(nèi)存空間由特權(quán)級(jí)內(nèi)核源代碼以編程方式進(jìn)行控制。
圖5- Imagination’s OmniShield-使處理器通過(guò)隔離提供安全性
基于硬件虛擬化的架構(gòu)可以提供許多好處:
? CPU 整合
? 隔離關(guān)鍵軟件
? 安全更新
? 減少Q(mào)A、測(cè)試和認(rèn)證
? 加速市場(chǎng)投放時(shí)間
GlobalPlatform兼容的MIPS Omnishield Sierra TEE
MIPS omnishield?sierraTEE 是一個(gè)GlobalPlatform兼容的TEE,用于基于Imagination Technologies 的 MIPS OmniShield-ready CPUs。
Omnishield利用硬件虛擬化技術(shù),為支持CPU、GPU和SoC其他關(guān)鍵部件的安全異構(gòu)操作提供了基礎(chǔ)。它超越了二進(jìn)制方法,在CPU、GPU、內(nèi)存和外設(shè)中創(chuàng)建多個(gè)安全域。在那里,每個(gè)安全/非安全應(yīng)用程序可以在自己的域中獨(dú)立運(yùn)行。
Sierra TEE 采用 omnishield虛擬化技術(shù)來(lái)執(zhí)行硬件級(jí)的隔離,以支持單一TEE和多可信TEE運(yùn)行。通過(guò)這種方式,它完全保護(hù)安全應(yīng)用程序和相關(guān)外圍設(shè)備在豐富的環(huán)境中的代碼運(yùn)行。這意味著,即使攻擊者設(shè)法在Rich OS中獲得完全的管理員權(quán)限,它也不能訪問(wèn)安全域。
在一個(gè)具有多個(gè)域的系統(tǒng)中,相應(yīng)的管理程序(SierraVisor)使多個(gè)并行客戶系統(tǒng)保持隔離。SierraVisor與SierraTEE的結(jié)合使得TEE和各自域中的豐富環(huán)境下都能夠發(fā)揮作用。
結(jié)論
隨著嵌入式的行業(yè)從專有封閉環(huán)境過(guò)渡到連接豐富的世界,現(xiàn)在對(duì)安全的需求成為必然。
通過(guò)采用由業(yè)界專家定義并驗(yàn)證的開(kāi)放標(biāo)準(zhǔn),安全性的實(shí)現(xiàn)、部署和管理變得更加穩(wěn)健和高效。
GlobalPlatform在引領(lǐng)提供一組強(qiáng)大的開(kāi)放的TEE應(yīng)用可編程接口,確保安全數(shù)據(jù)在一個(gè)隔離的、可信環(huán)境下存儲(chǔ)、處理和保護(hù) - 使得可信的應(yīng)用程序在一個(gè)筒倉(cāng)(silo)內(nèi)執(zhí)行。
硬件虛擬化為通過(guò)隔離創(chuàng)建安全性提供了基礎(chǔ) — 創(chuàng)建帶有強(qiáng)制策略的隔離域以維護(hù)可信操作。此技術(shù)可以為多可信TEE提供基礎(chǔ),從而進(jìn)一步隔離可信應(yīng)用程序,同時(shí)改進(jìn)平臺(tái)的部署和生命周期管理。
SierraTEE 在MIPS平臺(tái)上作為多可信TEE運(yùn)行,為開(kāi)發(fā)者提供了在防止其他交叉污染環(huán)境下的可信環(huán)境中創(chuàng)建應(yīng)用程序的理想生態(tài)系統(tǒng)。
評(píng)論
查看更多