電路和安全系統的制作方法
【專利摘要】本實用新型涉及一種電路,包括第一處理單元和相同的第二處理單元。第一通信總線在多個功能電路中的一個功能電路與第一和第二處理單元中的一個或兩個處理單元之間傳遞經加密的數據。選擇電路確定加密總線耦合到第一處理單元、第二處理單元還是第一和第二處理單元二者。本實用新型還涉及一種安全系統。
【專利說明】
電路和安全系統
技術領域
[0001]本公開總體上涉及電子電路,并且更具體地涉及一種電路和一種安全系統。
【背景技術】
[0002]在很多應用中,處理單元、例如微處理器的中央處理單元(CPU)操縱以加密方式存儲在處理單元外部的易失性或非易失性存儲器中的信息或者以加密方式與其他電路或功能電路交換的信息。
[0003]由于在存儲器中被加密,所以信息受到保護。然而,在要處理時,如果其為數據、地址或指令,則應當通過處理單元對信息解密。處理結果在被處理單元輸出(以存儲或通信給另一功能電路)之前被處理單元加密。
[0004]信息需要由處理單元以非加密方式來操縱這一事實在保護方面是個弱點。
[0005]為了試圖克服這一問題,已經提出了使用另外的處理單元,其具有并行執行與主處理單元相同的操作的功能以及將由兩個處理單元提供的某些結果相比較的功能。在存在分歧的情況下,表示主處理單元遭受攻擊、通常為故障注入,并且系統可以例如通過阻擋信息到外部的通信來作出反應。
[0006]然而,在驗證元件上發生故障注入或者發生多個故障的情況下,這些解決方案顯得不充足。
[0007]因此,需要改進在由處理單元進行的對經加密的信息的未加密執行期間對經加密的信息的保護。
[0008]【背景技術】部分討論的主題不一定是現有技術,并且不應當僅由于其在【背景技術】部分的討論而被假定為現有技術。按照這些原則,對【背景技術】部分討論的現有技術中的一個或多個問題以及與其相關聯的主題的認識不應當被當作現有技術,除非其被明確地陳述為現有技術。相反,包括現有技術中的一個或多個所認識的問題的【背景技術】部分的討論應當被當作發明人解決特定問題的方法的部分,其本身也可以是本實用新型的內容。
【實用新型內容】
[0009]為了解決現有技術的上述問題,本實用新型提供了一種電路和一種安全系統,其克服了對由處理單元操縱的信息的保護的解決方案的缺點,提供了在復制處理單元系統中在抵抗多個故障注入攻擊方面高效的解決方案。
[0010]根據本實用新型的一個方面,一種電路,包括第一處理單元;第二處理單元,所述第二處理單元與所述第一處理單元相同;經加密的通信總線,被布置成在所述第一處理單元和所述第二處理單元中的至少一個處理單元與至少一個功能電路之間傳遞經加密的數據;以及選擇電路,被布置成在至少三個狀態中的一個狀態下操作,其中:當所述選擇電路在所述至少三個狀態中的第一狀態下操作時,所述第一處理單元選擇性地耦合到所述經加密的通信總線,當所述選擇電路在所述至少三個狀態中的第二狀態下操作時,所述第二處理單元選擇性地耦合到所述經加密的通信總線,以及當所述選擇電路在所述至少三個狀態中的第三狀態下操作時,所述第一處理單元和所述第二處理單元均選擇性地耦合到所述經加密的通信總線。
[0011]根據一個實施例,所述選擇電路具有耦合到所述第一處理單元的多個第一雙向輸入、耦合到所述第二處理單元的多個第二雙向輸入、耦合到所述經加密的通信總線的多個雙向輸出、以及控制輸入,所述控制輸入被布置成接收表示所述至少三個狀態中的所選擇的一個狀態的信息。
[0012]根據一個實施例,所述電路包括控制電路,以隨機地生成表示所述至少三個狀態中的所選擇的一個狀態的所述信息。
[0013]根據一個實施例,所述電路包括控制電路,以在用戶的控制之下生成表示所述至少三個狀態中的所選擇的一個狀態的所述信息。
[0014]根據一個實施例,所述電路包括控制電路,以根據由所述第一處理單元和所述第二處理單元中的至少一個處理單元執行的處理來生成表示所述至少三個狀態中的所選擇的一個狀態的所述信息。
[0015]根據一個實施例,當所述選擇電路在所述第三狀態下操作時,并行地向所述第一處理單元和所述第二處理單元傳遞從所述經加密的通信總線傳遞的信息。
[0016]根據一個實施例,所述電路還包括比較電路,被布置成對由所述第一處理單元處理的信息與由所述第二處理單元處理的信息進行比較。
[0017]根據一個實施例,所述比較電路被布置成在確定由所述第一處理單元處理的信息與由所述第二處理單元處理的信息之間存在差異時輸出至少一個安全信號。
[0018]根據一個實施例,所述至少一個安全信號被布置成提供由所述第一處理單元和所述第二處理單元處理的信息的真實性的指示,以鎖定所述電路、防止在所述經加密的通信總線上提供數據、或者復位所述電路。
[0019]根據一個實施例,所述至少一個功能電路包括以下項中的至少一項:存儲經加密的信息的易失性存儲器和存儲經加密的信息的非易失性存儲器中。
[0020]根據本實用新型的另一方面,安全系統包括:第一處理裝置;
[0021]第二處理裝置,與所述第一處理裝置相同;經加密的通信裝置,以在所述第一處理裝置和所述第二處理裝置中的一個處理裝置或兩個處理裝置與功能電路之間傳遞經加密的數據;以及選擇裝置,能夠在三個狀態中的一個狀態下操作,其中:當所述選擇裝置在所述至少三個狀態中的第一狀態下操作時,所述第一處理裝置選擇性地耦合到所述經加密的通信裝置,當所述選擇裝置在所述至少三個狀態中的第二狀態下操作時,所述第二處理裝置選擇性地耦合到所述經加密的通信裝置,以及當所述選擇裝置在所述至少三個狀態中的第三狀態下操作時,所述第一處理裝置和所述第二處理裝置均選擇性地耦合到所述經加密的通信裝置。
[0022]根據一個實施例,所述安全系統包括用以隨機地將所述選擇裝置的操作指向所述三個狀態中的一個狀態的控制裝置;用以基于用戶輸入將所述選擇裝置的操作指向所述三個狀態中的一個狀態的控制裝置;或者用以根據由所述第一處理裝置和所述第二處理裝置中的至少一個處理裝置執行的處理來將所述選擇裝置的操作指向所述三個狀態中的一個狀態的控制裝置。
[0023]根據一個實施例,所述安全系統還包括比較裝置,以將由所述第一處理裝置處理的信息與由所述第二處理裝置處理的信息相比較,其中所述比較裝置在確定由所述第一處理裝置處理的信息與由所述第二處理裝置處理的信息之間存在差異時輸出至少一個安全信號。
[0024]根據一個實施例,所述至少一個安全信號被布置成提供由所述第一處理單元和所述第二處理單元處理的信息的真實性的指示,以鎖定所述安全系統、防止在所述經加密的通信總線上提供數據、或者復位所述安全系統。
[0025]根據一個實施例,所述安全系統包括讀取、修改或寫入確定裝置,以確定要對所述經加密的數據執行的動作的類型。
[0026]本實用新型的電路和安全系統克服了對由處理單元操縱的信息的保護的解決方案的缺點,提供了在復制處理單元系統中在抵抗多個故障注入攻擊方面高效的解決方案。
[0027]以上以及其他特征和優點將在具體實施例的以下非限制性描述中結合附圖來詳細討論。
【附圖說明】
[0028]參考附圖來描述非限制性和非排他性實施例,其中相似的附圖標記遍及各個視圖指代相似的部分,除非另外規定。下文中參考附圖來描述一個或多個實施例,在附圖中:
[0029]圖1用框形式示意性地示出具有復制處理單元的系統的一般實施例;以及
[0030]圖2用框形式示意性地示出復制處理單元微控制器類型的電子電路的實施例。
【具體實施方式】
[0031]在不同的附圖中,相同的元件被賦予相同的附圖標記。特別地,不同實施例共同的結構和/或功能元件可以被賦予相同的附圖標記并且可以具有相同的結構、尺度和材料屬性。為了清楚,僅示出并且將詳述有助于理解所描述的實施例的這些步驟和元件。特別地,沒有詳述所執行的處理或者執行這些處理的電路的應用,所描述的實施例兼容一般應用。在提及術語“關于”、“接近”或“在……的數量級”時,表示在10%的范圍內,優選地在5%的范圍內。
[0032]圖1是配備有并行執行相同操作的兩個處理單元I和2的微控制器的示例的框圖。
[0033]處理單元之一是有用或主機單元(MASTER),也就是,單元I執行被考慮在內的處理。其他處理單元2為主機單元I的副本(REPLICA)并且執行相同的處理但是僅用于驗證目的。源自主機和副本單元I和2的各個信號由驗證模塊3(VERIF)來處理。該模塊遞送用于驗證被執行的處理的身份的信號SECUM中的一個或多個。
[0034]單元I和2從總線4并行接收相同的信息,總線4傳達源自各個功能電路(例如源自易失性存儲元件5(VM)、非易失性存儲元件6(NVM)或者在包含單元I和2的微控制器內部或夕卜部的其他功能電路7(FCT))的經加密的信息。元件5、6和7可以包含清楚的信息(非經加密的信息),但是本文中所考慮的信息是由這些元件包含或提供的經加密的信息。為了方便由單元I來處理(加密)信息,由單元2來解碼和處理也被加密的相同信息。實際上,單元I和2嚴格相同。
[0035]這一系統在主機單元I發生故障注入攻擊的情況下可接受地操作。實際上,由模塊3提供的比較結果在攻擊的情況下可能是錯誤的,這使得能夠采取適合應用的任何對策(鎖定、復位、新的嘗試等)。
[0036]然而,在多個攻擊的情況下,例如在單元I和模塊3上發生攻擊的情況下,或者在多次攻擊的情況下,不能有效地保護電路的風險很高。
[0037]圖2用框的形式非常示意性地示出微控制器的實施例。
[0038]根據本實施例,微控制器包括兩個處理單元11和12,例如中央處理單元CPUl和CPU2。與圖1的示例相反,兩個單元11和12交替地用于處理和/或遞送有用信息。
[0039]例如,每個單元11、12包括中央處理單元112、122(CPU)、識別要在讀取、修改或寫入操作之間執行的操作的屬性的電路114、124(RMW)、以及用于解密或加密與處理單元11或12外部交換的信息的電路116、126 (ENC)。電路116和126連接到總線以監控其期望信息。這一連接在所描述的實施例中經由復用器或選擇器20來執行。因此,易失性或者非易失性存儲器5(VM)或6(NVM)以及能夠與處理單元11和12交換經加密的信息的各種其他功能電路7(FCT)耦合到一個或多個經加密的數據、地址或指令總線4(ENC BUS),總線4耦合到復用器或選擇器20。在處理單元11和12—側,經加密的信息(數據、地址、指令)也通過一個或多個數據、地址或指令總線41或42(ENC BUS)自始至終地行進去往和離開復用器20。
[0040]在所示示例中,設置有用于比較由處理單元11和12處理的信息的電路14。這一電路例如可以比較處理單元112和122的數據或索引寄存器的內容(比較器142),比較加密和解密電路116和126的加密和/解密結果(比較器146),比較從外部元件讀取和由專用于系統的解碼器118和128解碼的信息(比較器148)。
[0041]比較器142、146和148輸出用于驗證能夠被采用以鎖定系統的信息的真實性的一個或多個信號SECUM,以防止在總線上提供數據,復位系統,或者用于根據本申請的任何其他合適的對策。
[0042]復用器或選擇器20由模塊S(CTRL)來控制,模塊8優選地被集成到包含兩個單元11和12的微控制器,以替選地使用兩個單元11和12之一作為有用單元或者復制單元。復用器20的控制可以是隨機的,可以在用戶的控制之下,可以基于由系統執行的應用,可以基于所執行的操作,等等。
[0043]在從外部到處理單元的方向上,兩個單元并行接收信息以執行相同的處理并且實現比較。復用器因此朝著兩個總線41和42分支總線4的信號。然而,在從處理單元到外部的方向上,僅對應于有用處理單元的總線41或42通過控制單元8朝著總線被分支。
[0044]因此,與一般系統相反,兩個處理單元11和12輸出有用信息。因此,攻擊者變得更難以提供多個故障注入以及監控直接或間接信息(消耗或輻射的分析)以獲得信息。
[0045]已經描述的實施例的優點在于,它們不需要總線的信息或者所執行的處理的信息。相反,兩個處理單元11和12盲目地繼續操作,單元處理所有信息,有用單元與復制單元之間的選擇在與能夠使用信息、特別是微控制器內部和/或外部的存儲器的各個功能元件的通信的總線水平執行。
[0046]另一優點在于,操作對于外部而言透明。實際上,電路8管理信息朝著總線4的分支,而沒有其信息意圖必須考慮到信息源自單元11或單元12這一事實的功能電路。
[0047]已經描述了各個實施例。本領域技術人員將想到各種替選、修改和改進。特別地,復用器20的控制的選擇取決于應用以及微處理器中存在的功能。最后,已經描述的實施例的實際實現在本領域技術人員基于上文中給出的功能指示的能力的范圍內。
[0048]這樣的替選、修改和改進意圖作為本公開的部分,并且意圖在本實用新型的精神和范圍內。因此,以上描述僅作為示例,而非意圖限制。本實用新型僅如以下權利要求及其等同方案中定義地被限制。
[0049]可以組合以上描述的各種實施例以提供另外的實施例。可以鑒于以上詳細描述對實施例做出這些和其他變化。通常,在以下權利要求中,所使用的術語不應當被理解為將權利要求限制為本說明書和權利要求中公開的具體實施例,而是應當被理解為包括所有可能的實施例連同這樣的權利要求授權的等同方案的整個范圍。因此,權利要求不受本公開的限制。
【主權項】
1.一種電路,其特征在于,包括: 第一處理單元; 第二處理單元,所述第二處理單元與所述第一處理單元相同; 經加密的通信總線,被布置成在所述第一處理單元和所述第二處理單元中的至少一個處理單元與至少一個功能電路之間傳遞經加密的數據;以及 選擇電路,被布置成在至少三個狀態中的一個狀態下操作,其中: 當所述選擇電路在所述至少三個狀態中的第一狀態下操作時,所述第一處理單元選擇性地耦合到所述經加密的通信總線, 當所述選擇電路在所述至少三個狀態中的第二狀態下操作時,所述第二處理單元選擇性地耦合到所述經加密的通信總線,以及 當所述選擇電路在所述至少三個狀態中的第三狀態下操作時,所述第一處理單元和所述第二處理單元均選擇性地耦合到所述經加密的通信總線。2.根據權利要求1所述的電路,其特征在于,所述選擇電路具有耦合到所述第一處理單元的多個第一雙向輸入、耦合到所述第二處理單元的多個第二雙向輸入、耦合到所述經加密的通信總線的多個雙向輸出、以及控制輸入,所述控制輸入被布置成接收表示所述至少三個狀態中的所選擇的一個狀態的信息。3.根據權利要求2所述的電路,其特征在于,包括: 控制電路,以隨機地生成表示所述至少三個狀態中的所選擇的一個狀態的所述信息。4.根據權利要求2所述的電路,其特征在于,包括: 控制電路,以在用戶的控制之下生成表示所述至少三個狀態中的所選擇的一個狀態的所述信息。5.根據權利要求2所述的電路,其特征在于,包括: 控制電路,以根據由所述第一處理單元和所述第二處理單元中的至少一個處理單元執行的處理來生成表示所述至少三個狀態中的所選擇的一個狀態的所述信息。6.根據權利要求1所述的電路,其特征在于,當所述選擇電路在所述第三狀態下操作時,并行地向所述第一處理單元和所述第二處理單元傳遞從所述經加密的通信總線傳遞的?目息O7.根據權利要求1所述的電路,其特征在于,還包括: 比較電路,被布置成對由所述第一處理單元處理的信息與由所述第二處理單元處理的信息進行比較。8.根據權利要求7所述的電路,其特征在于,所述比較電路被布置成在確定由所述第一處理單元處理的信息與由所述第二處理單元處理的信息之間存在差異時輸出至少一個安全信號。9.根據權利要求8所述的電路,其特征在于,所述至少一個安全信號被布置成提供由所述第一處理單元和所述第二處理單元處理的信息的真實性的指示,以鎖定所述電路、防止在所述經加密的通信總線上提供數據、或者復位所述電路。10.根據權利要求1所述的電路,其特征在于,所述至少一個功能電路包括以下項中的至少一項:存儲經加密的信息的易失性存儲器和存儲經加密的信息的非易失性存儲器中。11.一種安全系統,其特征在于,包括: 第一處理裝置; 第二處理裝置,與所述第一處理裝置相同; 經加密的通信裝置,以在所述第一處理裝置和所述第二處理裝置中的一個處理裝置或兩個處理裝置與功能電路之間傳遞經加密的數據;以及 選擇裝置,能夠在三個狀態中的一個狀態下操作,其中: 當所述選擇裝置在所述至少三個狀態中的第一狀態下操作時,所述第一處理裝置選擇性地耦合到所述經加密的通信裝置, 當所述選擇裝置在所述至少三個狀態中的第二狀態下操作時,所述第二處理裝置選擇性地耦合到所述經加密的通信裝置,以及 當所述選擇裝置在所述至少三個狀態中的第三狀態下操作時,所述第一處理裝置和所述第二處理裝置均選擇性地耦合到所述經加密的通信裝置。12.根據權利要求11所述的安全系統,其特征在于,包括: 用以隨機地將所述選擇裝置的操作指向所述三個狀態中的一個狀態的控制裝置; 用以基于用戶輸入將所述選擇裝置的操作指向所述三個狀態中的一個狀態的控制裝置;或者 用以根據由所述第一處理裝置和所述第二處理裝置中的至少一個處理裝置執行的處理來將所述選擇裝置的操作指向所述三個狀態中的一個狀態的控制裝置。13.根據權利要求11所述的安全系統,其特征在于,還包括: 比較裝置,以將由所述第一處理裝置處理的信息與由所述第二處理裝置處理的信息相比較,其中所述比較裝置在確定由所述第一處理裝置處理的信息與由所述第二處理裝置處理的信息之間存在差異時輸出至少一個安全信號。14.根據權利要求13所述的安全系統,其特征在于,所述至少一個安全信號被布置成提供由所述第一處理單元和所述第二處理單元處理的信息的真實性的指示,以鎖定所述安全系統、防止在所述經加密的通信總線上提供數據、或者復位所述安全系統。15.根據權利要求11所述的安全系統,其特征在于,包括: 讀取、修改或寫入確定裝置,以確定要對所述經加密的數據執行的動作的類型。
【文檔編號】G06F13/40GK205563549SQ201620268643
【公開日】2016年9月7日
【申請日】2016年3月31日
【發明人】M·利薩特, B·杜蘭德, M·塞爾弗托, C·勞倫西恩
【申請人】意法半導體(魯塞)公司