專利名稱::用于保護集成電路裝置的孤立秘密數(shù)據(jù)的電路設備和方法
技術(shù)領域:
:本發(fā)明一般涉及計算系統(tǒng),并且更具體地說,涉及保護在計算系統(tǒng)中的集成電路裝置上存儲的秘密數(shù)據(jù)。
背景技術(shù):
:現(xiàn)代計算系統(tǒng),不管是個人的還是商業(yè)的,常常包括專用于主秘密數(shù)據(jù)的存儲器的安全扇區(qū),該主秘密數(shù)據(jù)一般包含初始化數(shù)據(jù)、初始化設置、注冊表文件、密碼、密鑰、以及在有限的基礎上對于元件、應用、和計算機的操作人員是可訪問的其它敏感信息。主秘密數(shù)據(jù)常常在引導期間使用,以加密/解密信息,或用于安全操作。因而,主秘密數(shù)據(jù)常常在計算系統(tǒng)中存儲的數(shù)據(jù)的最重要部分中,因為它允許計算系統(tǒng)引導信息、使信息安全、讀取安全的信息、和一般操作。在最近幾年,計算系統(tǒng)的安全性已經(jīng)成為日益重要的問題。典型地,計算系統(tǒng)的操作人員擔心電氣存儲信息的安全性,其包括主秘密數(shù)據(jù),并且禁止對它的未授權(quán)的存取。獲得未授權(quán)的存取的典型方法包括將病毒或蠕蟲病毒加載到計算系統(tǒng)上、將軟件鍵盤記錄器或封包探測器加載到計算系統(tǒng)上、將基于硬件的鍵盤記錄器附裝到計算系統(tǒng)上、在與計算系統(tǒng)通信的計算機網(wǎng)絡上配置封包探測器、和對計算系統(tǒng)的直接硬件攻擊。因而,有多種方式試圖獲得對計算系統(tǒng)數(shù)據(jù)的未授權(quán)的存取。然而,由于主秘密數(shù)據(jù)對于計算系統(tǒng)的操作特別是必不可少的,所以額外措施典型地用于防止未授權(quán)的存取。使計算系統(tǒng)安全的最近發(fā)展一般包括,提供保護集成電路的主秘密數(shù)據(jù)的安全狀態(tài)機。安全狀態(tài)機典型地配置成,通過在一定情況下,如當計算系統(tǒng)關(guān)閉或當有正在嘗試未授權(quán)的存取的指示時,防止對主秘密數(shù)據(jù)的存取,從而保護主秘密數(shù)據(jù)。然而,在計算系統(tǒng)正在運行的同時以及當計算系統(tǒng)斷電時,安全狀態(tài)機一般易受基于硬件的攻擊。具體地說,典型的安全狀態(tài)機易受定時攻擊,這些定時攻擊改變計算系統(tǒng)的時鐘電路,因此強迫安全狀態(tài)機進入錯誤狀態(tài)并且使主秘密數(shù)據(jù)易受攻擊。此外,主秘密數(shù)據(jù)典型地存儲在集成電路的存儲器的非易失性區(qū)域中。因而,配置有主秘密數(shù)據(jù)的集成電路易受硬件攻擊,如直接連接或去層(de-layering)攻擊。常規(guī)直接連接攻擊直接將通信引腳附裝到主秘密數(shù)據(jù)的區(qū)域上,并且捕獲該主秘密數(shù)據(jù),而去層常常包括除去集成電路的至少一個層,以直接讀取主秘密數(shù)據(jù)的存儲器位置和捕獲該主秘密數(shù)據(jù)。因此,常規(guī)安全狀態(tài)機典型地使集成電路易受基于硬件的攻擊和未授權(quán)的存取。因此,有對于在基于硬件的攻擊期間使主秘密數(shù)據(jù)安全的需要。
發(fā)明內(nèi)容本發(fā)明的實施例提供一種電路設備、一種方法、和一種設計結(jié)構(gòu),以通過將安全狀態(tài)機和主秘密電路與集成電路裝置的時鐘電路相隔離而控制對集成電路裝置中的主秘密數(shù)據(jù)的存取。以這種方式,集成裝置的安全狀態(tài)可以被異步地控制,并且在主秘密電路中存儲的主秘密數(shù)據(jù)可以被異步地寫入和/或存取,從而避免在配置成保護主秘密數(shù)據(jù)的常規(guī)電路設備中找到至少某些缺陷。本發(fā)明的實施例供用于控制對于主秘密數(shù)據(jù)的存取的電路設備之用,其中主秘密數(shù)據(jù)布置在集成電路裝置的至少一個永久區(qū)域的至少一部分中。在一些實施例中,電路設備包括響應外部時鐘信號的時鐘電路;配置成控制集成電路裝置的安全狀態(tài)的安全狀態(tài)機;和主秘密電路,與安全狀態(tài)機通信,并且配置成通過選擇性地擦除主秘密數(shù)據(jù)的一部分而控制對主秘密數(shù)據(jù)的存取。在那些實施例中,安全狀態(tài)機和主秘密電路可以與集成電路裝置的時鐘電路相隔離。因而,安全狀態(tài)機配置成異步地改變集成電路裝置的安全狀態(tài),而主秘密電路配置成異步地擦除主秘密數(shù)據(jù)的部分。因此,安全狀態(tài)機和主秘密電路可以耐受定時攻擊,并且電路設備的實施例可以配置成,在定時攻擊期間禁止對主秘密數(shù)據(jù)的存取。按照如下附圖和詳細描述,這些和其它優(yōu)點將是顯然的。包括在本說明書中和構(gòu)成其一部分的附圖表明本發(fā)明的實施例,并且與以上給出的本發(fā)明的一般描述和下面給出的實施例的詳細描述一道,用于解釋本發(fā)明的原理。圖1是與本發(fā)明實施例相一致的計算系統(tǒng)的方塊圖,該計算系統(tǒng)可以包括具有異步定時的主秘密電路的集成電路裝置;圖2是與本發(fā)明實施例相一致的并行處理計算系統(tǒng)的方塊圖,該并行處理計算系統(tǒng)可以包括具有異步定時的主秘密電路的集成電路裝置;圖3是與本發(fā)明實施例相一致的電路設備的示意圖,該電路設備用于具有異步定時的主秘密電路和異步定時的安全狀態(tài)機的集成電路裝置,以保護主秘密數(shù)據(jù);圖4是表明與本發(fā)明的實施例相一致的圖3的電路設備的安全狀態(tài)轉(zhuǎn)移的流程圖;以及圖5是表明與本發(fā)明實施例相一致的、響應來自電源電路、事件電路、和圖3的電路設備的其它元件的輸入的安全狀態(tài)轉(zhuǎn)移、以及在轉(zhuǎn)移之前和之后的電路設備的安全狀態(tài)機的二進制輸出的表格。具體實施例方式本發(fā)明的實施例提供一種電路設備、一種方法、以及一種設計結(jié)構(gòu),以控制對集成電路裝置中的主秘密數(shù)據(jù)的存取。現(xiàn)代處理單元,并且具體地說布置在典型的計算系統(tǒng)、多處理器計算系統(tǒng)、共享存儲器計算系統(tǒng)、和/或并行計算系統(tǒng)中的處理單元,典型地包括多個集成電路。這些處理單元或集成電路裝置,常常存儲敏感系統(tǒng)信息或主秘密數(shù)據(jù)。該主秘密數(shù)據(jù)可以包括可用于使系統(tǒng)安全的引導代碼、主密鑰、文件記錄等。因而,有利的是,保護主秘密數(shù)據(jù)免于檢索該數(shù)據(jù)的嘗試。然而,難以防止利用基于硬件的攻擊來檢索主秘密數(shù)據(jù)的某些嘗試。例如,難以防止存取主秘密數(shù)據(jù)的基于時鐘的攻擊,因為時鐘電路用于將脈沖提供給集成電路裝置,這使集成電路裝置的集成電路執(zhí)行至少一條指令。此外,常常期望的是,將主秘密數(shù)據(jù)存儲在非易失性區(qū)域中。因而,非易失性區(qū)域可以被去層,以直接從集成電路裝置讀取數(shù)據(jù)。與本發(fā)明相一致的實施例提供一種電路設備、一種方法、以及一種設計結(jié)構(gòu),以通過響應集成電路裝置的安全狀態(tài)來選擇性地擦除主秘密數(shù)據(jù)的至少一部分,從而控制對集成電路裝置中的主秘密數(shù)據(jù)的存取。具體地說,本發(fā)明的實施例供控制對主秘密數(shù)據(jù)的存取的電路設備之用,其中主秘密數(shù)據(jù)布置在集成電路裝置的至少一個永久區(qū)域的至少一部分中。在一些實施例中,電路設備包括響應外部時鐘信號的時鐘電路;配置成控制集成電路裝置的安全狀態(tài)的安全狀態(tài)機;以及主秘密電路,與安全狀態(tài)機通信,并且配置成通過選擇性地擦除主秘密數(shù)據(jù)的一部分來控制對主秘密數(shù)據(jù)的存取。在那些實施例中,安全狀態(tài)機和主秘密電路可以與集成電路裝置的時鐘電路相隔離。因而,安全狀態(tài)機配置成異步地改變集成電路裝置的安全狀態(tài),而主秘密電路配置成異步地擦除主秘密數(shù)據(jù)的部分。因此,安全狀態(tài)機和主秘密電路可以耐受定時攻擊,并且電路設備的實施例可以配置成,在定時攻擊期間禁止對主秘密數(shù)據(jù)的存取。此外,在一些實施例中,安全狀態(tài)機和主秘密電路可以布置在至少一個永久區(qū)域中,該永久區(qū)域可以是電池備份的永久區(qū)域。因而,安全狀態(tài)機和主秘密電路可以配置成,在集成電路的其余部分斷電時操作。另外,響應于對集成電路裝置進行去層可以擦除主秘密數(shù)據(jù),其會必要地中斷到至少一個永久區(qū)域的電力信號。在另外的具體實施例中,集成電路裝置的至少一個永久區(qū)域可以與時鐘電路相隔離。在一些實施例中,安全狀態(tài)機配置成使主秘密電路復位,以選擇性地擦除主秘密數(shù)據(jù)的部分。此外,在一些實施例中,電路設備包括至少一個映像寄存器,該映像寄存器與主秘密電路通信,并且配置成從主秘密電路捕獲主秘密數(shù)據(jù)的至少一部分和將新的主秘密數(shù)據(jù)的至少一部分傳送到主秘密電路。此外,至少一個映像寄存器可以與安全狀態(tài)機通信,并且配置成推進(advance)集成電路裝置的安全狀態(tài)。在那些實施例中,推進集成電路裝置的安全狀態(tài)可以包括從包括如下的組中選擇的推進從零安全狀態(tài)到初始化的安全狀態(tài)的推進、從初始化的安全狀態(tài)到安全的安全狀態(tài)的推進、從安全的安全狀態(tài)到觸發(fā)的安全狀態(tài)的推進、或從觸發(fā)的安全狀態(tài)到零安全狀態(tài)的推進。在一些實施例中,電路設備包括檢測集成電路裝置的篡改事件的篡改事件電路。在那些實施例中,安全狀態(tài)機響應篡改事件電路,以在篡改事件的情況下將集成電路裝置的安全狀態(tài)從安全的安全狀態(tài)變到觸發(fā)的安全狀態(tài)。在其它實施例中,電路設備包括通電檢測電路,該通電檢測電路與安全狀態(tài)機通信,并且配置成監(jiān)視到集成電路裝置的至少一個永久區(qū)域的電力信號。在那些實施例中,安全狀態(tài)機響應通電檢測電路,以嘗試在到永久區(qū)域的電力信號不是在已知足夠良好的條件下時的任一點處,將集成裝置的安全狀態(tài)從任一安全狀態(tài)變到觸發(fā)的安全狀態(tài),并且在具體實施例中,當電力信號初始供給到至少一個永久區(qū)域時,安全狀態(tài)機響應以將集成電路裝置的安全狀態(tài)變到觸發(fā)的安全狀態(tài)。在另外的其它實施例中,電路設備包括通電復位電路,該通電復位電路與安全狀態(tài)機通信,并且配置成檢測集成電路裝置的復位。在那些實施例中,安全狀態(tài)機響應通電復位電路,以在集成電路裝置的復位的情況下將集成電路裝置的安全狀態(tài)從觸發(fā)的安全狀態(tài)變到零安全狀態(tài)。在具體實施例中,主秘密電路響應集成電路裝置的零安全狀態(tài)和/或觸發(fā)的安全狀態(tài),以選擇性地擦除主秘密數(shù)據(jù)的至少一部分。在另外的具體實施例中,主秘密電路響應集成電路裝置的零安全狀態(tài)和/或觸發(fā)的安全狀態(tài),以選擇性地擦除所有主秘密數(shù)據(jù)。—種處理單元或一種計算系統(tǒng)可以包括集成電路裝置的實施例。硬件和軟件環(huán)境轉(zhuǎn)到附圖,其中在幾張視圖中相同的附圖標記表示相同的部分,圖l表明用于計算系統(tǒng)10的硬件和軟件環(huán)境,該計算系統(tǒng)10可以包括與本發(fā)明實施例相一致的集成電路裝置(下文,為"ICD")。為了本發(fā)明的目的,計算系統(tǒng)10可以代表任何類型的計算機、計算機系統(tǒng)、計算系統(tǒng)、服務器、盤陣列、或可編程裝置,諸如多用戶計算機、單用戶計算機、手持裝置、聯(lián)網(wǎng)裝置、移動電話、游戲系統(tǒng)等。計算系統(tǒng)io可以使用一個或更多個聯(lián)網(wǎng)計算機,例如在群集或其它分布式計算系統(tǒng)中實施。為了簡潔起見,計算系統(tǒng)10將稱作"計算機",盡管應該認識到,術(shù)語"計算系統(tǒng)"也可以包括與本發(fā)明實施例相一致的其它適當?shù)目删幊屉娮友b置。計算機10典型地包括至少一個處理單元12(表明為"CPU"),該處理單元12耦接到存儲器14以及幾個不同類型的外圍設備上,如大容量存儲裝置16、用戶接口18(包括例如用戶輸入裝置和顯示器)、以及網(wǎng)絡接口20上。存儲器14可以包括動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)、非易失性隨機存取存儲器(NVRAM)、永久存儲器、閃速存儲器、和/或另一種數(shù)字存儲介質(zhì)。大容量存儲裝置16也可以是數(shù)字存儲介質(zhì),包括至少一個硬盤驅(qū)動器,并且可以位于計算機10外部,如在分離封裝中或在一個或更多個聯(lián)網(wǎng)計算機21、一個或更多個聯(lián)網(wǎng)存儲裝置22(包括例如磁帶驅(qū)動器)、和/或一個或更多個其它聯(lián)網(wǎng)裝置23(包括例如服務器)中。計算機10可以通過網(wǎng)絡24與聯(lián)網(wǎng)計算機、聯(lián)網(wǎng)存儲裝置22、和/或聯(lián)網(wǎng)裝置23通信。如在圖1中表明的那樣,計算機10包括一個處理單元12,在不同實施例中,該處理單元12可以是單線程的、多線程的(例如,由InternationalBusinessMachines["IBM"]ofArmonk,NY銷售的PowerPC微處理器)、多核(例如,由AdvancedMicroDevice,Inc.["AMD"]銷售的Opteron雙核處理器)、和/或多元件處理單元(例如,由IBM、曰本東京的SonyComputerEntertainment、禾口曰本東京的Toshiba聯(lián)合開發(fā)的CellBroadbandEngineArchitecture處理器),如在現(xiàn)有技術(shù)中熟知的那樣。在可選擇實施例中,計算機10可以包括多個處理單元12,這些處理單元12可以包括單線程處理單元、多線程處理單元、多核處理單元、多元件處理單元、和/或其組合,如在現(xiàn)有技術(shù)中熟知的那樣。類似地,存儲器14可以包括一個或更多個水平的數(shù)據(jù)、指令和/或組合高速緩沖存儲器,其中高速緩沖存儲器服務于單獨的處理單元或多個處理單元,如在現(xiàn)有技術(shù)中熟知的那樣。在一些實施例中,計算機10也可以配置為分布式計算環(huán)境的成員,并且通過網(wǎng)絡24與該分布式計算環(huán)境的其它成員通信。計算機10的存儲器14可以包括操作系統(tǒng)26,以按在現(xiàn)有技術(shù)中熟知的方式控制計算機10的基本操作。在具體實施例中,操作系統(tǒng)26可以是Unix類操作系統(tǒng),如Li皿x。存儲器14也可以包括至少一個應用28、或其它軟件程序,配置成與操作系統(tǒng)26共同地執(zhí)行和完成任務??梢允褂闷渌僮飨到y(tǒng),如Windows、Mac0S、或基于Unix的操作系統(tǒng)(例如RedHat、Debian、DebianGNU/li皿x等)。圖2是表示用于并行處理計算系統(tǒng)30(下文為"系統(tǒng)30")的可選擇硬件和軟件環(huán)境的圖示說明,該并行處理計算系統(tǒng)30可以包括與本發(fā)明實施例相一致的集成電路裝置。系統(tǒng)30可以包括多個節(jié)點32,這些節(jié)點32每個均包括至少一個處理單元34(表明為"CPU"34)和存儲器36,該存儲器36可以包括本地和/或遠程高速緩沖存儲器。存儲器36可以包括DRAM、SRAM、NVRAM、永久存儲器、閃速存儲器、和/或另一種數(shù)字存儲介質(zhì)。如在圖2中表明的那樣,系統(tǒng)30包括一個處理單元34,該處理單元34可以是單線程的、多線程的、多核、和/或多元件處理單元,如在現(xiàn)有技術(shù)中熟知的那樣。在可選擇實施例中,系統(tǒng)30可以包括多個處理單元34,這些處理單元34可以包括單線程處理單元、多線程處理單元、多核處理單元、多元件處理單元、和/或其組合,如在現(xiàn)有技術(shù)中熟知的那樣。類似地,存儲器36可以包括一個或更多個水平的數(shù)據(jù)、指令和/或組合高速緩沖存儲器,其中高速緩沖存儲器服務于單獨的處理單元或多個處理單元,如在現(xiàn)有技術(shù)中熟知的那樣。每個節(jié)點32還可以包括I/O控制器38,以控制在處理單元34與至少一個I/O連接40、至少一個網(wǎng)卡42、和至少一個舊式連接44之間的通信。因而,系統(tǒng)30的每個節(jié)點32可以配置成,通過I/O連接40、網(wǎng)卡42、和/或舊式連接44與其它節(jié)點、系統(tǒng)30的其它元件(如存儲資源或服務器)、以及系統(tǒng)30通信,如在現(xiàn)有技術(shù)中熟知的那樣。此外,每個節(jié)點32可以包括操作系統(tǒng)46和應用48。操作系統(tǒng)46可以是簡化功能操作系統(tǒng),該簡化功能操作系統(tǒng)配置成當應用48處理工作負荷的任務時管理工作負荷和應用48。然而,操作系統(tǒng)46可以不,并且有利地不,包括通常與典型的個人計算操作系統(tǒng)相關(guān)聯(lián)的某些功能,包括軟件、例程、元件、或程序代碼,以支持各種1/0裝置、錯誤診斷及恢復等。因而,操作系統(tǒng)46可以不包括在操作系統(tǒng)26中出現(xiàn)的功能。在具體實施例中,操作系統(tǒng)46可以包括Unix類操作系統(tǒng)的簡化版本,如Linux。可以使用其它操作系統(tǒng),并且不必要的是,所有節(jié)點32都采用相同的操作系統(tǒng)。因而,應用48可以是"多平臺"應用,并且是可操作的,以跨過多個不同的操作系統(tǒng)或操作環(huán)境安裝。因此,應用48可以配置成,通過網(wǎng)卡42與其它應用(例如,同一應用48的其它實例、或配置成與應用48互操作的其它應用)通信。用于每個應用48的數(shù)據(jù)的、或來自每個應用48的數(shù)據(jù)的本地復制,可以保存在文件高速緩沖存儲器(未表示)中的存儲器36的某部分中。如在圖2中表明的那樣,至少一個節(jié)點32可以布置到封裝50中,該封裝50又可以布置在機殼52中。在一些實施例中,每個封裝50可以包括多個節(jié)點32,并且在具體實施例中,兩個節(jié)點32可以安裝到節(jié)點卡(未表示)上,其中的十七個布置在封裝50中。在可選擇實施例中,每個封裝可以包括節(jié)點的異機種的組合,如主節(jié)點(未表示),該主節(jié)點包括至少一個多芯處理單元,并且配置成控制多個加速器節(jié)點、將至少一個任務發(fā)送到多個加速器節(jié)點、以及管理多個加速器節(jié)點(未表示),這些加速器節(jié)點的每一個包括至少一個多元件處理單元,以處理至少一個任務。系統(tǒng)30可以包括在54處所示的多個機殼52。因此,系統(tǒng)30可以包括可伸縮的單元狀體系結(jié)構(gòu),該可伸縮的單元狀體系結(jié)構(gòu)在系統(tǒng)30按比例增大時可按規(guī)則圖案復制以減少瓶頸,并且配置成以并行方式處理工作負荷和至少一個任務。在具體實施例中,每個節(jié)點32可以配置成,處理工作負荷和/或一個或更多個任務,以及通過經(jīng)相應網(wǎng)卡42與那些節(jié)點通信而與多個其它節(jié)點32合作,以按并行方式處理工作負荷和/或一個或更多個任務,如在現(xiàn)有技術(shù)中熟知的那樣。盡管在圖2中表示一個網(wǎng)卡42,但每個節(jié)點32可以包括多個網(wǎng)卡42或其它網(wǎng)絡連接。因而,每個節(jié)點32可以配置成通過不同網(wǎng)絡(未表示)與系統(tǒng)30或其它節(jié)點32通信。例如,每個節(jié)點32可以通過圓環(huán)形網(wǎng)絡(未表示)與每個其它節(jié)點32通信。此外,各個節(jié)點32可以自定義配置成完成各種功能。因而,系統(tǒng)30的某些節(jié)點32可以配置為計算節(jié)點(例如,接收工作負荷和/或至少一個任務,并且處理該工作負荷和/或至少一個任務)、I/O節(jié)點(例如,管理到和/8或來自系統(tǒng)30的其余部分和每個計算節(jié)點的通信)、管理節(jié)點(例如,管理系統(tǒng)30和接收工作負荷和/或至少一個任務)、和/或服務節(jié)點(例如,監(jiān)視系統(tǒng)30、調(diào)度工作負荷、和/或支持節(jié)點32)。因而,在一些實施例中,系統(tǒng)30可以具有與由IBM所開發(fā)的BlueGene并行計算系統(tǒng)體系結(jié)構(gòu)相一致的體系結(jié)構(gòu)。在可選擇實施例中,系統(tǒng)30可以具有與也由IBM所開發(fā)的RoadRunner并行計算系統(tǒng)體系結(jié)構(gòu)相一致的體系結(jié)構(gòu)。此外,在另外的可選擇實施例中,系統(tǒng)30可以具有與非均勻存儲器存取("NUMA")和/或高速緩沖存儲器相干NUMA("ccNUMA")計算系統(tǒng)相一致的體系構(gòu)造,如在現(xiàn)有技術(shù)中熟知的那樣。也將認識到,節(jié)點可以按多個不同水平限定在多水平共享存儲器體系結(jié)構(gòu)中,并且在一些實施例中,不必基于任何特定物理分配或分界彼此區(qū)分。的確,在一些實施例中,多個節(jié)點可以物理地布置在同一計算機中、在同一卡上、或甚至在同一集成電路上。在一些實施例中,計算機10和系統(tǒng)30每個均包括至少一個ICD,該ICD主要包括集成電路,如在現(xiàn)有技術(shù)中熟知的那樣。在一些實施例中,ICD可以包括處理單元12、34和/或計算機10和系統(tǒng)30的其它元件,其主要包括集成電路(例如存儲器14、36等)。在具體實施例中,處理單元12、34是還包括至少一個永久區(qū)域的ICD。每個永久區(qū)域是集成電路裝置的區(qū)域,該區(qū)域配置成在電力不再供給到集成電路裝置的其余部分的情況下保留數(shù)據(jù)。永久區(qū)域可以從電池電源接收至少一個電力信號以保留數(shù)據(jù)和/或功能性,因此,永久區(qū)域可以是電池備份的永久存儲器,如在現(xiàn)有技術(shù)中熟知的那樣。因而,每個處理單元12、34可以配置成,當計算機10和/或系統(tǒng)30斷電時,在它們的相應非易失性區(qū)域中保存數(shù)據(jù),如主秘密數(shù)據(jù)、和/或至少某些功能性。圖3是ICD60的至少一部分的示意說明,該ICD60包括與本發(fā)明實施例相一致的至少一個永久區(qū)域62。在一些實施例中,永久區(qū)域62是通過電壓電平轉(zhuǎn)換和隔離緩沖器64與ICD60的其余部分電氣隔離的ICD60的區(qū)域。在正常操作期間,永久區(qū)域62可以以與ICD60的其余部分大致相同的方式供給電力,但在到ICD60的電力故障期間,永久區(qū)域62可以由電池電源65供給電力。電壓電平轉(zhuǎn)換和隔離緩沖器64布置在永久區(qū)域62與ICD60的其余部分之間,以將永久區(qū)域62與ICD60電氣隔離。電池電源65可以是可再充電的或不可再充電的電池,如在現(xiàn)有技術(shù)中熟知的那樣,并且電池電源65可以布置在ICD60上或其外部,如在現(xiàn)有技術(shù)中熟知的那樣。在一些實施例中,電池電源65是可再充電的電池電源,該可再充電的電池電源在沒有到ICD60的電力時對永久區(qū)域62充電和供電,并且在ICD60不接收電力時向永久區(qū)域62放電。因而,在具體實施例中,永久區(qū)域62可以是電池備份的永久存儲器。盡管在圖3中僅表明一個永久區(qū)域62,但ICD60可以包括每個可以與ICD60的其余部分電氣隔離的多個永久區(qū)域62。然而,并且不打算是限制性的,與本發(fā)明實施例相一致的公開將提到永久區(qū)域62,并且本領域的技術(shù)人員將認識到,在不脫離本發(fā)明的范圍的情況下,ICD60可以包括另外的永久區(qū)域。永久區(qū)域62包括與至少一個主秘密電路68通信的至少一個安全狀態(tài)機66,該主秘密電路68配置成存儲主秘密數(shù)據(jù)的至少一部分。在一些實施例中,安全狀態(tài)機66響應多個輸入或輸入信號,并且配置成控制ICD60的安全狀態(tài),這又控制ICD60的操作特性。在具體實施例中,安全狀態(tài)機66輸出兩位反射碼計數(shù)器,以指示和控制ICD60的安全狀態(tài)。表1表示安全狀態(tài)機66的輸出和從該輸出產(chǎn)生ICD60的安全狀態(tài)。<table>tableseeoriginaldocumentpage10</column></row><table>表1:安全狀態(tài)機的反射碼輸出有利地,通過將安全狀態(tài)機66的輸出配置為兩位反射碼計數(shù)器(例如,最高輸出位Bl和最低輸出位BO),每個狀態(tài)轉(zhuǎn)移只需要一位的調(diào)節(jié),并且被認為防止ICD60臨時出現(xiàn)在錯誤狀態(tài)下。例如,因為只有安全狀態(tài)機66的輸出的一個位(例如,反射碼計數(shù)器的一個位)在狀態(tài)轉(zhuǎn)移之間變化,所以只有其中特定狀態(tài)轉(zhuǎn)移可進行的兩種可能狀態(tài)。有利地,這被認為防止在狀態(tài)之間的暫時轉(zhuǎn)移。例如,當安全狀態(tài)機66的輸出的兩個位在狀態(tài)轉(zhuǎn)移之間變化時,可能有當一個位變化而另一個位不變時的暫時時段。因而,ICD60在最終轉(zhuǎn)移到期望狀態(tài)之前可能臨時轉(zhuǎn)移到不期望的狀態(tài),因此主秘密數(shù)據(jù)可能易受攻擊。為了進一步說明狀態(tài)轉(zhuǎn)移,表2表示兩位二進制輸出、從該輸出產(chǎn)生ICD的安全狀態(tài)、以及從以前安全狀態(tài)變化的位數(shù)。<table>tableseeoriginaldocumentpage10</column></row><table>表2:非反射碼輸出和位變化如表2所示,當ICD的狀態(tài)從INITIALIZED(初始化的)狀態(tài)("01")轉(zhuǎn)移到SECURED(安全的)狀態(tài)("10")時,如果安全狀態(tài)機在增大第一位之前臨時減小第二位,則ICD可能錯誤地進入NULL(零)狀態(tài)("00")。類似地,如果安全狀態(tài)機在減小第二位之前臨時增大第一位,則ICD可能錯誤地進入TRIGGERED(觸發(fā))狀態(tài)("11")。當ICD的狀態(tài)從TRIGGERED狀態(tài)("11")轉(zhuǎn)移到NULL狀態(tài)("00")時,可能出現(xiàn)類似缺陷。在本發(fā)明的一些實施例中,再次參照圖3和表1,ICD60的安全狀態(tài)機66輸出兩位反射碼計數(shù)器,該兩位反射碼計數(shù)器指示和控制ICD60的安全狀態(tài),以避免關(guān)于常規(guī)兩位輸出計數(shù)器可能發(fā)生的臨時狀態(tài)轉(zhuǎn)移。在本發(fā)明的可選擇實施例中,ICD60的安全狀態(tài)機66可以輸出反射碼計數(shù)器,以指示和控制包括多于兩位,如三位或四位反射碼計數(shù)器,的ICD60的安全狀態(tài),如在現(xiàn)有技術(shù)中熟知的那樣。除控制ICD60的安全狀態(tài)之外,安全狀態(tài)機66可以配置成控制對主秘密電路68的主秘密數(shù)據(jù)的存取。主秘密電路68響應安全狀態(tài)機66,以響應于安全狀態(tài)機66將ICD60的安全狀態(tài)變到NULL狀態(tài)或TRIGGERED狀態(tài)而選擇性地擦除主秘密數(shù)據(jù)的至少一部分。在一些實施例中,主秘密電路68包括配置成存儲主秘密數(shù)據(jù)的部分的多個主秘密數(shù)據(jù)電路70、72、和74,并且可以包括主密鑰主秘密數(shù)據(jù)電路70、引導記錄主秘密數(shù)據(jù)電路72、和文件記錄主秘密數(shù)據(jù)電路74,以存儲主秘密數(shù)據(jù)的相應主密鑰數(shù)據(jù)、引導記錄數(shù)據(jù)、和文件記錄數(shù)據(jù)。盡管表明三個主秘密數(shù)據(jù)電路70、72、和74,并且盡管主秘密數(shù)據(jù)可以包括主密鑰數(shù)據(jù)、引導記錄數(shù)據(jù)、和文件記錄數(shù)據(jù),但另外的主秘密數(shù)據(jù)電路可以存儲另外的主秘密數(shù)據(jù),而不脫離本發(fā)明的范圍。因而,本發(fā)明的實施例不應該僅僅限于存儲主秘密數(shù)據(jù)的相應主密鑰數(shù)據(jù)、引導記錄數(shù)據(jù)、和文件記錄數(shù)據(jù)的主密鑰主秘密數(shù)據(jù)電路70、引導記錄主秘密數(shù)據(jù)電路72、和文件記錄主秘密數(shù)據(jù)電路74。在電力信號初始供給到永久區(qū)域62時,可能期望的是,使ICD60的安全狀態(tài)是TRIGGERED狀態(tài),以防止對主秘密數(shù)據(jù)的存取(例如,防止主秘密數(shù)據(jù)被寫入)。因而,安全狀態(tài)機66可以與至少一個通電檢測電路76(表明為并且下文為"P0SC"76)通信,以確定何時電力信號(未表示)初始供給到永久區(qū)域62,該電力信號可以是來自電池電源65的電力信號。在一些實施例中,POSC76可以配置成,確定何時到永久區(qū)域62的電力信號在已知良好條件下,并且在具體實施例中,POSC76可以配置成,確定何時到永久區(qū)域62的電力信號已經(jīng)達到足夠的初始電平。安全狀態(tài)機66可以響應P0SC76,以將ICD60的安全狀態(tài)變到TRIGGERED狀態(tài)。因而,并且在一些實施例中,POSC76檢測到永久區(qū)域62的初始電力,從而防止對主秘密數(shù)據(jù)的錯誤和/或惡意存取。ICD60也可以包括通電復位電路78(表明為并且下文為"P0RC"78),該通電復位電路78與安全狀態(tài)機66通信,并且配置成將ICD60的復位指示給安全狀態(tài)機66。因而,PORC78可以監(jiān)視到ICD60的電力(與POSC76相反,該P0SC76監(jiān)視到永久區(qū)域62的電力),和/或PORC78可以監(jiān)視開關(guān)(未表示)和/或按鈕(未表示),以檢測電力(例如,到ICD60的電力)和/或信號(例如,來自開關(guān)和/或按鈕)的中斷,這又可以指示ICD60的復位。因而,安全狀態(tài)機66可以響應P0RC78,以當檢測到ICD60的復位時將ICD60的安全狀態(tài)從TRIGGERED狀態(tài)變到NULL狀態(tài)。在具體實施例中,將ICD60的安全狀態(tài)從TRIGGERED狀態(tài)轉(zhuǎn)移到NULL狀態(tài)的唯一途徑是使ICD60復位,并因此觸發(fā)PORC78。為了檢測篡改事件,安全狀態(tài)機66可以與至少一個永久區(qū)域事件電路80(表明為并且下文為"PREC"80)和至少一個非永久區(qū)域事件電路82(表明為并且下文為"NPREC"82)通信。PREC80和NPREC82配置成指示ICD60、ICD60的元件、永久區(qū)域62、和/或永久區(qū)域62的元件的篡改事件,如在現(xiàn)有技術(shù)中熟知的那樣。在一些實施例中,PREC80和/或NPREC82配置成檢測ICD60的時鐘電路84的變化,該變化可以指示對于ICD60的定時攻擊,并因此指示從主秘密電路68惡意檢索主秘密數(shù)據(jù)的嘗試。因此,篡改事件,不管是由PREC80還是由NPREC82指示,都可以使安全狀態(tài)機66改變ICD60的安全狀態(tài)。如在圖3中表明的那樣,PREC80和NPREC82中的每一個的至少一個輸出被組合(例如,PREC80和NPREC82中的每一個的至少一個輸出被邏輯0R(或)),并且提供給安全狀態(tài)機66。在檢測到篡改事件的情況下,安全狀態(tài)機66配置成將ICD60的安全狀態(tài)從SECURED狀態(tài)變到TRIGGERED狀態(tài)。PREC80和/或NPREC82,不管是單獨還是組合,因此都可以當作配置成將篡改事件指示給安全狀態(tài)機66的"篡改事件電路"。如在圖3中表明的那樣,安全狀態(tài)機66、主秘密電路68、P0SC76、和PREC80布置11在ICD60的永久區(qū)域62內(nèi)。在一些實施例中,永久區(qū)域62不僅通過電壓電平轉(zhuǎn)換和隔離緩沖器64與ICD60電氣隔離,而且另外與ICD60的時鐘電路84隔離。因而,永久區(qū)域62的至少一部分,包括安全狀態(tài)機66、主秘密電路68、POSC76、和/或PREC80,配置成異步地操作,并且不參考ICD60的時鐘電路84。ICD60還可以包括至少一個映像寄存器86,以與安全狀態(tài)機66通信從而推進ICD60的安全狀態(tài),以及捕獲來自主秘密電路68的主秘密數(shù)據(jù)的至少一部分、和將主秘密數(shù)據(jù)的至少一部分傳送到主秘密電路68。在一些實施例中,ICD60可以包括多個映像寄存器88、90、92、和94。在那些實施例中,ICD60可以包括與安全狀態(tài)機66通信的控制映像寄存器88,以推進ICD60的安全狀態(tài)(例如,從NULL到INITIALIZED狀態(tài)、從INITIALIZED到SECURED狀態(tài)、和/或從SECURED到TRIGGERED狀態(tài))??刂朴诚窦拇嫫?8也可以與主秘密電路68通信,以選擇性地將數(shù)據(jù)從主密鑰映像寄存器90、引導記錄映像寄存器92、和/或文件記錄映像寄存器94的至少一個提交給主秘密電路68的相應主密鑰主秘密數(shù)據(jù)電路70、引導記錄主秘密數(shù)據(jù)電路72、和/或文件記錄主秘密數(shù)據(jù)電路74。映像寄存器90、92、和94又可以配置成通過寄存器寫入數(shù)據(jù)總線96從ICD60接收主秘密數(shù)據(jù)的至少一部分。在一些實施例中,寄存器寫入數(shù)據(jù)總線96配置成,向映像寄存器90、92、和/或94的至少一個提供主秘密數(shù)據(jù)的相應至少一部分,以發(fā)送到相應主秘密數(shù)據(jù)電路70、72、和/或74。另外,ICD60可以通過寄存器寫入數(shù)據(jù)總線96與控制映像寄存器88通信,并且在一些實施例中,ICD60可以傳送哪個映像寄存器90、92、和/或94選擇性地提交主秘密數(shù)據(jù)的至少一部分的指示。主密鑰映像寄存器90、引導記錄映像寄存器92、和文件記錄映像寄存器94與主密鑰主秘密數(shù)據(jù)電路70、引導記錄主秘密數(shù)據(jù)電路72、和文件記錄主秘密數(shù)據(jù)電路74相應通信。在一些實施例中,主密鑰映像寄存器90、引導記錄映像寄存器92、和文件記錄映像寄存器94可以從相應主密鑰主秘密數(shù)據(jù)電路70、引導記錄主秘密數(shù)據(jù)電路72、文件記錄主秘密數(shù)據(jù)電路74、和/或從寄存器數(shù)據(jù)總線96接收相應主秘密數(shù)據(jù)的至少一部分。映像寄存器90、92、和94是否從寄存器數(shù)據(jù)總線96、從主秘密電路68、或從由ICD60的具體實施確定的另外的主秘密數(shù)據(jù)電路(未表示)(例如,從另外的永久區(qū)域)接收數(shù)據(jù),由到相應多路復用器98、100和102的至少一個信號確定。以這種方式,主密鑰映像寄存器90、引導記錄映像寄存器92、和/或文件記錄映像寄存器94每個可以配置成,捕獲來自相應主秘密數(shù)據(jù)電路70、72、和74的主秘密數(shù)據(jù)的至少一部分,并且將新的主秘密數(shù)據(jù)的至少一部分傳送到相應主秘密數(shù)據(jù)電路70、72、和74。如圖3中表明的那樣,ICD60包括一個永久區(qū)域62。在可選擇實施例中,ICD60可以包括多個永久區(qū)域62,每個選擇性地與映像寄存器90、92、和/或94通信。在該可選擇實施例中,相應多路復用器98、100、和/或102可以確定,哪個永久區(qū)域62和其主秘密數(shù)據(jù)的至少一部分選擇成傳送到映像寄存器90、92、和/或94??刂朴诚窦拇嫫?8通過多路復用器104與寄存器數(shù)據(jù)總線96通信,以接收選擇性地將來自至少一個映像寄存器90、92、和/或94的主秘密數(shù)據(jù)的至少一部分提交給相應主秘密數(shù)據(jù)電路70、72、和/或74的命令,以及接收推進ICD60的安全狀態(tài)的命令。ICD60包括響應外部時鐘信號的時鐘電路84和寄存器地址總線97,時鐘電路84還與映像寄存器86、P0RC78、和/或NPREC82通信。在具體實施例中,時鐘電路84包括全寄存器時鐘電路106和部分寄存器時鐘電路108。全寄存器時鐘電路106可以與PORC78、NPREC82、控制映像寄存器88、寄存器地址總線97、和/或多路復用器104通信。因此,全寄存器時鐘電路106可以響應外部時鐘信號、PORC78、和/或來自寄存器地址總線97的數(shù)據(jù),以控制用于NPREC82的定時、控制映像寄存器88、和/或由控制映像寄存器88通過多路復用器104接收的數(shù)據(jù)。部分寄存器時鐘電路108可以與外部時鐘電路、寄存器地址總線97、和/或安全狀態(tài)機、映像控制寄存器、和/或PORC78的輸出的組合通信,以選擇性地控制到主密鑰映像寄存器90、引導記錄映像寄存器92、和/或文件記錄映像寄存器94的至少一個的時鐘信號。因此,在具體實施例中,部分寄存器時鐘電路108被選擇性地控制成,將時鐘信號提供給至少一個映像寄存器90、92、和/或94。安全狀態(tài)機66與P0SC76、P0RC78、PREC80、NPREC82、和控制映像寄存器88通信。在具體實施例中,從P0SC76到安全狀態(tài)機66的輸入被反相,而連接到PORC78、PREC80、NPREC82、和控制映像寄存器88上的輸入不被反相。主密鑰主秘密數(shù)據(jù)電路70、引導記錄主秘密數(shù)據(jù)電路72、和文件記錄主秘密數(shù)據(jù)電路74與相應主密鑰映像寄存器90、引導記錄映像寄存器92、和文件記錄映像寄存器94通信。在一些實施例中,每個主秘密數(shù)據(jù)電路70、72、和74配置成,從相應映像寄存器90、92、和94的每一個接收約四個位到高達約512個位。在那些實施例中,主秘密數(shù)據(jù)電路70、72、和74的每一個可以包括與來自相應映像寄存器90、92、和94的位數(shù)相對應的多個從屬鎖存器,這些相應映像寄存器90、92、和94每個選擇性地通過控制映像寄存器88是可加載的。在可選擇實施例中,主秘密數(shù)據(jù)電路70、72、和74的每一個可以包括比來自相應映像寄存器90、92、和94的位多的從屬鎖存器,使得相應主秘密數(shù)據(jù)電路70、72、和/或74的從屬鎖存器通過相應映像寄存器90、92、94是可尋址的。在那些可選擇實施例中,每個主秘密數(shù)據(jù)電路70、72、和74配置成,在數(shù)據(jù)的一次提交期間保持比由相應映像寄存器90、92、和94可輸入的多的數(shù)據(jù)。如在圖3中表明的那樣,每個主秘密數(shù)據(jù)電路70、72、和74與控制映像寄存器88通信,該控制映像寄存器88配置成從相應映像寄存器90、92、和94提交數(shù)據(jù)。此外,每個主秘密數(shù)據(jù)電路70、72、和74還與安全狀態(tài)機66通信,使得每個主秘密數(shù)據(jù)電路70、72、和74使來自安全狀態(tài)機66的至少一個信號反相。因此,在從安全狀態(tài)機66到至少一個主秘密數(shù)據(jù)電路70、72、和/或74的信號是邏輯低(例如,由主秘密數(shù)據(jù)電路70、72、和/或74所接收的邏輯高)的情況下,該主秘密數(shù)據(jù)電路70、72、和/或74復位,由此擦除相應主秘密數(shù)據(jù)。每個主秘密數(shù)據(jù)電路70、72、和74配置成,將主秘密數(shù)據(jù)反饋到相應映像寄存器90、92、或94。因而,映像寄存器90、92、和94可以從寄存器寫入數(shù)據(jù)總線96或從相應主秘密數(shù)據(jù)電路70、72、和74、或從其它相應主秘密數(shù)據(jù)電路(未表示)接收主秘密數(shù)據(jù)的至少一部分。來自映像寄存器90、92、和/或94的數(shù)據(jù)可以由寄存器讀取電路110讀取,該寄存器讀取電路110又被控制成,將來自映像寄存器90、92、和/或94的至少一個的數(shù)據(jù)的至少一部分提供給ICD60。在一些實施例中,寄存器讀取電路110由寄存器地址總線97控制,以選擇性地從引導記錄映像寄存器92和/或文件記錄映像寄存器94接收數(shù)據(jù)。在某些可選擇實施例(未表示)中,寄存器讀取電路110可以另外由寄存器地址總線97控制,以選擇性地從主密鑰映像寄存器90接收數(shù)據(jù)。寄存器讀取電路110可以與ICD60的另一個元件通信,該元件可以配置成,從主密鑰映像寄存器90(未表示)、引導記錄映像寄存器92和/或文件記錄映像寄存器94接收相應數(shù)據(jù)。在一些實施例中,并且如以前討論的那樣,安全狀態(tài)機66包括作為反射碼計數(shù)器輸出操作的至少兩個輸出位(例如,標為"B1"的最高位和標為"B0"的最低位)。這些位的至少一個(例如,在圖3中表明的實施例中,BO)與主秘密數(shù)據(jù)電路70、72、和74通信。因而,來自安全狀態(tài)機66的這個至少一個位配置成,選擇性地擦除主秘密數(shù)據(jù)電路70、72、和74的至少一個中的主秘密數(shù)據(jù)。在具體實施例中,來自安全狀態(tài)機66的至少一個位配置成,在NULL和TRIGGERED狀態(tài)期間是邏輯低,并且同樣地擦除主秘密數(shù)據(jù)。這又導致從主秘密數(shù)據(jù)電路70、72、和74到相應映像寄存器90、92、和94的反饋被擦除,并因此使從寄存器讀取電路110讀取的數(shù)據(jù)無效(例如,從寄存器讀取電路110讀取的數(shù)據(jù)被零化,或者否則全部為邏輯低)。在一些實施例中,安全狀態(tài)機66的至少兩個輸出位引導到ICD60的至少一個安全電路(未表示)。安全電路可以在安全狀態(tài)期間控制ICD60的操作特性,這些操作特性否則不由安全狀態(tài)機66控制,如防止在INITIALIZED狀態(tài)期間加載應用、在TRIGGERED狀態(tài)期間切斷網(wǎng)絡通信、防止在TRIGGERED狀態(tài)期間的I/O讀取、和與其它安全狀態(tài)相關(guān)聯(lián)的其它操作特性。在一些實施例中,到多路復用器98、100和102的輸入由以后反相的安全狀態(tài)機66的至少一個輸出(例如,在圖3中表明的實施例中,B0的反相)、來自P0RC78的輸出、和來自控制映像寄存器88的至少一個輸出的組合(例如,邏輯OR)控制。因而,多路復用器98、100、和/或102可以配置成,當來自邏輯OR的組合是低邏輯信號時,如當安全狀態(tài)機66在INITIALIZED狀態(tài)或SECURED狀態(tài)下時,將來自寄存器寫入數(shù)據(jù)總線96的數(shù)據(jù)提供給相應映像寄存器90、92、和/或94。另外,當沒有ICD60的復位時,并且當控制映像寄存器88不由寄存器寫入數(shù)據(jù)總線96控制成從主秘密數(shù)據(jù)電路70、72、和/或74選擇反饋時,來自邏輯OR的組合可以是低邏輯信號。在具體實施例中,當來自邏輯OR的組合是高邏輯信號時,諸如當安全狀態(tài)機66在NULL或TRIGGERED狀態(tài)下時,多路復用器98、100、和/或102被配置成,將來自相應主秘密數(shù)據(jù)電路70、72、和/或74的反饋的數(shù)據(jù)提供給相應映像寄存器90、92、和/或94。在一些實施例中,到多路復用器104的輸入由全寄存器時鐘電路106控制。在多路復用器104從全寄存器時鐘電路106接收到邏輯低的情況下,控制映像寄存器88將從寄存器寫入數(shù)據(jù)總線96接收數(shù)據(jù)。該數(shù)據(jù)可以包括推進安全狀態(tài)機66、選擇性擦除主秘密電路68中的主秘密數(shù)據(jù)的至少一部分、和/或控制多路復用器98、100和102的至少一個命令。在多路復用器104從全寄存器時鐘電路106接收到邏輯高的情況下,控制映像寄存器88將僅從與多路復用器104通信的電力接地接收邏輯低信號。在一些實施例中,全寄存器時鐘電路106與P0RC78通信以控制多路復用器104,并因此在ICD60的復位的情況下,全寄存器時鐘電路106可以將邏輯低值輸出到多路復用器104。圖4是與本發(fā)明的實施例相一致的安全狀態(tài)和其轉(zhuǎn)移、以及在那些安全狀態(tài)下ICD60的某些一般操作特性的一個實施例的圖示說明200。在一些實施例中,安全狀態(tài)的轉(zhuǎn)移通過由電力信號確定是否有供給到永久區(qū)域62的適當初始電力而開始(塊202)。在具體實施例中,POSC76可以確定是否有適當?shù)某跏茧娏桶踩珷顟B(tài)機66可以轉(zhuǎn)移到TRIGGERED狀態(tài)(塊204)。在具體實施例中,當在TRIGGERED狀態(tài)下時,主秘密電路68被置于復位,并且主秘密數(shù)據(jù)被擦除,且ICD60的DEBUG模式被禁止。從TRIGGERED狀態(tài),前進到NULL狀態(tài)的唯一途徑(塊206)是基于ICD60的復位的檢測,如可以由PORC78檢測。因此,可以防止來自ICD60和/或來自軟件的惡意狀態(tài)14推進命令,因為要求ICD60的物理復位。在具體實施例中,當在NULL狀態(tài)下時,主秘密電路68被置于復位,并且主秘密數(shù)據(jù)被擦除,ICD60的DEBUG模式被允許,和/或安全狀態(tài)機66忽略任何篡改事件。在一些實施例中,DEBUG模式允許調(diào)試邏輯、可尋址后門、和/或典型地用于方便ICD開發(fā)和/或ICD測試的試驗邏輯。從NULL狀態(tài),ICD60可以轉(zhuǎn)移到INITIALIZED狀態(tài)(塊208)。響應來自ICD60和/或軟件的狀態(tài)推進命令,可以進入INITIALIZED狀態(tài)。因而,在一個例子中,當其中布置ICD60的計算機10或節(jié)點32已經(jīng)被通電并被讀取以被引導時,可以進入INITIALIZED狀態(tài)。在具體實施例中,當在INITIALIZED狀態(tài)下時,主秘密電路68已不處于復位,并且主秘密數(shù)據(jù)可以寫入到該主秘密電路68或從其讀取,ICD60的DEBUG模式被允許,和/或安全狀態(tài)機66不響應任何篡改事件。從INITIALIZED狀態(tài),ICD60可以轉(zhuǎn)移到SECURED狀態(tài)(塊210)。在已經(jīng)完成ICD60的初始化過程之后,可以進入SECURED狀態(tài)。因而,在一個例子中,當其中布置ICD60的計算機10或節(jié)點32已經(jīng)結(jié)束初始化并且準備好安全的操作時,如在安全和/或常規(guī)操作模式下,可以進入SECURED狀態(tài)。在具體實施例中,當在SECURED狀態(tài)下時,主秘密電路不再處于復位,并且主秘密數(shù)據(jù)可以寫入到該主秘密電路68或從其讀取,ICD60的DEBUG模式被禁止,和/或安全狀態(tài)機66響應篡改事件。從SECURED狀態(tài),ICD60可以轉(zhuǎn)移回TRIGGERED狀態(tài)(塊202)。在ICD60處于SECURED狀態(tài)的同時在篡改事件之后和/或在ICD60處于SECURED狀態(tài)的同時響應ICD60控制信號,可以進入TRIGGERED狀態(tài)。因而,在一個例子中,當ICD60的時鐘電路84正在被篡改時,可以進入TRIGGERED狀態(tài)。因而,在另一個例子中,當響應來自ICD60的狀態(tài)推進命令,將安全狀態(tài)機66推進到TRIGGERED狀態(tài)時,可以進入該狀態(tài)。在具體實施例中,當在TRIGGERED狀態(tài)下時,主秘密電路68被置于復位,并且主秘密數(shù)據(jù)被擦除,ICD60的DEBUG模式被禁止,安全狀態(tài)機66已經(jīng)檢測到篡改事件,和/或安全狀態(tài)機66已經(jīng)由ICD60推進到TRIGGERED狀態(tài)。盡管未表明,ICD60的另外操作特性可以取決于安全狀態(tài)。例如,在一些實施例中,安全狀態(tài)機66可以用于加密和/或解密操作、存取表轉(zhuǎn)換、和/或控制存取以替代引導記錄,如在現(xiàn)有技術(shù)中熟知的那樣,并且那些附加功能的執(zhí)行可以取決于ICD60的一個或更多個安全狀態(tài)。圖5是表明安全狀態(tài)機66響應來自POSC76、PORC78、PREC80、NPREC82、和控制映像寄存器88的信號的輸出、以及它們對ICD60的下一個安全狀態(tài)的影響的一個實施例300的表格。在安全狀態(tài)機66不關(guān)心輸入、篡改事件、或安全狀態(tài)的情況下,該輸入、篡改事件、或安全狀態(tài)用"DC"("不關(guān)心")或"DM"("沒問題")標記。參照圖5,安全狀態(tài)機66可以響應P0SC76,以將ICD60的安全狀態(tài)變到TRIGGERED狀態(tài),而不管來自PORC78、PREC80、NPREC82、控制映像寄存器88、和當前安全狀態(tài)的輸入。類似地,安全狀態(tài)機66可以響應P0RC78,以將ICD60的安全狀態(tài)從TRIGGERED狀態(tài)變到NULL狀態(tài),而不管來自PREC80、NPREC82、和控制映像寄存器88的輸入。此外,安全狀態(tài)機66可以響應控制映像寄存器88,以將ICD60的安全狀態(tài)從NULL狀態(tài)推進到INITIALIZED狀態(tài)并且從INITIALIZED狀態(tài)推進到SECURED狀態(tài),而不管來自PORC78、PREC80、和NPREC82的輸入。安全狀態(tài)機66也可以響應控制映像寄存器88,以當來自PREC80和NPREC82的輸入不指示篡改事件時,并且不管來自PORC78的輸入,將ICD60的安全狀態(tài)從SECURED狀態(tài)推進到TRIGGERED狀態(tài)。另外,安全狀態(tài)機66可以響應PREC80和/或NPREC82,以將ICD60的安全狀態(tài)從SECURED狀態(tài)推進到TRIGGERED狀態(tài),而不管來自PORC78和控制映像寄存器88的輸入。因此,本發(fā)明的實施例供與ICD的時鐘電路相隔離的電路設備之用,以控制該ICD的安全狀態(tài)并且響應ICD的安全狀態(tài)變到NULL或TRIGGERED狀態(tài)而選擇性地擦除主秘密數(shù)據(jù)的至少一部分。與本發(fā)明的實施例相一致,電路設備可以被實施作為通用門網(wǎng)表(genericgatenetlists),作為完全特殊目的或通用目的微處理器,或者按其它方式,如對于本領域的技術(shù)人員可能想到的那樣。網(wǎng)表是電路設備的邏輯函數(shù)的布爾代數(shù)表示(門、標準單元),類似于用于高水平程序應用的匯編代碼表。電路設備也可以例如按在諸如Verilog或VHDL的硬件描述語言中描述的可綜合形式實施。除網(wǎng)表和可綜合實施之外,電路設備也可以在較低水平的物理描述中輸送。電路設備組件可以按諸如GDSII的晶體管布局格式分布。電路設備的數(shù)字組件有時也按布局格式供給。將認識到,電路設備、以及與本發(fā)明相一致實施的其它邏輯電路可以按計算機數(shù)據(jù)文件,例如邏輯定義程序代碼或設計結(jié)構(gòu),的形式分布,這些計算機數(shù)據(jù)文件在各種詳細水平下定義實施這樣的邏輯的電路設備的功能和/或布局。因此,盡管在全功能集成電路裝置和利用這樣的裝置的計算機和系統(tǒng)中實施的電路設備的上下文中已經(jīng)描述了本發(fā)明,但受益于本公開的本領域的技術(shù)人員將認識到,與本發(fā)明相一致的電路設備能夠分布成各種形式的程序產(chǎn)品或設計結(jié)構(gòu),并且本發(fā)明同樣地應用,而與用于實際執(zhí)行分布的計算機可讀或信號承載介質(zhì)的具體類型無關(guān)。計算機可讀或信號承載介質(zhì)的例子包括,但不限于物理的、可記錄型介質(zhì)(如易失性和非易失性存儲器裝置)、軟盤、硬盤驅(qū)動器、CD-R0M、和DVD(等等);和傳輸型介質(zhì),如數(shù)字和模擬通信鏈路。本領域的技術(shù)人員將認識到,在圖1-5中表明的環(huán)境不用于限制本發(fā)明。在不脫離本發(fā)明的精神和范圍的情況下,對于表明的實施例可以進行各種修改。例如,在不脫離本發(fā)明的精神和范圍的情況下,可以使用其它可選擇硬件環(huán)境。因此,主秘密電路可以包括較多或較少輸出位,并且在這樣的實施例中,在不脫離本發(fā)明的精神和范圍的情況下,主秘密電路可以選擇性地只擦除主秘密數(shù)據(jù)的一部分。在一個具體實施例中,安全狀態(tài)機的輸出是四位計數(shù)器,使得一位控制主密鑰的擦除,一位控制引導記錄的擦除,以及一位控制主秘密電路中的文件記錄的擦除。因而,安全狀態(tài)機的輸出可以不配置成是反射碼計數(shù)器,而是安全狀態(tài)機的輸出可以配置成位移計數(shù)器,如在現(xiàn)有技術(shù)中熟知的那樣。類似地,邏輯可以布置在安全狀態(tài)機與主秘密電路之間,并且在不脫離本發(fā)明的精神和范圍的情況下,該邏輯可以響應ICD,以在各種安全狀態(tài)下選擇性地擦除主秘密數(shù)據(jù)的至少一部分。此外,本領域的技術(shù)人員將認識到,外部時鐘信號僅僅在時鐘電路外部,并因此可以布置在ICD內(nèi),或者否則與ICD通信,如在現(xiàn)有技術(shù)中熟知的那樣。其它修改對于本領域的技術(shù)人員將是顯然的。因此,本發(fā)明由下文所附的權(quán)利要求書決定。權(quán)利要求一種用于控制對于主秘密數(shù)據(jù)的存取的電路設備,該主秘密數(shù)據(jù)布置在集成電路裝置的至少一個永久區(qū)域的至少一部分中,該電路設備包括響應外部時鐘信號的時鐘電路;配置成控制集成電路裝置的安全狀態(tài)的安全狀態(tài)機,其中,安全狀態(tài)機與集成電路裝置的時鐘電路相隔離;以及主秘密電路,與安全狀態(tài)機通信,并且配置成控制對主秘密數(shù)據(jù)的存取,其中,主秘密電路與集成電路裝置的時鐘電路相隔離,并且,主秘密電路響應安全狀態(tài)機,以選擇性地擦除主秘密數(shù)據(jù)的至少一部分。2.根據(jù)權(quán)利要求1所述的電路設備,其中,安全狀態(tài)機配置成使主秘密電路復位,以選擇性地擦除主秘密數(shù)據(jù)的部分。3.根據(jù)權(quán)利要求1所述的電路設備,還包括至少一個映像寄存器,與主秘密電路通信,并且配置成從主秘密電路捕獲主秘密數(shù)據(jù)的至少一部分和將新的主秘密數(shù)據(jù)的至少一部分傳送到主秘密電路。4.根據(jù)權(quán)利要求l所述的電路設備,還包括至少一個映像寄存器,與安全狀態(tài)機通信,并且配置成推進集成電路裝置的安全狀態(tài)。5.根據(jù)權(quán)利要求4所述的電路設備,其中,推進集成電路裝置的安全狀態(tài)包括從包括如下推進的組中選擇的推進從零安全狀態(tài)到初始化的安全狀態(tài)的推進、從初始化的安全狀態(tài)到安全的安全狀態(tài)的推進、或從安全的安全狀態(tài)到觸發(fā)的安全狀態(tài)的推進。6.根據(jù)權(quán)利要求1所述的電路設備,還包括篡改事件電路,與安全狀態(tài)機通信,并且配置成檢測集成電路裝置的篡改事件,其中安全狀態(tài)機響應篡改事件電路,以在篡改事件的情況下將集成電路裝置的安全狀態(tài)從安全的安全狀態(tài)變到觸發(fā)的安全狀態(tài)。7.根據(jù)權(quán)利要求l所述的電路設備,還包括通電檢測電路,與安全狀態(tài)機通信,并且配置成監(jiān)視到集成電路裝置的所述至少一個永久區(qū)域的電力信號,其中,安全狀態(tài)機響應通電檢測電路,以響應通電檢測電路確定電力信號正在初始供給到所述至少一個永久區(qū)域,而將集成裝置的安全狀態(tài)變到觸發(fā)的安全狀態(tài)。8.根據(jù)權(quán)利要求l所述的電路設備,還包括通電復位電路,與安全狀態(tài)機通信,并且配置成檢測集成電路裝置的復位,其中,安全狀態(tài)機響應通電復位電路,以在集成電路裝置的復位的情況下將集成電路裝置的安全狀態(tài)從觸發(fā)的安全狀態(tài)變到零安全狀態(tài)。9.根據(jù)權(quán)利要求1所述的電路設備,其中,安全狀態(tài)機配置成復位主秘密電路,以響應將集成電路裝置的安全狀態(tài)變到觸發(fā)的安全狀態(tài)而選擇性地擦除主秘密數(shù)據(jù)的部分。10.根據(jù)權(quán)利要求1所述的電路設備,其中,安全狀態(tài)機配置成復位主秘密電路,以響應將集成電路裝置的安全狀態(tài)變到零安全狀態(tài)而選擇性地擦除主秘密數(shù)據(jù)的部分。11.根據(jù)權(quán)利要求1所述的電路設備,其中,主秘密數(shù)據(jù)包括從包括如下數(shù)據(jù)的組中選擇的數(shù)據(jù)主密鑰、引導記錄、文件記錄、及其組合。12.根據(jù)權(quán)利要求1所述的電路設備,其中,安全狀態(tài)機與時鐘電路相隔離,以在時鐘電路的變化的情況下禁止對主秘密數(shù)據(jù)的存取。13.—種處理單元,包括權(quán)利要求l所述的電路設備。14.一種計算系統(tǒng),包括權(quán)利要求1所述的電路設備。15.—種用于控制對主秘密數(shù)據(jù)的存取的方法,該主秘密數(shù)據(jù)布置在集成電路裝置的至少一個永久區(qū)域的至少一部分中,該類型的集成電路裝置包括安全狀態(tài)機、主秘密電路、和響應外部時鐘信號的時鐘電路,其中安全狀態(tài)機和主秘密電路與時鐘電路相隔離,該方法包括用安全狀態(tài)機控制集成電路裝置的安全狀態(tài);禾口響應將集成電路裝置的安全狀態(tài)變到觸發(fā)的安全狀態(tài)或零安全狀態(tài),用主秘密電路選擇性地擦除主秘密數(shù)據(jù)的至少一部分。16.根據(jù)權(quán)利要求15所述的方法,還包括控制至少一個映像寄存器對主秘密數(shù)據(jù)的存取,其中,所述至少一個映像寄存器配置成從主秘密電路捕獲主秘密數(shù)據(jù)和將新的主秘密數(shù)據(jù)傳送到主秘密電路。17.根據(jù)權(quán)利要求16所述的方法,其中,控制集成電路裝置的安全狀態(tài)包括檢測篡改事件;禾口響應檢測篡改事件,將集成電路裝置的安全狀態(tài)從安全的安全狀態(tài)變到觸發(fā)的安全狀態(tài)。18.根據(jù)權(quán)利要求15所述的方法,其中,控制集成電路裝置的安全狀態(tài)包括檢測集成電路裝置的復位;禾口響應檢測集成電路裝置的復位,將集成電路裝置的安全狀態(tài)從觸發(fā)的安全狀態(tài)變到零安全狀態(tài)。19.根據(jù)權(quán)利要求15所述的方法,其中,控制集成電路裝置的安全狀態(tài)包括檢測電力信號正在初始供給到所述至少一個永久區(qū)域;禾口響應檢測電力信號正在初始供給到所述至少一個永久區(qū)域,將集成電路裝置的安全狀態(tài)變到觸發(fā)的安全狀態(tài)。20.根據(jù)權(quán)利要求15所述的方法,其中,主秘密數(shù)據(jù)包括從包括如下數(shù)據(jù)的組中選擇的數(shù)據(jù)主密鑰、引導記錄、文件記錄、及其組合。21.—種在用于設計或制造集成電路的機器可讀介質(zhì)中實施的設計結(jié)構(gòu),該集成電路包括響應外部時鐘信號的時鐘電路;配置成控制集成電路的安全狀態(tài)的安全狀態(tài)機,其中,安全狀態(tài)機與集成電路裝置的時鐘電路相隔離;以及主秘密電路,與安全狀態(tài)機通信,并且配置成控制對主秘密數(shù)據(jù)的存取,其中,主秘密電路與集成電路的時鐘電路相隔離,并且,主秘密電路響應安全狀態(tài)機,以選擇性地擦除主秘密數(shù)據(jù)的至少一部分。全文摘要本發(fā)明涉及用于保護集成電路裝置的孤立秘密數(shù)據(jù)的電路設備和方法。公開了用于控制對于主秘密數(shù)據(jù)的存取的一種電路設備、方法、和設計結(jié)構(gòu),該主秘密數(shù)據(jù)布置在集成電路裝置的至少一個永久區(qū)域的至少一部分中。電路設備包括響應外部時鐘信號的時鐘電路;配置成控制集成電路裝置的安全狀態(tài)的安全狀態(tài)機;以及主秘密電路,與安全狀態(tài)機通信,并且配置成控制對主秘密數(shù)據(jù)的存取。安全狀態(tài)機和主秘密電路與時鐘電路相隔離,并且主秘密電路響應安全狀態(tài)機,以選擇性地擦除主秘密數(shù)據(jù)的至少一部分。主秘密電路可以配置成響應零或觸發(fā)的安全狀態(tài)擦除主秘密數(shù)據(jù)的部分。文檔編號G06F21/24GK101739533SQ20091022131公開日2010年6月16日申請日期2009年11月11日優(yōu)先權(quán)日2008年11月26日發(fā)明者S·P·杰克沃斯基,W·E·霍爾申請人:國際商業(yè)機器公司