專利名稱:計算系統(tǒng)功能部件激活機制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例一般涉及數(shù)據(jù)處理領(lǐng)域,更具體來說,涉及用于 計算系統(tǒng)功能部件激活機制的系統(tǒng)、方法和設(shè)備。
背景技術(shù):
可以將計算系統(tǒng)制造成具有一個或多個缺省情況下;^皮禁用的功 能部件。術(shù)語"功能部件"是指計算機中提供(或提高)特定功能的 組件。"計算系統(tǒng)"是指處理數(shù)字化信息的范圍廣泛的裝置,包括例 如桌上型計算機、膝上型計算機、服務(wù)器、網(wǎng)絡(luò)底層裝置(例如,路 由器、交換機等)、數(shù)字家庭娛樂系統(tǒng)、蜂窩電話等。缺省情況下禁用功能部件的一個原因是為計算機(或其組件)提 供升級路徑。例如,將許多軟件程序設(shè)計成允許用戶最初獲取程序的 簡單版本并且此后將該簡單版本升級到更魯棒的版本。在一些情況 中,程序的兩個(或兩個以上)版本之間的差別僅是禁用程序的哪些 功能部件的問題??赡芤越档偷膬r格銷售程序的簡單版本,該簡單版 本反映不是所有功能部件都是可用的。希望升級軟件的用戶可以從例如軟件供應(yīng)商處購買對更魯棒版 本的訪問權(quán)。通常,軟件供應(yīng)商不需要將新軟件才莫塊發(fā)送給正在升級 軟件的用戶。其原因在于,通常支持更魯棒功能部件的代碼已經(jīng)在程 序中,只是此代碼被禁用。為了啟用軟件的這些功能部件,供應(yīng)商可 以提供啟用路徑的密鑰,以便激活一個或多個軟件功能部件。 一旦啟用該路徑,用戶就可以訪問一組更魯棒的功能部件(feature)。用于功能部件激活的基于軟件的^t型有許多限制。例如,啟用功 能部件的密鑰難以確保安全,因為它是大量事務(wù)中使用的基于軟件的密鑰??梢允褂貌话踩拿荑€在未實際為功能部件付費的情況下激活 這些功能部件。此外,基于軟件的^^型不容易限制用戶可能為激活功 能部件而進(jìn)行嘗試的次數(shù)。因此,駭客可以反復(fù)嘗試破解密鑰,直到 他或她成功為止。出于這些和其他原因,用于功能部件激活的基于軟 件的模型不十分適合于硬件功能部件激活。
通過舉例而非限定形式在附圖中說明本發(fā)明的實施例,附圖中相 似的引用號指代相似的組件。圖1是根據(jù)本發(fā)明實施例實現(xiàn)的計算系統(tǒng)的選定方面的高級框圖。圖2是說明其中動態(tài)地激活圖形重定向功能部件的本發(fā)明實施例 的高級框圖。圖3是說明根據(jù)本發(fā)明實施例制造芯片的概念圖。 圖4是說明根據(jù)本發(fā)明實施例實現(xiàn)的功能部件激活組件的選定方 面的高級框圖。圖5是說明根據(jù)本發(fā)明實施例的信息交換的選定方面的概念圖。 圖6是說明根據(jù)本發(fā)明實施例用于激活計算系統(tǒng)功能部件的方法的某些方面的流程圖。圖7A和7B是說明根據(jù)本發(fā)明實施例實現(xiàn)的計算系統(tǒng)的選定方面的高級框圖。
具體實施方式
本發(fā)明的實施例一般涉及用于計算系統(tǒng)功能部件激活機制的設(shè) 備、方法和系統(tǒng)。在一個實施例中,計算系統(tǒng)包括內(nèi)置(build-in)功能 部件激活組件。內(nèi)置功能部件激活組件部分^^硬件組件,它能夠在現(xiàn) 場(例如該計算系統(tǒng)已經(jīng)出售給用戶之后)激活功能部件。正如下文 進(jìn)一步描述的,在一個實施例中,內(nèi)置功能部件激活組件提供免受某些安全威脅的基于硬件的保護(hù)。圖1是根據(jù)本發(fā)明實施例實現(xiàn)的計算系統(tǒng)100的選定方面的高級框圖。計算系統(tǒng)100包括一個或多個處理器102廣102n。處理器 102!-102N可以是例如中央處理單元、微控制器、專用集成電路等。在 一些實施例中,處理器102!-102N可以支持多線程和/或可以包括一個 或多個分區(qū)。處理器102rl02N通過處理器互連104 (例如前端總線)與存儲器 控制器110耦合。存儲器控制器110 (至少部分)控制處理器102與 存儲器子系統(tǒng)之間的信息流。存儲器112為計算系統(tǒng)100提供存儲器 分級體系(例如,易失性存儲器和永久存儲器)。在一個實施例中, 存儲器112包括一個或多個動態(tài)隨機存取存儲器(DRAM)裝置。輸入/輸出(I/O)控制器120 (至少部分)控制進(jìn)出計算系統(tǒng)100 的信息流。接口 124表示一個或多個I/0接口。這些接口可以包括例 如通用串行總線(USB)、外圍組件互連(PCI)、 PCI express等。此 外,1/0控制器120還包括用于與網(wǎng)絡(luò)126接口的一個或多個有線或 無線網(wǎng)絡(luò)接口 126。網(wǎng)絡(luò)126可以是有線或無線網(wǎng)絡(luò)的任何組合,包 括局域網(wǎng)、廣域網(wǎng)、內(nèi)耳關(guān)網(wǎng)、因特網(wǎng)等的任何組合。在一個實施例中,1/0控制器120包括功能部件激活組件122。 功能部件激活組件122使計算系統(tǒng)100的一個或多個功能部件能夠凈皮 動態(tài)地激活和/或去激活。在一個實施例中,功能部件激活組件122存 儲對于功能部件激活組件122外部(或計算系統(tǒng)100外部)的實體不 可見的共有秘密(例如將其存儲在只讀存儲器中)。術(shù)語"共有秘密,, 是指對于芯片是唯一 (例如對于功能部件激活組件122是唯一)的私 用值。該秘密是共有秘密,因為正如下文進(jìn)一步描述的,某些獲授權(quán) 的遠(yuǎn)程計算系統(tǒng)也可以對其具有訪問權(quán)。下文參考圖2-7進(jìn)一步描述 功能部件激活組件122。圖2是說明其中動態(tài)地激活圖形重定向功能部件的本發(fā)明實施例 的高級框圖。芯片組202包括圖形核204和重定向核206。圖形核204生成要在顯示裝置(未示出)上顯示的圖形信息。重定向核206是通 過例如固件(或軟件)208將圖形信息重定向到遠(yuǎn)程客戶端210的硬 件功能部件。在一個實施例中,固件208將圖形信息分組化,再通過 (有線和/或無線)網(wǎng)絡(luò)將其傳送到客戶端210。在一個實施例中,重 定向核206在缺省情況下是-故禁用的。在一個實施例中,芯片組220包括功能部件激活組件220。功能 部件激活組件220包括寄存器222、熔絲(ftise)224和開關(guān)226。熔絲 224是可以在制造功能部件激活組件220時設(shè)置的一次寫入存儲器。 在一個實施例中,熔絲224包含至少部分基于共有秘密的值。例如, 熔絲224可以存儲芯片序列號(或簡稱為序列號)、共有秘密和功能 部件標(biāo)識符的散列。正如下文進(jìn)一步描述的,熔絲224可以用于驗證 功能部件的激活(或去激活)。在一個實施例中,所存儲的散列值是壓縮的散列值(或簡稱為壓 縮的散列)。壓縮的散列是指使用減少數(shù)量的位來表示散列值的散列 算法。例如,在一個實施例中,使用散列值的每第5位表示該值。在 此實施例中,未壓縮的散列值可以是例如160位長,而對應(yīng)的壓縮的 散列值是32位長。在本發(fā)明的備選實施例中,可以使用不同的(和/ 或附加的)壓縮算法來壓縮該散列。使用壓縮的散列使本發(fā)明的實施 例能夠使用更少硬件資源(例如更小的熔絲、寄存器、比較器等)。最初,重定向核206^^皮禁用的。例如,開關(guān)226最初可能是斷 開的。在任意時間點,用戶可能決定通過激活重定向核206來升級芯 片組202。激活重定向核206可以涉及將某種信息從芯片組202提供 到外部系統(tǒng)230。在一個實施例中,芯片組202將某種信息(例如內(nèi) 置功能部件信息)才是供到外部系統(tǒng)230。此內(nèi)置功能部件信息可以用 于標(biāo)識要激活的功能部件和/或請求該激活的系統(tǒng)。在此上下文中,術(shù) 語"提供"既指從芯片組202發(fā)起的動作也指從外部系統(tǒng)230發(fā)起的 動作。從外部系統(tǒng)230發(fā)起的動作包括外部系統(tǒng)230上的代碼從芯片 組202訪問信息的情況。在一個實施例中,芯片組202將序列號和功能部件標(biāo)識符4是供到 遠(yuǎn)程計算系統(tǒng)230。在一個實施例中,該序列號是芯片序列號。例如, 該序列號可以是構(gòu)成芯片組202的多個芯片的其中之一的序列號。在 備選實施例中,序列號可以是標(biāo)識芯片組202 (和/或與芯片組202關(guān) 聯(lián)的計算系統(tǒng))的另一種標(biāo)識符。功能部件標(biāo)識符是標(biāo)識要激活的功 能部件的值。對接收到內(nèi)置功能部件信息進(jìn)行響應(yīng),外部計算系統(tǒng)230將信息 (例如功能部件激活信息)提供到芯片組202。此功能部件激活信息 可以釆用加密的格式(例如RSA證書)來提供。在一個實施例中,功 能部件激活信息包括與芯片組202關(guān)聯(lián)的共有秘密。外部系統(tǒng)202可 以(直接或間接地)從芯片組202的制造商獲取共有秘密。例如,在 一個實施例中,外部系統(tǒng)230對芯片組制造商提供的共有秘密的數(shù)據(jù) 庫具有訪問權(quán)。在一個實施例中,功能部件激活信息對應(yīng)于熔絲224 中存儲的值。例如,功能部件激活信息可以包括共有秘密、序列號和 功能部件標(biāo)識符的散列??梢允褂脡嚎s的散列算法來生成散列。在備 選實施例中,可以使用不同的組件來存儲和提供功能部件激活信息。在一個實施例中,外部系統(tǒng)230將功能部件激活信息l是供到寄存 器222。功能部件激活組件220將寄存器222中的此值與熔絲224中 的值比較。如果這些值匹配,則功能部件激活組件220通過例如將開 關(guān)226閉合來激活重定向核206。在備選實施例中,功能部件激活組 件220可以動態(tài)地激活幾乎任何硬件功能部件。能夠由功能部件激活 組件220激活的功能部件的示例包括系統(tǒng)容量、系統(tǒng)存儲裝置、輸入 /輸出接口、顯示分辨率和幾乎任何其他硬件(和/或固件)功能部件。圖3是說明根據(jù)本發(fā)明實施例制造芯片的概念圖。芯片310r310N 表示正在制造的芯片。在一個實施例中,每個芯片310包括內(nèi)置值320。 內(nèi)置值320 M于硬件的值,該值對于芯片310外部的實體不可見。 例如,內(nèi)置值320可以存儲在熔絲330中。在一個實施例中,內(nèi)置值 320是芯片序列號、共有秘密和功能部件標(biāo)識符的壓縮的散列。在備選實施例中,內(nèi)置值320可以采用不同的值。在一個實施例中,芯片 310可以存儲多個熔絲330,并且可以使用每個熔絲330來激活(或 去激活)不同的功能部件??梢栽诓煌男酒M中使用芯片310!-310n 中的每個芯片。在一個實施例中,共有秘密(例如CSrCSN)對于包 含要激活的功能部件的同組芯片是相同的。圖4是說明根據(jù)本發(fā)明實施例實現(xiàn)的功能部件激活組件400的選 定方面的框圖。在一個實施例中,功能部件激活組件400包括熔絲420、 比較器410和嵌入式處理器430。在一個實施例中,每個熔絲420存 儲內(nèi)置功能部件激活信息。內(nèi)置功能部件激活信息可以至少部分基于 共有秘密。例如,在一個實施例中,內(nèi)置功能部件激活信息是共有秘 密、序列號和功能部件標(biāo)識符的壓縮的散列值。在備選實施例中,在 從熔絲420讀取信息之后生成內(nèi)置功能部件激活信息的散列。在一個實施例中,遠(yuǎn)程計算系統(tǒng)將證書432提供到嵌入式處理器 430。證書432可以是包含遠(yuǎn)程生成的功能部件激活信息的RSA證書。 嵌入式處理器430將證書解密,并提取遠(yuǎn)程生成的功能部件激活信息。 在一個實施例中,遠(yuǎn)程生成的功能部件激活信息是共有秘密、序列號 和功能部件標(biāo)識符的散列值。將遠(yuǎn)程生成的功能部件激活信息434提 供到比較器410。比較器410將內(nèi)置功能部件激活信息402與遠(yuǎn)程生成的功能部件 激活信息434比較。如果信息402與信息434匹配,則功能部件啟用 414啟用該功能部件。在一個實施例中,如果信息402未與信息434 匹配,則設(shè)置已嘗試一次標(biāo)記(tried-oncemarker)414。已嘗試一次標(biāo)記 414可以是例如寄存器、控制位或能夠提供有關(guān)已發(fā)生過激活功能部 件的嘗試的指示的任何其他組件。在一個實施例中,將比較器410 (或功能部件激活組件400的另 一個部件)設(shè)計為在芯片的每個加電周期(power cycle)期間僅允許一 次激活功能部件的嘗試。 一次嘗試/加電周期限制使得破解功能部件激 活信息的加密極其困難。其原因是駭客需要在他或她每次嘗試激活功能部件時必須重新啟動系統(tǒng)。與重新啟動系統(tǒng)相關(guān)的時間佳j尋石皮解功 能部件激活信息的過程代價過高。在一個實施例中,每個芯片使用唯 一的功能部件激活信息。因此,即使駭客破解了一個芯片的加密,他 或她仍無法激活另 一個芯片上的功能部件。一次嘗試/加電周期限制支持使用壓縮的散列。如果沒有一次嘗試 /加電周期限制,則壓縮的散列可能較容易破解,因為壓縮的散列使用比未壓縮的散列少的位來表示值。其原因是,例如32位數(shù)的排列比 160位數(shù)的排列少。從理論上來說,精簡數(shù)量的排列減少了找到正確 值所花費的時間。但是,如果駭客^1迫每次嘗試重新啟動系統(tǒng),則破 解32位數(shù)所花費的時間長度變得過長。圖5是說明根據(jù)本發(fā)明實施例的信息交換的選定方面的和克念圖。 系統(tǒng)500包括本地計算系統(tǒng)510、遠(yuǎn)程計算系統(tǒng)530和證書550。在 一個實施例中,計算系統(tǒng)510將內(nèi)置功能部件信息512提供到遠(yuǎn)程計 算系統(tǒng)530。內(nèi)置功能部件信息512可以包括序列號和/或功能部件標(biāo) 識符。此外,計算系統(tǒng)510還可以為要激活的功能部件提供付費(例 如電子付費),如圖中514所示。遠(yuǎn)程計算系統(tǒng)530在532接收內(nèi)置功能部件信息,并在534處理 付費。在536生成包含功能部件激活信息的散列。該散列是遠(yuǎn)程生成 的功能部件激活信息的一個示例。計算系統(tǒng)530在538生成加密的證 書。加密的證書可以包^lt列和加密密鑰。遠(yuǎn)程計算系統(tǒng)530將證書550提供到本地計算系統(tǒng)510。本地計 算系統(tǒng)510接收證書,并提取遠(yuǎn)程生成的功能部件激活信息,如圖中 516所示。在一個實施例中,將遠(yuǎn)程生成的功能部件激活信息與對應(yīng) 的內(nèi)置功能部件激活信息比較。如果內(nèi)置值與遠(yuǎn)程生成的值匹配,則 激活功能部件。否則,可以設(shè)置已嘗試一次標(biāo)記(例如圖4中所示的 已嘗試一次標(biāo)記414),以阻止例如相同加電周期期間再一次重試。現(xiàn)在轉(zhuǎn)到圖6,參考流程圖來描述與本發(fā)明實施例關(guān)聯(lián)的具體方 法。計算系統(tǒng)(例如功能部件激活組件)要^l行的方法可以構(gòu)成硬件、固件、狀態(tài)機或由計算機可執(zhí)行指令組成的計算機程序。計算機可執(zhí) 行指令可以采用計算機編程語言編寫或可以嵌入在固件邏輯中。如果采用符合公認(rèn)標(biāo)準(zhǔn)的編程語言編寫,則此類指令可以在多種硬件平臺 上執(zhí)行,并且可以執(zhí)行這些指令以實現(xiàn)至多種操作系統(tǒng)的接口。此外, 并未參考任何具體編程語言來描述本發(fā)明的實施例。將認(rèn)識到,可以 使用多種編程語言來實現(xiàn)本文描述的本發(fā)明的實施例。而且,在本領(lǐng) 域中,通常將軟件以一種形式或另一種形式(例如,程序、過程、進(jìn) 程、應(yīng)用程序等)講為采取動作或促成結(jié)果。此類表述僅是描述通過 計算系統(tǒng)執(zhí)行軟件使該裝置執(zhí)行動作或產(chǎn)生結(jié)果的簡略方式。圖6是說明根據(jù)本發(fā)明實施例用于激活計算系統(tǒng)功能部件的方法的某些方面的流程圖。在602,本地計算系統(tǒng)(例如圖1所示的計算 系統(tǒng)100)將內(nèi)置功能部件信息提供到遠(yuǎn)程計算系統(tǒng)。如本文所使用 的,術(shù)語"提供"包括遠(yuǎn)程計算系統(tǒng)查詢本地計算系統(tǒng)以獲取(至少 一部分)內(nèi)置功能部件信息。例如,在一個實施例中,遠(yuǎn)程計算系統(tǒng) 查詢本地計算系統(tǒng)以獲取與要激活的功能部件相關(guān)的芯片序列號。參考過程框604,本地計算系統(tǒng)從遠(yuǎn)程系統(tǒng)接收遠(yuǎn)程生成的功能 部件激活信息。在一個實施例中,在加密的證書(例如RSA證書)中 接收遠(yuǎn)程生成的功能部件激活信息。該證書可以包含遠(yuǎn)程生成的功能 部件激活信息的散列。在一個實施例中,可以使用壓縮的散列算法來 生成散列。例如,壓縮的散列可以包含原始散列的每第5位。參考過程框606,將遠(yuǎn)程生成的功能部件激活信息與內(nèi)置功能部 件激活信息比較。術(shù)語"內(nèi)置功能部件激活信息"是指內(nèi)置于本地計 算系統(tǒng)的硬件中的信息。在一個實施例中,內(nèi)置功能部件激活信息^支 存儲在位于本地計算系統(tǒng)上(例如位于托管功能部件激活組件的芯片 上或位于托管功能部件的芯片上)的熔絲(或其他一次寫入存儲器) 中。熔絲可以存儲序列號、共有秘密和功能部件標(biāo)識符的壓縮的散列。在一個實施例中,嵌入式處理器(例如圖4所示的嵌入式處理器 430)提取遠(yuǎn)程生成的功能部件激活信息,并將其提供到比較器(例如圖4所示的比較器410)。此外,本地計算系統(tǒng)上的固件(和/或軟 件)也提供內(nèi)置功能部件激活信息。比較器(正如其名稱所暗示的) 將內(nèi)置值與遠(yuǎn)程生成的值比較。如果所比較的值匹配(608 ),則在610激活功能部件。激活功能 部件可以通過多種機制來實現(xiàn),包括例如閉合(或相反地斷開)連接 (或以其他方式提供控制和/或數(shù)據(jù)路徑)、對功能部件加電等。如果所比較的值不匹配,則在612設(shè)置已嘗試一次標(biāo)記(例如圖 4所示的已嘗試一次標(biāo)記414)。在一個實施例中,使用已嘗試一次標(biāo) 記來限制激活嘗試的次數(shù)。例如,在一個實施例中,每個加電周期僅 允許一次激活嘗試。在備選實施例中,可以通過不同方式實現(xiàn)對允許 激活嘗試的次數(shù)的限制(例如,不同的允許嘗試次數(shù);和/或限制可以 基于不同事件;和/或可以是每個單位時間等)。參考過程框614,如果設(shè)置了已嘗試一次標(biāo)記,則功能部件激活 組件阻止功能部件的激活。"阻止,,可以通過多種不同方式來實現(xiàn)。 在一個實施例中,如果設(shè)置了已嘗試一次標(biāo)記,則功能部件激活組件 不比較內(nèi)置值與遠(yuǎn)程生成的值。在備選實施例中,如果設(shè)置了已嘗試 一次標(biāo)記,則可以^使用不同的機制來阻止功能部件的激活。在一個實 施例中,可以根據(jù)復(fù)位策略將已嘗試一次標(biāo)記復(fù)位。例如,如果計算 系統(tǒng);故重新啟動,則可以將已嘗試一次標(biāo)記復(fù)位。圖7A和7B分別是說明計算系統(tǒng)700和800的選定方面的框圖。 計算系統(tǒng)700包括與互連720耦合的處理器710。在一些實施例中, 術(shù)語處理器和中央處理單元(CPU)可互換地使用。在一個實施例中, 處理器710是美國加州圣克拉拉的英特爾公司提供的XEON⑧系列的 處理器。在備選實施例中,可以使用其他處理器。在另一個備選實施 例中,處理器710可以包括多個處理器核。根據(jù)一個實施例,互連720與芯片730通信。在一個實施例中, 芯片730是芯片組的組件?;ミB720可以是點到點互連或它可以連接 到兩個或兩個以上芯片(例如芯片組的兩個或兩個以上芯片)。芯片730包括存儲器控制器740,存儲器控制器740可以與主系統(tǒng)存儲器 (例如圖1所示的主系統(tǒng)存儲器)耦合。在備選實施例中,存儲器控 制器740可以與處理器710在相同的芯片上,如圖7B所示。在一個 實施例中,功能部件激活組件742動態(tài)地激活(或禁用)計算系統(tǒng)700 和/或800的功能部件。輸入/輸出(I/O)控制器750對處理器710與一個或多個I/O接 口 (例如有線和無線網(wǎng)絡(luò)接口 )和/或I/O裝置之間的數(shù)據(jù)流進(jìn)行I/O 控制。例如,在圖示的實施例中,1/O控制器750控制處理器710和 無線發(fā)射器和接收器760之間的數(shù)據(jù)流。在備選實施例中,存儲器控 制器740和I/O控制器750可以集成到單個控制器中。還可以將本發(fā)明的實施例的部件作為用于存儲機器可執(zhí)行指令 的機器可讀媒體來提供。機器可讀媒體可以包括但不限于,閃速存儲 器、光盤、壓縮光盤只讀存儲器(CD-ROM )、數(shù)字多功能/視頻光盤 (DVD)ROM、隨機存取存儲器(RAM)、可擦寫可編程只讀存儲器 (EPROM)、電可擦寫可編程只讀存儲器(EEPROM)、磁卡或光卡、 傳播^某體或適于存儲電子指令的其他類型的機器可讀々某體。例如,本 發(fā)明的實施例可以作為計算機程序來下載,其中該計算機程序可以通 過載波或其他傳播々某體中包含的數(shù)據(jù)信號經(jīng)由通信鏈路(例如調(diào)制解 調(diào)器或網(wǎng)絡(luò)連接)從遠(yuǎn)程計算機(例如服務(wù)器)傳輸?shù)秸埱笥嬎銠C(例 如客戶才幾)。應(yīng)該認(rèn)識到,在本說明書中對"一個實施例"或"實施例"的引 述表示結(jié)合該實施例描述的特定特征、結(jié)構(gòu)或特點包含在本發(fā)明的至 少一個實施例中。因此,要強調(diào)且應(yīng)該認(rèn)識到,本說明書中不同位置 對"實施例"或"一個實施例"或"備選實施例"的引述不一定全部 指相同的實施例。而且,可以按需要將特定特征、結(jié)構(gòu)或特點組合在 本發(fā)明的 一個或多個實施例中。相似地,應(yīng)該i^i只到,在本發(fā)明實施例的前文描述中,有時為了 使公開流暢的目的,將多個不同特征歸組在一個實施例、附圖或其描述中以便幫助理解不同發(fā)明方面的其中一個或多個方面。但是,公開的該方法不應(yīng)解釋為反映如下意圖要求權(quán)利的發(fā)明主題需要的特征 多于每項權(quán)利要求中明確引述的特征。相反,正如所附權(quán)利要求反映附在詳細(xì)描述之后的權(quán)利要求由此明確地結(jié)合于詳細(xì)描述中。
權(quán)利要求
1.一種設(shè)備,包括用于提供功能部件激活信息的組件;以及與所述用于提供功能部件激活信息的組件耦合的功能部件激活組件,所述功能部件激活組件用于動態(tài)地激活硬件功能部件。
2. 如權(quán)利要求1所述的設(shè)備,還包括與所述功能部件激活組件耦合的處理器,所述處理器用于將外部 生成的功能部件激活信息纟是供到所述功能部件激活組件。
3. 如權(quán)利要求2所述的設(shè)備,其特征在于,用于提供內(nèi)置功能部 件激活信息的組件包括一次寫入存儲器,所述一次寫入存儲器存儲至少部分基于設(shè)備序 列號、共有秘密和功能部件標(biāo)識符的值。
4. 如權(quán)利要求3所述的設(shè)備,其特征在于,所述一次寫入存儲器 是熔絲。
5. 如權(quán)利要求3所述的設(shè)備,其特征在于,所述至少部分基于設(shè) 備序列號、共有秘密和功能部件標(biāo)識符的值包括至少部分基于所述設(shè)備序列號、所述共有秘密和所述功能部件標(biāo) 識符的散列的散列。
6. 如權(quán)利要求5所述的設(shè)備,其特征在于,所述散列是壓縮的散列。
7. 如權(quán)利要求2所述的設(shè)備,其特征在于,所述功能部件激活組 件包括比較器,所述比較器用于將所述內(nèi)置功能部件激活信息與所述 外部生成的功能部件激活信息比較。
8. 如權(quán)利要求2所述的設(shè)備,其特征在于,所述功能部件激活組 件還包括已嘗試一次標(biāo)記,所述已嘗試一次標(biāo)記用于指示在所述設(shè)備的當(dāng)前加電周期期間已發(fā)生過激活功能部件的嘗試。
9. 如權(quán)利要求8所述的設(shè)備,其特征在于,如果設(shè)置了所述已嘗 試一次標(biāo)記,則所述功能部件激活組件將阻止激活所述功能部件的嘗 試。
10. —種方法,包括將內(nèi)置功能部件信息從本地計算系統(tǒng)提供到遠(yuǎn)程計算系統(tǒng); 從所述遠(yuǎn)程計算系統(tǒng)接收遠(yuǎn)程生成的功能部件激活信息; 將所述遠(yuǎn)程生成的功能部件激活信息與內(nèi)置功能部件激活信息 比較;以及如果所述遠(yuǎn)程生成的功能部件激活信息等于所述內(nèi)置功能部件 激活信息,則激活功能部件。
11. 如權(quán)利要求IO所述的方法,還包括如果所述遠(yuǎn)程生成的功能部件激活信息不等于所述內(nèi)置功能部 件激活信息,則設(shè)置已嘗試一次標(biāo)記。
12. 如權(quán)利要求11所述的方法,還包括如果設(shè)置了所述已嘗試一次標(biāo)記,則阻止所述功能部件的激活。
13. 如權(quán)利要求IO所述的方法,其特征在于,所述內(nèi)置信息包括 ^口下的至少之一序列號;以及 功能部件標(biāo)識符。
14. 如權(quán)利要求IO所述的方法,其特征在于,所述遠(yuǎn)程生成的功 能部件激活信息包括至少部分基于序列號、共有秘密和功能部件標(biāo)識符的散列值。
15. 如權(quán)利要求14所述的方法,其特征在于,所述散列值是壓縮 的散列值。
16. 如權(quán)利要求10所述的方法,其特征在于,所述內(nèi)置功能部件 激活信息包括至少部分基于序列號、共有秘密和功能部件標(biāo)識符的內(nèi)置散列值。
17. 如權(quán)利要求16所述的方法,其特征在于,所述內(nèi)置散列值是 內(nèi)置壓縮的散列值。
18. 如權(quán)利要求17所述的方法,其特征在于,所述內(nèi)置散列值是 熔絲。
19. 如權(quán)利要求IO所述的方法,其特征在于,如果所述遠(yuǎn)程生成 的功能部件激活信息等于所述內(nèi)置功能部件激活信息,則激活所述功 能部件的步驟包括如果所述遠(yuǎn)程生成的功能部件激活信息等于所述內(nèi)置功能部件 激活信息,則激活本地計算系統(tǒng)的硬件功能部件。
20. —種系統(tǒng),包括用于提供內(nèi)置功能部件激活信息的組件;與所述用于提供功能部件激活信息的組件耦合的功能部件激活 組件;以及與所述功能部件激活組件耦合的處理器,所述處理器用于將外部 生成的功能部件激活信息提供到所述功能部件激活組件;以及與所述處理器耦合的網(wǎng)^t妄口 ,所述網(wǎng)絡(luò)接口用于從外部計算系 統(tǒng)接收外部生成的功能部件激活信息。
21. 如權(quán)利要求20所述的系統(tǒng),其特征在于,所述用于提供內(nèi)置 功能部件激活信息的組件包括存儲壓縮的散列值的熔絲,所述壓縮的散列值至少部分基于序列號、共有秘密和功能部件標(biāo)識符。
22. 如權(quán)利要求20所述的系統(tǒng),還包括禁用的基于硬件的功能部件,響應(yīng)來自所述功能部件激活組件的 指示而激活所述禁用的基于硬件的功能部件。
全文摘要
本發(fā)明的實施例一般涉及用于計算系統(tǒng)功能部件激活機制的設(shè)備、方法和系統(tǒng)。在一個實施例中,計算系統(tǒng)接收遠(yuǎn)程生成的功能部件激活信息。計算系統(tǒng)將遠(yuǎn)程生成的功能部件激活信息與內(nèi)置功能部件激活機制比較。在一個實施例中,如果遠(yuǎn)程生成的功能部件激活信息與內(nèi)置功能部件激活機制匹配,則激活該計算系統(tǒng)的功能部件。還描述了其他實施例并且對這些其他實施例要求權(quán)利。
文檔編號G06F21/20GK101278299SQ200680036340
公開日2008年10月1日 申請日期2006年7月27日 優(yōu)先權(quán)日2005年8月1日
發(fā)明者D·穆拉, K·普夫勒德雷爾, R·坎納 申請人:英特爾公司