處理器中的狀態(tài)之間的轉移的制作方法
【專利摘要】在一種實現(xiàn)中,提供了包括用于啟用從歸零狀態(tài)到清除狀態(tài)的轉移的邏輯的一種處理器。在另一種實現(xiàn)中,提供了一種處理器,所述處理器包括:用于啟用測試安全狀態(tài)的邏輯,該測試狀態(tài)用于啟用測試功能;用于啟用清除狀態(tài)的邏輯,該清除狀態(tài)用于啟用非安全處理功能并且禁用安全功能;用于啟用從測試安全狀態(tài)到清除狀態(tài)的轉移的邏輯;以及用于啟用完全安全狀態(tài)的邏輯,該完全安全狀態(tài)用于啟用處理功能。在另一種實現(xiàn)中,提供了包括用于禁用從清除狀態(tài)到安全狀態(tài)的轉移的邏輯的一種處理器。
【專利說明】處理器中的狀態(tài)之間的轉移
[0001]相關申請的交叉引用
本申請要求2011年7月18日提交的第61/509,078號美國臨時專利申請的優(yōu)先權,本文通過弓I用將其全部內容包含在內。
【背景技術】
[0002]集成電路被利用于許多電子設備和系統(tǒng)中。設計、測試和制造集成電路通常遵循設計流程。依賴于設計流程的階段,集成電路可以啟用(enable)多個模式之一。狀態(tài)機可以被用來說明集成電路的行為、或狀態(tài)。
【專利附圖】
【附圖說明】
[0003]圖1是根據(jù)一種或多種實現(xiàn)的處理器的示例性示意框圖。
[0004]圖2是根據(jù)一種實現(xiàn)的示例性狀態(tài)機。
[0005]圖3是根據(jù)一種實現(xiàn)的示例性清除(clear)狀態(tài)和歸零(zeroize)狀態(tài)。
[0006]圖4是根據(jù)一種實現(xiàn)的示例性清除狀態(tài)、測試安全狀態(tài)和完全安全狀態(tài)。
[0007]圖5是根據(jù)一種實現(xiàn)的示例性清除狀態(tài)、測試安全狀態(tài)、完全安全狀態(tài)、和歸零狀態(tài)。
[0008]圖6是根據(jù)一種實現(xiàn)的示例性暫時安全狀態(tài)、非易失性安全狀態(tài)和完全安全狀態(tài)。
[0009]圖7是根據(jù)一種實現(xiàn)的表示狀態(tài)機的邏輯示圖的示例性圖示。
【具體實施方式】
[0010]例如微處理器的常見處理器不為存儲在微處理器芯片外部的代碼或數(shù)據(jù)提供安全。安全微處理器提供對外部總線上所有數(shù)據(jù)的加密。聯(lián)邦信息處理標準(FIPS)HO系列是美國政府計算機安全標準,其規(guī)定了對密碼術模塊的要求。
[0011]在安全微處理器中,當處于安全狀態(tài)時,在微處理器失效或破壞時可以擦除安全數(shù)據(jù)并且微處理器歸零。由于潛在的存儲器印記(imprinting),微處理器可能被丟棄并且不被回收以供再使用。
[0012]然而,在安全處理器利用非印記過程以避免在存儲器中印記安全數(shù)據(jù)的情況下,在失效或破壞時不必丟棄微處理器。
[0013]如本文所討論的,提供了具有處理器的裝置。處理器可以包括控制處理器的狀態(tài)的狀態(tài)機。處理器可以包括用于啟用歸零狀態(tài)的邏輯,該歸零狀態(tài)是安全禁用故障狀態(tài);用于啟用清除狀態(tài)的邏輯,該清除狀態(tài)用于啟用非安全處理功能并且禁用安全功能;以及用于啟用從歸零狀態(tài)到清除狀態(tài)的轉移的邏輯。通過提供從歸零狀態(tài)轉移到清除狀態(tài)的能力,處理器可以被回收和再使用。
[0014]如本文進一步討論的,在安全狀態(tài)內,可以實現(xiàn)測試安全狀態(tài)和完全安全狀態(tài)。通過提供測試安全狀態(tài)和完全安全狀態(tài),相同的處理器可以被測試并且然后被轉移到完全安全狀態(tài)中,從而確保處理器的質量。另外地,其允許在測試狀態(tài)中安全處理的完全操作,從而實現(xiàn)安全引導代碼的發(fā)展以及解密和簽名驗證操作的發(fā)展。例如,處理器可以包括用于啟用測試安全狀態(tài)的邏輯,該測試狀態(tài)用于啟用測試功能;用于啟用清除狀態(tài)的邏輯,該清除狀態(tài)用于啟用非安全處理功能并且禁用安全功能;用于啟用從清除狀態(tài)到測試安全狀態(tài)的轉移的邏輯;用于啟用從測試安全狀態(tài)到清除狀態(tài)的轉移的邏輯;用于啟用完全安全狀態(tài)的邏輯,該完全安全狀態(tài)用于啟用處理功能;以及用于啟用從清除狀態(tài)到完全安全狀態(tài)的轉移的邏輯。
[0015]如本文進一步討論的,可以利用例如集成熔絲控制配置的配置,這不允許或允許使安全特征對于用戶是可訪問的。這允許制造商建造一個芯片并且針對不同價格以多種方式來出售它。例如,處理器可以包括用于啟用安全狀態(tài)的邏輯,該狀態(tài)用于啟用安全處理功能;用于啟用清除狀態(tài)的邏輯,該清除狀態(tài)用于啟用非安全處理功能;以及禁用從清除狀態(tài)到安全狀態(tài)的轉移的邏輯。
[0016]圖1是根據(jù)一種或多種實現(xiàn)的包括狀態(tài)機和存儲器的處理器的示意性框圖。處理器100可以包括狀態(tài)機102、存儲器104、和密鑰(key) 106。處理器100是各種處理器中的任何一種。例如,處理器100可以是被實現(xiàn)為硬件模塊和/或托管在硬件模塊處的軟件模塊的通用處理器或專用處理器。硬件模塊可以是例如微處理器、微控制器、專用集成電路(“ASIC”)、諸如現(xiàn)場可編程門陣列(“FPGA”)的可編程邏輯設備(“PLD”)、和/或執(zhí)行操作的其他電子電路。軟件模塊可以是例如在存儲器處被存儲并且在另一個處理器處被運行的指令、命令、和/或代碼。使用諸如Java?、C++、C、匯編語言、硬件描述語言、和/或其他合適的編程語言之類的一種或多種編程語言可以定義此類軟件模塊。
[0017]在一些實現(xiàn)中,處理器100可以包括多個處理器。例如,處理器100可以是包括多個處理引擎(例如,計算、算法或線程核心)的微處理器。作為另一個示例,處理器100可以在包括具有共享時鐘、存儲器總線、輸入/輸出總線、和/或其他共享資源的多個處理器的計算設備處。此外,處理器100可以是分布式處理器。例如,處理器100可以包括其中每個都包括處理器的多個計算設備,所述多個計算設備中的一個與另一個經(jīng)由諸如計算機網(wǎng)絡之類的通信鏈路進行通信。
[0018]狀態(tài)機102可以被實現(xiàn)為以硬件來實現(xiàn)的有限狀態(tài)機,并且可以根據(jù)一個或多個狀態(tài)來啟用處理器100中的功能。狀態(tài)機可以是非易失性的,以使得利用關機循環(huán)來維護安全。狀態(tài)機可以使得處理器能夠以下面的狀態(tài)之一來操作:清除狀態(tài),其中禁用所有安全特征;安全狀態(tài),其中安全特征是活動的;以及歸零狀態(tài),這是安全禁用故障狀態(tài)。該過程通過允許狀態(tài)在某些情況之下從安全狀態(tài)恢復到清除狀態(tài)而允許容易地開發(fā)安全軟件,并且通過允許狀態(tài)在某些情況之下從歸零狀態(tài)移動到清除狀態(tài)而允許失效的單元被修復和重新部署。軟件開發(fā)、測試、制造、和初始化是簡單的。結果所得的結構可以由安全標準主體來驗證并且是服從FIPS-140的。
[0019]存儲器104可以存儲密鑰106。密鑰106可以被實現(xiàn)為例如安全密鑰。雖然描繪了僅一個密鑰,但是存儲器104可以存儲多個密鑰。處理器100可以向安全密鑰106提供功能,例如在存儲器104中不印記密鑰106、例如快速歸零的歸零、防止非預期的讀取和寫入的安全訪問等。在一種實現(xiàn)中,存儲器104是非易失性(或非暫時性)存儲器。存儲器可以由促進對存儲在存儲器中的密鑰進行管理的存儲器控制模塊(未示出)來控制。存儲器控制模塊可以位于處理器100上。存儲器控制模塊可以包括電路、托管在該電路處的軟件、或其組合,以便寫入和擦除存儲在存儲器中的密鑰。
[0020]密鑰106是諸如密碼密鑰的數(shù)據(jù)集,其被處理器100訪問以供在諸如托管在計算設備處的密碼服務之類的一個或多個應用內使用。換句話說,處理器100在存儲器控制模塊240處請求密鑰106、使用密鑰106以基于存儲在存儲器230處的指令或代碼來執(zhí)行密碼術過程。
[0021]圖2描繪根據(jù)一種實現(xiàn)的狀態(tài)機的示例。如圖2中所示出的,狀態(tài)機被描繪成具有三個狀態(tài):清除狀態(tài)202、安全狀態(tài)204、和歸零狀態(tài)206。
[0022]狀態(tài)機可以使得處理器能夠以下面的狀態(tài)之一來操作:清除狀態(tài)202,這是其中所有安全特征都被禁用的默認狀態(tài);安全狀態(tài)204,其中安全特征是活動的;以及歸零狀態(tài)206,這是安全禁用故障狀態(tài)。
[0023]清除狀態(tài)202允許處理器作為常規(guī)的、非安全處理器來操作。當處理器處于清除狀態(tài)時,密鑰可以被加載到存儲器中。
[0024]在使安全特征可供處理功能訪問的情況下,使得該常規(guī)處理器能夠從清除狀態(tài)202轉移到安全狀態(tài)204的邏輯可以被提供。該邏輯可以被實現(xiàn)為例如熔絲、反熔絲、物理不可克隆功能(PUF)、或其他類似技術,以啟用或禁用有限次數(shù)的轉移。
[0025]安全狀態(tài)204允許處理器以安全狀態(tài)來操作。當處理器處于安全狀態(tài)時,密鑰可以被加載到存儲器中。
[0026]歸零狀態(tài)206是其中存儲器中的密鑰由于例如安全違反、致命故障等而被歸零的狀態(tài)。
[0027]歸零可以是快速寫過程,例如其首先在存儲器中的密鑰之上寫入全“ I ”,然后用全“O”來重寫存儲器??商娲兀梢岳闷渌貙戇^程,以使得在存儲器中擦除密鑰。
[0028]以下表示圖2中所述的初始狀態(tài)、最終狀態(tài)、和每個轉移的原因。與本文所討論的其他轉移一起,這些轉移可以由硬件、軟件、或者硬件或軟件的組合來控制。
【權利要求】
1.一種裝置,包括: 處理器包括 用于啟用歸零狀態(tài)的邏輯,所述歸零狀態(tài)是安全禁用故障狀態(tài); 用于啟用清除狀態(tài)的邏輯,所述清除狀態(tài)用于啟用非安全處理功能并且禁用安全功能;以及 用于啟用從所述歸零狀態(tài)到所述清除狀態(tài)的轉移的邏輯。
2.權利要求1的裝置,所述處理器進一步包括: 用于啟用安全狀態(tài)的邏輯,所述安全狀態(tài)用于啟用安全處理功能; 用于啟用從所述安全狀態(tài)到所述歸零狀態(tài)的轉移的邏輯;以及 用于啟用從所述清除狀態(tài)到所述安全狀態(tài)的轉移的邏輯。
3.權利要求2的裝置,其中所述安全狀態(tài)包括: 用于啟用測試安全狀態(tài)的邏輯,所述測試狀態(tài)用于啟用測試功能; 用于啟用從測試安全狀態(tài)到所述清除狀態(tài)的轉移的邏輯;以及 用于啟用完全安全狀態(tài)的邏輯,所述完全安全狀態(tài)用于啟用安全處理功能。
4.權利要求3的裝置,其中所述測試安全狀態(tài)包括: 用于啟用暫時安全狀態(tài)的邏輯,所述暫時安全狀態(tài)用于啟用所述測試功能; 用于從所述暫時安全狀態(tài)轉移到所述清除狀態(tài)的邏輯;其中基于重置脈沖來啟用從所述暫時安全狀態(tài)到所述清除狀態(tài)的轉移; 用于啟用非易失性安全狀態(tài)的邏輯,所述非易失性安全狀態(tài)用于啟用所述測試功能;以及 用于從所述非易失性安全狀態(tài)轉移到所述清除狀態(tài)的邏輯;其中基于電源失去來啟用從所述非易失性安全狀態(tài)到所述清除狀態(tài)的轉移。
5.一種裝置,包括: 處理器包括 用于啟用測試安全狀態(tài)的邏輯,所述測試狀態(tài)用于啟用測試功能; 用于啟用清除狀態(tài)的邏輯,所述清除狀態(tài)用于啟用非安全處理功能并且禁用安全功倉泛; 用于啟用從清除狀態(tài)到所述測試安全狀態(tài)的轉移的邏輯; 用于啟用從測試安全狀態(tài)到清除狀態(tài)的轉移的邏輯; 用于啟用完全安全狀態(tài)的邏輯,所述完全安全狀態(tài)用于啟用所述處理功能;以及 用于啟用從清除狀態(tài)到完全安全狀態(tài)的轉移的邏輯。
6.權利要求5的裝置,進一步包括: 用于啟用歸零狀態(tài)的邏輯,所述歸零狀態(tài)是安全禁用故障狀態(tài); 用于啟用從所述完全安全狀態(tài)到所述歸零狀態(tài)的轉移的邏輯。
7.權利要求5的裝置,其中所述測試狀態(tài)包括 用于啟用暫時安全狀態(tài)的邏輯,所述暫時安全狀態(tài)用于啟用所述測試功能; 用于從所述暫時安全狀態(tài)轉移到所述清除狀態(tài)的邏輯;其中基于重置脈沖來啟用從所述暫時安全狀態(tài)到所述清除狀態(tài)的轉移; 用于啟用非易失性安全狀態(tài)的邏輯,所述非易失性安全狀態(tài)用于啟用所述測試功能;以及 用于從所述非易失性安全狀態(tài)轉移到所述清除狀態(tài)的邏輯,其中基于電源失去來啟用從所述非易失性安全狀態(tài)到所述清除狀態(tài)的轉移。
8.權利要求7的裝置,進一步包括: 用于在接收到重置脈沖時將處理器保持的邏輯。
9.權利要求5的裝置,進一步包括: 用于啟用從所述測試安全狀態(tài)到所述完全安全狀態(tài)的轉移的邏輯。
10.權利要求5的裝置,進一步包括: 用于啟用從所述清除狀態(tài)到所述完全安全狀態(tài)的轉移的邏輯。
11.一種裝置,包括: 處理器包括: 用于啟用安全狀態(tài)的邏輯,所述狀態(tài)用于啟用安全處理功能; 用于啟用清除狀態(tài)的邏輯,所述清除狀態(tài)用于啟用非安全處理功能;以及 用于禁用從清除狀態(tài)到安全狀態(tài)的轉移的邏輯。
12.權利要求11的裝置,進一步包括: 用于啟用從所述清除狀態(tài)到所述安全狀態(tài)的被禁用轉移的邏輯。
13.權利要求11的裝置,所`述安全狀態(tài)包括 用于啟用測試安全狀態(tài)的邏輯,所述測試狀態(tài)用于啟用測試功能;以及 用于啟用完全安全狀態(tài)的邏輯,所述完全安全狀態(tài)用于啟用安全處理功能。
14.權利要求13的裝置,其中所述測試安全狀態(tài)包括: 用于啟用暫時安全狀態(tài)的邏輯,所述暫時安全狀態(tài)用于啟用所述測試功能; 用于啟用非易失性安全狀態(tài)的邏輯,所述非易失性安全狀態(tài)用于啟用所述測試功能。
15.權利要求14的裝置,進一步包括: 用于從所述暫時安全狀態(tài)轉移到所述清除狀態(tài)的邏輯;其中基于重置脈沖來啟用從所述暫時安全狀態(tài)到所述清除狀態(tài)的轉移; 用于從所述非易失性安全狀態(tài)轉移到所述清除狀態(tài)的邏輯;其中基于電源失去來啟用從所述非易失性安全狀態(tài)到所述清除狀態(tài)的轉移。
【文檔編號】G06F11/22GK103733204SQ201280035506
【公開日】2014年4月16日 申請日期:2012年2月8日 優(yōu)先權日:2011年7月18日
【發(fā)明者】T.A.哈德利 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)