在某些安全處理器中,應(yīng)用程序之間的隔離充其量是微不足道的。采用其他安全處理器路由可提供 SoC 設(shè)計(jì)器的顯式安全性。
OEM 廠商越來(lái)越多地要求其下一代系統(tǒng)具有更高的安全性。反過(guò)來(lái),系統(tǒng)和片上系統(tǒng)(SoC)設(shè)計(jì)人員也有責(zé)任保護(hù)敏感資產(chǎn)免受未經(jīng)授權(quán)或惡意的訪問(wèn)。在大多數(shù)情況下,設(shè)計(jì)界選擇硬件而不是軟件方法來(lái)將安全性設(shè)計(jì)到他們的設(shè)計(jì)中。
如今,設(shè)計(jì)人員將看到各種安全處理器品牌。然而,它們中的大多數(shù)都遵循幾乎相同的芯片架構(gòu)。它的最佳特征是基本上有兩個(gè)域,一個(gè)是非安全的,而另一個(gè)是安全的,用一個(gè)位將安全域與非安全域分開(kāi),圖1。

圖1a和圖1b – 安全芯片架構(gòu)的特點(diǎn)是具有兩個(gè)域。一個(gè)是非安全的(圖1b),而另一個(gè)是安全的(圖1a),用一個(gè)位將安全域與非安全域分開(kāi)。
此外,來(lái)自不同實(shí)體的不同應(yīng)用程序(其中實(shí)體可能是 SoC 供應(yīng)商、設(shè)備 OEM、服務(wù)提供商、最終用戶或設(shè)備生態(tài)系統(tǒng)中的其他參與者)可能在同一安全域中運(yùn)行。但是,它們彼此之間并不隔離,它們不僅可以訪問(wèn)自己的密鑰,還可以訪問(wèn)來(lái)自其他應(yīng)用程序的密鑰。硬件分區(qū)不是在不同實(shí)體之間,而是在安全和非安全之間。
用于安全應(yīng)用程序的沙盒
實(shí)際上,安全處理器使用一位為安全應(yīng)用程序創(chuàng)建沙箱,如圖1a所示。計(jì)算機(jī)安全術(shù)語(yǔ)中的“沙盒”是指一種軟件或硬件結(jié)構(gòu),通過(guò)該結(jié)構(gòu)創(chuàng)建單獨(dú)的受限制環(huán)境,僅用于運(yùn)行某些應(yīng)用程序,通常對(duì)其操作具有一組特定的限制。
實(shí)際上,此沙盒適用于安全應(yīng)用程序,可以說(shuō),每個(gè)安全應(yīng)用程序都在同一沙盒中運(yùn)行。運(yùn)行安全應(yīng)用程序的實(shí)體之間沒(méi)有隔離。如果正在運(yùn)行一個(gè)安全的應(yīng)用程序,那么它與所有其他應(yīng)用程序一起處于“安全”世界中。在這種情況下,問(wèn)題之所以出現(xiàn),是因?yàn)椴煌膶?shí)體在安全方面可能不完全信任對(duì)方。如果一個(gè)實(shí)體受到惡意攻擊,則會(huì)危及所有其他實(shí)體的安全。
讓我們以一個(gè)寫得很差的數(shù)字版權(quán)管理 (DRM) 內(nèi)容保護(hù)應(yīng)用程序?yàn)槔K赡軙?huì)損害在同一處理器上運(yùn)行的支付應(yīng)用程序的安全性,并允許訪問(wèn)銀行信息。同樣,這里的問(wèn)題是應(yīng)用程序之間缺乏隔離。一個(gè)寫得不好或惡意的應(yīng)用程序可能會(huì)危及在該處理器上運(yùn)行的其他應(yīng)用程序的安全性。
這是一個(gè)缺點(diǎn)。另一個(gè)問(wèn)題是存在各種各樣的攻擊,攻擊者可以在設(shè)計(jì)中更改信號(hào)的值。這些所謂的“故障攻擊”或“毛刺攻擊”是基于擾動(dòng)電路以改變其操作。它們的范圍從簡(jiǎn)單的電源和時(shí)鐘毛刺到激光脈沖、電磁脈沖等。正確執(zhí)行此類攻擊可以更改位控制安全模式,使其在某些操作中從非安全模式切換到安全模式,從而允許不安全的應(yīng)用程序訪問(wèn)敏感數(shù)據(jù)和密鑰。
多域和隔離
另一方面,考慮具有多個(gè)域或多個(gè)信任根的安全處理器內(nèi)核,如圖 2 所示。在這種情況下,每個(gè)實(shí)體都有一個(gè)單獨(dú)的安全域。這些安全域使用強(qiáng)大的硬件安全性彼此完全分離。密鑰和硬件資源等安全資產(chǎn)是完全隔離的。

圖 2 – 具有多個(gè)域或多個(gè)信任根的安全處理器內(nèi)核。
在此安全處理器體系結(jié)構(gòu)中,每個(gè)實(shí)體都有自己的一組簽名應(yīng)用程序。當(dāng)安全處理器從一個(gè)應(yīng)用程序切換到另一個(gè)應(yīng)用程序時(shí),所有上下文都將從安全處理器刷新。當(dāng)該安全處理器從一個(gè)應(yīng)用程序切換到另一個(gè)應(yīng)用程序時(shí),該安全處理器中不會(huì)保留任何數(shù)據(jù)、密鑰或其他信息。唯一的例外是能夠在不同的應(yīng)用程序之間傳遞消息,如果應(yīng)用程序編寫者明確要求這樣做的話。這可確保不同實(shí)體之間無(wú)法共享任何上下文。
因此,安全資產(chǎn)被完整而安全地分配給特定實(shí)體,因此默認(rèn)情況下沒(méi)有重疊,這意味著不允許不同的實(shí)體訪問(wèn)相同的資源。但是,如果正確進(jìn)行分配,重疊是可以接受的。
假設(shè)有一個(gè) SoC 供應(yīng)商使用的測(cè)試和調(diào)試端口。它希望向其 OEM 客戶提供相同的測(cè)試和調(diào)試端口。它們可能允許為 OEM 根目錄設(shè)置與為 SoC 供應(yīng)商的根設(shè)置的權(quán)限位相同的權(quán)限位,從而允許訪問(wèn)該特定測(cè)試和首次亮相資源。
相反,SoC 供應(yīng)商可能有其他測(cè)試和調(diào)試端口,它希望保留這些端口,但不會(huì)使它們可用。因此,在如何進(jìn)行這些分配方面具有完全的靈活性,并且很大程度上取決于SoC設(shè)計(jì)人員想要重疊的資源類型。其他安全功能不能重疊。以加密和解密密鑰為例。每個(gè)實(shí)體都有一個(gè)單獨(dú)的密鑰空間或密鑰集,它們不能彼此共享。
分配給每個(gè)根的鍵
在這種信任體系結(jié)構(gòu)的多個(gè)根中,為每個(gè)根分配一組密鑰。如上所述的一個(gè)操作是,它們使應(yīng)用程序能夠?yàn)槊總€(gè)根進(jìn)行不同的簽名。因此,每個(gè)根本質(zhì)上都有自己的一組私有應(yīng)用程序。當(dāng)應(yīng)用程序加載到安全處理器核心時(shí),將標(biāo)識(shí)根,然后硬件專門為該根配置自身。
此外,與根關(guān)聯(lián)的密鑰提供根使用的一組完整、隔離的派生密鑰。因此,一個(gè)密鑰可以變成許多密鑰,而這些密鑰可以用于相當(dāng)數(shù)量的不同安全操作。但是每個(gè)根的每組密鑰都是唯一的,并且一個(gè)根無(wú)法從另一個(gè)根訪問(wèn)密鑰,這是硬件強(qiáng)制執(zhí)行的。
一組權(quán)限也與每個(gè)根相關(guān)聯(lián)。這些權(quán)限與安全處理器內(nèi)核中的不同硬件資源(如調(diào)試和 I/O 引腳)相關(guān)。這些不同的資源可以在不同的根之間進(jìn)行分區(qū),同樣是硬件強(qiáng)制執(zhí)行的。一個(gè)根可能能夠訪問(wèn)調(diào)試端口;另一個(gè)根目錄可能沒(méi)有或只能部分訪問(wèn)這些根目錄。
一個(gè)根可能能夠控制芯片上的某些外部邏輯。另一個(gè)根可能能夠控制一組不同的外部邏輯,但可能與另一個(gè)根不同。在本例中,讓我們?cè)俅问褂梦覀兊臏y(cè)試和調(diào)試示例。SoC 供應(yīng)商有一個(gè)根,使其能夠完全控制測(cè)試和調(diào)試邏輯,并完全控制該 SoC 其他方面的配置。
它可能會(huì)向購(gòu)買其SoC的OEM授予部分功能,但不是全部功能。SoC 供應(yīng)商可能不希望 OEM 能夠訪問(wèn)所有測(cè)試和調(diào)試邏輯,因?yàn)?OEM 可能對(duì)供應(yīng)商不想共享的 SoC 技術(shù)了解得太多。它可能允許 OEM 配置 SoC 的某些部分,但不是全部。
從一個(gè)實(shí)體到另一個(gè)實(shí)體的委派是根的另一個(gè)方面。與 SoC 供應(yīng)商可以將某些權(quán)限委派給 OEM 一樣,如果 SoC 供應(yīng)商授予 OEM 某些權(quán)限,則 OEM 也可以將某些權(quán)限委派給服務(wù)提供商。但是,該委派的權(quán)限必須是 OEM 已具有的權(quán)限的子集。
此外,根據(jù)業(yè)務(wù)關(guān)系和系統(tǒng)要求,SoC 供應(yīng)商可能會(huì)讓 OEM 抹去 SoC 供應(yīng)商的根源。這意味著 SoC 供應(yīng)商將無(wú)法再在 OEM 的設(shè)備上運(yùn)行軟件。
根隔離對(duì)即將到來(lái)的 SoC 設(shè)計(jì)至關(guān)重要
如今,對(duì)于繪圖板上的幾乎每個(gè)設(shè)備和系統(tǒng),安全性都變得越來(lái)越重要。但是,設(shè)計(jì)人員必須記住,安全性有不同的用途,不同的實(shí)體需要安全功能。
例如,芯片制造商需要安全的功能來(lái)制造和測(cè)試其芯片產(chǎn)品。他們的OEM客戶也需要其特定應(yīng)用的安全性。服務(wù)提供商和其他人可能還需要安全功能。因此,SoC設(shè)計(jì)人員需要提供可由這些不同實(shí)體在芯片的整個(gè)生命周期中使用的安全性。但是,他們希望在不損害自身安全的情況下實(shí)現(xiàn)這一目標(biāo)。
正如我們?cè)谶@里所說(shuō),這個(gè)想法是在應(yīng)用程序之間保持隔離。一個(gè)寫得不好或惡意的應(yīng)用程序可能會(huì)危及該 SoC 中所有其他應(yīng)用程序的安全性。底線是避免每個(gè)應(yīng)用程序容易受到惡意攻擊,同時(shí)在該 SoC 上運(yùn)行的所有應(yīng)用程序之間保持完全信任。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
20258瀏覽量
252522 -
soc
+關(guān)注
關(guān)注
40文章
4577瀏覽量
229239 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7809瀏覽量
93234
發(fā)布評(píng)論請(qǐng)先 登錄
探索ADuM6132:集成隔離式高端電源的隔離半橋柵極驅(qū)動(dòng)器
ISO644x通用型數(shù)字隔離器:高性能與安全性的完美結(jié)合
風(fēng)華功率電感的絕緣電阻值對(duì)安全性有什么影響?
探索Murata NCM3系列DC - DC轉(zhuǎn)換器:高性能與安全性的完美融合
請(qǐng)問(wèn)CW32L052C8T6這種安全性低功耗MCU的安全固件部分怎么實(shí)現(xiàn)?
基于STEVAL-BMS1T的隔離式SPI通信技術(shù)解析與應(yīng)用指南
使用 TeSys VLS 隔離開(kāi)關(guān)簡(jiǎn)化面板設(shè)計(jì)并提高安全性
NSI6602A-DSWR高可靠性隔離式雙通道柵極驅(qū)動(dòng)器
有哪些技術(shù)可以提高邊緣計(jì)算設(shè)備的安全性?
如何利用硬件加速提升通信協(xié)議的安全性?
?ADUM7704:隔離式Σ-Δ ADC,工業(yè)測(cè)量的“安全衛(wèi)士”!
SD-WAN供應(yīng)商在安全性方面有哪些差異?服務(wù)商安全性排行
CAN 總線遇強(qiáng)干擾時(shí),隔離式收發(fā)器如何實(shí)現(xiàn)信號(hào) “免疫”?
電子電器產(chǎn)品安全性與針焰試驗(yàn)的重要性
根隔離:顯式安全性的關(guān)鍵
評(píng)論