專利名稱:證明的主題的自我調(diào)節(jié)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)系統(tǒng)的健康證明,尤其涉及證明的主題的自我調(diào)節(jié)。
背景技術(shù):
惡意軟件(malware),或惡意的軟件(malicious software)(例如病毒、螺蟲、特洛伊木馬、間諜軟件、內(nèi)核級后門軟件(rootkits)等)一直是在計算中的嚴(yán)重問題。惡意軟件通常在計算系統(tǒng)上執(zhí)行而不通知用戶內(nèi)容,并在存在時將計算系統(tǒng)置于不健康或未知狀態(tài)。一旦受到惡意軟件的危害,計算系統(tǒng)不能被其自身或其它計算機(jī)系統(tǒng)信任而如期望的那樣工作。此外,在計算系統(tǒng)處執(zhí)行的某些軟件,雖非惡意軟件,但可按未定義或未授權(quán)的方式(例如通過bug或設(shè)計瑕疵)工作,也可將計算系統(tǒng)置于不健康或未知狀態(tài)??尚庞嬎慵夹g(shù)幫助解決確定計算系統(tǒng)是否可被信任的問題。可信計算技術(shù)提供遠(yuǎn)程證明服務(wù),該服務(wù)確認(rèn)證明客戶機(jī)的健康,健康是證明的主題。在此模型下,證明客戶機(jī)將所有相關(guān)系統(tǒng)事件的日志保留在日志中,諸如經(jīng)排序的可信計算組(TCG)日志。為增加的安全性,日志可被做成防篡改的(例如通過被排序或按順序),并且日志的完整性是可由證明服務(wù)驗證的。在請求證明時,證明客戶機(jī)將整個日志發(fā)送到證明服務(wù),證明服務(wù)審查該日志并確定證明客戶機(jī)的健康。例如,證明服務(wù)可確認(rèn)在日志被發(fā)送時是否僅僅被授權(quán)的或可信的代碼正在該證明客戶機(jī)上運(yùn)行。如果日志通過了證明服務(wù)的確認(rèn),則證明服務(wù)證明可信任該證明客戶機(jī)在該證明客戶機(jī)向證明服務(wù)發(fā)送日志時處于健康狀態(tài)。此信任信息可與證明客戶機(jī)共享、與依賴方(諸如第三方)共享、和/或由證明服務(wù)自己使用。
發(fā)明內(nèi)容
在此處所描述的一實(shí)現(xiàn)中,證明客戶機(jī)與證明服務(wù)一起執(zhí)行遠(yuǎn)程證明。此外,證明客戶機(jī)執(zhí)行由證明服務(wù)信任的自我調(diào)節(jié)。證明服務(wù)發(fā)布健康憑證,該憑證證實(shí)證明客戶機(jī)在證明時是健康的,并且該證明客戶機(jī)被信任以按前述方式使用該健康憑證。例如,此處描述的至少一個實(shí)施例與向證明服務(wù)請求健康憑證的自我調(diào)節(jié)證明客戶機(jī)相關(guān)。該請求包括經(jīng)排序的證明日志以及日志的完整性和新鮮度的證據(jù)。隨后,證明客戶機(jī)接收所請求的健康憑證,該憑證代表證明服務(wù)的部分上證實(shí)證明客戶機(jī)在其請求健康憑證時是健康的以及證實(shí)證明服務(wù)信任證明客戶機(jī)在每次證明客戶機(jī)使用該健康憑證進(jìn)行認(rèn)證時是健康的證書。證明客戶機(jī)然后接收使用健康憑證認(rèn)證其為健康的請求、驗證其當(dāng)前為健康、以及,執(zhí)行所請求的認(rèn)證。本發(fā)明內(nèi)容不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
為了描述能夠獲得上述和其它優(yōu)點(diǎn)和特征的方式,各實(shí)施例的更具體的描述將通
4過參考各附圖來呈現(xiàn)??梢岳斫?,這些附圖只描繪了示例實(shí)施例,并且因此不被認(rèn)為是對其范圍的限制,將通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋各實(shí)施例,在附圖中圖I示出了可以用來利用此處所描述的各實(shí)施例的示例計算系統(tǒng);圖2示出了用于執(zhí)行自我調(diào)節(jié)證明的證明系統(tǒng);圖3示出了用于自我調(diào)節(jié)證明客戶機(jī)的狀態(tài)圖的流程圖;圖4示出了一方法的流程圖,該方法用于使自我調(diào)節(jié)證明客戶機(jī)使用來自證明服務(wù)的證書認(rèn)證該自我調(diào)節(jié)證明客戶機(jī)在請求時當(dāng)前為健康;以及圖5示出了用于為自我調(diào)節(jié)證明客戶機(jī)生成健康憑證的方法的流程圖。
具體實(shí)施例在此處所描述的一實(shí)現(xiàn)中,證明客戶機(jī)與證明服務(wù)一起執(zhí)行遠(yuǎn)程證明。此外,證明客戶機(jī)執(zhí)行由證明服務(wù)信任的自我調(diào)節(jié)。證明服務(wù)發(fā)布健康憑證,該憑證證實(shí)證明客戶機(jī)在證明時是健康的,并且證實(shí)該證明客戶機(jī)被信任以按前述方式使用該健康憑證。首先,將參考圖I來描述關(guān)于計算系統(tǒng)的一些引導(dǎo)性討論。接著,自我調(diào)節(jié)證明的實(shí)施例將參考隨后的附圖予以描述。參考圖I來描述關(guān)于計算系統(tǒng)的介紹性討論。計算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。計算系統(tǒng)可以例如是手持式設(shè)備、電器、膝上型計算機(jī)、臺式計算機(jī)、大型機(jī)、 分布式計算系統(tǒng),或者甚至通常不被視為計算系統(tǒng)的設(shè)備。在本說明書以及權(quán)利要求書中, 術(shù)語“計算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個物理有形的處理器以及其上能含有可由處理器執(zhí)行的計算機(jī)可執(zhí)行指令的物理有形的存儲器。存儲器可以采取任何形式,并可以取決于計算系統(tǒng)的特性和形式。計算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個組分計算系統(tǒng)。如圖I所示,在其最基本的配置中, 計算系統(tǒng)100通常包括至少一個處理單元102和存儲器104。存儲器104可以是物理系統(tǒng)存儲器,該物理系統(tǒng)存儲器可以是易失性、非易失性、或兩者的某種組合。術(shù)語“存儲器”在此也可用來指諸如物理存儲介質(zhì)等非易失性大容量存儲。如果計算系統(tǒng)是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。如此處所使用的那樣,術(shù)語“模塊”或“組件” 可以指在計算系統(tǒng)上執(zhí)行的軟件對象或例程。此處所描述的不同組件、模塊、引擎,以及服務(wù)可以實(shí)現(xiàn)為在計算系統(tǒng)上執(zhí)行的對象或進(jìn)程(例如,作為分開的線程)。在隨后的描述中,參考由一個或多個計算系統(tǒng)執(zhí)行的動作描述了各實(shí)施例。如果這樣的動作是以軟件實(shí)現(xiàn)的,則執(zhí)行動作的相關(guān)聯(lián)計算系統(tǒng)的一個或多個處理器響應(yīng)于已經(jīng)執(zhí)行了計算機(jī)可執(zhí)行指令來引導(dǎo)計算系統(tǒng)的操作。這樣的操作的示例涉及對數(shù)據(jù)的操縱。計算機(jī)可執(zhí)行指令(以及被操縱的數(shù)據(jù))可以存儲在計算系統(tǒng)100的存儲器104中。 計算系統(tǒng)100還可包含允許計算系統(tǒng)100例如通過網(wǎng)絡(luò)110與其他消息處理器通信的通信信道108。本發(fā)明的各實(shí)施例可包括或利用專用或通用計算機(jī),該專用或通用計算機(jī)包括諸如例如一個或多個處理器和系統(tǒng)存儲器等計算機(jī)硬件,如以下更詳細(xì)討論的。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于承載或存儲計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計算機(jī)可讀介質(zhì)。這樣的計算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜嬎銠C(jī)系統(tǒng)訪問的任何可用介質(zhì)。存儲計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)是物理存儲介質(zhì)。承載計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種顯著不同的計算機(jī)可讀介質(zhì)計算機(jī)存儲介質(zhì)和傳輸介質(zhì)。計算機(jī)存儲介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備、或可用于存儲計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C(jī)訪問的任何其他介質(zhì)?!熬W(wǎng)絡(luò)”被定義為允許在計算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機(jī)時,該計算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。此外,在到達(dá)各種計算機(jī)系統(tǒng)組件之后,計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動轉(zhuǎn)移到計算機(jī)存儲介質(zhì)(或者相反)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接嬎銠C(jī)系統(tǒng)RAM和/或計算機(jī)系統(tǒng)處的較不易失性的計算機(jī)存儲介質(zhì)。因而,應(yīng)當(dāng)理解,計算機(jī)存儲介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計算機(jī)系統(tǒng)組件中。計算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時使通用計算機(jī)、專用計算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實(shí)施,這些計算機(jī)系統(tǒng)配置包括個人計算機(jī)、臺式計算機(jī)、平板計算機(jī)、膝上型計算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、 網(wǎng)絡(luò)PC、小型計算機(jī)、大型計算機(jī)、移動電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。 在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。首先,參考圖2呈現(xiàn)根據(jù)本發(fā)明的各實(shí)施例的自我調(diào)節(jié)證明的簡要概覽。接著,自我調(diào)節(jié)/自我監(jiān)管證明客戶機(jī)的更具體的描述將參考圖3進(jìn)行討論。最后,在自我調(diào)節(jié)證明客戶機(jī)和證明服務(wù)處執(zhí)行的示例動作將參考圖4和5進(jìn)行討論。圖2示出了用于執(zhí)行自我調(diào)節(jié)證明的證明系統(tǒng)。證明系統(tǒng)200包括至少一個自我調(diào)節(jié)證明客戶機(jī)202和至少一個證明服務(wù)204。該證明系統(tǒng)200還可包括依賴方206。省略號208A表示證明系統(tǒng)200中可以有任何數(shù)量的自我調(diào)節(jié)證明客戶機(jī)202。省略號208B 表示證明系統(tǒng)200中可以有任何數(shù)量的證明服務(wù)204。省略號208C表示證明系統(tǒng)200中可以有任何數(shù)量的依賴方206。證明客戶機(jī)202、證明服務(wù)204,以及依賴方206全都可經(jīng)由網(wǎng)絡(luò)210或由任何其它合適的通信手段來通信地連接。為開始自我調(diào)節(jié)證明,證明客戶機(jī)202通過網(wǎng)絡(luò)210從證明服務(wù)204請求健康憑證,并且證明服務(wù)204接收該請求。如此處所使用的“請求”可以是單個請求,或包括諸如證明客戶機(jī)202和證明服務(wù)204之類的雙方之間的多個通信。例如,“請求”可包括涉及雙方(例如證明客戶機(jī)202和證明服務(wù)204)之間一個或多個請求和/或回答的握手。無論以初始請求進(jìn)行通信,還是作為握手的一部分來進(jìn)行通信,對健康憑證的目前的請求均包括證明客戶機(jī)202將經(jīng)排序(或順序)證明日志和該經(jīng)排序證明日志的完整性和新鮮度的證據(jù)傳送到證明服務(wù)204。經(jīng)排序的證明日志是防篡改(例如,對過去條目的移除或修改)的。在一些實(shí)施例中,證明日志包括可信計算組(TCG)日志。無論證明日志采取何種形式,證明日志包括從客戶機(jī)通電之時到證明日志被發(fā)送到證明服務(wù)器204時在證明客戶機(jī)202上發(fā)生的所有與相關(guān)證明有關(guān)的事件的條目。例如,證明日志可包括關(guān)于證明客戶機(jī)202上所有(或基本上所有)正運(yùn)行的軟件組件的信息。該信息可包括例如,加載在證明客戶機(jī)202處的所有二進(jìn)制的順序日志,以及任何相關(guān)聯(lián)的配置。證明服務(wù)204使用完整性和新鮮度的證據(jù)來驗證證明日志的完整性和新鮮度,并使用證明日志中的信息來驗證證明客戶機(jī)202在證明客戶機(jī)202將證明日志發(fā)送給證明服務(wù)204的時刻是健康的。該驗證包括驗證證明客戶機(jī)202僅以可信賴的配置運(yùn)行可信軟件組件。換言之,證明服務(wù)204使用證明日志來驗證在證明客戶機(jī)202請求健康憑證時,該證明客戶機(jī)202沒有運(yùn)行惡意軟件或其它不可信代碼,并且證明客戶機(jī)202也未以其他方式處于易受攻擊狀態(tài)。此外,證明日志中的信息被證明服務(wù)204用來驗證可以信任證明客戶機(jī)202保護(hù)其自身免遭攻擊以及僅在證明客戶機(jī)是健康的或“在策略內(nèi)”時使用該健康憑證。換言之, 證明服務(wù)204驗證其可信任證明客戶機(jī)202在證明客戶機(jī)202變得不健康或落入“策略之外”的情況下將丟棄任何已發(fā)布的健康憑證(或拒絕自身對其訪問)。如下面更完整地討論的,證明日志包括關(guān)于監(jiān)視代理和證明客戶機(jī)202所使用的安全策略的信息。該信息被證明服務(wù)204用作前述驗證的部分以驗證證明客戶機(jī)202是積極地保護(hù)自身免遭惡意軟件和其它不可信代碼的自我調(diào)節(jié)客戶機(jī),以及驗證證明客戶機(jī)202將僅僅以由安全策略定義的可信方式來使用健康憑證(如果發(fā)布了)。如果證明服務(wù)204驗證證明客戶機(jī)202的過去的健康并驗證證明客戶機(jī)202自我調(diào)節(jié)其健康和對健康憑證以可信方式的使用的現(xiàn)在和將來的能力,則證明服務(wù)204生成唯一標(biāo)識證明客戶機(jī)202并僅可由證明客戶機(jī)202使用的健康憑證。該健康憑證證實(shí)證明客戶機(jī)202在其請求健康憑證時是健康的,并證實(shí)證明服務(wù)204信任證明客戶機(jī)202在每次證明客戶機(jī)202使用該健康憑證(只要該健康憑證是有效的)進(jìn)行認(rèn)證時是健康的。值得注意的是,健康憑證包括期滿時間,在期滿時間之后健康憑證不再有效。在健康憑證期滿之后,證明客戶機(jī)將需要請求新的健康憑證以再次被證明服務(wù)204信任。證明服務(wù)204將所生成的健康憑證發(fā)送到證明客戶機(jī)202,且證明客戶機(jī)202接收該健康憑證。隨后,證明客戶機(jī)202接收使用健康憑證來認(rèn)證其當(dāng)前為健康的請求。例如,證明客戶機(jī)202可從依賴方206接收請求。當(dāng)然,可以理解依賴方206和證明服務(wù)204可以在相同系統(tǒng)中??梢岳斫庖蕾嚪?06和證明客戶機(jī)202也可以在相同系統(tǒng)中,因為依賴方206 可以是單個計算系統(tǒng)處與證明客戶機(jī)202組件并發(fā)運(yùn)行的組件。因此,接收請求可包括通過網(wǎng)絡(luò)210 (或任何其它合適的通信機(jī)制)從證明服務(wù)204或分開的依賴方206接收請求。此外,接收請求可包括接收本地請求。響應(yīng)于該請求,證明客戶機(jī)202驗證其自己的健康狀態(tài),如果為健康,則證明客戶機(jī)202使用該健康憑證來認(rèn)證它當(dāng)前為健康的或“在策略內(nèi)”。值得注意的是,經(jīng)典的遠(yuǎn)程證明服務(wù)僅對證明客戶機(jī)過去的健康進(jìn)行驗證和證明。這些經(jīng)典的服務(wù)缺乏驗證證明客戶機(jī)是自我調(diào)節(jié)或自我監(jiān)管的能力,而該能力允許證明服務(wù)也證明證明客戶機(jī)在健康憑證的有效期內(nèi)的現(xiàn)在或?qū)淼慕】?。此外,?jīng)典的證明客戶機(jī)缺乏自我調(diào)節(jié)或自我監(jiān)管和提供自我證明性能的能力,該能力可由證明服務(wù)和依賴方依賴。證明客戶機(jī)自我調(diào)節(jié)/自我監(jiān)管和提供自我證明的能力極大地增加了可寄予證明客戶機(jī)的信任,因為證明服務(wù)可證明證明客戶機(jī)當(dāng)前和將來的健康,而非僅過去的健康。此外,這些能力極大地減少了證明的花費(fèi),因為,在初始證明之后,證明客戶機(jī)自身可以證明其自己的健康,而無需進(jìn)一步涉及證明服務(wù),至少直到健康憑證過期。此外,經(jīng)典的證明日志隨著證明相關(guān)的事件在證明的主題的運(yùn)行時間期間發(fā)生而漸漸變得無窮??梢岳斫?,無窮的日志增長也導(dǎo)致無窮的資源利用,這包括對(在證明客戶機(jī)和在證明服務(wù)兩方的)存儲器和/或存儲資源的無窮的消耗、無窮的網(wǎng)絡(luò)帶寬使用(因為日志被發(fā)送到證明服務(wù))、以及對(在證明客戶機(jī)和在證明服務(wù)兩方的)處理資源的無窮的使用。如參考圖3更詳細(xì)地討論的,所揭示的自我調(diào)節(jié)和自我證明機(jī)制創(chuàng)造了有限的證明日志,其減輕了無窮資源使用的問題?,F(xiàn)在轉(zhuǎn)到圖3,示出了諸如證明客戶機(jī)202的自我調(diào)節(jié)的證明客戶機(jī)的狀態(tài)圖300 的流程圖。在證明客戶機(jī)通電后,證明客戶機(jī)進(jìn)入啟動狀態(tài)302,其中證明客戶機(jī)執(zhí)行標(biāo)準(zhǔn)的引導(dǎo)序列。在標(biāo)準(zhǔn)引導(dǎo)序列期間,證明客戶機(jī)加載一個或多個可信引導(dǎo)時組件并將標(biāo)準(zhǔn)引導(dǎo)序列的證明相關(guān)事件記錄到證明日志中。所記錄的信息可包括例如,所加載的可信引導(dǎo)時組件的身份、以及它們相應(yīng)的配置。可信引導(dǎo)時組件可包括任何合適的可信引導(dǎo)時組件,諸如可信硬件驅(qū)動器(例如,經(jīng)簽署的固件)、可信操作系統(tǒng)組件、可信安全組件,等。記錄在安全日志中的事件可被證明服務(wù)(例如,證明服務(wù)204)用來驗證證明客戶機(jī)是否在標(biāo)準(zhǔn)引導(dǎo)之后處于健康狀態(tài)。此外,在加載任何其它第三方或不可信代碼之前,證明客戶機(jī)加載一個或多個可信監(jiān)視代理。可信監(jiān)視代理可包括,例如,一個或多個反惡意軟件代理和/或一個或多個證明代理。當(dāng)然,反惡意軟件代理和證明代理也可被組合到單個單元。可信監(jiān)視代理可由操作系統(tǒng)廠商、安全廠商,和/或諸如反惡意軟件公司(例如麥卡菲McAfee有限公司、賽門鐵克 Symantec公司等)的可信第三方提供。不考慮他們的專門配置,可信監(jiān)視代理在證明客戶機(jī)的運(yùn)行時期間保持駐留并用于自我調(diào)節(jié)或自我監(jiān)管。這包括通過積極地防范惡意軟件和不可信代碼,并通過強(qiáng)制實(shí)施一個或多個證明相關(guān)的安全策略來在本地保護(hù)證明客戶機(jī)。 關(guān)于一個或多個可信監(jiān)視代理以及一個或多個安全策略的信息也被記錄在證明日志中。證明客戶機(jī)按照前述方式與證明服務(wù)一起執(zhí)行證明事件310,并在接收健康憑證之后達(dá)到健康狀態(tài)304。如所討論的,證明事件310包括證明客戶機(jī)將證明日志連同證明日志的完整性和新鮮度的證據(jù)發(fā)送到證明服務(wù),以及證明服務(wù)驗證證明日志的完整性和新鮮度。例如,驗證證明日志的完整性可包括保護(hù)免遭重放攻擊。作為請求的一部分,證明服務(wù)可向客戶機(jī)發(fā)送唯一標(biāo)識符,諸如密碼的“曾用過一次的數(shù)字”(現(xiàn)時值(nonce))。接著, 當(dāng)證明客戶機(jī)將證明日志發(fā)送到證明服務(wù)時,證明日志的完整性的證據(jù)可包括證明日志的內(nèi)容上的簽名以及現(xiàn)時值。由于現(xiàn)時值(nonce)按定義僅被使用一次,這提供確保通信不能被重播的期望特性。此外,驗證證明日志的新鮮度可包括證明服務(wù)驗證證明日志反映證明客戶機(jī)的當(dāng)前狀態(tài),而不是某個先前狀態(tài)。一旦被驗證,證明日志被證明服務(wù)用來驗證證明客戶機(jī)在發(fā)送證明日志時是健康的,這包括驗證證明服務(wù)器在標(biāo)準(zhǔn)引導(dǎo)序列之后是健康的。證明日志也被證明服務(wù)使用來驗證一個或多個可信監(jiān)視代理和一個或多個安全策略的配置,并通過監(jiān)視代理和安全策略來驗證證明客戶機(jī)可被信任按可信方式執(zhí)行自我調(diào)節(jié)和自我證明。也就是,證明服務(wù)驗證其可信任證明客戶機(jī)監(jiān)管并保護(hù)它自身以維持健康狀態(tài)并僅在它實(shí)際上是健康的并且“在策略內(nèi)”時認(rèn)證它是健康的。如果所有驗證通過,證明服務(wù)生成健康憑證,該健康憑證對證明客戶機(jī)專用并僅在健康憑證的有效期內(nèi)可被證明客戶機(jī)使用。生成健康憑證可包括生成密碼數(shù)字證書或令牌(例如,X. 509證書,安全斷言標(biāo)記語言(SAML)令牌,等)并用證明客戶機(jī)所提供的公共密碼密鑰來簽署該證書或令牌。例如, 證明客戶機(jī)可在引導(dǎo)期間或在另一時間生成公共密碼密鑰以及私有密碼密鑰。一旦由證明客戶機(jī)的公共密碼密鑰簽署,健康憑證僅可在結(jié)合證明客戶機(jī)的私有密碼密鑰使用時被用來認(rèn)證證明客戶機(jī)的健康。因此,基于安全策略中指定的條件,證明客戶機(jī)可通過自愿拒絕用私有密碼密鑰進(jìn)行認(rèn)證或通過完全地放棄對私有密碼密鑰的訪問來拒絕對其健康進(jìn)行證明。在一些實(shí)施例中,私有密碼密鑰存儲在證明客戶機(jī)處的可信硬件組件中,使得一旦對可信硬件組件的訪問已經(jīng)被證明客戶機(jī)放棄,對私有密碼密鑰的訪問僅可通過重新引導(dǎo)和重新證明來重新獲得。接著可以理解,通過放棄對私有密碼密鑰的訪問,證明客戶機(jī)有效地丟棄了健康憑證。在一些實(shí)施例中,可信硬件組件包括用于提供包括密碼密鑰的生成、偽隨機(jī)數(shù)生成、封裝的/受保護(hù)的存儲、測量設(shè)施、硬件設(shè)備的認(rèn)證等的安全密碼功能的可信平臺模塊 (TPM)。因此,公共和私有密碼密鑰的生成可包括TPM生成密鑰,存儲密鑰可包括TPM存儲密鑰,而放棄對私有密碼密鑰的訪問包括放棄對存儲在TPM中的密鑰的訪問。值得注意的是,一旦證明客戶機(jī)已經(jīng)執(zhí)行了初始證明事件310,記錄在證明日志中的證明相關(guān)事件的數(shù)量可被極大地降低,因為證明客戶機(jī)(使用健康憑證)執(zhí)行自我調(diào)節(jié)和自我證明,而非完全依賴證明服務(wù)來證明其健康。因此,證明日志的大小可被固定,或其擴(kuò)展速度與經(jīng)典證明模式相比可被顯著降低,因此解決了前面討論的無窮資源使用的問題。當(dāng)然,證明客戶機(jī)仍然可諸如通過更新事件312,來偶爾與證明服務(wù)一起執(zhí)行證明事件。 更新事件可,例如,在健康憑證已經(jīng)過期或即將過期時被執(zhí)行。在健康狀態(tài)304中,證明客戶機(jī)使用可信監(jiān)視代理來執(zhí)行自我調(diào)節(jié)以確保證明客戶機(jī)或者處于“在策略內(nèi)”或放棄對其私有密碼密鑰的訪問。安全策略可包括關(guān)于可運(yùn)行在證明客戶機(jī)上的第三方應(yīng)用的規(guī)則、要將證明客戶機(jī)從健康狀態(tài)304移除的事件、要將證明客戶機(jī)恢復(fù)到健康狀態(tài)的事件等。在處于健康狀態(tài)304時(即當(dāng)證明客戶機(jī)“在策略內(nèi)”時),證明客戶機(jī)贊成對使用健康憑證來認(rèn)證其為健康的請求作出響應(yīng)。例如,如果依賴方(例如依賴方206)請求認(rèn)證,則證明客戶機(jī)驗證其處于健康狀態(tài)304并使用健康憑證和私有密碼密鑰來認(rèn)證或證明其健康。證明客戶機(jī)可出于任何數(shù)量的理由而離開健康狀態(tài)304。例如,輕罪事件314可導(dǎo)致證明客戶機(jī)臨時離開健康狀態(tài)304并進(jìn)入受損狀態(tài)306。這可以例如在當(dāng)前安全策略已經(jīng)過期時且新的安全策略必須被獲得時發(fā)生。這也可以在證明客戶機(jī)相信其自身處于不安全環(huán)境中且需要采取補(bǔ)救動作的情況下發(fā)生。當(dāng)處于受損狀態(tài)306時,證明客戶機(jī)通過自愿拒絕使用其私有密碼密鑰來反對對使用健康憑證進(jìn)行認(rèn)證的請求作出響應(yīng)。補(bǔ)救事件316可使證明客戶機(jī)恢復(fù)回健康狀態(tài)304。值得注意的是,即使證明客戶機(jī)變得受損,使得不能信任證明客戶機(jī)自愿拒絕認(rèn)證,構(gòu)建到健康憑證中的期滿(可以是一段相對短的時間)使證明客戶機(jī)在很好定義的有限時間內(nèi)失去其健康憑證(以及其進(jìn)行認(rèn)證的能力),除非其通過更新其健康憑證(例如,通過更新事件312)而繼續(xù)被信任。此外,任何數(shù)量的重罪事件318或320可使證明客戶機(jī)離開健康狀態(tài)304或受損狀態(tài)306并進(jìn)入故障狀態(tài)308。重罪事件318或320是其中證明客戶機(jī)相信其已落入“政策之外”的事件,以及是證明客戶機(jī)不能在沒有重新啟動和重新證明的情況下從其恢復(fù)的事件。當(dāng)重罪事件318或320發(fā)生時,證明客戶機(jī)徹底放棄對其私有密碼密鑰的訪問,因此消除了證明客戶機(jī)使用健康憑證來認(rèn)證或證明其健康的能力。放棄對其私有密碼密鑰的訪問可包括,例如,不可逆地放棄對存儲私有密碼密鑰的可信硬件組件(例如,TPM)的訪問。 此外,當(dāng)重罪事件318或320發(fā)生時,證明客戶機(jī)將事件寫到證明日志,這導(dǎo)致向證明服務(wù)對健康憑證的任何將來的請求失敗。重罪事件318或320可包括例如,健康憑證期滿、檢測感染、對可疑管理動作的檢測、意外或故意錯誤配置、或當(dāng)前安全策略期滿。圖4從證明客戶機(jī)的角度示出了方法400的流程圖,該方法用于使用來自證明服務(wù)的健康憑證來認(rèn)證自我調(diào)整證明客戶機(jī)在請求時是當(dāng)前健康的。圖5從證明服務(wù)的角度示出了方法500的流程圖,該方法用于為自我調(diào)節(jié)證明客戶機(jī)生成健康憑證。盡管方法400 和500可在包括證明客戶機(jī)和證明服務(wù)的任何環(huán)境中執(zhí)行,方法400和500將參考圖2的證明系統(tǒng)和圖3的狀態(tài)圖表來描述。圖4從證明客戶機(jī)的角度示出方法400可包括請求健康憑證的動作402。動作402 包括證明客戶機(jī)從證明服務(wù)器請求健康憑證,該請求包括經(jīng)排序的證明日志以及該經(jīng)排序的證明日志的完整性和新鮮度的證據(jù)。例如,證明客戶機(jī)202可向證明服務(wù)204請求健康憑證。請求可以是單個請求或握手操作的部分,且證明客戶機(jī)202可向證明服務(wù)204提供經(jīng)排序的證明日志,該證明日志包括在計算系統(tǒng)作出請求時被加載在計算系統(tǒng)處的組件(例如,引導(dǎo)時組件)的經(jīng)排序的日志以及這些組件的配置。日志也可包括運(yùn)行在證明客戶機(jī) 202處的一個或多個監(jiān)視代理的身份以及關(guān)于在證明客戶機(jī)202處強(qiáng)制實(shí)施的一個或多個安全策略的信息。在一些示例中,經(jīng)排序證明日志可以是可信計算組(TCG)日志。證明客戶機(jī)202也可向證明服務(wù)204提供經(jīng)排序的證明日志的完整性和新鮮度的證據(jù)。暫時轉(zhuǎn)到圖5,圖5從證明服務(wù)的角度示出了方法500可包括接收對健康憑證的請求的動作502。動作502包括證明服務(wù)從自我調(diào)節(jié)證明客戶機(jī)接收對健康憑證的請求,該請求包括經(jīng)排序的證明日志以及該經(jīng)排序的證明日志的完整性和新鮮度的證據(jù)。例如,證明服務(wù)204可從證明客戶機(jī)202接收對健康憑證的請求。該請求可包括經(jīng)排序的證明日志和經(jīng)排序的證明日志的完整性和新鮮度的證據(jù),如前面關(guān)于動作402所描述的。圖5也示出了方法500可包括驗證在請求時的健康的動作504,以及驗證信任將來健康的動作506。動作504包括基于經(jīng)排序的證明日志和經(jīng)排序的證明日志的完整性和新鮮度的證據(jù)來驗證自我調(diào)節(jié)證明客戶機(jī)在客戶機(jī)請求健康憑證時是健康的,而動作506包括驗證該自我調(diào)節(jié)證明客戶機(jī)被信任在每次客戶機(jī)使用該健康憑證進(jìn)行認(rèn)證時是健康的。 例如,動作504和/或動作506可包括證明服務(wù)204基于所接收到的完整性和新鮮度的證據(jù)來確認(rèn)所接收的證明日志是有效的,并處理整個證明日志。如前面所討論的,這可包括通過交換密碼現(xiàn)時值以及驗證證明日志的新鮮度來保護(hù)免遭重播攻擊。此外,動作504可包括證明服務(wù)204基于證明日志驗證加載于證明客戶機(jī)202的一個或多個組件在證明客戶機(jī)202發(fā)送請求時包括健康狀態(tài)。這可以包括,例如,驗證作為被監(jiān)視或被管理的引導(dǎo)的部分加載的任何引導(dǎo)時組件使證明客戶機(jī)202處于健康狀態(tài)。動作506可包括證明服務(wù)204驗證在證明客戶機(jī)202處加載了一個或多個監(jiān)視代理,以及這些監(jiān)視代理被證明服務(wù)204信任在證明客戶機(jī)202處強(qiáng)制執(zhí)行一個或多個安全策略。因此,僅當(dāng)證明客戶機(jī)202處于健康狀態(tài)時,信任證明客戶機(jī)202保護(hù)其自身維持健康狀態(tài)以及使用任何批準(zhǔn)的健康憑證來認(rèn)證其當(dāng)前是健康的。因此,證明客戶機(jī)202被信任如果它不能確保其健康則丟棄或停止使用任何批準(zhǔn)的健康憑證。如所示,方法500也可包括生成所請求的健康憑證的動作508。動作508包括生成健康憑證,所生成的健康憑證唯一地標(biāo)識自我調(diào)節(jié)證明客戶機(jī),并證實(shí)在自我調(diào)節(jié)證明客戶機(jī)請求健康憑證時自我調(diào)節(jié)證明客戶機(jī)是健康的以及證實(shí)證明服務(wù)信任自我調(diào)節(jié)證明客戶機(jī)在每次自我調(diào)節(jié)證明客戶機(jī)使用健康憑證進(jìn)行認(rèn)證時是健康的。例如,證明服務(wù)204 可為證明客戶機(jī)202生成包括這些證書且在一段特定時間后期滿的健康憑證。然后,所生成的健康憑證在有效期內(nèi)可被證明客戶機(jī)202使用,以認(rèn)證依賴方(例如,依賴方206)是健康的。依賴方可依賴此認(rèn)證,因為證明服務(wù)204已經(jīng)證實(shí)其信任證明客戶機(jī)202在每次該證明客戶機(jī)202使用健康憑證進(jìn)行認(rèn)證時是健康的。期滿以后,健康憑證變得無效,證明客戶機(jī)202必須重新證明并獲得新健康憑證以繼續(xù)向依賴方進(jìn)行認(rèn)證。在一些示例中,健康憑證可包括密碼數(shù)字證書或令牌。證書或令牌可用從證明客戶機(jī)202接收的公共密碼密鑰簽署。以此方式,所生成的健康憑證唯一地標(biāo)識證明客戶機(jī) 202,并且僅可由證明客戶機(jī)202結(jié)合證明客戶機(jī)202擁有的私有密碼密鑰來使用。公共密碼密鑰和私有密碼密鑰可先前已經(jīng)由證明客戶機(jī)202(例如,通過TPM)生成。公共密碼密鑰可先前已經(jīng)被發(fā)送到證明服務(wù)206,或可已經(jīng)作為對健康憑證的請求的部分發(fā)送到證明服務(wù)206。如圖5所示,方法500也可包括發(fā)送所生成的健康憑證的動作510。動作510包括將所生成的健康憑證發(fā)送到自我調(diào)節(jié)證明客戶機(jī)。例如,證明服務(wù)204可向證明客戶機(jī) 202發(fā)送所生成的健康憑證。轉(zhuǎn)回到圖4,圖4示出了方法400可包括接收所請求的健康憑證的動作404。動作 404可包括從證明服務(wù)接收健康憑證,健康憑證唯一地標(biāo)識證明客戶機(jī),并證實(shí)在客戶機(jī)請求健康憑證時客戶機(jī)是健康的,以及證實(shí)證明服務(wù)信任客戶機(jī)在每次該客戶機(jī)使用該健康憑證進(jìn)行認(rèn)證時是健康的。例如,在動作508證明客戶機(jī)202可接收由證明服務(wù)204生產(chǎn)的健康憑證。健康憑證可證實(shí)加載于證明客戶機(jī)202的一個或多個組件在作出請求時包括健康狀態(tài),并且可證實(shí)在證明客戶機(jī)202處的監(jiān)視代理被證明服務(wù)204信任強(qiáng)制實(shí)施確保證明客戶機(jī)202僅以前面所討論的方式使用健康憑證的特定安全策略。圖4還示出方法400可包括接收認(rèn)證請求的動作406。動作406包括證明客戶機(jī)接收使用健康憑證來認(rèn)證其當(dāng)前為健康的請求。例如,證明客戶機(jī)202可從依賴方206接收使用健康憑證來認(rèn)證其為健康的請求。如所注意的,依賴方206也可以是證明服務(wù)204, 或甚至可以是證明客戶機(jī)202的部分。因此,依賴方206不限于是分開的實(shí)體。
圖4還示出方法400可包括驗證當(dāng)前健康的動作408。動作408包括證明客戶機(jī)驗證其當(dāng)前為健康的。例如,證明客戶機(jī)202可斷定其現(xiàn)在處于健康狀態(tài)304。這可以包括, 例如,證明客戶機(jī)202斷定它沒有違背將把它從健康狀態(tài)304移除的任何安全策略。附加地或可替換地,證明客戶機(jī)202可斷定它具有對執(zhí)行認(rèn)證必需的私有密碼密鑰的訪問。附加地或可替換地,證明客戶機(jī)202可斷定一個或多個監(jiān)視代理正在運(yùn)行并報告健康狀態(tài)。當(dāng)然,證明客戶機(jī)202也可斷定它不處于健康狀態(tài)304。例如,證明客戶機(jī)202可斷定作為發(fā)生輕罪事件314的結(jié)果它處于受損狀態(tài)306。在此示例中,證明客戶機(jī)202自愿拒絕認(rèn)證其當(dāng)前為健康的。后來,證明客戶機(jī)202可確定補(bǔ)救狀態(tài)314已經(jīng)發(fā)生,并將其自己恢復(fù)到健康狀態(tài)304。此外,證明客戶機(jī)202可斷定作為發(fā)生重罪事件318或320的結(jié)果它處于故障狀態(tài)308。在這種情況中,當(dāng)其進(jìn)入故障狀態(tài)308時,證明客戶機(jī)202將放棄對使用健康憑證進(jìn)行認(rèn)證所必需的私有密碼密鑰的訪問,因此呈現(xiàn)證明客戶機(jī)202不能進(jìn)行認(rèn)證。證明客戶機(jī)可放棄以任何合適的方式對可信硬件組件的訪問,諸如放棄對存儲密碼密鑰的TPM的訪問。此外,證明客戶機(jī)202將事件寫到經(jīng)排序的證明日志,其使得任何對健康憑證的將來的請求失敗。在動作408成功驗證之后,圖4示出了方法400可包括認(rèn)證當(dāng)前健康的動作410。 動作410包括證明客戶機(jī)使用健康憑證來認(rèn)證其當(dāng)前為健康。例如,證明客戶機(jī)202可結(jié)合健康憑證使用私有密碼密鑰來執(zhí)行認(rèn)證。依賴方206可依賴此認(rèn)證,并信任證明客戶機(jī) 202當(dāng)前為健康的,因為證明服務(wù)204已經(jīng)證實(shí)其信任證明客戶機(jī)202在每次該證明客戶機(jī)202使用健康憑證進(jìn)行認(rèn)證時是健康的。當(dāng)然,可以理解,在可替換情況中,其中對當(dāng)前健康的驗證失敗,證明客戶機(jī)202將自愿拒絕認(rèn)證(B卩,在處于受損狀態(tài)306時)或不能認(rèn)證(即,在處于故障狀態(tài)308時)。因此,揭示了用于自我調(diào)節(jié)證明客戶機(jī)或證明的主題的有效機(jī)制。該機(jī)制解決了當(dāng)前證明情形中存在的若干問題,包括可依賴地提供對證明客戶機(jī)的健康的當(dāng)前和將來證明,圍繞無窮證明日志的問題的緩和,以及圍繞證明客戶機(jī)不能執(zhí)行至少某些自我調(diào)節(jié)測量的低效的緩和。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
權(quán)利要求
1.在自我調(diào)節(jié)證明客戶機(jī)計算系統(tǒng)(202)中實(shí)現(xiàn)的一種方法,所述計算系統(tǒng)包括一個或多個處理器(102)和存儲指令的存儲器(104),由所述一個或多個處理器執(zhí)行所述指令時實(shí)現(xiàn)所述方法,所述方法用于使用來自證明服務(wù)(204)的健康憑證來認(rèn)證所述自我調(diào)節(jié)證明客戶機(jī)計算系統(tǒng)在請求時是當(dāng)前健康的,所述方法包括以下動作計算系統(tǒng)(202)從證明服務(wù)(204)請求健康憑證,所述請求包括經(jīng)排序的證明日志以及所述經(jīng)排序的證明日志的完整性和新鮮度的證據(jù)(402);所述計算系統(tǒng)從所述證明服務(wù)接收所述健康憑證,所述健康憑證唯一地標(biāo)識所述計算系統(tǒng),并證實(shí)所述計算系統(tǒng)在所述計算系統(tǒng)請求所述健康憑證時是健康的(304),以及證實(shí)所述證明服務(wù)信任所述計算系統(tǒng)在每次所述計算系統(tǒng)使用所述健康憑證進(jìn)行認(rèn)證時是健康的(404);所述計算系統(tǒng)接收使用所述健康憑證來認(rèn)證其當(dāng)前為健康的請求(304,406);所述計算系統(tǒng)驗證其當(dāng)前為健康的(408);以及所述計算系統(tǒng)使用所述健康憑證來認(rèn)證其當(dāng)前為健康(410)。
2.如權(quán)利要求I所述的方法,其特征在于,證實(shí)所述計算系統(tǒng)在所述計算系統(tǒng)請求所述健康憑證時是健康的包括證實(shí)加載在所述計算系統(tǒng)處的一個或多個組件在所述計算系統(tǒng)作出所述請求時包括健康狀態(tài)(304)。
3.如權(quán)利要求2所述的方法,其特征在于,證實(shí)所述證明服務(wù)信任所述計算系統(tǒng)在每次所述計算系統(tǒng)使用所述健康憑證進(jìn)行認(rèn)證時是健康的包括證實(shí)所述計算系統(tǒng)包括被所述證明服務(wù)信任的一個或多個監(jiān)視代理以強(qiáng)制實(shí)施一個或多個安全策略,使得所述計算系統(tǒng)被信任保護(hù)其自身維持健康狀態(tài),并且使得所述計算系統(tǒng)被信任僅在所述計算系統(tǒng)處于健康狀態(tài)時使用所述健康憑證來認(rèn)證其當(dāng)前為健康。
4.如權(quán)利要求3所述的方法,其特征在于,所述計算系統(tǒng)通過自愿拒絕進(jìn)行認(rèn)證或通過不可撤消地放棄對認(rèn)證所必需的私有密碼密鑰的訪問來拒絕使用所述健康憑證來認(rèn)證其當(dāng)前為健康。
5.如權(quán)利要求I所述的方法,其特征在于其中所述健康憑證唯一地標(biāo)識所述計算系統(tǒng)包括所述健康憑證包括或基于公共密碼密鑰;以及其中所述計算系統(tǒng)使用所述健康憑證來認(rèn)證其當(dāng)前為健康包括所述計算系統(tǒng)連同健康憑證使用私有密碼密鑰來執(zhí)行所述認(rèn)證。
6.在計算系統(tǒng)(204)中實(shí)現(xiàn)的一種方法,所述計算系統(tǒng)包括一個或多個處理器(102) 和存儲指令的存儲器(104),由所述一個或多個處理器執(zhí)行所述指令時實(shí)現(xiàn)所述方法,所述方法用于生成自我調(diào)節(jié)證明客戶機(jī)(202)的健康憑證,所述方法包括以下動作從自我調(diào)節(jié)證明客戶機(jī)(202)接收對健康憑證的請求,所述請求包括經(jīng)排序的證明日志以及該經(jīng)排序的證明日志的完整性和新鮮度的證據(jù)(502);基于所述經(jīng)排序的證明日志以及所述經(jīng)排序的證明日志的完整性和新鮮度的證據(jù), 驗證所述自我調(diào)節(jié)證明客戶機(jī)在所述自我調(diào)節(jié)證明客戶機(jī)請求所述健康憑證時是健康的 (304)(504);基于所述經(jīng)排序的證明日志以及所述經(jīng)排序的證明日志的完整性和新鮮度的證據(jù),驗證所述自我調(diào)節(jié)證明客戶機(jī)被信任在每次所述自我調(diào)節(jié)證明客戶機(jī)使用所述健康憑證進(jìn)行認(rèn)證時是健康的(506);生成所述健康憑證,所生成的健康憑證唯一地標(biāo)識所述自我調(diào)節(jié)證明客戶機(jī),并證實(shí)所述自我調(diào)節(jié)證明客戶機(jī)在所述自我調(diào)節(jié)證明客戶機(jī)請求健康憑證時是健康的以及證實(shí)證明服務(wù)(204)信任所述自我調(diào)節(jié)證明客戶機(jī)在每次所述自我調(diào)節(jié)證明客戶機(jī)使用健康憑證進(jìn)行認(rèn)證時是健康的(508);以及將所生成的健康憑證發(fā)送到所述自我調(diào)節(jié)證明客戶機(jī)(510)。
7.如權(quán)利要求6所述的方法,其特征在于,驗證所述自我調(diào)節(jié)證明客戶機(jī)在所述自我調(diào)節(jié)證明客戶機(jī)請求所述健康憑證時是健康的包括證實(shí)加載在所述自我調(diào)節(jié)證明客戶機(jī)處的一個或多個組件在所述自我調(diào)節(jié)證明客戶機(jī)作出所述請求時包括健康狀態(tài)。
8.如權(quán)利要求6所述的方法,其特征在于,驗證所述自我調(diào)節(jié)證明客戶機(jī)被信任在每次所述自我調(diào)節(jié)證明客戶機(jī)使用所述健康憑證進(jìn)行認(rèn)證時是健康的包括證實(shí)所述自我調(diào)節(jié)證明客戶機(jī)包括被所述證明服務(wù)信任的一個或多個監(jiān)視代理以強(qiáng)制實(shí)施一個或多個安全策略,使得所述自我調(diào)節(jié)證明客戶機(jī)被信任保護(hù)其自身維持健康狀態(tài),并且使得所述自我調(diào)節(jié)證明客戶機(jī)被信任僅在所述自我調(diào)節(jié)證明客戶機(jī)處于健康狀態(tài)時使用所述健康憑證來認(rèn)證其當(dāng)前為健康。
9.如權(quán)利要求8所述的方法,其特征在于,所述經(jīng)排序的證明日志包括被加載在所述自我調(diào)節(jié)證明客戶機(jī)所述一個或多個的組件的全部在所述自我調(diào)節(jié)證明客戶機(jī)作出請求時的經(jīng)排序的日志,以及所述組件的配置;所述一個或多個監(jiān)視代理的身份;以及有關(guān)所述一個或多個安全策略的信息。
10.如權(quán)利要求6所述的方法,其特征在于,還包括從所述自我調(diào)節(jié)證明客戶機(jī)接收唯一地標(biāo)識所述自我調(diào)節(jié)證明客戶機(jī)的公共密碼密鑰;以及使所述健康憑證包括或基于所述公共密碼密鑰,從而使得所生成的健康憑證唯一地標(biāo)識所述自我調(diào)節(jié)證明客戶機(jī)。
全文摘要
本發(fā)明涉及揭示了證明的主題的自我調(diào)節(jié),自我調(diào)節(jié)證明客戶機(jī)的證明。證明客戶機(jī)從證明服務(wù)請求健康憑證,該憑證包括經(jīng)排序的證明日志和日志的完整性及新鮮度的證據(jù)。證明客戶機(jī)接收所請求的健康憑證,該憑證證實(shí)證明客戶機(jī)在其請求健康憑證時是健康的,以及證實(shí)證明服務(wù)信任證明客戶機(jī)在每次該證明客戶機(jī)使用該健康憑證進(jìn)行認(rèn)證時是健康的。該證明客戶機(jī)接收使用健康憑證認(rèn)證其健康的請求、驗證其當(dāng)前為健康、以及執(zhí)行所請求的認(rèn)證。
文檔編號H04L29/06GK102611698SQ201210027799
公開日2012年7月25日 申請日期2012年2月8日 優(yōu)先權(quán)日2011年2月9日
發(fā)明者A·埃弗龍, A·奧塔爾, M·F·諾瓦克, S·湯姆, Y·托兒 申請人:微軟公司