專利名稱:用于安全協(xié)處理器中的n元局部性的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般而言涉及計(jì)算機(jī) 安全和可信任計(jì)算,更具體地,涉及在計(jì)算系統(tǒng)環(huán)境中擴(kuò)展局部性。
背景技術(shù):
當(dāng)前的安全協(xié)處理器模塊(例如,可信任平臺(tái)模塊(TPM))提供了對(duì)局部性 (locality)概念的支持。局部性一般意味著存在與計(jì)算系統(tǒng)的“機(jī)器模式”對(duì)應(yīng)的、存在于該計(jì)算系統(tǒng)中的軟件環(huán)境的標(biāo)識(shí)。機(jī)器模式可以包括在系統(tǒng)上運(yùn)行的微代碼、常規(guī)宏代碼 (例如,基本輸入/輸出系統(tǒng)(BIOS)和靜態(tài)操作系統(tǒng)(OS))、可信任操作環(huán)境(例如,用于支持可信任執(zhí)行技術(shù)的來(lái)自第三方的管理程序)以及其它硬件驅(qū)動(dòng)的標(biāo)記的一個(gè)或多個(gè)版本。安全協(xié)處理器模塊一般用于提供在計(jì)算系統(tǒng)上運(yùn)行的軟件的安全操作。軟件環(huán)境與機(jī)器模式的綁定可以用于提供附加的安全性。然而,在某些情況下,僅使用機(jī)器模式綁定來(lái)限制系統(tǒng)操作可能是不夠的。
根據(jù)本發(fā)明的下列詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將變得顯而易見(jiàn),其中圖1是根據(jù)本發(fā)明的實(shí)施例輸入到安全協(xié)處理器模塊用于增強(qiáng)的局部性的數(shù)據(jù)的視圖;圖2是示出了根據(jù)本發(fā)明的實(shí)施例的具有安全協(xié)處理器模塊的處理系統(tǒng)的視圖;圖3是示出了根據(jù)本發(fā)明的實(shí)施例的安全協(xié)處理器模塊的初始化的流程圖;以及圖4是示出了根據(jù)本發(fā)明的實(shí)施例的安全協(xié)處理器模塊的安全策略處理的流程圖。
具體實(shí)施例方式在可信任計(jì)算系統(tǒng)中提供的其中一個(gè)特征是獲得計(jì)算系統(tǒng)的當(dāng)前環(huán)境的測(cè)量。該測(cè)量至少部分地包括固件和操作系統(tǒng)(OS)的加密散列。該測(cè)量還可以包括其它軟件組件的散列。該測(cè)量可以用于密封的存儲(chǔ)器并且還可以用于將該環(huán)境報(bào)告給外部方。當(dāng)前環(huán)境還可以被稱為機(jī)器模式。本發(fā)明的實(shí)施例通過(guò)將附加的屬性包括在計(jì)算系統(tǒng)的當(dāng)前環(huán)境的測(cè)量中而增強(qiáng)了基于機(jī)器模式的安全協(xié)處理器模塊和局部性概念。使用附加屬性的結(jié)果是可以改善計(jì)算系統(tǒng)的總體安全性和控制。在本發(fā)明的實(shí)施例中,在確定該測(cè)量時(shí),安全協(xié)處理器模塊處理附加的屬性。在上下文中用于測(cè)量目的的該附加屬性不會(huì)被在計(jì)算系統(tǒng)中執(zhí)行的其它軟件(例如,應(yīng)用程序、OS或者BIOS)處理。這避免了使易受攻擊的、更高級(jí)的軟件通過(guò)使用附加的屬性參與到測(cè)量中并且將可能的攻擊點(diǎn)暴露給黑客。在其中安全協(xié)處理器模塊包括可信任平臺(tái)模塊(TPM)的至少一個(gè)實(shí)施例中,這意味著與測(cè)量的生成和使用有關(guān)的操作在TPM的特定的、硬件限界的可信任計(jì)算基礎(chǔ)(TCB)的內(nèi)部。TPM提供了受保護(hù)的存儲(chǔ)、執(zhí)行以及定義明確的登記/注冊(cè)機(jī)制。
本說(shuō)明書(shū)中對(duì)本發(fā)明的“一個(gè)實(shí)施例”或者“實(shí)施例”的引用意味著結(jié)合該實(shí)施例描述的特定的特征、結(jié)構(gòu)或者特點(diǎn)包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在本說(shuō)明書(shū)全文各個(gè)位置處出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”并不必然全部指代同一實(shí)施例。本發(fā)明的一個(gè)實(shí)施例定義了寬泛的訪問(wèn)控制空間S,S具有一個(gè)或多個(gè)集合S_i, 其中局部性屬性包括 < 機(jī)器模式M,可信任時(shí)間T,位置L>或者針對(duì)所有i值的<M_i,T_i, L_i>的N-元組。也就是說(shuō),可以將計(jì)算系統(tǒng)的當(dāng)前可信任時(shí)間和當(dāng)前地理位置與機(jī)器模式一起包括在測(cè)量中。值i可以指示該訪問(wèn)控制空間S中的一組測(cè)量中所選擇的一個(gè)。S中的每個(gè)S_i可以指示機(jī)器模式、可信任時(shí)間以及位置的可接受組合,從而可以執(zhí)行由更高級(jí)的軟件(諸如,OS和應(yīng)用程序)進(jìn)行的計(jì)算系統(tǒng)的進(jìn)一步操作。在本發(fā)明的實(shí)施例中,訪問(wèn)控制空間S可以進(jìn)一步被擴(kuò)展為包括被稱為硬件廠商字符串的另一信息項(xiàng)。該硬件廠商字符串可以包括具有任意長(zhǎng)度和組成的位字符串,并且可以唯一地標(biāo)識(shí)計(jì)算系統(tǒng)、安全協(xié)處理器模塊、計(jì)算系統(tǒng)的處理器和/或其它硬件系統(tǒng)部件的一個(gè)或多個(gè)硬件廠商。在一個(gè)實(shí)施例中,硬件廠商字符串可以由安全協(xié)處理器使用以用于證明目的。該實(shí)施例中的訪問(wèn)控制空間S可以是 < 機(jī)器模式M,可信任時(shí)間T,位置L, 硬件廠商字符串HVS>或者針對(duì)所有i值的<M_i,T_i, L_i, HSV_i>。在本發(fā)明的另一實(shí)施例中,訪問(wèn)控制空間S可以進(jìn)一步被擴(kuò)展為包括諸如環(huán)境因素的附加屬性。環(huán)境因素可以包括諸如計(jì)算系統(tǒng)的溫度、加速度、容量(capacitance)、高度和方向的數(shù)據(jù)項(xiàng)。還可以包括其它環(huán)境因素。在一個(gè)實(shí)施例中,可以由安全協(xié)處理器模塊使用該環(huán)境因素,以幫助控制計(jì)算系統(tǒng)的使用。該實(shí)施例中的訪問(wèn)控制空間S可以是< 機(jī)器模式M,可信任時(shí)間T,位置L,硬件廠商字符串HVS,環(huán)境因素EF>或者針對(duì)所有i值的 <M_i,T_i,L_i,HSV_i,EF_i>。環(huán)境因素可以包括上面所列屬性(溫度、加速度、容量、高度和方向)中的一個(gè)或多個(gè)。本領(lǐng)域技術(shù)人員將意識(shí)到,取決于實(shí)現(xiàn)方式,訪問(wèn)控制空間S可以包括上述屬性的任意組合。圖1是根據(jù)本發(fā)明的實(shí)施例輸入到安全協(xié)處理器模塊用于增強(qiáng)的局部性的數(shù)據(jù)的視圖。安全協(xié)處理器模塊100向計(jì)算系統(tǒng)提供可信任計(jì)算服務(wù)和操作。在一個(gè)實(shí)施例中, 安全協(xié)處理器模塊100包括可信任平臺(tái)模塊(TPM)。在其它實(shí)施例中,可以使用其它類型的安全協(xié)處理器模塊。例如,其它安全協(xié)處理器包括可以從國(guó)際商業(yè)機(jī)器(IBM)商業(yè)獲得的 IBM 4758PCI加密協(xié)處理器,以及可以從德州儀器(Tl)商業(yè)獲得的TI M-Shield。已經(jīng)由可信任計(jì)算組織(TCG)在可以從TCG獲得的2002年2月的可信任計(jì)算平臺(tái)聯(lián)盟(TCPA)主要規(guī)范1.2及后續(xù)的版本中定義了 TPM。TPM在計(jì)算系統(tǒng)(諸如,臺(tái)式或者膝上型個(gè)人計(jì)算機(jī)(PC)、移動(dòng)計(jì)算設(shè)備、蜂窩電話或者其它計(jì)算設(shè)備)的母板上稍類似于“智能卡”那樣進(jìn)行操作,以向系統(tǒng)提供各種安全功能。通常每個(gè)系統(tǒng)僅有一個(gè)TPM。TPM包括至少一個(gè)公鑰 /私鑰對(duì)以在加密操作中使用,TPM可以生成匿名密鑰對(duì)以由系統(tǒng)中的其它實(shí)體使用,可以執(zhí)行加密和解密操作,可以對(duì)數(shù)據(jù)進(jìn)行簽名和驗(yàn)證,并且可以建立系統(tǒng)的可信根。TPM被認(rèn)為是難以侵入并且難以影響其操作。作為計(jì)算平臺(tái)的可信根使用的TPM具有一組平臺(tái)配置寄存器(PCR)和至少一個(gè)公鑰/私鑰對(duì)。在可信任計(jì)算環(huán)境的引導(dǎo)期間,可信根部件將加載軟件模塊、計(jì)算軟件模塊的 散列、向PCR發(fā)送該散列、然后向該軟件模塊傳送控制。然后, 該軟件模塊可以針對(duì)新的軟件模塊來(lái)重復(fù)該處理,并且可以將新的軟件模塊的散列發(fā)送到新的PCR,或者其可以擴(kuò)展之前使用的PCR的散列。該處理可以被重復(fù)多次。最后,存在具有控制可信任計(jì)算環(huán)境的所有軟件的測(cè)量的一個(gè)或多個(gè)PCR。密封的存儲(chǔ)器是可信任計(jì)算平臺(tái)的其中一個(gè)特征。TPM可以對(duì)被稱為二進(jìn)制大對(duì)象(blob)的一部分?jǐn)?shù)據(jù)進(jìn)行加密,該二進(jìn)制大對(duì)象由一組PCR值和秘密構(gòu)成。之后,當(dāng)將該二進(jìn)制大對(duì)象提供給TPM用于解密時(shí),TPM將對(duì)其進(jìn)行解密,并且檢查在該二進(jìn)制大對(duì)象中指定的PCR值是否與當(dāng)前在TPM中的PCR中存儲(chǔ)的PCR值相同。只有在通過(guò)該檢查的情況下TPM才將解密后的秘密釋放給平臺(tái)。因此,該密封的秘密僅僅對(duì)于由該二進(jìn)制大對(duì)象指定的計(jì)算環(huán)境才是可得的。如果該計(jì)算平臺(tái)上已經(jīng)運(yùn)行有一些其它的環(huán)境,則TPM將不釋放該秘密。在一個(gè)實(shí)施例中,當(dāng)處理系統(tǒng)啟動(dòng)時(shí),在引導(dǎo)序列期間,各種軟件組件(諸如, BIOS、可選的ROM等等)的測(cè)量可以被注冊(cè)到一個(gè)或多個(gè)PCR中。這被稱作機(jī)器模式。在一個(gè)實(shí)施例中,測(cè)量包括一個(gè)或多個(gè)軟件組件的代碼的加密散列。為了將數(shù)據(jù)綁定到當(dāng)前機(jī)器模式,安全協(xié)處理器模塊100接受機(jī)器模式106和數(shù)據(jù)102作為輸入數(shù)據(jù)。使用已知的加密操作,安全協(xié)處理器模塊將機(jī)器模式綁定到數(shù)據(jù),以產(chǎn)生綁定數(shù)據(jù)104。然后,由于安全協(xié)處理器模塊的操作,其它軟件組件可以推斷對(duì)綁定數(shù)據(jù)的信任。為了改善計(jì)算系統(tǒng)的安全性和控制,在本發(fā)明的實(shí)施例中,可以包括附加的屬性, 其作為輸入到安全協(xié)處理器模塊的數(shù)據(jù)??梢园ǖ乩砦恢?08作為訪問(wèn)控制空間中的屬性??梢愿鶕?jù)公知的方法從計(jì)算系統(tǒng)的全球定位系統(tǒng)(GPS)部件獲得計(jì)算系統(tǒng)的當(dāng)前地理位置。取決于系統(tǒng)的位置以及系統(tǒng)管理者關(guān)于位置和系統(tǒng)使用所建立的規(guī)則,可以使用計(jì)算系統(tǒng)的當(dāng)前地理位置來(lái)控制計(jì)算系統(tǒng)的操作。還可以包括可信任時(shí)間110作為訪問(wèn)控制空間中的屬性。期望獲得在計(jì)算系統(tǒng)中可信任的時(shí)間值。例如,可以結(jié)合其它處理來(lái)使用可信任時(shí)間,以改善內(nèi)容保護(hù)機(jī)制的穩(wěn)健性,從而確保額外的內(nèi)容對(duì)于數(shù)字家庭是可獲得的。其可以用在內(nèi)容保護(hù)環(huán)境中以確保計(jì)算平臺(tái)擁有者定期地下載泄密密鑰的撤銷(xiāo)列表。其還可以用于提供使得內(nèi)容能夠被購(gòu)買(mǎi)以用于臨時(shí)時(shí)間窗口期間的訪問(wèn)的安全方法。然而,如果可以在計(jì)算系統(tǒng)沒(méi)有檢測(cè)到的情況下由不良用戶修改該時(shí)間值,則可能損害計(jì)算機(jī)安全性和內(nèi)容保護(hù)系統(tǒng)。提供可信任時(shí)間的一種解決方案要求在TPM中包含不能輕易地被用戶移除的電池(諸如,在可以從可信計(jì)算組織得到的2004年11月23日的可信任平臺(tái)模塊(TPM)主要部分1設(shè)計(jì)原理,規(guī)范版本 1.2,修訂本81,第93-98頁(yè)中描述的)。在一個(gè)實(shí)施例中,可以如在2005年9月23日遞交的、ErnieF. Brickell 和 Clifford D.Hall 的、名稱為 “Method for Providing Trusted Timein a Computing Platform”、序列號(hào)No. 11/233,543的美國(guó)專利申請(qǐng)中所公開(kāi)的那樣來(lái)提供可信任時(shí)間,并將上述專利申請(qǐng)通過(guò)引用合并于此。還可以包括硬件廠商字符串112作為訪問(wèn)控制空間中的屬性。如上文所提到的, 硬件廠商字符串可以包括具有任意長(zhǎng)度和組成的位字符串,并且可以唯一地標(biāo)識(shí)計(jì)算系統(tǒng)、安全協(xié)處理器模塊、計(jì)算系統(tǒng)的處理器和/或其它硬件系統(tǒng)部件的一個(gè)或多個(gè)硬件廠商。
還可以包括一個(gè)或多個(gè)環(huán)境因素114作為訪問(wèn)控制空間中的屬性??梢杂珊线m的已知設(shè)備和傳感器來(lái)確定和/或感測(cè)諸如計(jì)算系統(tǒng)的溫度、加速度、容量、高度和方向的環(huán)境條件,并且將其輸入到安全協(xié)處理器模塊。圖2中示出了本發(fā)明的實(shí)施例的示例性計(jì)算系統(tǒng),然而,還可以使用其它系統(tǒng),并且本發(fā)明并不需要示出的計(jì)算系統(tǒng)的所有部件。例如,可以使用示例計(jì)算系統(tǒng)200來(lái)執(zhí)行本發(fā)明的實(shí)施例的處理。示例系統(tǒng)200代表基于可以從英特爾公司獲得的PENTIUM 、 CORE、CORE DUO、COREQUAD或者Celeron 系列處理器的處理系統(tǒng),然而,也可以使用其它的系統(tǒng)(包括具有其它處理器的個(gè)人計(jì)算機(jī)(PC)或者服務(wù)器、工程工作站、其它機(jī)頂盒、移動(dòng)計(jì)算設(shè)備、手持計(jì)算設(shè)備、蜂窩電話等)和體系結(jié)構(gòu)。圖2是本發(fā)明的一個(gè)實(shí)施例 的系統(tǒng)200的框圖。系統(tǒng)200包括處理數(shù)據(jù)信號(hào)的處理器202。處理器202可以耦合至處理器總線204,該處理器總線204在處理器202和系統(tǒng) 200中的其它部件之間傳輸數(shù)據(jù)信號(hào)。系統(tǒng)200包括存儲(chǔ)器206。存儲(chǔ)器206可以存儲(chǔ)可以由處理器202執(zhí)行的由數(shù)據(jù)信號(hào)表示的指令和/或數(shù)據(jù)。該指令和/或數(shù)據(jù)可以包括用于執(zhí)行本發(fā)明的任意和/或所有技術(shù)的代碼。存儲(chǔ)器206還可以包含附加的軟件和/或諸如硬件廠商字符串232之類的數(shù)據(jù)。橋接器/存儲(chǔ)器控制器210可以耦合至處理器總線204和存儲(chǔ)器206。橋接器/ 存儲(chǔ)器控制器210指示在處理器202、存儲(chǔ)器206和系統(tǒng)200中的其它部件之間的數(shù)據(jù)信號(hào),并且在處理器總線204、存儲(chǔ)器206和第一輸入/輸出(1/0)總線208之間橋接數(shù)據(jù)信號(hào)。在該實(shí)施例中,圖形設(shè)備214連接到用于向用戶顯示由圖形設(shè)備214渲染或以其它方式處理的圖像的顯示設(shè)備(未示出)。第一 1/0總線208可以包括單個(gè)總線或者多個(gè)總線的組合。第一 1/0總線208提供在系統(tǒng)200中的部件之間的通信鏈路。在至少一個(gè)實(shí)施例中,安全協(xié)處理器模塊216(例如,TPM)可以耦合至總線橋接器 212。安全協(xié)處理器模塊可以包括PCR 217、至少一個(gè)安全策略228以及安全模式230。在一個(gè)實(shí)施例中,該安全模式可以指定安全協(xié)處理器模塊在正常的模式或者增強(qiáng)的模式中操作。安全策略可以指定可以如何使用訪問(wèn)控制空間屬性來(lái)提供計(jì)算系統(tǒng)的增強(qiáng)的安全性和控制。在一個(gè)實(shí)施例中,安全協(xié)處理器模塊可以包括存儲(chǔ)在其上的硬件廠商字符串232。第二 1/0總線220可以包括單個(gè)總線或者多個(gè)總線的組合。第二 1/0總線220提供在系統(tǒng)200中的部件之間的通信鏈路。在本發(fā)明的實(shí)施例中,附加的設(shè)備可以耦合至第二 1/0總線,以向安全協(xié)處理器模塊提供附加的屬性??梢园℅PS設(shè)備222以提供當(dāng)前的地理位置數(shù)據(jù)??梢园尚湃螘r(shí)間設(shè)備224以提供當(dāng)前的可信任時(shí)間??梢园ㄒ粋€(gè)或多個(gè)環(huán)境因素設(shè)備226以提供環(huán)境因素?cái)?shù)據(jù)。例如,可以包括針對(duì)溫度、加速度、容量、高度、方向或者其它因素的感測(cè)設(shè)備。本發(fā)明的實(shí)施例與作為處理系統(tǒng)中的部件的系統(tǒng)200的使用有關(guān)。根據(jù)一個(gè)實(shí)施例,可以響應(yīng)于處理器202執(zhí)行存儲(chǔ)器206中的指令序列,由系統(tǒng)200來(lái)執(zhí)行這種處理。可以將該指令從另一計(jì)算機(jī)可讀介質(zhì)讀入到存儲(chǔ)器206中。指令序列的執(zhí)行使得處理器202 根據(jù)本發(fā)明的實(shí)施例針對(duì)應(yīng)用執(zhí)行處理。在可替換的實(shí)施例中,可以使用硬件電路來(lái)代替軟件指令或者與軟件指令組合,以實(shí)現(xiàn)部分本發(fā)明實(shí)施例。因此,本發(fā)明不限于硬件電路和軟件的任意特定的組合。圖3是示出了根據(jù)本發(fā)明實(shí)施例的安全協(xié)處理器模塊的初始化的流程圖。在計(jì)算系統(tǒng)初始化處理期間的開(kāi)始框300之后,在框302處,安全協(xié)處理器模塊確定獲得和使用地理位置是否作為計(jì)算系統(tǒng)的能力而被啟用。如果是,則在框304處,安全協(xié)處理器模塊將地理位置添加為安全策略228中的條目。如果不是,則在框306處,安全協(xié)處理器模塊確定獲得和使用可信任時(shí)間是否作為計(jì)算系統(tǒng)的能力而被啟用。如果是,則在框308處,安全協(xié)處理器模塊將可信任時(shí)間添加為安全策略中的條目。如果不是,則在框310處,安全協(xié)處理器模塊確定獲得和使用硬件廠商字符串是否作為計(jì)算系統(tǒng)的能力而被啟用。如果是,則在框 312處,安全協(xié)處理器模塊將硬件廠商字符串添加為安全策略中的條目。如果不是,則在框 314處,安全協(xié)處理器模塊確定獲得和使用一個(gè)或多個(gè)環(huán)境因素是否作為計(jì)算系統(tǒng)的能力而被啟用。如果是,則在框316處,安全協(xié)處理器模塊將相關(guān)環(huán)境因素添加為安全策略中的條目。如果地理位置、可信任時(shí)間、硬件廠商字符串或者環(huán)境因素中的任何一個(gè)被啟用,則在框320處,可以將安全模式230設(shè)置為增強(qiáng)的。否則,可以將安全模式設(shè)置為正常的。在框322處,可以執(zhí)行根據(jù)所選擇的安全模式的安全協(xié)處理器模塊的進(jìn)一步初始化處理。322 中的處理可以包括但不限于有效的安全敏感性操作,諸如1)生成隨機(jī)數(shù);2)加密簽名;3) 加密驗(yàn)證;4)密封(針對(duì)環(huán)境因素加密);5)解密封(針對(duì)環(huán)境因素解密);以及6)引證 (對(duì)來(lái)自遠(yuǎn)程證明的對(duì)象進(jìn)行簽名)。在其它實(shí)施例中,可以改變對(duì)各種屬性進(jìn)行驗(yàn)證的順序。一旦啟用了附加的屬性,則安全協(xié)處理器模塊可以參照之前存儲(chǔ)的針對(duì)該屬性的特定的使用條件和可接受值,或者可以提供安全設(shè)置那些條件的能力。例如,可以設(shè)置計(jì)算系統(tǒng)可以操作的地理位置的可接受范圍。在一個(gè)實(shí)施例中,在系統(tǒng)管理者經(jīng)由安全固件機(jī)制完成安全協(xié)處理器模塊初始化之后,可以執(zhí)行使用條件和可接受值的設(shè)置。圖4是示出了根據(jù)本發(fā)明實(shí)施例的安全協(xié)處理器模塊的安全策略處理的流程圖。 在開(kāi)始框400之后,在完成安全協(xié)處理器模塊初始化處理之后的任意時(shí)刻,在框402處,安全協(xié)處理器模塊可以接收?qǐng)?zhí)行操作的請(qǐng)求。在框404處,安全協(xié)處理器模塊獲得安全模式。 如果安全模式是正常的,則在框416處,可以由安全協(xié)處理器模塊檢查機(jī)器模式。如果機(jī)器模式是可接受的,則在框418處,可以由安全協(xié)處理器模塊執(zhí)行所請(qǐng)求的操作,并且在框 414處,處理返回到調(diào)用程序。然而,如果機(jī)器模式不是可接受的,則在框412處,可以報(bào)告錯(cuò)誤,并且在框414處,處理返回。如果安全模式是增強(qiáng)的,則在框406處,在執(zhí)行操作之前,安全協(xié)處理器模塊得到 安全策略,分析安全策略,并且確定需要考慮除了機(jī)器模式之外的哪些屬性。在框408處, 根據(jù)安全策略中的條目,安全協(xié)處理器模塊得到當(dāng)前地理位置、可信任時(shí)間、硬件廠商字符串和/或環(huán)境因素中的一個(gè)或多個(gè)。然后,根據(jù)安全策略,安全協(xié)處理器模塊基于從計(jì)算系統(tǒng)的各個(gè)設(shè)備獲得的屬性數(shù)據(jù)來(lái)確定所請(qǐng)求的操作是否是可接受的。也就是說(shuō),安全協(xié)處理器模塊可以將屬性的當(dāng)前值與在相關(guān)聯(lián)的安全策略條目中針對(duì)那些屬性設(shè)置的范圍和/ 或值進(jìn)行比較。如果確定該操作是可接受的,則在框416處,繼續(xù)進(jìn)行處理。如果不是,則在框412處,可以報(bào)告錯(cuò)誤??梢愿鶕?jù)本發(fā)明的實(shí)施例進(jìn)行許多可能的安全檢查。例如,一旦獲得了當(dāng)前的地理位置,則安全協(xié)處理器模塊可以確定當(dāng)前的地理位置是否在指定的范圍或者邊界之內(nèi)。 如果不在,則安全協(xié)處理器模塊可以拒絕在該計(jì)算系統(tǒng)上實(shí)現(xiàn)某些操作或者服務(wù)(例如, 系統(tǒng)的強(qiáng)制關(guān)閉)。在另一實(shí)例中,如果可信任時(shí)間與計(jì)算系統(tǒng)上的其它時(shí)間指示器不匹配,則安全協(xié)處理器模塊可以確定該其它時(shí)間指示器已經(jīng)被篡改,并采取適當(dāng)?shù)膭?dòng)作。在另一實(shí)例中,如果任意的環(huán)境因素在指定的范圍之外,則可以采取適當(dāng)?shù)膭?dòng)作。例如,如果溫度太高,則可以關(guān)閉計(jì)算系統(tǒng)。 在圖4所示的實(shí)施例中,當(dāng)安全模式是增強(qiáng)的時(shí),在檢查其它屬性之后進(jìn)行機(jī)器模式檢查。在其它實(shí)施例中,可以改變處理的該順序,使得在檢查機(jī)器模式之后檢查其它屬性。因此,在機(jī)器模式的基礎(chǔ)上,通過(guò)添加附加的屬性來(lái)擴(kuò)展計(jì)算系統(tǒng)的測(cè)量的局部性,安全協(xié)處理器模塊可以提供計(jì)算系統(tǒng)的更好的安全性和進(jìn)一步的控制。由于該能力是安全協(xié)處理器模塊的組成部分,而安全協(xié)處理器模塊比OS或者應(yīng)用程序更難被篡改,因此可以改善計(jì)算系統(tǒng)的總體安全性。雖然本文描述的操作可以作為順序處理來(lái)進(jìn)行描述,但是實(shí)際上可以并行或同時(shí)執(zhí)行某些操作。此外,在某些實(shí)施例中,可以在不背離本發(fā)明的精神的情況下重新排列操作的順序。本文描述的技術(shù)不限于任何特定的硬件或軟件配置;它們可以適用于任意的計(jì)算或者處理環(huán)境。這些技術(shù)可以在硬件、軟件或者兩者的組合中實(shí)現(xiàn)。這些技術(shù)可以在可編程機(jī)器上執(zhí)行的程序中實(shí)現(xiàn),可編程機(jī)器諸如移動(dòng)或靜止計(jì)算機(jī)、手持計(jì)算設(shè)備、個(gè)人數(shù)字助理、機(jī)頂盒、蜂窩電話和尋呼機(jī)、以及其它電子設(shè)備,上述每一個(gè)均包括處理器、可由處理器讀取的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)元件)、至少一個(gè)輸入設(shè)備和一個(gè)或多個(gè)輸出設(shè)備。將程序代碼應(yīng)用于使用輸入設(shè)備輸入的數(shù)據(jù),以執(zhí)行所描述的功能, 并且生成輸出信息??梢詫⒃撦敵鲂畔?yīng)用于一個(gè)或多個(gè)輸出設(shè)備。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,可以利用包括多處理器系統(tǒng)、小型計(jì)算機(jī)、大型計(jì)算機(jī)等的各種計(jì)算機(jī)系統(tǒng)配置來(lái)實(shí)現(xiàn)本發(fā)明。本發(fā)明還可以在分布式計(jì)算環(huán)境中實(shí)現(xiàn),在分布式計(jì)算環(huán)境中可以由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)??梢栽诟呒?jí)的過(guò)程化或者面向?qū)ο蟮木幊陶Z(yǔ)言中實(shí)現(xiàn)每個(gè)程序,以與處理系統(tǒng)進(jìn)行通信。然而,如果期望,可以在匯編語(yǔ)言或者機(jī)器語(yǔ)言中實(shí)現(xiàn)程序。在任意情況下,可以編譯或者解釋這些語(yǔ)言??梢允褂贸绦蛑噶顏?lái)使利用指令進(jìn)行編程的通用或者專用處理系統(tǒng)執(zhí)行本文描述的操作。可替換地,可以由包含用于執(zhí)行操作的硬布線邏輯的特定硬件部件來(lái)執(zhí)行這些操作,或者由可編程計(jì)算機(jī)部件和定制硬件部件的任意組合來(lái)執(zhí)行這些操作。本文描述的方法可以作為計(jì)算機(jī)程序產(chǎn)品來(lái)提供,該計(jì)算機(jī)程序產(chǎn)品可以包括具有存儲(chǔ)在其上的指令的計(jì)算機(jī)可讀介質(zhì),該指令可以用于對(duì)處理系統(tǒng)或者其它電子設(shè)備進(jìn)行編程以執(zhí)行這些方法。本文使用的術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”將包括能夠存儲(chǔ)或者編碼指令序列的任意介質(zhì),其中, 該指令序列用于被機(jī)器執(zhí)行并且使該機(jī)器執(zhí)行本文描述的任意一種方法。因此,術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”將包括但不限于固態(tài)存儲(chǔ)器、光盤(pán)和磁盤(pán)。此外,在本領(lǐng)域中經(jīng)常以如采取動(dòng)作或者導(dǎo)致結(jié)果的一種形式或者另一形式(例如,程序、過(guò)程、進(jìn)程、應(yīng)用、模塊、邏輯等等)來(lái)討論軟件。這種表述僅僅是描述由處理系統(tǒng)執(zhí)行軟件以使處理器執(zhí)行產(chǎn)生結(jié)果的動(dòng)作的一種簡(jiǎn)略方式。
權(quán)利要求
1.一種增強(qiáng)計(jì)算系統(tǒng)的安全協(xié)處理器模塊中的局部性的方法,包括由所述安全協(xié)處理器模塊接收?qǐng)?zhí)行操作的請(qǐng)求;確定所述安全協(xié)處理器模塊的安全模式;當(dāng)所述安全模式是正常的時(shí),檢查所述計(jì)算系統(tǒng)環(huán)境的機(jī)器模式并且當(dāng)所述機(jī)器模式是可接受時(shí)執(zhí)行所請(qǐng)求的操作;以及當(dāng)所述安全模式是增強(qiáng)的時(shí),得到安全策略,得到當(dāng)前可信任時(shí)間和所述計(jì)算系統(tǒng)的當(dāng)前地理位置,根據(jù)在所述安全策略中指定的地理位置和可信任時(shí)間屬性條目、所述當(dāng)前地理位置以及所述當(dāng)前可信任時(shí)間來(lái)確定所請(qǐng)求的操作是否是可接受的,當(dāng)所請(qǐng)求的操作是可接受時(shí)檢查所述計(jì)算系統(tǒng)環(huán)境的所述機(jī)器模式,以及當(dāng)所述機(jī)器模式是可接受時(shí)執(zhí)行所請(qǐng)求的操作。
2.根據(jù)權(quán)利要求1所述的方法,還包括當(dāng)所述計(jì)算系統(tǒng)提供獲得所述當(dāng)前地理位置的能力時(shí),針對(duì)地理位置向所述安全策略添加條目并且將所述安全協(xié)處理器模塊的所述安全模式設(shè)置為增強(qiáng)的。
3.根據(jù)權(quán)利要求1所述的方法,還包括當(dāng)所述計(jì)算系統(tǒng)提供獲得可信任時(shí)間的能力時(shí),針對(duì)所述可信任時(shí)間向所述安全策略添加條目并且將所述安全協(xié)處理器模塊的所述安全模式設(shè)置為增強(qiáng)的。
4.根據(jù)權(quán)利要求1所述的方法,還包括當(dāng)所述計(jì)算系統(tǒng)提供獲得硬件廠商字符串的能力時(shí),針對(duì)所述硬件廠商字符串向所述安全策略添加條目并且將所述安全協(xié)處理器模塊的所述安全模式設(shè)置為增強(qiáng)的。
5.根據(jù)權(quán)利要求4所述的方法,還包括得到所述硬件廠商字符串,并且根據(jù)在所述安全策略中指定的硬件廠商字符串條目和所述硬件廠商字符串來(lái)確定所請(qǐng)求的操作是否是可接受的。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述硬件廠商字符串標(biāo)識(shí)所述計(jì)算系統(tǒng)的處理器的廠商。
7.根據(jù)權(quán)利要求1所述的方法,還包括當(dāng)所述計(jì)算系統(tǒng)提供感測(cè)一個(gè)或多個(gè)環(huán)境因素的能力時(shí),針對(duì)環(huán)境因素向所述安全策略添加條目并且將所述安全協(xié)處理器模塊的所述安全模式設(shè)置為增強(qiáng)的。
8.根據(jù)權(quán)利要求7所述的方法,還包括得到一個(gè)或多個(gè)當(dāng)前環(huán)境因素,并且根據(jù)在所述安全策略中指定的環(huán)境因素條目和所述一個(gè)或多個(gè)當(dāng)前環(huán)境因素來(lái)確定所請(qǐng)求的操作是否是可接受的。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述一個(gè)或多個(gè)環(huán)境因素包括所述計(jì)算系統(tǒng)的溫度、加速度、容量、高度和方向中的一個(gè)或多個(gè)。
10.根據(jù)權(quán)利要求1所述的方法,其中,所述安全協(xié)處理器模塊包括可信任平臺(tái)模塊 (TPM)。
11.一種計(jì)算系統(tǒng)的安全協(xié)處理器模塊,包括安全模式;以及安全策略;其中,所述安全協(xié)處理器模塊被配置為接收?qǐng)?zhí)行操作的請(qǐng)求;當(dāng)所述安全模式是正常的時(shí),檢查所述計(jì)算系統(tǒng)環(huán)境的機(jī)器模式并且當(dāng)所述機(jī)器模式是可接受時(shí)執(zhí)行所請(qǐng)求的操作;以及當(dāng)所述安全模式是增強(qiáng)的時(shí),得到當(dāng)前可信任時(shí)間和所述計(jì)算系統(tǒng)的當(dāng)前地理位置,根據(jù)在所述安全策略中指定的地理位置和可信任時(shí)間屬性條目、所述當(dāng)前地理位置以及所述當(dāng)前可信任時(shí)間來(lái)確定所請(qǐng)求的操作是否是可接受的,當(dāng)所請(qǐng)求的操作是可接受時(shí)檢查所述計(jì)算系統(tǒng)環(huán)境的所述機(jī)器模式,以及當(dāng)所述機(jī)器模式是可接受時(shí)執(zhí)行所請(qǐng)求的操作。
12.根據(jù)權(quán)利要求11所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊還被配置為當(dāng)所述計(jì)算系統(tǒng)提供獲得所述當(dāng)前地理位置的能力時(shí),針對(duì)地理位置向所述安全策略添加條目并且將所述安全模式設(shè)置為增強(qiáng)的。
13.根據(jù)權(quán)利要求11所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊還被配置為當(dāng)所述計(jì)算系統(tǒng)提供獲得可信任時(shí)間的能力時(shí),針對(duì)所述可信任時(shí)間向所述安全策略添加條目并且將所述安全模式設(shè)置為增強(qiáng)的。
14.根據(jù)權(quán)利要求11所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊還被配置為當(dāng)所述計(jì)算系統(tǒng)提供獲得硬件廠商字符串的能力時(shí),針對(duì)所述硬件廠商字符串向所述安全策略添加條目并且將所述安全模式設(shè)置為增強(qiáng)的。
15.根據(jù)權(quán)利要求14所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊還被配置為得到所述硬件廠商字符串,并且根據(jù)在所述安全策略中指定的硬件廠商字符串條目和所述硬件廠商字符串來(lái)確定所請(qǐng)求的操作是否是可接受的。
16.根據(jù)權(quán)利要求15所述的安全協(xié)處理器模塊,其中,所述硬件廠商字符串標(biāo)識(shí)所述計(jì)算系統(tǒng)的處理器的廠商。
17.根據(jù)權(quán)利要求11所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊還被配置為當(dāng)所述計(jì)算系統(tǒng)提供感測(cè)一個(gè)或多個(gè)環(huán)境因素的能力時(shí),針對(duì)環(huán)境因素向所述安全策略添加條目并且將所述安全模式設(shè)置為增強(qiáng)的。
18.根據(jù)權(quán)利要求17所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊還被配置為得到一個(gè)或多個(gè)當(dāng)前環(huán)境因素,并且根據(jù)在所述安全策略中指定的環(huán)境因素條目和所述一個(gè)或多個(gè)當(dāng)前環(huán)境因素來(lái)確定所請(qǐng)求的操作是否是可接受的。
19.根據(jù)權(quán)利要求18所述的安全協(xié)處理器模塊,其中,所述一個(gè)或多個(gè)環(huán)境因素包括所述計(jì)算系統(tǒng)的溫度、加速度、容量、高度和方向中的一個(gè)或多個(gè)。
20.根據(jù)權(quán)利要求21所述的安全協(xié)處理器模塊,其中,所述安全協(xié)處理器模塊包括可信任平臺(tái)模塊(TPM)。
全文摘要
用于安全協(xié)處理器中的N元局部性的系統(tǒng)和方法。通過(guò)將諸如地理位置、可信任時(shí)間、硬件廠商字符串以及一個(gè)或多個(gè)環(huán)境因素之類的一個(gè)或多個(gè)附加屬性包括到用于計(jì)算系統(tǒng)的機(jī)器模式測(cè)量的訪問(wèn)控制空間中,來(lái)實(shí)現(xiàn)計(jì)算系統(tǒng)的安全協(xié)處理器模塊中的增強(qiáng)局部性。
文檔編號(hào)G06F21/00GK102289612SQ20111016553
公開(kāi)日2011年12月21日 申請(qǐng)日期2011年6月20日 優(yōu)先權(quán)日2010年6月21日
發(fā)明者M·A·羅思曼, M·布魯蘇, P·沙提庫(kù)馬爾, R·C·斯旺森, V·J·齊默 申請(qǐng)人:英特爾公司