用于運行控制設備的方法
【技術領域】
[0001]本發明涉及用于運行具有擁有處理器單元和安全處理器單元的片上系統的控制設備的方法以及用于執行該方法的計算單元和計算機程序。
【背景技術】
[0002]片上系統(System-on-a-Chip,SoC)是一種集成電路(1C),在該集成電路中相應系統的多種功能被集成在唯一的芯片(裸片(Die))上。這種Soc可以包括處理器單元(處理器系統部分,PS)。這種處理器單元可以包括適宜的處理器或處理器內核或者多核處理器。多核處理器包括多個(至少兩個)處理器內核。處理器內核大多包括算術邏輯單元(ALU)以及此外包括本地存儲器,該算術邏輯單元是用于實施任務、程序、計算命令等的實際的電子運算器。
[0003]除了處理器單元之外,SoC也可以包括所謂的硬件安全模塊(Hardware SecurityModule, HSM)0與常規的處理器單元類似,該HSM也可以包括一個或多個處理器內核以及本地存儲器(ROM、RAM、閃速、EEPROM)ο HSM因此具有不依賴于處理器單元的物理資源的自己的物理資源((多個)處理器內核、本地存儲器等等)。HSM的資源尤其可以相對于處理器單元的資源在硬件層面上被屏蔽。
[0004]HSM是被保護免于尤其對處理器單元的操縱和攻擊的被隔離的安全環境并且因此尤其可以被用于安全關鍵過程或操作。在這種安全關鍵或密碼過程期間可以處理和/或創建例如簽名、加密等的安全關鍵數據。
[0005]可以被證明為適宜的是,將具有處理器單元和HSM的這種SoC集成到控制設備中、尤其是機動車的控制設備、譬如發動機控制設備中。但是,常規的HSM大多不適于在這種控制設備中應用并且不能保證遵守適用于機動車領域的(安全)要求和(安全)規范。
[0006]例如可以在控制設備中要求確定的過程、尤其是安全關鍵過程滿足實時條件,SP這些過程的結果在所定義的時間間隔之內被有保證計算出,也即在確定的時間塊之前存在。但是利用常規的HSM大多不能保證安全關鍵過程滿足實時條件。
[0007]因此值得期望的是,提供將具有處理器單元和硬件安全單元的片上系統實現到控制設備中、尤其是實現到機動車的控制設備中的可能性。
【發明內容】
[0008]根據本發明提出具有權利要求1的特征的用于運行控制設備的方法。有利的構型是從屬權利要求以及隨后的描述的主題。
[0009]所述控制設備尤其被構造為機動車的控制設備,尤其是被構造為發動機控制設備。該控制設備包括具有處理器單元和安全處理器單元的片上系統(SoC),所述處理器單元和所述安全處理器單元分別包括至少一個處理器內核。所述處理器單元和所述安全處理器單元分別尤其包括相對于電壓變化、時鐘變化和溫度變化的保護機構。
[0010]此外,所述處理器單元和所述安全處理器單元分別尤其包括本地存儲器、例如閃速存儲器、ROM存儲器、RAM存儲器和/或EEPROM存儲器。替代地或附加地,尤其也可以針對處理器單元和安全處理器單元設置共同的本地存儲器。在這種情況下尤其設置有存儲器安全機構,例如存儲器保護單元(Memory Protect1n Unit,MPU)。這種存儲器安全機構管理對該共同的存儲器的訪問并且保護該共同的存儲器免于操縱和攻擊。尤其通過這種存儲器安全機構針對處理器單元和安全處理器單元在共同的存儲器中實現存儲區的隔離。
[0011]所述安全處理器單元尤其被構造為硬件安全模塊(Hardware Security Module,HSM)。處理器單元和安全處理器單元尤其相互不相關并且分別具有自己的物理資源(處理器內核、本地存儲器等等)。所述安全處理器單元尤其在硬件層面上被屏蔽并且是安全的環境,所述環境被保護免于操縱和攻擊或者至少應當使操縱或攻擊變得困難。
[0012]處理器單元可以指示安全處理器單元實施安全關鍵過程。處理器單元和安全處理器單元尤其可以通過通信系統、例如適宜的總線或被共同利用的存儲器或通信寄存器或其組合處于通信連接中。
[0013]安全關鍵過程或密碼過程尤其應被理解為如下過程,在這些過程中處理和/或產生安全關鍵數據、例如對于某些操作來說所需的秘密密鑰,所述數據作為整體或部分地不應離開SoC或不應到達第三方。例如,如下過程或操作中的一個或多個可以被視為這種安全關鍵過程:產生和/或檢驗簽名;加密和/或解密數據;應用哈希算法;產生編碼和/或密碼;認證和/或驗證消息、控制命令和/或操控值,存儲安全關鍵數據。
[0014]根據本發明,給要在安全處理器單元中實施的安全關鍵過程分別分配優先級并且所述安全關鍵過程在安全處理器單元中根據相應的優先級來實施。尤其是,如果處理器單元指示安全處理器單元實施相應的安全關鍵過程,則處理器單元本身給該安全關鍵過程分配相應的優先級。也可以設想,安全處理器單元給要實施的安全關鍵過程分配相應優先級。
[0015]尤其是處理器單元的各個處理器內核指示安全處理器單元實施相應的安全關鍵過程。例如在處理器單元的相應處理器內核中實施的操作系統可以相應地指示安全處理器單元。在處理器單元的各個處理器內核中也可以實施(特別是非安全關鍵)過程或操作或應用。也可以設想這些過程相應地直接指示安全處理器單元。
[0016]尤其可以在安全處理器單元中創建流程圖或順序(“調度(scheduling)”),根據所述流程圖或順序來實施不同的安全關鍵過程。尤其根據相應的優先級遞減地實施安全關鍵過程。具有高優先級的安全關鍵過程尤其首先被實施,具有低優先級的安全關鍵過程尤其最后被實施。
[0017]本發明的優點
通過本發明使得能夠靈活地規劃要完成的安全關鍵過程。通過本發明可以區分其完成非常重要并且應當盡可能快地進行的相關的安全關鍵過程與其完成不迫切并且不應盡快地進行的具有次要重要性的安全關鍵過程。
[0018]尤其通過本發明不必要的是,安全處理器單元按其被指示的順序實施安全關鍵過程。具有高優先級的相關的安全關鍵過程可以在具有次要重要性以及低優先級的安全關鍵過程之前被實施。安全處理器單元尤其分別僅實施一個唯一的安全關鍵過程并且不同時實施多個安全關鍵過程。通過本發明使得能夠合理地利用安全處理器單元的資源并且根據安全關鍵過程的重要性和相關性來完成安全關鍵過程。
[0019]常規硬件安全模塊也不能同時實施多個過程。在常規硬件安全模塊中必要時可能必需的是,在可以啟動新的過程之前,等待直到當前在HSM中實施的過程結束。根據當前實施的過程,可能必要時持續比較長的時間、例如多達數秒,直到可以啟動新過程。據此,在可以實施重要的安全關鍵過程之前,必要時首先必須等候多達數秒。
[0020]通過本發明來消除常規硬件安全模塊的這種問題。給其實施非常重要并且應當盡可能快地被執行的相關的安全關鍵過程分別分配高或最高的優先級。這些安全關鍵過程在安全處理器單元中作為第一個并且盡可能快地被實施。因此可以保證盡可能快地創建或處理迫切需要的安全關鍵數據。
[0021]可以設想適宜地大的數目的不同優先級或不同優先級等級。越多不同的優先級可以被分派給安全關鍵過程,就可以越好地區分不同安全關鍵過程的相關性。
[0022]通過本發明尤其可以保證遵守適用于機動車領域的(安全)要求和(安全)規范。尤其通過本發明實現安全處理器單元的實時能力。本發明因此尤其適于機動車的控制設備,例如適于發動機控制設備。通過本發明可以阻止對控制設備的攻擊和操縱。在機動車的控制設備的情況下尤其可以保證“專有技術(Know-How)保護”并且諸如在“芯片調諧(Ch i P tun i ng ) ”的情況下禁止對控制設備軟件的操縱。
[0023]尤其在安全關鍵過程期間處理和