TW201411405A - 保護多安全cpu之計算系統及其方法 - Google Patents
保護多安全cpu之計算系統及其方法 Download PDFInfo
- Publication number
- TW201411405A TW201411405A TW102126880A TW102126880A TW201411405A TW 201411405 A TW201411405 A TW 201411405A TW 102126880 A TW102126880 A TW 102126880A TW 102126880 A TW102126880 A TW 102126880A TW 201411405 A TW201411405 A TW 201411405A
- Authority
- TW
- Taiwan
- Prior art keywords
- central processing
- processing unit
- cpu
- code
- level code
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本公開涉及保護多安全CPU系統中的安全軟體。一種計算系統,包括第一中央處理單元(CPU)和與第一CPU和主處理器耦接的第二CPU。響應於主處理器發出的啟動第二CPU的請求,第一CPU用於通過解密加密代碼,以生成可由第二CPU執行但不可由主處理器存取的解密代碼,從而執行第二CPU的安全啟動。
Description
本發明涉及由安全中央處理單元(SCPU)執行的系統安全,更具體地,涉及由以不同安全級運行的多個SCPU在系統中執行的安全功能。
由消費者需求驅動的電子和通訊技術的迅速發展導致包含那些用於處理和轉換第三方媒體內容的數據驅動裝置被廣泛採用。第三方消費者或者客戶希望他們的內容被安全地處理,以使在某些權限級別外不可複製或使用所述內容。將內容從多媒體供應商數位發送至消費者的系統設法包含更高的安全等級,從而使得競爭的供應商不能存取彼此的機密。在大的片上系統(SOC)中,單一的安全中央處理單元(SCPU)可執行安全功能。
根據本發明的一個方面,提供了一種計算系統,包括:第一中央處理單元(CPU);以及第二CPU,與所述第一CPU和主處理器耦接,其中,響應於由所述主處理器發出的啟動所述第二CPU的請求,所述第一CPU被配置為執行所述第二CPU的安全啟動,所述安全啟動包括解密加密代碼,以生成能由所述第二CPU執行但所述主處理器無法存取的解密代碼。
其中,所述主處理器將所述加密代碼從閃存寫入動態隨機存取儲存器(DRAM),所述加密代碼包括用於執行兩級啟動處理的第一級代碼和第二級代碼。
其中,所述第二CPU包括專用本機儲存器,所述第一CPU和所述第二CPU位於片上系統(SOC)上,其中,所述主處理器配置能夠執行以下操作的第一級啟動加載程序:從DRAM中讀取所述第一級代碼;在所述SOC上解密所述第一級代碼;以及將所解密的第一級代碼寫入所述專用本機儲存器。
其中,所述第一CPU進一步被配置為:對用於由所述第二CPU執行的所解密的第一級代碼進行認證;以及授權所述第二CPU執行來自所述專用本機儲存器的所解密的第一級代碼。
其中,所解密的第一級代碼能夠執行為對關於如何加載、解密和執行所述第二級代碼做出決定。
其中,在執行所解密的第一級代碼時,所述第二CPU被配置為請求所述第一CPU生成能用於解密所述第二級代碼的密鑰,響應於此,所述第一CPU進一步被配置為:生成由所述第二CPU使用的具有指定的存取權限的密鑰,所述存取權限包括從中解密所述第二級代碼的所述DRAM的第一區域,以及將所解密的第二級代碼寫入其中的所述DRAM的第二區域;以及協助所述第二CPU創建儲存器校驗器,所述儲存器校驗器被配置為確保僅從所述DRAM的所述第一區域到所述第二區域進行解密。
其中,所述主處理器能夠存取所述DRAM的所述第一區域但不能存取所述DRAM的所述第二區域。
其中,所述第二CPU進一步被配置為:利用所述密鑰對儲存器的所述第一區域內儲存的所述第二級代碼進行解密;以及將所解密的第二級代碼寫入所述DRAM的所述第二區域。
所述計算系統進一步包括指令校驗器,被配置為:監控由所述第二CPU對所解密的第二級代碼的指令的執行;以及防止所述第二CPU試圖在所述DRAM的所述第二區域外執行指令,或强制在所述第二區域內執行指令。
其中,所述指令校驗器進一步被配置為響應於檢測到試圖在
所述DRAM的所述第二區域外執行指令重置所述計算系統,其中,所述第一CPU以第一安全級運行,所述第二CPU以安全性低於所述第一安全級的第二安全級運行。
根據本發明的另一個方面,提供了一種用於保護包括耦接在一起的第一和第二CPU的多安全中央處理單元(CPU)系統中的軟體的方法,包括:從主處理器接收啟動所述第二CPU的請求;由所述主處理器將加密代碼從閃存寫入動態隨機存取儲存器(DRAM)中,所述加密代碼包括用於執行兩級啟動處理的第一級代碼和第二級代碼;以及由所述第一CPU和所述第二CPU對加密的第一級代碼和加密的第二級代碼進行解密,從而使得所述主處理器無法在解密之後存取解密的第一級代碼或解密的第二級代碼。
所述方法進一步包括:由所述主處理器的第一級啟動加載程序從所述DRAM讀取所述第一級代碼;對所述第一級代碼進行解密;將所述解密的第一級代碼寫入所述第二CPU的專用本機儲存器中;以及由所述第一CPU授權所述第二CPU從所述專用本機儲存器執行所述解密的第一級代碼。
所述方法進一步包括:由所述第二CPU請求所述第一CPU生成密鑰;由所述第一CPU生成密鑰,所述密鑰包括存取權限,所述存取權限包括從中解密所述第二級代碼的所述DRAM的第一區域,以及將所解密的第二級代碼寫入其中的所述DRAM的第二區域;以及由所述第一CPU和所述第二CPU創建儲存器校驗器。
所述方法進一步包括儲存器校驗器:檢測由所述主處理器試圖對所述加密的第二級代碼進行的解密;確定是否從所述第一區域到所述第二區域解密;以及響應於確定並非試圖從第一區域,或並非到第二區域進行解密,對第二CPU發出解密侵犯警告。
所述方法進一步包括所述第二CPU:防止對所述加密的第二級代碼進行解密,或强制將所述解密的第二級代碼寫入所述第二
區域
所述方法進一步包括所述第二CPU:利用所述密鑰對儲存器的所述第一區域內儲存的所述第二級代碼進行解密;將所解密的第二級代碼寫入所述DRAM的所述第二區域;執行所述解密的第二級代碼;以及在所述主處理器試圖在所述第二區域外執行指令時由所述指令校驗器警告所述第二CPU。
根據本發明的又一個方面,提供了一種計算系統,包括:第一中央處理單元(CPU);動態隨機存取儲存器(DRAM),與所述第一CPU連接;閃存;第二CPU,與所述第一CPU和所述DRAM耦接;主處理器,與所述第一CPU和所述第二CPU、所述DRAM和所述閃存耦接,所述主處理器被配置為將加密代碼從所述閃存寫入所述DRAM,所述加密代碼包括用於執行兩級啟動處理的第一級代碼和第二級代碼;其中,所述第一CPU被配置為:從所述主處理器接收啟動所述第二CPU的請求;以及由所述第一CPU和所述第二CPU對加密的第一級代碼和加密的第二級代碼進行解密,從而使得所述主處理器無法在解密之後存取解密的第一級代碼或解密的第二級代碼。
所述計算系統進一步包括能執行為從DRAM中讀取所述第一級代碼的第一級啟動加載程序,其中,所述第二CPU包括專用本機儲存器,其中,所述第一CPU進一步被配置為:對所述第一級代碼進行解密;將所解密的第一級代碼寫入所述專用本機儲存器;對由所述第二CPU執行的所述解密的第一級代碼進行認證;以及授權所述第二CPU從所述專用本機儲存器執行所述解密的第一級代碼。
其中,所述第二CPU進一步被配置為請求所述第一CPU生成密鑰,響應於此,所述第一CPU進一步被配置為生成包括存取權限的密鑰,所述存取權限包括從中解密所述第二級代碼的所述DRAM的第一區域,以及將所解密的第二級代碼寫入其中的所述
DRAM的第二區域。
其中,所述第一CPU和所述第二CPU進一步被配置為創建儲存器校驗器,所述儲存器校驗器被配置為:檢測由所述主處理器試圖對加密的第二級代碼進行的解密;確定是否從所述第一區域到所述第二區域解密;以及響應於確定並非試圖從所述第一區域或並非到所述第二區域進行解密,防止對所述加密的第二級代碼進行解密,或强制將解密的第二級代碼寫入所述第二區域。
10‧‧‧媒體裝置
15‧‧‧網路
20‧‧‧網路服務器
30‧‧‧媒體客戶
100‧‧‧SOC
102‧‧‧SCPU
104‧‧‧SCPU
110‧‧‧主處理器
113‧‧‧片上傳感器
115‧‧‧動態隨機儲存器(DRAM)
116‧‧‧保護碼
117‧‧‧安全儲存器
118‧‧‧本機校驗器
120‧‧‧外圍設備
122‧‧‧主機介面
124‧‧‧SCPU-B介面
130‧‧‧CPU-B
132‧‧‧本機靜態隨機存取儲存器(SRAM)
134‧‧‧指令高速緩存(i-cache)
136‧‧‧數據高速緩存(d-cahe)
138‧‧‧指令校驗器
140‧‧‧中斷控制器
142‧‧‧安全通訊總線
144‧‧‧共用寄存器總線
202~238‧‧‧步驟
315‧‧‧閃存
317‧‧‧加密的第一級代碼
319‧‧‧加密的第二級代碼
320‧‧‧FSBL
324‧‧‧DRAM介面
327‧‧‧解密代碼
419‧‧‧解密的第二級代碼
421‧‧‧第二區域
428‧‧‧儲存器校驗器
602~630‧‧‧步驟
702~750‧‧‧步驟
800‧‧‧變量模組
805‧‧‧密鑰生成器
810‧‧‧過濾器
820‧‧‧密鑰
824‧‧‧存取權限
828‧‧‧密鑰表
902~934‧‧‧步驟
根據以下附圖和說明,可更好理解所述系統和方法。在附圖中,不同視圖中的相似參考數字表示對應部分。
圖1為示例性多安全中央處理單元(CPU)片上系統的框圖。
圖2為用於執行圖1的多安全CPU片上系統的示例方法的流程圖。
圖3為用於由安全CPU-A啟動安全CPU-B的多級中的示例性第一級的框圖。
圖4為用於由安全CPU-A啟動安全CPU-B的兩級中的第二級的框圖。
圖5為啟動安全CPU-B之後儲存器中受保護第二級代碼的示例性運行的框圖。
圖6和圖7為通過由安全CPU-A安全啟動安全CPU-B而保護多安全CPU系統中的軟體的示例性方法的流程圖,其中,圖6示出了多級啟動處理的第一級,圖7示出了第二級。
圖8為圖1的示例性系統的示例框圖,其中,安全CPU-B與主處理器之間的密鑰分離保護敏感文件不被主處理器存取或解密。
圖9為用於在安全CPU-B與主處理器之間執行密鑰分離的示例方法的流程圖,所述密鑰分離保護敏感文件不被主處理器存取或解密。
以下討論涉及由安全中央處理單元(SCPU)執行的系統安全,更具體地涉及在系統中通過以不同的安全等級運行的多個SCPU來執行的安全功能。為了說明的目的,描述了兩個SCPU,但是可實施更多的SCPU。SCPU諸如可以作為片上系統(SOC)上的示例,諸如可用於將流媒體送至消費者的機上盒(STB)中。這樣的媒體可包含消費者在媒體裝置上可見的音頻/視頻內容。
在具有執行安全功能的單一安全中央處理單元(SCPU)的大的片上系統中,系統信任級別可以是二元的:操作是高安全的或者是完全不可信的。對於要求中等安全級別的操作,存在兩種選擇:(1)在SCPU中執行這些操作;或者(2)在主機中執行這些操作。
第一個選項可能不理想,因為SCPU可以負責高敏感性的任務,像管理一次性口令(OTP)認證,發送消費者機密等。將這些高敏感性的任務與較低安全功能混合會引起風險並有損於SCPU的主要使命。第二選項可能不理想,因為在主機中執行中等的安全任務會使SOC不安全,主機CPU會不可信。
在芯片上由主機執行安全功能會將安全度公開的太大而不能為芯片操作提供足夠的安全性。此外,如由單SCPU執行的將高安全和較低安全功能混合可能將系統安全性公開達到一定的風險級別並降低了保護芯片操作的最敏感功能的SCPU的主要使命。
此外,因為SCPU管理SOC出售商的所有權訊息,所以允許終端用戶對SCPU編程是有問題的。然而,一些中間等級安全任務最好由終端用戶編碼執行,因而SOC出售商希望允許消費者對SCPU功能的一些方面進行編程。允許用戶僅對片上SCPU功能編程會使芯片的安全操作面臨額外的風險和攻擊。
在SOC中,具有單一的SCPU也許是不夠的。使用多安全CPU方法,諸如具有專用於高安全功能的第一SCPU以及用於較低安
全任務的第二SCPU,所述低安全任務諸如數位權限管理(DRM)、管理譯碼以及水印等。出於解釋的目的,在本文中,第一SCPU被標示為安全CPU-A,而第二安全等級SCPU被標示為安全CPU-B。
圖1為多安全中央處理單元(SCPU)片上系統(SOC)100的示例框圖。當被配置操作時,SOC100可集成在媒體裝置10內或與其耦接。系統100可包含第一SCPU102(也稱作安全CPU-A),第二SCPU104(也稱作CPU-B),以及主處理器110,運行大部分芯片操作的通用處理器。安全CPU-A可小於安全CPU-B並被配置成以第一安全等級操作,所述第一安全等級高於CPU-B操作的第二安全等級。安全CPU-B可設置有比主處理器110高的信任級別並且主處理器可以被拒絕執行第二安全等級功能。主處理器110也可至少部分地位於SOC100之外。
例如,處於第一安全等級的安全CPU-A的功能可包括:管理根密鑰(root key)、執行首次安全啟動以及發送第三方內容供應商的機密。例如,處於第二安全等級的安全CPU-B的功能包括:數位權限管理、許可管理、代碼轉換器管理、水印以及在安全儲存器中的數據處理。安全CPU-A可配置有軟體代碼,所述軟體代碼將來自安全CPU-B的指令處理為優先的,並生成由所述第二SCPU執行的多個唯一的命令,所述命令不能由主處理器110執行。
因為配置成執行大部分處理器密集型的安全功能,在一些實施中,安全CPU-B可與主處理器110一樣强大,例如,在存卷(filing)時,執行高達1,000或者1,500或更高的每秒Dhrystone百萬次指令(DMIPS)。因而,安全CPU-B關注於較低的安全功能上。安全CPU-A會需要功率的一小部分並且以小於1,000DMIPS操作。
系統100可進一步包括片上傳感器113、諸如動態隨機儲存器(DRAM)115的儲存器以及與安全CPU-A和安全CPU-B的多個
外圍設備120耦接的本機校驗器118。本文中“與…耦接”意指直接地連接至組件或者間接地連接至一個或多個組件。DRAM 115的可以包括一部分為儲存在安全儲存器117中的保護碼116。安全儲存器117可被劃分成DRAM的特定的或者確定的區域。
安全CPU-A可包含與主處理器110通訊的主機介面122以及與安全CPU-B通訊的SCPU-B介面124。安全CPU-B可包含CPU-B130,本機靜態隨機存取儲存器(SRAM)132、指令高速緩存(i-cache)134、數據高速緩存(d-cahe)136、指令校驗器138以及中斷控制器140。本機SRAM132可以是安全CPU-B存取的專用本機儲存器,其中,可保存指令,但臨時儲存的數據不可由主處理器110或其他片上主體或客戶存取。
安全CPU-B和安全CPU-A可與作為CPU-B130和安全CPU-A之間的專用通道操作的專用的安全通訊總線142耦接在一起。主處理器和那些存在於SOC100上的第三方用戶可能不能存取安全通訊總線142。安全通訊總線142可由硬體和固件的組合配置並執行主從關係,其中,在一些操作中,安全CPU-A或者是安全CPU-B的主設備或從設備。例如,安全CPU-A可以是安全地啟動儲存器中的CPU-B的主設備。但是,例如,安全CPU-A也可以從安全CPU-B或本機校驗器118接收命令。
存在於SOC上的第三方可具有其自己的CPU,其自己的邏輯塊,或者作為具有能存取SOC100的能力的硬體和軟體的組合存在於芯片上。第三方CPU可包括由CPU-A管理的安全介面。
系統100可進一步包括存在於SOC100上的第三方用戶存取的共用寄存器總線144。共用寄存器總線144可用於寫入儲存器115的寄存器。如本文中所公開,安全CPU-A可被配置成防止某些片上客戶有意地停止安全CPU-B的操作。
可以與安全CPU-A和安全CPU-B耦接的本機校驗器118可以是被配置成用來防止一些存在於SOC100上的用戶或者硬體存取
DRAM的某些區域的一個硬體。同樣地,本機校驗器118可防止阻擋安全CPU-B存取共用寄存器總線144和/或讀取來自SOC100的DRAM或寫入SOC100的DRAM。
安全CPU-A也可對本機校驗器118進行編程以確保可存取主處理器110的第三方主體不能存取安全CPU-B的內部的外圍設備120。外圍設備可包括但不限於通用異步接收器/發射器(UART)、計時器、中斷、儲存器、數據儲存、媒體裝置或者它們的組合。
指令校驗器138可監督在DRAM外執行的指令並確定通過一個組件從安全儲存器調用執行的指令是否被批准由該組件執行。為了批准指令,以便執行,指令校驗器138可確保安全CPU-B不在安全儲存器117的已經被認證為安全操作或由主處理器110有條件存取的區域外操作。例如,指令校驗器可監測DRAM115的讀寫操作,並將儲存器存取的DRAM地址與安全CPU-A設置的地址範圍進行比較作為用於執行指令的預認證區域。如果安全CPU-B試圖執行儲存區域外的指令,可重新啟動安全CPU-B或者重置整個SOC。
在一個實例中,保存至安全儲存器117的內容可以包含客戶不希望以未經授權的方式發布的媒體內容。安全CPU-B可解密所述內容以在消費者裝置上查看,但不允許其他外圍設備在系統100的外部存取或發布所述內容。安全CPU-B可確保消費者能查看所述內容但不能通過主機直接存取。安全CPU-A和CPU-B可以設置限制某些芯片組件對安全儲存器117存取的硬體。例如,安全CPU-A和安全CPU-B可使得儲存器的區域不限於主處理器。此外,安全CPU-B可對消費者可查看的內容執行水印或者操縱時間戳。
更具體地,安全儲存器117可僅由安全CPU-A和CPU-B,以及本地解壓和渲染引擎進行存取。因而,安全CPU-B可將內容解密至該儲存區域中,然後局部顯示處理可讀取所解密的內容以本
地渲染。這些步驟中沒有一個需要主處理器110存取安全儲存器。安全CPU-B可以通過不到達主處理器而將所述內容解密至該限制的區域來確保安全的數據流。
中斷控制器140可與CPU-A耦接並被配置成根據通過傳感器113生成的數據檢測片上條件。例如,片上傳感器113可產生與芯片的屬性相關的數據,諸如芯片上的特定點的溫度、電壓電平以及時鐘速度等。如果這些屬性中的一個屬性變化太大或以錯誤的方式發生變化,可能是表示潜在的侵入或者黑客試圖破壞SOC的允許存取安全數據和/或安全操作的正常操作。中斷控制器140可聚集並屏蔽來自SOC100的其它功能模組的中斷,所述功能模組可以包括傳感器的詢問以檢測那些被用於確定中斷控制器140是否屏蔽了中斷的傳感器的預設閾值。
此外,中斷控制器140響應於表示侵入的檢測條件,可產生中斷或者連接。中斷或者連接可實時調整主處理器110或者安全CPU-B的操作以確保安全系統操作。主處理器也可具有單獨的儲存緩衝器而不是安全CPU-B使用的儲存緩衝器,其中,安全CPU-B的儲存緩衝器可被配置成主處理器110不能存取並配置成為第二安全CPU-B提供控制邏輯。
系統100可通過諸如網際網路或任何廣域或局域網路的網路15與網路服務器20和媒體客戶30進行通訊。客戶30可以是取得SOC100的消費者,所述SOC被消費者用來將媒體內容發送到消費者媒體裝置10。安全CPU-B可使用安全協議經由網際網路從網路服務器20獲得時間和日期。所述時間和日期可以看作是安全的時間並被安全CPU-B儲存在本地SRAM132或者DRAM115中的安全儲存器117中。這樣儲存,安全CPU-B可防止主處理器或者其他片上編程組件存取安全時間,所述安全時間可用於數位權限管理和在安全功能執行期間的較低級安全功能的其他形式。
圖2是用於實施圖1中的多安全CPU系統的方法的示例性流
程圖。片上系統(SOC)可包含第一安全中央處理單元(SCPU)以及第二SCPU(202,210)。SOC可以第一安全等級(206)操作第一SCPU。SOC可以第二安全等級操作第二SCPU(214),所述第二安全等級沒有第一安全等級安全但比主處理器操作的級別安全。第一SCPU可產生只有第二SCPU能執行的命令(218)。
第二SCPU可確定從安全儲存器調用執行的指令是否被批准由調用所述指令的SOC的組件執行(222)。如果所述組件沒有被批准執行所述指令,則第一SCPU和第二SCPU都不允許執行所述指令(226)。如果組件被批准執行所述指令,第二SCPU可確定所述指令是執行第一安全等級還是第二安全等級功能(230)。如果組件要求執行第一安全功能,第一SCPU執行所述指令(234)。如果組件要求執行第二安全功能,則第二SCPU執行所述指令(238)。取決於所述功能,第一SCPU也可以是第一或第二安全功能的請求組件,而第二SCPU可以是第一或第二安全功能的請求組件。
圖3和圖4為安全CPU-A安全地啟動安全CPU-B的示例多級啟動處理的框圖。圖3示出了第一級的執行,圖4示出了第二級的執行。這些級可確保DRAM中被執行的解密(或批准)代碼對除SCPU 102和104之外的部件不可見的,因此不可被存取的。為此,安全CPU-A通過解密加密代碼以在DRAM 115中生成可由安全CPU-B執行但不可由主處理器存取的解密代碼,來安全地啟動安全CPU-B。
更具體地,加密的第一級代碼317和加密的第二級代碼319保存在閃存315中。主處理器110試圖啟動安全CPU-A,因此對第一和第二級加密代碼進行存取。響應於此,可允許主處理器110將第一和第二級代碼317和319從閃存315寫入DRAM 115中,但第一和第二級代碼保持在加密狀態。主處理器110隨後可配置包括DRAM介面324的第一級啟動加載程序(first stage boot
loader,FSBL)320。DRAM介面從儲存器中讀取第一級代碼317,FSBL 320對第一級代碼317進行解密,並將解密代碼327寫入安全CPU-B的專用本機SRAM 132。
安全CPU-A可在本機SRAM 132中的適當位置上或將解密代碼327寫入本機SRAM 132時實時對解密代碼327進行認證。認證之後,安全CPU-A可進一步被配置為授權安全CPU-B用CPU-B130執行解密代碼。可以執行解密的第一級代碼327以做出關於如何加載、解密和執行第二級代碼的決定。
進一步參照圖4,在本機SRAM 132內將解密的第一級代碼327作為受信任內核程序執行時,安全CPU-B可以被配置為請求安全CPU-A生成可用於解密第二級代碼的密鑰。響應於所述請求,安全CPU-A可生成由安全CPU-B使用的具有指定存取權限的密鑰。存取權限可包括從中解密第二級代碼的DRAM 115的第一區域321,以及將解密的第二級代碼419寫入其中的DRAM的第二區域421。例如,第一區域可為儲存第二級加密代碼319的區域321,第二區域421可為在圖4中由生成的密鑰創建的存取權限指定的儲存解密的第二級代碼419的區域。
安全CPU-B可與高安全級CPU-A協作以創建儲存器校驗器428,一種專用硬體。儲存器校驗器428可以被配置為確保僅從DRAM 115的第一區域321到第二區域421進行第二級加密代碼319的解密。如果主處理器試圖將解密的第二級代碼419寫入第二區域421之外的儲存器,儲存器校驗器428可對安全CPU-B發出警告,從而使得代碼不會寫入第二區域之外,或可强制將解密的第二級代碼寫入第二區域。
安全CPU-B隨後可利用由安全CPU-A生成的密鑰對第二級代碼319進行解密,並將解密的第二級代碼419寫入DRAM 115的第二區域421。儘管主處理器110可以存取第一區域,但其無法存取第二區域。然而,安全CPU-B可以存取第二區域,以執行解密
的第二級代碼。由此,啟動處理的第二級確保當解密的第二級代碼419保存到儲存器時,解密的第二級代碼基於主處理器的請求是可執行的,但不允許主處理器對解密的第二級代碼進行存取。由於SOC 100的第三方客戶端可存取主處理器,兩級啟動處理確保第三方主體無法通過針孔窺探(pin snooping)等方式窺探解密的第二級代碼419。
圖5為啟動安全CPU-B之後從儲存器運行受保護第二級代碼419的示例圖。上文所述的指令校驗器138還可被配置為確保解密的第二級代碼419不會在儲存器的第二區域421之外執行。指令校驗器138可對由主處理器110調用執行的解密的第二級代碼419的指令進行監控,並確保僅在DRAM 115的安全儲存器的第二區域421之內執行。
主處理器110試圖在DRAM 115的第二區域421之外執行解密的第二級代碼中的指令時,指令校驗器138可阻止指令的執行,或重置SOC 100,從而重啟安全CPU-B。可選地,或另外地,指令校驗器138可對安全CPU-B發出意圖警告,使安全CPU-B可進行阻止,或强制在DRAM的第二區域421內執行指令。
圖6和圖7為通過由安全CPU-A安全地啟動安全CPU-B而保護多安全CPU系統中的軟體的示例方法的流程圖,其中,圖6示出了兩級啟動處理的第一級,圖7示出了第二級。SOC 100通過請求安全CPU-B啟動而啟動時,主處理器開始該處理(602)。主處理器將加密SCPU代碼從閃存寫入DRAM(604),加密SCPU代碼包括加密的第一級代碼和第二級代碼。
第一級啟動加載程序(FSBL)從DRAM讀取第一級代碼(608)。FSBL對第一級代碼進行解密(612)。FSBL將解密的第一級代碼寫入安全CPU-B的專用本機SRAM(616)。安全CPU-A隨後在解密代碼時實時或將解密代碼儲存到本機SRAM之後對解密代碼進行認證(620)。當未認證解密代碼時,安全CPU-A不授
權安全CPU-B執行解密的第一級代碼(624)。當認證瞭解密代碼時,安全CPU-A授權安全CPU-B執行解密的第一級代碼(628)。隨後,被授權時,安全CPU-B執行解密的第一級代碼(630)。
參照圖7,執行解密的第一級代碼時,安全CPU-B請求安全CPU-A生成解密密鑰(702)。安全CPU-A生成附有特定存取權限的密鑰(704)。這些存取權限可包括從中解密加密的第二級代碼的DRAM的第一區域(區域1),以及將解密的第二級代碼寫入其中並從中執行所述解密的第二級代碼的DRAM的第二區域(區域2)。安全CPU-B可與安全CPU-A協作以創建儲存器校驗器,一種確保對加密的第二級代碼進行解密時從區域1到區域2進行解密的專用硬體(708)。
當主處理器試圖對第二級代碼進行解密時,儲存器校驗器確定是否從區域1進行解密(716)。並非從區域1進行解密時,儲存器校驗器和安全CPU-B不允許進行解密(720)。從區域1進行解密時,安全CPU-B用密鑰對加密的第二級代碼進行解密(724)。
儲存器校驗器隨後確定是否收到了將解密代碼寫入區域2的請求(728)。當儲存器校驗器確定主處理器試圖將解密的第二級代碼寫入區域2之外時,儲存器校驗器或安全CPU-B防止解密的第二級代碼被寫入DRAM的區域2之外(732)。當儲存器校驗器確定主處理器請求將解密的第二級代碼寫入區域2時,安全CPU-B防止解密的第二級代碼寫入DRAM的區域2(734)。
安全CPU-B隨後可代表主處理器執行解密的第二級代碼(738)。指令校驗器可確定執行的指令是否在DRAM的區域2內執行,一次確定一條指令(742)。當指令在區域2之外執行時,指令校驗器可對安全CPU-B發出警告,使安全CPU-B不根據請求執行指令,或可强制在區域2內執行指令(746)。當指令在區域2之內執行時,指令校驗器可通知安全CPU-B繼續執行指令(750)。
圖8為圖1的安全CPU-B 104與主處理器110之間的密鑰分
離保護敏感文件不被主機存取的系統的示例性框圖。主處理器110和安全CPU-B可請求安全CPU-A生成用於存取敏感文件的解密的解密密鑰,以供無權存取或無能力解密文件的軟體使用。
這些敏感文件可包括與音頻或音頻/視頻文件等適當媒體的數位權限管理(DRM)相關的文件或其他敏感文件。例如,在DRM系統中,可利用軟體未知的特殊密鑰保護文件不被不安全軟體存取。然而,儘管密鑰是未知的,但用於解密文件的命令對於主處理器是可用的。這使不安全軟體隨後發送在儲存器中解密數據的命令。另外,期望將命令從安全CPU-B傳輸值安全CPU-A,以創建與主處理器110發布的相同命令完全不同的密鑰結構,以保護安全CPU-A以主機不能夠仿效密鑰的方式單獨發布命令,如後所述。
由於安全CPU-B以高於主處理器的安全級操作,所以圖8示出了系統100如何向安全CPU-B提供用於獨占存取未提供給主處理器的文件的唯一密鑰。下文所述的密鑰生成過程還可應用於根密鑰生成,從而使得安全CPU-B可請求安全CPU-A生成對系統100執行的系統或軟體文件進行解密的唯一根密鑰。
在一個示例中,安全CPU-A包括變量模組800、密鑰生成器805和過濾器115。密鑰生成器805生成密鑰820,例如,圖8中顯示的密鑰820。密鑰包括存取權限824,存取權限824包括指定對儲存器的特定安全區域,例如,DRAM 115中的區域1或區域2進行存取。存取的這種指定還可包括將解密數據寫入區域1或區域2的權限。還可儲存於DRAM 115或其他儲存器中的密鑰表828提供了密鑰820和由安全CPU-A可存取的對應的存取權限之間的鏈接。一旦安全CPU-A生成密鑰,並對安全CPU-B或主處理器提供存取權限,安全CPU-B(或主處理器)可對儲存器包含解密內容的區域進行存取。在生成根密鑰的情况下,安全CPU-B(或主處理器)可對系統或軟體文件進行解密,並將解密文件寫入其可
以被執行的儲存器的受保護區域。
在一些情况下,安全CPU-B需要以主處理器沒有被提供的獨占存取而生成的唯一的密鑰。如上所述,安全CPU-B可通過安全的專用通訊總線142與安全CPU-A進行通訊。該總線142可與總線840以物理和/或邏輯方式分離,主處理器通過總線840與安全CPU-A通訊。安全CPU-B可通過專用總線142向變量模組800發布安全CPU-A的生成唯一密鑰的特殊命令或請求。變量模組800可做出可供安全CPU-B選擇的多個可能變化或變量。選擇一個變化或變量時,密鑰生成器805隨後可將所選變量應用於用於生成密鑰的算法。密鑰生成器可將所做變量應用於密鑰梯形或哈希算法,因此,如果不進行任何解密步驟,則存取被拒絕。
過濾器810可認證安全CPU-B對變量模組800的存取,並拒絕主處理器110對變量模組800的存取。過濾器810還可區分由主處理器110與安全CPU-B發出的命令或請求,例如,所述命令/請求分別正確地指示為來自主處理器100和安全CPU-B以用於密鑰生成和存取儲存器的安全區域。通過使用請求(安全CPU-A通過其產生位移的密鑰)的認證的存取,安全CPU-B可獲得對敏感文件的獨占存取,包括DRM保護媒體內容。在一些情况下,還可對儲存器的不同區域提供存取權限,以將內容寫入DRAM 115中的其他位置。在生成的密鑰為根密鑰的情况下,安全CPU-B可獲得對系統或軟體文件的獨占解密權,以由系統100在DRAM 115中的受保護區域,即主處理器110不可存取的區域中執行。
圖9為用於在安全CPU-B與主處理器110之間執行保護敏感文件不被主處理器存取或解密的密鑰分離的方法的示例性流程圖。主處理器和安全CPU-B可請求安全CPU-A生成存取和解密敏感文件的密鑰,如圖8所述(902)。安全CPU-B可請求安全CPU-A生成主處理器無法存取的唯一密鑰(906)。
安全CPU-A從主處理器或安全CPU-B接收請求以生成密鑰。
安全CPU-A的過濾器可確定請求來自主處理器還是安全CPU-B(910)。如果請求來自主處理器,安全CPU-A可生成主處理器請求使用的密鑰(914)。安全CPU-A對主處理器提供與密鑰對應的存取或解密權限(918)。
如果請求來自安全CPU-B,安全CPU-A還可通過變量模組接收算法變量的選擇(922)。安全CPU-A的密鑰生成器可利用算法變量生成唯一的密鑰(930)。安全CPU-A可對安全CPU-B提供與排除主處理器的唯一密鑰對應的存取或解密權限(934)。
上述方法、裝置以及邏輯可通過許多不同的方式以許多不同的硬體、軟體或者硬體和軟體兩者的組合來實施。例如,系統的全部或者部分可包括在控制器、微處理器或者專用集成電路(ASIC)中的電路,或者可以分立邏輯或者組件、或者結合在單個集成電路上或者分布在多個集成電路中其他類型的類比或數位電路的組合來實施。
上文對本發明的各個實施例進行了說明,但本領域的普通技術人員應理解的是,只要不脫離本發明的範圍,可採用多種其他實施例和實施方式。由此,本發明並不具有限制性,但應符合附加申請專利範圍及其等同物。
10‧‧‧媒體裝置
15‧‧‧網路
20‧‧‧網路服務器
30‧‧‧媒體客戶
100‧‧‧SOC
102、104‧‧‧SCPU
110‧‧‧主處理器
113‧‧‧片上傳感器
115‧‧‧動態隨機儲存器(DRAM)
116‧‧‧保護碼
117‧‧‧安全儲存器
118‧‧‧本機校驗器
120‧‧‧外圍設備
122‧‧‧主機介面
124‧‧‧SCPU-B介面
130‧‧‧CPU-B
132‧‧‧本機靜態隨機存取儲存器(SRAM)
134‧‧‧指令高速緩存(i-cache)
136‧‧‧數據高速緩存(d-cahe)
138‧‧‧指令校驗器
140‧‧‧中斷控制器
142‧‧‧安全通訊總線
144‧‧‧共用寄存器總線
Claims (10)
- 一種計算系統,包括:第一中央處理單元(CPU);以及第二中央處理單元,與所述第一中央處理單元和主處理器耦接,其中,響應於由所述主處理器發出的啟動所述第二中央處理單元的請求,所述第一中央處理單元被配置為執行所述第二中央處理單元的安全啟動,所述安全啟動包括解密加密代碼,以生成能由所述第二中央處理單元執行但所述主處理器無法存取的解密代碼。
- 根據請求項1所述的計算系統,其中,所述主處理器將所述加密代碼從閃存寫入動態隨機存取儲存器(DRAM),所述加密代碼包括用於執行兩級啟動處理的第一級代碼和第二級代碼。
- 根據請求項2所述的計算系統,其中,所述第二中央處理單元包括專用本機儲存器,所述第一中央處理單元和所述第二中央處理單元位於片上系統(SOC)上,且其中,所述主處理器配置能夠執行以下操作的第一級啟動加載程序:從動態隨機存取儲存器中讀取所述第一級代碼;在所述片上系統上解密所述第一級代碼;以及將所解密的第一級代碼寫入所述專用本機儲存器。
- 根據請求項3所述的計算系統,其中,所述第一中央處理單元進一步被配置為:對用於由所述第二中央處理單元執行的所解密的第一級代碼進行認證;以及授權所述第二中央處理單元執行來自所述專用本機儲存器的所解密的第一級代碼。
- 根據請求項3所述的計算系統,其中,所解密的第一級代碼能夠執行為對關於如何加載、解密和執行所述第二級代碼做出 決定。
- 根據請求項3所述的計算系統,其中,在執行所解密的第一級代碼時,所述第二中央處理單元被配置為請求所述第一中央處理單元生成能用於解密所述第二級代碼的密鑰,響應於此,所述第一中央處理單元進一步被配置為:生成由所述第二中央處理單元使用的具有指定的存取權限的密鑰,所述存取權限包括從中解密所述第二級代碼的所述動態隨機存取儲存器的第一區域,以及將所解密的第二級代碼寫入其中的所述動態隨機存取儲存器的第二區域;以及協助所述第二中央處理單元創建儲存器校驗器,所述儲存器校驗器被配置為確保僅從所述動態隨機存取儲存器的所述第一區域到所述第二區域進行解密。
- 根據請求項6所述的計算系統,其中,所述主處理器能夠存取所述動態隨機存取儲存器的所述第一區域但不能存取所述動態隨機存取儲存器的所述第二區域。
- 根據請求項6所述的計算系統,其中,所述第二中央處理單元進一步被配置為:利用所述密鑰對儲存器的所述第一區域內儲存的所述第二級代碼進行解密;以及將所解密的第二級代碼寫入所述動態隨機存取儲存器的所述第二區域。
- 一種用於保護包括耦接在一起的第一中央處理單元和第二中央處理單元的多安全中央處理單元(CPU)系統中的軟體的方法,包括:從主處理器接收啟動所述第二中央處理單元的請求;由所述主處理器將加密代碼從閃存寫入動態隨機存取儲存器(DRAM)中,所述加密代碼包括用於執行兩級啟動處理的第一級代碼和第二級代碼;以及 由所述第一中央處理單元和所述第二中央處理單元對加密的第一級代碼和加密的第二級代碼進行解密,並使得所述主處理器無法在解密之後存取解密的第一級代碼或解密的第二級代碼。
- 一種計算系統,包括:第一中央處理單元(CPU);動態隨機存取儲存器(DRAM),與所述第一中央處理單元連接;閃存;第二中央處理單元,與所述第一中央處理單元和所述動態隨機存取儲存器耦接;主處理器,與所述第一中央處理單元和所述第二中央處理單元、所述動態隨機存取儲存器和所述閃存耦接,所述主處理器被配置為將加密代碼從所述閃存寫入所述動態隨機存取儲存器,所述加密代碼包括用於執行兩級啟動處理的第一級代碼和第二級代碼;其中,所述第一中央處理單元被配置為:從所述主處理器接收啟動所述第二中央處理單元的請求;以及由所述第一中央處理單元和所述第二中央處理單元對加密的第一級代碼和加密的第二級代碼進行解密,並使得所述主處理器無法在解密之後存取解密的第一級代碼或解密的第二級代碼。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261684479P | 2012-08-17 | 2012-08-17 | |
| US201261729169P | 2012-11-21 | 2012-11-21 | |
| US13/707,023 US9183402B2 (en) | 2012-08-17 | 2012-12-06 | Protecting secure software in a multi-security-CPU system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201411405A true TW201411405A (zh) | 2014-03-16 |
Family
ID=48900733
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW102126880A TW201411405A (zh) | 2012-08-17 | 2013-07-26 | 保護多安全cpu之計算系統及其方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9183402B2 (zh) |
| EP (1) | EP2706478B1 (zh) |
| CN (1) | CN103593603B (zh) |
| TW (1) | TW201411405A (zh) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9231921B2 (en) * | 2013-08-20 | 2016-01-05 | Janus Technologies, Inc. | System and architecture for secure computer devices |
| CN103942503B (zh) * | 2014-04-28 | 2017-02-01 | 上海新储集成电路有限公司 | 一种安全状态切换系统及切换方法 |
| CN104331671A (zh) * | 2014-10-30 | 2015-02-04 | 无锡市合鑫川自动化设备有限公司 | 计算机从设备安全代码加载的方法与系统 |
| CN106155940A (zh) * | 2015-04-17 | 2016-11-23 | 扬智科技股份有限公司 | 可保护代码的系统芯片与系统芯片的代码保护方法 |
| DE102015223078A1 (de) * | 2015-11-23 | 2017-05-24 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Anpassen von Berechtigungsinformationen eines Endgeräts |
| US20170364683A1 (en) * | 2016-06-17 | 2017-12-21 | Google Inc. | Computing device secure boot |
| CN106648791B (zh) * | 2016-12-29 | 2019-11-05 | 成都多沐汽车工程有限公司 | 数据加载方法及装置 |
| CN108270910A (zh) * | 2016-12-30 | 2018-07-10 | 展讯通信(上海)有限公司 | 移动终端 |
| CN108345522B (zh) * | 2017-12-15 | 2019-03-29 | 清华大学 | 用于对中央处理器cpu进行安全检测的方法、装置和系统 |
| JP7178839B2 (ja) * | 2018-09-11 | 2022-11-28 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
| KR20200067633A (ko) | 2018-12-04 | 2020-06-12 | 삼성전자주식회사 | 메모리 장치 및 그것의 보안 데이터 처리 방법 |
| FR3098613A1 (fr) * | 2019-07-09 | 2021-01-15 | STMicroelectronics (Grand Ouest) SAS | Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant |
| CN114117437B (zh) * | 2020-08-27 | 2025-07-25 | 国民技术股份有限公司 | 操作系统的安全启动方法、装置及电子设备 |
| DE102020006887A1 (de) | 2020-11-10 | 2022-05-12 | Airbus Defence and Space GmbH | Einfach zertifizierbare und qualifizierbare Computerprogrammstruktur und Computersystem |
| EP4261727A4 (en) * | 2020-12-29 | 2023-11-22 | Huawei Technologies Co., Ltd. | SAFETY ISOLATION DEVICE AND METHOD |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6012142A (en) | 1997-11-14 | 2000-01-04 | Cirrus Logic, Inc. | Methods for booting a multiprocessor system |
| US6599194B1 (en) | 1998-09-08 | 2003-07-29 | Darren Smith | Home video game system with hard disk drive and internet access capability |
| US7146504B2 (en) | 2002-06-13 | 2006-12-05 | Microsoft Corporation | Secure clock on computing device such as may be required in connection with a trust-based system |
| US7152193B2 (en) | 2002-08-13 | 2006-12-19 | Lsi Logic Corporation | Embedded sequence checking |
| FR2862397A1 (fr) * | 2003-11-13 | 2005-05-20 | St Microelectronics Sa | Demarrage securise d'un appareil electronique a architecture smp |
| US20050138409A1 (en) | 2003-12-22 | 2005-06-23 | Tayib Sheriff | Securing an electronic device |
| US20050204155A1 (en) | 2004-03-09 | 2005-09-15 | Nec Laboratories America, Inc | Tamper resistant secure architecture |
| US7940932B2 (en) * | 2004-04-08 | 2011-05-10 | Texas Instruments Incorporated | Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor |
| US9904809B2 (en) | 2006-02-27 | 2018-02-27 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for multi-level security initialization and configuration |
| US9177176B2 (en) * | 2006-02-27 | 2015-11-03 | Broadcom Corporation | Method and system for secure system-on-a-chip architecture for multimedia data processing |
| EP1868127A1 (en) | 2006-06-15 | 2007-12-19 | Thomson Telecom Belgium | Device comprising a public and a private area and a method for securely initializing the device |
| US8000493B2 (en) | 2007-03-08 | 2011-08-16 | Broadcom Corporation | Method and system for watermark embedding in a multimedia system-on-chip |
| US7945792B2 (en) * | 2007-10-17 | 2011-05-17 | Spansion Llc | Tamper reactive memory device to secure data from tamper attacks |
| IL187044A0 (en) | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Fast secure boot implementation |
| US7917790B2 (en) * | 2008-01-17 | 2011-03-29 | Broadcom Corporation | Separate power island for high performance processor that reboots to second boot sector |
| US9177152B2 (en) | 2010-03-26 | 2015-11-03 | Maxlinear, Inc. | Firmware authentication and deciphering for secure TV receiver |
| US8959363B2 (en) * | 2010-06-03 | 2015-02-17 | Intel Corporation | Systems, methods, and apparatus to virtualize TPM accesses |
| US8813218B2 (en) | 2012-02-14 | 2014-08-19 | Janus Technologies, Inc. | Security-enhanced computer systems and methods |
| US20140164753A1 (en) * | 2012-12-06 | 2014-06-12 | Samsung Electronics Co., Ltd | System on chip for performing secure boot, image forming apparatus using the same, and method thereof |
-
2012
- 2012-12-06 US US13/707,023 patent/US9183402B2/en active Active
-
2013
- 2013-07-26 TW TW102126880A patent/TW201411405A/zh unknown
- 2013-07-26 EP EP13003755.9A patent/EP2706478B1/en active Active
- 2013-08-15 CN CN201310356861.9A patent/CN103593603B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN103593603A (zh) | 2014-02-19 |
| US9183402B2 (en) | 2015-11-10 |
| EP2706478B1 (en) | 2018-10-31 |
| HK1191704A1 (zh) | 2014-08-01 |
| US20140052975A1 (en) | 2014-02-20 |
| EP2706478A3 (en) | 2014-08-13 |
| EP2706478A2 (en) | 2014-03-12 |
| CN103593603B (zh) | 2016-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW201411405A (zh) | 保護多安全cpu之計算系統及其方法 | |
| TWI512529B (zh) | 計算系統,及其片上系統 | |
| US9171170B2 (en) | Data and key separation using a secure central processing unit | |
| US8904190B2 (en) | Method and apparatus including architecture for protecting sensitive code and data | |
| TWI584152B (zh) | 用於電腦安全的系統及其方法 | |
| KR20190063264A (ko) | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 | |
| US10318765B2 (en) | Protecting critical data structures in an embedded hypervisor system | |
| US20130254906A1 (en) | Hardware and Software Association and Authentication | |
| JP6072091B2 (ja) | アプリケーション・プログラム用の安全なアクセス方法および安全なアクセス装置 | |
| JP2008052704A (ja) | コンピュータおよび共有パスワードの管理方法 | |
| US20250258964A1 (en) | Continuous impairment of a chip upon detecting a damaged package | |
| CN114357465A (zh) | 多核cpu的安全控制方法与装置 | |
| US20060020785A1 (en) | Secure distribution of a video card public key | |
| US20250190596A1 (en) | Techniques for enforcing access control policies for application-specific integrated circuits (asics) | |
| HK1191704B (zh) | 保護多安全cpu系統中的安全軟件 | |
| US12488092B2 (en) | Using root-of-trust (ROT) to continuously monitor device operation for impairment | |
| HK1191703A (zh) | 多安全-cpu系統 | |
| JP2023136601A (ja) | ソフトウェア管理装置、ソフトウェア管理方法、及びプログラム | |
| JP2008028877A (ja) | 不正接続防止システム、不正接続防止方法、ユーザ端末、及びユーザ端末用プログラム | |
| HK1186792B (zh) | 安全控制的多处理器系统 |