、在我之前的專欄中,我們討論了系統(tǒng)和 SoC 設計人員如何增加和隔離安全硅 IP 信任根 (RoT),以實現(xiàn)其應用程序的超安全性。
這種安全硅 IP 的解決方案是為多個 RoT 提供支持,例如Rambus的 CryptoManager 信任根。提供給這個安全硅 IP 的每個根都有自己的身份和一組權限,這些權限建立了對其執(zhí)行所需資產(chǎn)的訪問權限。加載應用程序時,其請求的權限被編程到硬件寄存器,以便它只能訪問其指定的資產(chǎn)。根據(jù)硬件中應用的其他應用程序的權限,可以限制在安全硅 IP 內執(zhí)行的其他應用程序訪問原始應用程序的資產(chǎn)。
如果攻擊者想要在安全硅 IP 上運行應用程序,他們必須能夠訪問虛擬根私鑰。即使攻擊者可以訪問另一個應用程序的虛擬根私鑰,他們的應用程序也無權訪問原始應用程序的資產(chǎn)。
然而,系統(tǒng)或 SoC 設計人員若要擁有此功能,他們必須選擇安全硅 IP,為他們提供多個硬件 RoT,每個硬件 RoT 都隔離在安全硅 IP 本身內。這意味著每個實體都依賴于自己的虛擬 RoT 并執(zhí)行安全功能,而無需信任其他實體。
應用示例 以下
是一些基于此類安全硅 IP 的具體應用示例。示例實體可以是數(shù)字版權管理 (DRM)、銀行或安全通信應用程序。
每個應用程序都在彼此完全隔離的情況下執(zhí)行,如上框所示。不太安全的替代方案是所有三個實體共享同一組資產(chǎn)(下框)。
如前所述,系統(tǒng)和 SoC 設計人員需要考慮其設備將支持的潛在客戶應用。一些可能的應用包括用于流式視頻、銀行業(yè)務和安全通信的 DRM。這些應用程序中的每一個對安全性和對安全硅 IP 資產(chǎn)的訪問都有不同的要求。
DRM 應用程序:在 DRM 應用程序的情況下,需要將派生密鑰從安全硅 IP 輸出到可以解密和解碼視頻流的外部引擎。在這種情況下,我們可以使用安全硅 IP 提供的權限模型來確保只有 DRM 應用程序可以導出解密流所需的密鑰。此外,我們可以使用安全硅 IP 的權限,僅允許 DRM 應用程序將密鑰傳送到視頻解碼塊。
圖 2 詳細說明了 DRM 應用程序可能使用的安全硅 IP。非易失性存儲器 (NVM) 包含多個應用程序基本密鑰。但是,基于虛擬根權限的 DRM 應用程序無法訪問被涂黑的密鑰(KB 和 KC)。唯一可以訪問的密鑰是 DRM 基本密鑰 KD。
圖 2:將安全硅 IP 用于 DRM 應用程序
在 CPU 上執(zhí)行的應用程序請求 KDF 使用 KD 導出視頻解密密鑰 KV。應用程序還要求將 KV 直接輸出到 Key Transport 機制,以防止 DRM 應用程序中潛在的軟件漏洞泄露 KV。密鑰傳輸機制通過安全總線將 KV 傳遞給視頻解密和解碼器模塊。視頻解密和解碼器塊然后解密和解碼要為用戶播放的視頻流。
銀行憑證應用:圖 3 詳細說明了安全硅 IP 的第二種應用可能性——保護用戶的銀行憑證。與之前的 DRM 應用程序一樣,銀行應用程序必須對 NVM 中的基本密鑰 KB 具有獨占訪問權。此外,銀行應用程序無權訪問 NVM 中的其他基本密鑰。
應用程序可以請求 KDF 使用 KB 導出解密密鑰 KA。KA 直接傳遞給高級加密標準 (AES) 引擎,因此 CPU 永遠不會讀取其值。然后,應用程序請求 AES 引擎解密存儲在系統(tǒng)外部文件系統(tǒng)中的加密銀行憑證。一旦憑證被解密,它們就會被傳送到安全硅 IP 的 SRAM,以供在主 CPU 上執(zhí)行的銀行應用程序使用。
如果攻擊者對在安全硅 IP 內執(zhí)行的銀行應用程序進行逆向工程,攻擊者仍然無法檢索銀行憑證解密密鑰 KA。此外,如果攻擊者有權訪問另一個虛擬根的私鑰來簽署他們自己的銀行應用程序版本,他們的應用程序將無法派生適當?shù)?KA。他們的派生密鑰 KA‘ 無法解密銀行憑證。
安全通信應用程序:圖 4 詳細介紹了第三個應用程序示例,即安全通信。安全通信應用程序需要在使用前進行一些設置。安全硅 IP 必須首先使用其安全通信基礎密鑰 KC 來導出橢圓曲線加密 (ECC) 私鑰 KP。然后使用 KP 導出相應的公鑰 KU。KU 在證書簽名請求中從設備中導出。
圖 4:安全硅 IP 用于安全通信應用。
證書頒發(fā)機構 (CA) 使用證書簽名請求生成由 CA 的私鑰簽名的數(shù)字證書。數(shù)字證書被導入到安全硅 IP 中。數(shù)字證書 CERT 存儲在 NVM 中只能由安全通信應用程序訪問的位置。
在與另一方建立安全會話的初始階段,安全通信應用程序從 NVM 讀取 CERT。安全通信應用程序請求 KDF 使用 KC 重新導出私鑰 KP,并將 KP 傳遞給公鑰引擎。應用程序接下來使用安全硅 IP 的哈希引擎計算安全通信參數(shù)的哈希摘要。得到的安全通信參數(shù)的散列摘要被傳送到公鑰引擎。
安全通信應用程序請求公鑰引擎使用 KP 和安全通信參數(shù)的散列摘要生成數(shù)字簽名。數(shù)字簽名放置在 SRAM 中,在安全處理器的 CPU 上執(zhí)行的安全通信應用程序可以訪問該 SRAM。安全通信應用程序導出 CERT、安全通信參數(shù)和數(shù)字簽名。導出的數(shù)據(jù)被傳輸?shù)綖槠浣踩ǖ赖囊环健?/p>
隨著安全通信協(xié)議的發(fā)展,安全硅 IP 用于與對方建立共享秘密。此共享機密可與安全硅 IP 的 AES 引擎(或其他對稱密碼)一起使用,以加密或解密來自或來自另一方的數(shù)據(jù)塊。
結論
您的應用程序保持最高級別的安全性至關重要。此處描述的示例演示了如何在應用程序之間建立完全的資產(chǎn)隔離。
此外,如果某個應用程序已被堅定的攻擊者進行了逆向工程,那么他們獲得的價值就很小。攻擊者必須有權訪問應用程序的虛擬根私鑰。即使攻擊者可以訪問另一個應用程序的虛擬根私鑰,他們的應用程序也無權訪問原始應用程序的資產(chǎn)。
審核編輯:郭婷
-
安全
+關注
關注
1文章
334瀏覽量
35602 -
Rambus
+關注
關注
0文章
57瀏覽量
18767
發(fā)布評論請先 登錄
相關推薦
評論