作為 SoC 和系統設計人員,您是否正在尋找在不犧牲安全性的情況下保持處理效率的方法,尤其是在聽到了很多關于 Spectre、Meltdown 和 Foreshadow 的信息之后?許多設計人員正在尋求 RISC-V 的開放指令集架構 (ISA) 來設計從頭開始就安全的安全引擎。
這些安全引擎充當協處理器,因為主 CPU 管理并發執行多個進程的主要工作負載。然而,設計人員意識到其中許多應用都需要安全硅 IP 隔離應用之間的安全資產。
如果您的 SoC 有多個需要訪問安全資產的應用程序,最好這些應用程序不能訪問彼此的資產。例如,不希望他們的銀行應用程序能夠訪問他們的 DRM 視頻播放密鑰,反之亦然。另一個好處是一個應用程序中的安全漏洞不會泄露另一個應用程序使用的安全資產。
為了滿足這些要求,安全處理器,如Rambus的 CryptoManager 信任根 (CMRT) ,必須具有多個硬件信任根,這些信任根在安全硅 IP 本身內受支持但隔離。簡而言之,每個實體都有自己的虛擬信任根,并且無需信任其他實體即可執行安全功能。
信任根 (RoT) 提供了可信計算環境中的安全基礎。為了支持多個根,安全硅 IP 必須能夠識別當前根 i(即,每個根必須具有處理器已知的唯一標識符)。
一旦根被識別,安全硅 IP 必須應用該根的特定策略。該策略作為一組在硬件中強制執行的權限來實現。這些權限描述了根對加密處理器中可用的安全和非安全資產的訪問。可以通過這樣一種方式建立權限,即給定根對資產的訪問與任何其他根完全隔離。如果需要該功能,還可以允許兩個根訪問同一組資產。
建立 RoT
要建立信任根,安全硅 IP 應用程序開發人員必須創建公鑰和私鑰對。橢圓曲線密碼術 (ECC) 或 RSA 密鑰對適用于此目的。為公鑰計算一個唯一的加密值,稱為散列摘要,并將此散列摘要用作根的唯一標識符。必須將公鑰的散列摘要安全地提供給安全硅 IP 的非易失性存儲器 (NVM)。私鑰用于計算應用程序二進制映像的數字簽名,該二進制映像旨在在安全硅 IP 內執行。
在運行時,當應用程序加載到安全硅 IP 中時,簽名、虛擬根公鑰和其他元數據將附加到應用程序的映像中。安全硅 IP 使用附加到映像的公鑰來確定該公鑰的哈希摘要是否與存儲在處理器 NVM 中的虛擬根的 ID 匹配。如果找到匹配項,則使用公鑰來驗證應用程序本身的哈希摘要的簽名。如果圖像的簽名得到驗證,安全處理器會在硬件中應用應用程序的根權限。
請注意,創建應用程序的實體擁有私鑰。安全硅 IP 永遠不會看到這個密鑰,該密鑰由實體安全地持有并且永遠不應該暴露。
KDF 在隔離應用程序中的作用
安全硅 IP 內部的硬件密鑰派生功能 (KDF) 對于進一步提供虛擬根之間的隔離是必要的。KDF 應基于標準,例如美國國家標準與技術研究院 (NIST) SP 800-108。KDF 接受幾個用于派生密鑰的輸入。為了提供根之間的隔離,唯一的根標識符用作 KDF 的一個輸入。
當應用程序加載到安全硅 IP 中時,根標識符被編程到 KDF 中。這意味著由兩個不同的根私鑰簽名的兩個不同的應用程序不能派生同一組密鑰,即使 KDF 的所有其他輸入參數都相同。因此,在安全硅 IP 內執行的應用程序可以使用 KDF 來派生其自己獨特的應用程序對稱密鑰或 ECC 密鑰對。
使用 KDF 派生應用程序密鑰的另一個好處是您不需要將密鑰存儲在 NVM 中。靜態存儲在內存中的密鑰總是容易受到攻擊。下次應用程序需要使用特定密鑰時,應用程序會執行與之前執行的相同的密鑰派生過程。
使用此 KDF 的優點是您可以重復重新導出相同的對稱或 ECC 公鑰和私鑰對。它們總是即時派生的。一旦應用程序完成了密鑰,它就會從系統中刷新。
簡而言之,兩個不同的虛擬根不能創建相同的鍵。原因是可以使用 KDF 派生的密鑰使用根的標識符作為數據的一部分來派生這些密鑰。這就是在應用程序之間實現加密隔離的方式。
其他資產
的隔離 安全硅 IP 可以將在給定虛擬根上下文中執行的應用程序的隔離擴展到派生密鑰之外。例如,希望應用程序不共享 NVM 的區域。此外,人們可能希望限制對安全硅 IP 的通用輸入和輸出 (GPIO) 的訪問。給定虛擬根權限所應用的策略可以維持對此類資產的嚴格訪問控制。
一些應用程序要求安全硅 IP 通過安全總線將派生密鑰或從 NVM 讀取的密鑰傳送到外部處理單元。由于其單一用途或性能原因,可以使用該外部處理單元。必須設置虛擬根的權限,以便只有應將密鑰傳遞給外部處理單元的應用程序才能這樣做。不打算將密鑰傳遞給外部處理單元的其他應用程序不應訪問安全總線。
結論
在此安全保護傘下,為此安全硅 IP 開發應用程序的實體維護其特定虛擬根的私鑰。因此,其他實體無法訪問這些派生密鑰、特定密鑰總線、NVM 內存的地址范圍、GPIO 引腳或任何其他相關數據。這可以阻止其他人嘗試通過攻擊或意外導出這些關鍵數據。例如,開發人員的錯誤不會導致錯誤地訪問他人的資產。
這些資產在硬件中受到保護。一旦在硬件中為基本密鑰、NVM、安全密鑰目的地和其他相關資產設置了權限,應用程序就無法修改這些權限。它們是在硬件中設置的,不能被覆蓋。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19391瀏覽量
230636 -
soc
+關注
關注
38文章
4193瀏覽量
218696 -
RISC-V
+關注
關注
45文章
2313瀏覽量
46333
發布評論請先 登錄
相關推薦
評論