欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

受保護(hù)計(jì)算環(huán)境的制作方法

文檔序號:6553786閱讀:438來源:國知局
專利名稱:受保護(hù)計(jì)算環(huán)境的制作方法
受保護(hù)計(jì)算環(huán)境
相關(guān)申請的交叉引用
本申請聲明對2005年4月22日星期五提交的美國臨時專利申請No. 60/673, 979 (律師案號313361.01)的優(yōu)先權(quán)。


本示例的這些和其它特征和優(yōu)點(diǎn)從以下參閱附圖的詳細(xì)描述中得到更佳的理 解,在附圖中
圖1是示出在常規(guī)計(jì)算環(huán)境中運(yùn)行的處理媒體內(nèi)容的常規(guī)媒體應(yīng)用程序的框 圖,其中具有對系統(tǒng)的攻擊的指示。
圖2是示出處理媒體內(nèi)容并利用傾向于對攻擊有抵抗力的受保護(hù)環(huán)境的受信 任應(yīng)用程序的框圖。
圖3是示出可包括在受保護(hù)環(huán)境中的受信任應(yīng)用程序的示例性組件的框圖。
圖4是示出用于從使用利用受保護(hù)環(huán)境的一示例性受信任應(yīng)用程序的服務(wù)供 應(yīng)商處下載數(shù)字媒體內(nèi)容的系統(tǒng)的框圖。
圖5是示出可由以未經(jīng)授權(quán)方式嘗試訪問媒體內(nèi)容和其它通常呈現(xiàn)在計(jì)算環(huán) 境中的數(shù)據(jù)的用戶或機(jī)制利用的示例性攻擊矢量的框圖。
圖6是示出用于創(chuàng)建和維護(hù)傾向于限制對媒體內(nèi)容和其它數(shù)據(jù)的未經(jīng)授權(quán)訪 問的受保護(hù)環(huán)境的過程的流程圖。
圖7是示出用于創(chuàng)建一示例性安全計(jì)算環(huán)境的示例性內(nèi)核組件和其它組件的 框圖。
圖8和圖9是示出用于載入內(nèi)核組件以創(chuàng)建一示例性安全計(jì)算環(huán)境的一示例 性過程的流程圖。
圖IO是示出將一應(yīng)用程序載入一示例性受保護(hù)環(huán)境以形成通常對攻擊有抵抗 力的受信任應(yīng)用程序的安全計(jì)算環(huán)境的框圖。
圖11是示出用于創(chuàng)建一受保護(hù)環(huán)境并將應(yīng)用程序載入該受寫保護(hù)環(huán)境的一示 例性過程的流程圖。
圖12是示出利用一示例性受保護(hù)環(huán)境來周期性地檢查安全計(jì)算環(huán)境的安全狀
態(tài)的一示例性受信任應(yīng)用程序的框圖。
圖13是示出周期性地檢査安全計(jì)算環(huán)境的安全狀態(tài)的一示例性過程的流程圖。
圖14是示出其中可實(shí)現(xiàn)用于建立包括受保護(hù)環(huán)境的安全計(jì)算環(huán)境的過程、系 統(tǒng)和方法的一示例性計(jì)算環(huán)境的框圖。
在附圖中類似的參考標(biāo)號用于指示類似的元件。
具體實(shí)施例方式
以下結(jié)合附圖提供的詳細(xì)描述旨在作為現(xiàn)有示例的描述,且并非旨在表示可 構(gòu)建或利用現(xiàn)有示例的唯一形式。該描述結(jié)合示例闡述了這些示例的功能以及用于 構(gòu)建和操作這些示例的一系列步驟。然而,不同的示例可實(shí)現(xiàn)相同或等效的功能和 序列。
盡管現(xiàn)有示例在本文中被描述和說明為在計(jì)算機(jī)操作系統(tǒng)中實(shí)現(xiàn),但所述系 統(tǒng)被描述為一示例而非限制。如本領(lǐng)域技術(shù)人員所理解的,現(xiàn)有示例適于在各種不 同類型的計(jì)算機(jī)系統(tǒng)中應(yīng)用。 介紹
圖1是示出在常規(guī)計(jì)算環(huán)境100中運(yùn)行的處理媒體內(nèi)容106的常規(guī)媒體應(yīng)用 程序105的框圖,其中具有對系統(tǒng)101的攻擊107的指示。常規(guī)計(jì)算環(huán)境100可由 可包括操作系統(tǒng)("OS") 102的個人計(jì)算機(jī)("PC")或消費(fèi)電器("CE")設(shè)備101 提供。典型的操作系統(tǒng)常常將其操作分成用戶模式103和內(nèi)核模式104。用戶模式 103和內(nèi)核模式104可由一個或多個應(yīng)用程序105使用。應(yīng)用程序105可用來處理 媒體內(nèi)容106,該媒體內(nèi)容106可經(jīng)由諸如CD ROM驅(qū)動器、因特網(wǎng)連接等某些 機(jī)制傳送到設(shè)備101。內(nèi)容106的一個示例將是可用來復(fù)制音頻和視頻信息的媒體 文件。
計(jì)算環(huán)境100通常可包括便于應(yīng)用程序105連同一個或多個中央處理單元 ("CPU")的運(yùn)行的操作系統(tǒng)("OS") 102。許多操作系統(tǒng)102可允許多個用戶訪 問CPU的運(yùn)行。多個用戶可具有通常范圍為從典型用戶到管理員的訪問特權(quán)。管 理員通常具有對在系統(tǒng)上運(yùn)行的應(yīng)用程序105、用戶模式103和內(nèi)核104的訪問特 權(quán)范圍。這種計(jì)算環(huán)境100易于受到各類攻擊107。攻擊不僅可包括想要訪問設(shè)備 101和其上內(nèi)容106的外來者,而且包括具有對設(shè)備101的管理權(quán)限的攻擊者,或 具有授予其的任何訪問權(quán)限的其它類用戶。
圖2是示出處理媒體內(nèi)容106并利用傾向于對攻擊有抵抗力的受保護(hù)環(huán)境203
的受信任應(yīng)用程序202的框圖。術(shù)語"受信任應(yīng)用程序"在本文中使用時可被定義 為使用在受保護(hù)環(huán)境中運(yùn)行的進(jìn)程使它們傾向于對攻擊205有抵抗力、并限制對正 在處理的任何媒體內(nèi)容106或其它數(shù)據(jù)的未經(jīng)授權(quán)訪問的一種應(yīng)用程序。因而,在 受保護(hù)環(huán)境中運(yùn)行的應(yīng)用程序的組件或元件通常被視為"受信任",因?yàn)樗鼈儍A向 于限制未經(jīng)授權(quán)訪問并傾向于對攻擊有抵抗力。這樣的應(yīng)用程序202可被視為是受 信任應(yīng)用程序本身,或者它可使用另一受信任應(yīng)用程序來保護(hù)其進(jìn)程和/或數(shù)據(jù)的 一部分。
例如,受信任媒體播放器202可被設(shè)計(jì)成播放媒體內(nèi)容106,該媒體內(nèi)容106 通常僅在獲得許可后才能使用以使該媒體內(nèi)容106不能以未經(jīng)授權(quán)方式訪問。這種 受信任應(yīng)用程序202只在計(jì)算環(huán)境200可提供所需安全級別時(諸如通過提供對攻 擊205有抵抗力的受保護(hù)環(huán)境203)才可操作和/或處理媒體內(nèi)容106。
當(dāng)在本文中使用時,術(shù)語"進(jìn)程"可被定義為駐留于內(nèi)核空間、用戶空間和/ 或操作系統(tǒng)和/或計(jì)算環(huán)境的任一其它空間和/或在其中運(yùn)行的程序(包括可執(zhí)行代 碼、機(jī)器指令、變量、數(shù)據(jù)、狀態(tài)信息等)的一個實(shí)例。
數(shù)字權(quán)限管理系統(tǒng)204等可與受保護(hù)環(huán)境204 —起使用。使用數(shù)字權(quán)限管理 系統(tǒng)204僅作為一個示例提供,并且不可與受保護(hù)環(huán)境或安全計(jì)算環(huán)境一起使用。 通常數(shù)字權(quán)限管理系統(tǒng)使用傾向于制作昂貴并且會負(fù)面地影響計(jì)算性能的防篡改 軟件("TRS")。使用受信任應(yīng)用程序202可使提供增強(qiáng)保護(hù)所需的TRS功能的量 最小化。
本領(lǐng)域技術(shù)人員所公知的各種機(jī)制可替換、附加或連同典型的數(shù)字權(quán)限管理 系統(tǒng)使用。這些機(jī)制可包括但不限于加密/解密、密鑰交換、口令、許可證等。因 而,數(shù)字權(quán)限管理在本文中使用時可以是像解密經(jīng)加密媒體、使用口令來訪問數(shù)據(jù)、 或其它防篡改機(jī)制一樣簡單的機(jī)制。執(zhí)行這些任務(wù)的機(jī)制可以非常簡單或完全包含 在受信任應(yīng)用程序202內(nèi),或可經(jīng)由與不同于受信任應(yīng)用程序202的復(fù)雜系統(tǒng)通信 的接口來訪問。
圖3是示出可包括在受保護(hù)環(huán)境203中的受信任應(yīng)用程序202的示例性組件 的框圖。受信任應(yīng)用程序202通常將受保護(hù)環(huán)境203用于其子組件302-304的至少 一部分。受信任應(yīng)用程序的其它組件301不可使用受保護(hù)環(huán)境。參與處理媒體內(nèi)容 或數(shù)據(jù)、可調(diào)用免遭攻擊或未經(jīng)授權(quán)訪問的增強(qiáng)保護(hù)級別的組件302-304可在受保 護(hù)環(huán)境203內(nèi)運(yùn)行。受保護(hù)環(huán)境203可由單個的受信任應(yīng)用程序202、或可能地由
多個受信任應(yīng)用程序使用。可替換地,受信任應(yīng)用程序202可使用多個受保護(hù)環(huán)境。
受信任應(yīng)用程序202還可耦合于和/或使用數(shù)字權(quán)限管理系統(tǒng)204。
在所示示例中,源302和宿303被示為在受保護(hù)環(huán)境203中運(yùn)行的媒體管線 304的一部分。受保護(hù)環(huán)境203傾向于確保 一旦已接收到并解密了受保護(hù)和/或加 密內(nèi)容309,受信任應(yīng)用程序202及其組件就防止對內(nèi)容309的未經(jīng)授權(quán)訪問。
數(shù)字權(quán)限管理204可進(jìn)一步提供受信任應(yīng)用程序202和內(nèi)容309的保護(hù)方法。 通過許可證308、設(shè)備證書311和其它安全機(jī)制的系統(tǒng),內(nèi)容提供者通常能確信加 密內(nèi)容309已被傳送給適當(dāng)?shù)墨@授權(quán)設(shè)備,并且該內(nèi)容309被按計(jì)劃地使用。
圖4是示出用于從服務(wù)供應(yīng)商407處將數(shù)字媒體內(nèi)容410下載到使用受保護(hù) 環(huán)境203的一示例性受信任應(yīng)用程序202的系統(tǒng)的框圖。在所示示例中,受信任應(yīng) 用程序202被示為在兩個地方401、 403使用。該受信任應(yīng)用程序202可在CE設(shè) 備401或PC 403中使用。數(shù)字媒體410可經(jīng)由服務(wù)提供者407和因特網(wǎng)405下載 以供受信任應(yīng)用程序202使用??商鎿Q地,數(shù)字媒體可經(jīng)由諸如網(wǎng)絡(luò)、CD或DVD 盤、或其它存儲媒體的其它機(jī)制而變得對受信任應(yīng)用程序可用。此外,數(shù)字媒體 410可以加密形式309提供,從而需要取數(shù)字權(quán)限管理系統(tǒng)204形式的解密密鑰、 許可證、證書等系統(tǒng)。提供給受信任應(yīng)用程序的數(shù)據(jù)或媒體內(nèi)容410可被或可不被 保護(hù),即加密等。
在一示例中,受信任應(yīng)用程序202可利用數(shù)字權(quán)限管理("DRM")系統(tǒng)204 等以及受保護(hù)環(huán)境203。在該情形中,受信任應(yīng)用程序202通常被設(shè)計(jì)成通過將內(nèi) 容的使用限制于由內(nèi)容提供者經(jīng)由策略授權(quán)的使用來承認(rèn)并遵從內(nèi)容的使用策略。 實(shí)現(xiàn)這個可涉及執(zhí)行通常詢問內(nèi)容證書、隨后作出有關(guān)是否對一條內(nèi)容采取所請求 動作的判定的代碼。該功能可至少部分地由數(shù)字權(quán)限管理系統(tǒng)204提供。數(shù)字權(quán)限 管理系統(tǒng)的一個示例在1999年4月12日提交的美國專利申請No. 09/290,363、各 自在2002年6月28日提交的美國專利申請No. 10/185,527、 10/185,278和10/185,511 中提供,這些申請通過引用全部結(jié)合于此。
構(gòu)建可在CE設(shè)備401或PC 403中使用的受信任應(yīng)用程序202可包括確保解 密和處理內(nèi)容309的受信任應(yīng)用程序202因沒有受到惡意攻擊的危險(xiǎn)而"安全"。 因而,受保護(hù)環(huán)境203通常指不易于受攻擊的環(huán)境。
如圖所示,受信任應(yīng)用程序202在消費(fèi)電器設(shè)備401中運(yùn)行,該消費(fèi)電器設(shè) 備401可與也提供一受信任應(yīng)用程序的PC 403周期性地同步。PC 403又耦合(404) 到因特網(wǎng)405。因特網(wǎng)連接允許數(shù)字媒體410由服務(wù)提供者407提供。該服務(wù)提供
者407可經(jīng)由因特網(wǎng)405將許可證和經(jīng)加密媒體406傳送給受信任應(yīng)用程序202。 一旦經(jīng)加密媒體被遞送和解密,它就易于受到各種形式的攻擊。 受保護(hù)環(huán)境和可能的攻擊
受保護(hù)計(jì)算環(huán)境傾向于提供限制黑客獲得對內(nèi)容的未經(jīng)授權(quán)訪問的環(huán)境。黑 客可包括裝作是系統(tǒng)管理員的黑客。系統(tǒng)管理員通常具有對實(shí)質(zhì)上在計(jì)算機(jī)上執(zhí)行 的所有進(jìn)程的全面控制,但這種訪問可能并不合乎需要。例如,如果系統(tǒng)用戶已被 授予使用一媒體文件的許可證,則不同于用戶的系統(tǒng)管理員能訪問該媒體文件應(yīng)當(dāng) 是不可接受的。受保護(hù)環(huán)境傾向于有助于創(chuàng)建其中解密和處理內(nèi)容的代碼可在不給 予黑客對經(jīng)解密內(nèi)容的訪問權(quán)限的情況下運(yùn)行的進(jìn)程。受保護(hù)環(huán)境也可限制對諸如 管理員的特權(quán)用戶、和/或否則可獲得對受保護(hù)內(nèi)容的未經(jīng)授權(quán)訪問的任何其它用 戶的未經(jīng)授權(quán)訪問。保護(hù)可包括保護(hù)典型的用戶模式進(jìn)程(圖1, 103)和內(nèi)核模 式進(jìn)程(圖l, 104)以及它們所處理的任何數(shù)據(jù)。
在內(nèi)核中運(yùn)行的進(jìn)程易于受到攻擊。例如,在典型操作系統(tǒng)的內(nèi)核中,創(chuàng)建 了可允許管理員不受限制地訪問的對象,包括進(jìn)程。因而,通常具有全權(quán)訪問特權(quán) 的管理員實(shí)質(zhì)上可訪問所有進(jìn)程。
受保護(hù)內(nèi)容可包括指示內(nèi)容的獲授權(quán)使用的策略或相似信息。這種策略可經(jīng) 由DRM系統(tǒng)或其它安全機(jī)制實(shí)施。通常,對受保護(hù)內(nèi)容的訪問通過可實(shí)施策略的 DRM系統(tǒng)或其它機(jī)制授予。然而,具有系統(tǒng)完全訪問權(quán)限的系統(tǒng)管理員可改變 DRM系統(tǒng)的狀態(tài)或機(jī)制以無視內(nèi)容策略。
受保護(hù)環(huán)境傾向于提供一受保護(hù)空間,該受保護(hù)空間限制對正在處理的媒體 內(nèi)容的未獲授權(quán)訪問(甚至對諸如管理員的高特權(quán)用戶也是如此)。當(dāng)受保護(hù)環(huán)境 連同數(shù)字權(quán)限管理系統(tǒng)等一起使用時可創(chuàng)建受信任應(yīng)用程序,在該受信任應(yīng)用程序 中內(nèi)容提供者可感到提供了使數(shù)字媒體免遭未經(jīng)授權(quán)訪問的充分安全性,還可使內(nèi) 容策略以及可與該媒體內(nèi)容相關(guān)聯(lián)的任何其它數(shù)據(jù)、密鑰或保護(hù)機(jī)制一起免遭篡 改。
攻擊矢量
當(dāng)前的操作系統(tǒng)("OS")體系結(jié)構(gòu)通常呈現(xiàn)可危害媒體應(yīng)用程序的數(shù)個可能 攻擊矢量和正在處理的任何數(shù)字媒體內(nèi)容。出于本示例的目的,可在OS中發(fā)生的 攻擊被分成兩類攻擊,它們是內(nèi)核模式攻擊和用戶模式攻擊。
第一類攻擊是內(nèi)核模式攻擊。內(nèi)核模式通常被視為是基于操作系統(tǒng)受信任的。 操作系統(tǒng)核心以及大多數(shù)系統(tǒng)和外圍驅(qū)動器可用內(nèi)核模式運(yùn)行。通常在內(nèi)核中運(yùn)行
的任何一條代碼易于被在內(nèi)核中運(yùn)行的任意另一條代碼侵入,而對于用戶模式而言 則并非這種情形。此外,以內(nèi)核模式運(yùn)行的代碼通常對基本上所有用戶模式進(jìn)程具 有訪問權(quán)。CPU也可提供對各種代碼類型提供特權(quán)級別。內(nèi)核模式代碼通常由這 樣的CPU分配以最高級別的特權(quán),通常給予其對系統(tǒng)的全權(quán)訪問。
第二類攻擊是用戶模式攻擊。以用戶模式運(yùn)行的代碼可取決于它分配到的特 權(quán)級別而可以或不可以被系統(tǒng)視為受信任代碼。該特權(quán)級別可根據(jù)所運(yùn)行的用戶環(huán) 境或帳戶來確定。在管理員帳戶環(huán)境中運(yùn)行的用戶模式代碼可全權(quán)訪問在該系統(tǒng)上 運(yùn)行的其它代碼。此外,以用戶模式運(yùn)行的代碼可被分割以防止一個用戶訪問另一 個用戶的進(jìn)程。
這些攻擊可被進(jìn)一步地分解成特定攻擊矢量。受保護(hù)環(huán)境通常被設(shè)計(jì)成免遭 未經(jīng)授權(quán)訪問,否則可通過這些攻擊矢量的一個或多個獲得這些未經(jīng)授權(quán)訪問。受 保護(hù)環(huán)境可免遭攻擊矢量破壞而得到保護(hù),這些矢量可包括進(jìn)程創(chuàng)建、惡意用戶 模式應(yīng)用、將惡意代碼載入一進(jìn)程、惡意內(nèi)核代碼、無效信任授權(quán)、以及外部攻擊
進(jìn)程創(chuàng)建是一可能的攻擊矢量。操作系統(tǒng)通常包括允許父進(jìn)程創(chuàng)建子進(jìn)程的 "創(chuàng)建進(jìn)程"機(jī)制。惡意父進(jìn)程可通過更改創(chuàng)建進(jìn)程代碼或通過更改它所創(chuàng)建的數(shù) 據(jù)來對正在創(chuàng)建的子進(jìn)程作出未經(jīng)授權(quán)的更改。這可導(dǎo)致危害可由惡意父進(jìn)程創(chuàng)建 的子進(jìn)程處理的數(shù)字媒體。
惡意用戶模式應(yīng)用程序是一可能的攻擊矢量。操作系統(tǒng)通常包括管理員級特 權(quán)。正在運(yùn)行的具有管理員特權(quán)的進(jìn)程可對許多操作系統(tǒng)機(jī)制以及幾乎在計(jì)算機(jī)上 運(yùn)行的所有進(jìn)程有不受限制的訪問權(quán)。因而,在例如Windows中,正在運(yùn)行的具 有管理員特權(quán)的惡意用戶模式應(yīng)用程序可獲得對許多在計(jì)算機(jī)上運(yùn)行的其它進(jìn)程 的訪問權(quán),并由此危害數(shù)字媒體。類似地,在任何用戶環(huán)境中運(yùn)行的進(jìn)程可被在相 同環(huán)境中運(yùn)行的任何惡意進(jìn)程攻擊。
將惡意代碼載入一安全進(jìn)程是一可能的攻擊矢量。將惡意代碼附加或添加到 一進(jìn)程中是有可能的。這種受危害進(jìn)程不能得到信任,并可獲得對該經(jīng)更改進(jìn)程所 處理的任何媒體內(nèi)容或其它數(shù)據(jù)的未經(jīng)授權(quán)訪問。
惡意內(nèi)核模式代碼是一可能的攻擊矢量。操作系統(tǒng)通常包括一 "系統(tǒng)級別"
的特權(quán)。例如,在Windows中,以內(nèi)核模式運(yùn)行的所有代碼通常作為系統(tǒng)運(yùn)行, 并且因此可具有最大特權(quán)。通常的結(jié)果是以內(nèi)核模式運(yùn)行的驅(qū)動器可具有攻擊例如 任何用戶模式應(yīng)用程序的最大機(jī)會。這種惡意內(nèi)核模式代碼的攻擊可危害數(shù)字媒
體。
無效信任授權(quán)機(jī)構(gòu)(TA)是一可能的攻擊矢量。TA可參與媒體許可證的驗(yàn)證, 且可隨后"開啟"數(shù)字媒體的內(nèi)容。TA可專用于一媒體類型或格式,并通過媒體 提供者或其合伙人實(shí)現(xiàn)。這樣,TA可插入和/或可被提供為動態(tài)鏈接庫("DLL") 等。DLL可通過包括惡意代碼的可執(zhí)行代碼載入。為了使TA確保該媒體被準(zhǔn)確使 用,它需要確保它在其中運(yùn)行的進(jìn)程是安全的。否則數(shù)字媒體會受到危害。
外部攻擊是另一可能的攻擊矢量。存在不需要惡意代碼在系統(tǒng)中運(yùn)行來攻擊 它的一組攻擊。例如,將調(diào)試程序附加于一進(jìn)程、或?qū)⒁粌?nèi)核調(diào)試程序附加于機(jī)器、 在桌面上的二進(jìn)制文件中尋找敏感數(shù)據(jù)等都是尋找和危害數(shù)字媒體或可訪問數(shù)字 媒體的進(jìn)程的可能機(jī)制。
圖5是示出可由以未經(jīng)授權(quán)方式嘗試訪問媒體內(nèi)容和其它通常呈現(xiàn)在計(jì)算環(huán) 境100中的數(shù)據(jù)500的用戶或機(jī)制利用的示例性攻擊矢量507-510的框圖。受保護(hù) 環(huán)境可阻礙這些攻擊矢量使得對受信任應(yīng)用程序和它們處理的數(shù)據(jù)的未經(jīng)授權(quán)訪 問受到限制,并提供對攻擊的抵抗力。這些攻擊可由可包括可執(zhí)行代碼的系統(tǒng)或機(jī) 制的用戶發(fā)起。媒體應(yīng)用程序105在示圖的中央示出,且攻擊矢量507-510傾向于 集中在訪問由應(yīng)用程序105存儲和/或處理的敏感數(shù)據(jù)500。
一可能攻擊矢量509可經(jīng)由惡意用戶模式應(yīng)用程序502啟動。在示例性操作 系統(tǒng)架構(gòu)中,父進(jìn)程和具有管理員特權(quán)的任一進(jìn)程通常對諸如正在處理媒體內(nèi)容的 一進(jìn)程的其它進(jìn)程以及它們所處理的數(shù)據(jù)具有不受限制的訪問權(quán)。這種對媒體內(nèi)容 的訪問是未經(jīng)授權(quán)的。因而,受保護(hù)環(huán)境可確保受信任應(yīng)用程序和它所處理的媒體 內(nèi)容對其它用戶模式應(yīng)用程序的攻擊有抵抗力。
一可能攻擊矢量508是惡意代碼503在進(jìn)程501中的載入。具有對來自外部 的攻擊有抵抗力的安全進(jìn)程通常僅與在內(nèi)部運(yùn)行的形成該進(jìn)程的代碼一樣安全。假 設(shè)DLL和其它代碼通常被載入進(jìn)程以供執(zhí)行,可在受保護(hù)環(huán)境中提供一種機(jī)制, 該機(jī)制可確保在將代碼載入進(jìn)程之前相信所載入代碼可在該進(jìn)程內(nèi)運(yùn)行。
一可能攻擊矢量510是通過惡意內(nèi)核模式代碼504。以內(nèi)核模式104運(yùn)行的代 碼通常具有最大特權(quán)。結(jié)果可以是以內(nèi)核模式運(yùn)行的驅(qū)動器可具有多個攻擊其它應(yīng) 用程序的機(jī)會。例如,驅(qū)動器可能能夠直接在另一進(jìn)程中訪問存儲器。其結(jié)果是驅(qū) 動器一旦運(yùn)行就可訪問包含經(jīng)解密的"加密媒體內(nèi)容"(圖3,309)的進(jìn)程存儲器。 通過確保在內(nèi)核中運(yùn)行的代碼是如本示例提供的非惡意代碼,可防止內(nèi)核模式攻 擊。
一可能攻擊矢量507是通過對系統(tǒng)100的外部攻擊506。該群體表示通常不需 要惡意代碼在系統(tǒng)100上運(yùn)行的那組攻擊。例如,將一調(diào)試程序附加于該系統(tǒng)上的 應(yīng)用程序和/或進(jìn)程、在機(jī)器中搜索敏感數(shù)據(jù)等??蓜?chuàng)建受保護(hù)環(huán)境來抵抗這些類 型的攻擊。
創(chuàng)建和維護(hù)受保護(hù)環(huán)境
圖6是示出用于創(chuàng)建和維護(hù)傾向于限制對媒體內(nèi)容和其它數(shù)據(jù)的未經(jīng)授權(quán)訪 問的受保護(hù)環(huán)境的過程600的流程圖。當(dāng)計(jì)算機(jī)系統(tǒng)啟動(602)并且載入操作系 統(tǒng)的內(nèi)核,且內(nèi)核安全標(biāo)記被設(shè)置(604)成初始值時,序列600開始。該過程在 通常創(chuàng)建受保護(hù)環(huán)境且將應(yīng)用程序載入其中(606)的時間內(nèi)繼續(xù)。該過程包括通 過受保護(hù)環(huán)境的周期性檢查(608),以尋求確保系統(tǒng)在需要安全進(jìn)程的時間保持安 全。
在本文中使用時,術(shù)語"內(nèi)核"被定義為用于計(jì)算環(huán)境、系統(tǒng)或設(shè)備的操作 系統(tǒng)的中央模塊。該內(nèi)核模塊可以計(jì)算機(jī)可執(zhí)行指令和/或電子邏輯電路的形式來 實(shí)現(xiàn)。通常,內(nèi)核負(fù)責(zé)計(jì)算環(huán)境的存儲器管理、進(jìn)程和任務(wù)管理、以及存儲介質(zhì)管 理。術(shù)語"內(nèi)核組件"在此使用時被定義為構(gòu)成內(nèi)核一部分的基本控制機(jī)制、模塊、 計(jì)算機(jī)可執(zhí)行指令和/或電子邏輯電路。例如,內(nèi)核組件可以是負(fù)責(zé)載入其它內(nèi)核 組件以便于構(gòu)建一全面運(yùn)行內(nèi)核的"載入器"。
現(xiàn)在歸納創(chuàng)建和維護(hù)受保護(hù)環(huán)境的過程
1. 框602表示計(jì)算機(jī)系統(tǒng)的啟動。這通常以常稱為引導(dǎo)進(jìn)程并包括從盤或其 它某存儲介質(zhì)載入操作系統(tǒng)開始。
2. 通常引導(dǎo)進(jìn)程期間的起始操作之一是載入內(nèi)核及其組件。本示例提供內(nèi)核 組件的驗(yàn)證,并且如果都被成功驗(yàn)證為安全,則將指示內(nèi)核的標(biāo)記設(shè)置為安全。這 在框604中示出。
3. 在計(jì)算機(jī)系統(tǒng)被視為全面運(yùn)行之后,用戶可啟動可能需要一受保護(hù)環(huán)境的 諸如受信任媒體播放器的應(yīng)用程序。本示例向安全內(nèi)核提供在受保護(hù)環(huán)境內(nèi)運(yùn)行的 應(yīng)用程序,如框606所示。
4. 一旦受保護(hù)環(huán)境已經(jīng)被創(chuàng)建并且應(yīng)用程序的一個或多個進(jìn)程己被載入其中 并正在運(yùn)行,受信任環(huán)境就可周期性地檢查內(nèi)核安全標(biāo)記以確保該內(nèi)核保持安全, 如框608所示。g卩,從受信任應(yīng)用程序開始運(yùn)行的時間點(diǎn)看,可周期性地作出檢查 以確定是否載入了任何未經(jīng)授權(quán)的內(nèi)核組件,包括在載入新的內(nèi)核組件的任何時 候。這些未經(jīng)授權(quán)的內(nèi)核組件可攻擊受信任應(yīng)用程序或它可能正在處理的數(shù)據(jù)。因
此,如果載入任一這些組件,則可正確地設(shè)置內(nèi)核安全標(biāo)記。 載入和確認(rèn)安全內(nèi)核
圖7是示出用于創(chuàng)建一示例性安全計(jì)算環(huán)境200的示例性內(nèi)核組件720-730 和其它組件710-714的框圖。該示圖示出包含通常存儲在盤等上的數(shù)個組件 710-730,其中的幾個組件用來在計(jì)算機(jī)啟動時構(gòu)成操作系統(tǒng)的內(nèi)核。箭頭604指 示將內(nèi)核組件載入存儲器以形成系統(tǒng)的操作內(nèi)核的過程。所載入的內(nèi)核750被視為 包含其各個組件751-762以及指示內(nèi)核對受保護(hù)環(huán)境而言是否被視為安全的內(nèi)核 安全標(biāo)記790。該內(nèi)核安全標(biāo)記790被描述為"標(biāo)記"并不意味著是限制性的;它 可被實(shí)現(xiàn)為布爾變量、或更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)或機(jī)制。安全計(jì)算環(huán)境200和/或內(nèi)核 750的各個組件或元件是可更新和/或可個性化的。
內(nèi)核組件720-730通常是"經(jīng)簽名的"并可包括證書數(shù)據(jù)738,證書數(shù)據(jù)738 可允許內(nèi)核驗(yàn)證這些組件是它們所聲稱的組件,并且它們未經(jīng)修改和/或不是惡意 的。簽名塊和/或證書數(shù)據(jù)738可在每個內(nèi)核組件720-730和/或每個所載入的內(nèi)核 組件760、 762中存在。簽名和/或證書數(shù)據(jù)738對每個組件是唯一的。簽名和/或 證書數(shù)據(jù)738可在創(chuàng)建和維護(hù)受保護(hù)環(huán)境時使用,如下所述。通常組件由其供應(yīng)商 以安全表示該組件之源和/或指示它是否已被篡改的方式"簽名"。簽名可被實(shí)現(xiàn)為 組件報(bào)頭的散列(有時稱為"報(bào)頭圖像散列"),或通過使用其它技術(shù)來實(shí)現(xiàn)。 一常 規(guī)證書或證書鏈也可與一組件包括在一起,它們可被用來確定是否可相信該組件。 簽名和/或證書數(shù)據(jù)738通常在分發(fā)公用之前被添加到一組件。本領(lǐng)域技術(shù)人員將 熟悉這些技術(shù)及其用途。
當(dāng)?shù)湫偷挠?jì)算系統(tǒng)被啟動或"引導(dǎo)"時,操作系統(tǒng)的載入過程或"內(nèi)核載入 器"751通??蓮谋P等將內(nèi)核組件載入到系統(tǒng)存儲器的一部分中以構(gòu)成操作系統(tǒng)的 內(nèi)核。 一旦所有內(nèi)核組件被載入并運(yùn)行,則計(jì)算機(jī)和操作系統(tǒng)被視為"經(jīng)引導(dǎo)的" 并準(zhǔn)備好正常操作。
計(jì)算環(huán)境中的內(nèi)核組件#1 720到內(nèi)核組件#11730、以及取消列表714、內(nèi)核轉(zhuǎn) 儲標(biāo)記712和調(diào)試程序710以及調(diào)試憑證711可被存儲在盤或其它存儲介質(zhì)上。箭 頭604指示從其存儲位置讀取各個組件714-730并將其載入系統(tǒng)存儲器以形成功能 操作系統(tǒng)內(nèi)核750的內(nèi)核載入進(jìn)程。內(nèi)核轉(zhuǎn)儲標(biāo)記712被描述為"標(biāo)記"并不意味 著是限制性的;它可被實(shí)現(xiàn)為布爾變量、或更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)或機(jī)制。
內(nèi)核載入器751以及內(nèi)核的受保護(hù)環(huán)境("PE")管理部分752、取消列表754、 以及兩個內(nèi)核組件720和722被示為載入到內(nèi)核中,后者為框760和762,以及指示用于要被載入到內(nèi)核中的附加內(nèi)核組件的空間的指示一764和770。最后,內(nèi)核 750包括可用來指示內(nèi)核750當(dāng)前是否被視為安全的內(nèi)核安全標(biāo)記790。該示圖被 作為一個示例提供,且并非是限制性或完整的。為清晰起見,內(nèi)核載入器751、內(nèi) 核的PE管理部分752和/或內(nèi)核的其它組件被示為不同的內(nèi)核組件,但實(shí)際上它們 可與內(nèi)核的其它部分相區(qū)分,或可不與它們相區(qū)分。
包括在計(jì)算環(huán)境200內(nèi)的可以是取消列表714,它可結(jié)合與內(nèi)核組件760和 762相關(guān)聯(lián)的簽名和證書數(shù)據(jù)738 —起使用。該對象714可保留到列表714的創(chuàng)建 日期為止不再被視為有效的簽名、證書和/或證書鏈列表。取消列表714被示為作 為對象754載入到內(nèi)核中。這些列表被保存是因?yàn)槔缃M件760和762的經(jīng)有效簽 名和證明的組件后來會被發(fā)現(xiàn)具有某問題。該系統(tǒng)可使用這樣的列表754來在載入 內(nèi)核組件720-730時檢査它們,這些組件720-730可被正確簽名和/或具有受信任的 證書數(shù)據(jù)738但隨后可被認(rèn)為是不可信任的。這種取消列表754通常將包括版本信 息755,從而它可更容易地按需標(biāo)識、管理和更新。
系統(tǒng)的可影響內(nèi)核安全性的另一組件是調(diào)試程序710。調(diào)試程序通常可不被視 為內(nèi)核的一部分,但可出現(xiàn)在計(jì)算環(huán)境200中。包括那些稱為內(nèi)核調(diào)試程序、系統(tǒng) 分析程序等的調(diào)試程序可具有對系統(tǒng)和在系統(tǒng)上運(yùn)行的進(jìn)程以及任何數(shù)據(jù)的寬泛 訪問權(quán)。調(diào)試程序710可能能夠訪問計(jì)算環(huán)境200中的任何數(shù)據(jù),包括不應(yīng)以除獲 授權(quán)之外的方式訪問的媒體內(nèi)容。另一方面,調(diào)試通常是開發(fā)新功能的一部分,并 且在受保護(hù)環(huán)境內(nèi)調(diào)試旨在處理受保護(hù)媒體內(nèi)容的代碼通常是可能的。調(diào)試程序 710因而可包括指示調(diào)試程序710在系統(tǒng)上的出現(xiàn)獲得授權(quán)的調(diào)試憑證7U。由此 對調(diào)試程序710以及任何附隨憑證711出現(xiàn)的檢測可以是創(chuàng)建和維護(hù)受保護(hù)環(huán)境 (圖6,600)的一部分。
計(jì)算環(huán)境200可包括內(nèi)核轉(zhuǎn)儲標(biāo)記712。該標(biāo)記712可被用來指示在災(zāi)難性系 統(tǒng)故障的情形中有多少內(nèi)核存儲器可用于檢查?;蛘?,該標(biāo)記或相似標(biāo)記可指示系 統(tǒng)的全存儲器轉(zhuǎn)儲。這樣的內(nèi)核和/或存儲器轉(zhuǎn)儲可用于在諸如故障之后的事后調(diào) 試。如果這種標(biāo)記712指示基本上所有的存儲器可用于對轉(zhuǎn)儲的檢查,則內(nèi)核750 可被視為是不安全的,因?yàn)楹诳涂蛇\(yùn)行揭示系統(tǒng)存儲器中的受保護(hù)介質(zhì)、然后促使 可導(dǎo)致可用于檢查的存儲器包括含有所揭示媒體內(nèi)容的災(zāi)難性故障狀況的應(yīng)用程 序。由此,內(nèi)核轉(zhuǎn)儲標(biāo)記712可用于創(chuàng)建和維護(hù)受保護(hù)環(huán)境(圖6, 600)。
圖8和圖9是示出用于載入內(nèi)核組件以創(chuàng)建一示例性安全計(jì)算環(huán)境的一示例 性過程604的流程圖。該過程604在內(nèi)核載入器已啟動且內(nèi)核的PE管理部分已被
載入并運(yùn)行之后開始。未在這些附圖中示出的是,內(nèi)核的PE管理部分可驗(yàn)證內(nèi)核 載入器本身和/或先前已載入的任何其它內(nèi)核元件。驗(yàn)證可被定義為確定一給定組
件是否被視為安全和可信任的,如本過程604的部分2所示。
如以下相關(guān)于內(nèi)核組件使用的術(shù)語"被授權(quán)安全使用"具有以下具體含義。 包含未被授權(quán)安全使用的任何組件的內(nèi)核不提供受保護(hù)環(huán)境可在其內(nèi)運(yùn)行的安全 計(jì)算環(huán)境。相反情形也可能不為真,因?yàn)樗Q于諸如攻擊矢量的其它因素。
1. 框801示出載入過程604在內(nèi)核的PE管理部分已被載入并運(yùn)行之后開始。 在此之前載入內(nèi)核中的任何組件可被如上所述地驗(yàn)證。
2. 框802示出內(nèi)核安全標(biāo)記在開始時被設(shè)置為TRUE (真),除非在內(nèi)核的 PE管理部分之前載入的任何組件或該組件本身被發(fā)現(xiàn)是不安全的,此時內(nèi)核安全 標(biāo)記可被設(shè)置成FALSE (假)。實(shí)際上TRUE或FALSE的指示可采取各種形式; 在此使用TRUE或FALSE僅僅是一個示例并且并不表示是限制性的?;蛘撸瑑?nèi)核 安全標(biāo)記開始時可被設(shè)置成FALSE,而在后來當(dāng)發(fā)現(xiàn)內(nèi)核安全時可被設(shè)置成 TRUE。
3. 框804指示對調(diào)試程序在計(jì)算環(huán)境中的出現(xiàn)的檢查?;蛘哒{(diào)試程序可遠(yuǎn)程 地駐留并可經(jīng)由網(wǎng)絡(luò)或與計(jì)算環(huán)境中一進(jìn)程的其它通信介質(zhì)附加于計(jì)算環(huán)境。如果 未檢測到調(diào)試程序,則載入過程604在框810繼續(xù)。否則它在框809繼續(xù)。未在示 圖中示出的是,該檢查可周期性地執(zhí)行且內(nèi)核安全標(biāo)記的狀態(tài)可被相應(yīng)地更新。
4. 如果檢測到一調(diào)試程序,則框806示出對調(diào)試憑證的檢查,該調(diào)試憑證可 指示在出現(xiàn)受保護(hù)環(huán)境時調(diào)試可在系統(tǒng)上獲得授權(quán)。如果未出現(xiàn)這樣的憑證,則內(nèi) 核安全標(biāo)記可被設(shè)置成FALSE,如框808中所示。否則載入過程604在框810繼 續(xù)。
5. 框810示出內(nèi)核轉(zhuǎn)儲標(biāo)記的檢查。如果該標(biāo)記指示全內(nèi)核存儲器轉(zhuǎn)儲等是 可能的,則內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,如框808中所示。否則載入過程604 在框812繼續(xù)。未在示圖中示出的是,該檢查可周期性地執(zhí)行且內(nèi)核安全標(biāo)記的狀 態(tài)可被相應(yīng)地更新。
6. 框812示出將取消列表載入內(nèi)核。在取消列表可被用來檢查調(diào)試憑證或其 它先前載入的憑證、簽名、證書數(shù)據(jù)等的情形中,該步驟可比所示序列更早地進(jìn)行
(在載入要檢查的憑證等之前)。未在示圖中示出的是, 一旦載入該組件,就可檢 查任一和全部先前載入的內(nèi)核組件,以查看是否己按取消列表取消了其簽名和/或 證書數(shù)據(jù)。如果己取消了任一個,則內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,且載入進(jìn)
程604在框814繼續(xù)。注意,取消列表可以或不可以被載入到內(nèi)核中以用于創(chuàng)建和 維護(hù)受保護(hù)環(huán)境。
7. 框814示出到該示圖的第二部分的轉(zhuǎn)換,該第二部分在圖9中示出并在框 卯l繼續(xù)。
8. 框902示出對要載入的任何附加內(nèi)核組件的檢查。如果所有組件己被載入, 則載入過程604通常是完整的,且內(nèi)核安全標(biāo)記保持它上次所設(shè)置的或?yàn)門RUE 或?yàn)镕ALSE的任何狀態(tài)。如果有其它內(nèi)核組件要載入,則載入過程604在框卯6繼續(xù)。
9. 框906示出對要載入的下一組件的有效簽名的檢查。如果該簽名無效,則 內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,如框918所示。否則載入過程604在框908繼 續(xù)。如果沒有組件簽名可用,則該組件可被視為不安全且內(nèi)核安全標(biāo)記可被設(shè)置成 FALSE,如框918所示。簽名有效性可通過檢查有效簽名列表的匹配、和/或通過 檢查簽名者的身份是否是一受信任實(shí)體來確定。如安全技術(shù)領(lǐng)域中的技術(shù)人員所熟 悉的,也可使用其它方法來驗(yàn)證組件簽名。
10. 框908示出對組件的證書數(shù)據(jù)的檢查。如果證書數(shù)據(jù)無效則內(nèi)核安全標(biāo)記 可被設(shè)置為FALSE,如框918所示。否則載入過程604在框910繼續(xù)。如果沒有 組件證書數(shù)據(jù)可用,則該組件可被視為不安全且內(nèi)核安全標(biāo)記可被設(shè)置成FALSE, 如框918所示。證書數(shù)據(jù)有效性可通過檢查該組件的證書數(shù)據(jù)以查看該組件是否被 授權(quán)安全使用來確定。如本領(lǐng)域技術(shù)人員所熟悉的,也可使用其它方法來驗(yàn)證組件 證書數(shù)據(jù)。
11. 框910示出根據(jù)載入到內(nèi)核中的取消列表檢查組件的簽名。如果該簽名出 現(xiàn)在列表上指示它已被取消,則內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,如框918所示。 否則載入過程604在框912繼續(xù)。
12. 框912示出根據(jù)取消列表檢查組件的證書數(shù)據(jù)。如果證書數(shù)據(jù)出現(xiàn)在列表 上指示它已被取消,則內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,如框918所示。否則載 入過程604在框914繼續(xù)。
13. 框914示出檢查組件簽名以確定它是否可使用。該檢查可通過檢查組件的 葉證書數(shù)據(jù)以查看該組件是否被授權(quán)安全使用來進(jìn)行。證書數(shù)據(jù)中的某些屬性可指 示該組件是否被批準(zhǔn)用于受保護(hù)環(huán)境用途。如果為否,則該組件不可被適當(dāng)簽名且 內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,如框918所示。否則載入過程604在框916繼 續(xù)。 14. 框916示出對組件的根證書數(shù)據(jù)的檢査。該檢査可通過檢査組件的根證書 數(shù)據(jù)以査看它是否在受信根證書列表上來進(jìn)行。如果為否,則該組件可被視為不安
全且內(nèi)核安全標(biāo)記可被設(shè)置成FALSE,如框918所示。否則載入過程604在框920 繼續(xù)。
15. 框920示出將組件載入內(nèi)核,在該內(nèi)核中現(xiàn)在組件被視為運(yùn)行。然后載入 過程604返回到框902以檢查要載入的任何其它組件。
創(chuàng)建受保護(hù)環(huán)境
圖10是示出安全計(jì)算環(huán)境200的框圖,該安全計(jì)算環(huán)境200將應(yīng)用程序105 載入一示例性受保護(hù)環(huán)境203以形成通常對攻擊有抵抗力的受信任應(yīng)用程序。在本 示例中,內(nèi)核可與圖7所述的相同且己被載入,系統(tǒng)200被視為全面運(yùn)行。作為示 例,此時用戶啟動媒體應(yīng)用程序105。媒體應(yīng)用程序105可要求創(chuàng)建受保護(hù)環(huán)境203, 以使其進(jìn)程和/或組件的一個或多個在其內(nèi)運(yùn)行。受保護(hù)環(huán)境創(chuàng)建過程606創(chuàng)建受 保護(hù)環(huán)境203,并載入應(yīng)用程序105和/或其組件,如下所述。
圖11是示出用于創(chuàng)建受保護(hù)環(huán)境并將一應(yīng)用程序載入受保護(hù)環(huán)境的一示例性 過程606的流程圖。該過程606包括創(chuàng)建一安全進(jìn)程的初始步驟、然后驗(yàn)證要載入 其中的軟件組件、接著將該軟件組件載入新的安全進(jìn)程并使其運(yùn)行。在成功時,結(jié) 果可以是軟件組件在安全內(nèi)核所支持的受保護(hù)環(huán)境中運(yùn)行。這種軟件組件以及它所 處理的任何數(shù)字媒體內(nèi)容或其它數(shù)據(jù)可使其免受包括以上所述的各種攻擊。
1. 框1101示出受保護(hù)環(huán)境創(chuàng)建過程606的開始。這通常是在某應(yīng)用程序或代 碼要求受保護(hù)環(huán)境運(yùn)行時。
2. 框1102示出受保護(hù)環(huán)境的建立。盡管未在示圖中示出,這可通過要求操作 系統(tǒng)創(chuàng)建一新的安全進(jìn)程來完成。后來載入并在該安全進(jìn)程中運(yùn)行的代碼可被視為 在受保護(hù)環(huán)境中運(yùn)行。如果內(nèi)核安全標(biāo)記被設(shè)置為FALSE,則"創(chuàng)建新的安全進(jìn) 程"請求會失敗。這會是因?yàn)樵撓到y(tǒng)作為整體可被視為是不安全且不適合受保護(hù)環(huán) 境和要求受保護(hù)環(huán)境的任何應(yīng)用程序或數(shù)據(jù)的?;蛘撸?創(chuàng)建新的安全進(jìn)程"請求 會成功,且被載入該新進(jìn)程的組件可得到系統(tǒng)被視為不安全的通知以使該組件相應(yīng) 地更改其運(yùn)行。否則,過程606在框1106繼續(xù)。
3. 框1106示出對要載入新安全進(jìn)程或受保護(hù)環(huán)境的軟件組件的有效簽名的 檢查。如果該簽名無效則過程606可失敗,如框1118所示。否則過程606在框1108 繼續(xù)。未在該過程中示出的是也可對創(chuàng)建新安全進(jìn)程的程序或其等效體檢查有效簽 名。因而,對于創(chuàng)建新安全進(jìn)程的組件本身和/或程序,如果沒有簽名可用則該組
件可被視為不安全且過程606會失敗,如框1118所示。簽名有效性可通過檢查對
有效簽名列表的匹配和/或通過檢査簽名者的身份是否是一受信任實(shí)體來確定。如 安全技術(shù)領(lǐng)域的技術(shù)人員所熟悉的,也可使用其它方法來驗(yàn)證組件簽名。
4. 框1108示出對軟件組件的證書數(shù)據(jù)的檢查。如果證書數(shù)據(jù)無效則過程606 可失敗,如框1118所示。否則過程606在框1110繼續(xù)。如果沒有組件證書數(shù)據(jù)可 用,則組件可被視為不安全且過程606會失敗,如框1118所示。證書數(shù)據(jù)有效性 可通過檢查組件的證書數(shù)據(jù)以查看該組件是否被授權(quán)安全使用來確定。如本領(lǐng)域技 術(shù)人員所熟悉的,也可使用其它方法來驗(yàn)證組件證書數(shù)據(jù)。
5. 框1110示出根據(jù)取消列表檢查組件的簽名。如果該簽名出現(xiàn)在列表上指示 它已被取消則過程606會失敗,如框1118所示。否則過程606在框1112繼續(xù)。
12. 框1112示出根據(jù)取消列表檢查組件的證書數(shù)據(jù)。如果該證書數(shù)據(jù)出現(xiàn)在 列表上指示它己被取消則過程606會失敗,如框1118所示。否則過程606在框1114 繼續(xù)。
13. 框1114示出對組件簽名的檢查以確定是否可接受它以供使用。該檢查可 通過檢查組件的葉證書數(shù)據(jù)以查看該組件是否被授權(quán)安全使用來進(jìn)行。證書數(shù)據(jù)中 的某些屬性可指示是否準(zhǔn)予該組件在受保護(hù)環(huán)境中使用。如果為否,則該組件可被 視為未經(jīng)適當(dāng)簽名且過程606會失敗,如框1118所示。否則過程606在框1116繼續(xù)。
14. 框1116示出對組件的根證書數(shù)據(jù)的檢査。該檢查可通過檢查組件的根證 書數(shù)據(jù)以查看它是否列示于受信任根證書列表上來進(jìn)行。如果為否,則該組件可被 視為不安全且過程606會失敗,如框1118所示。否則,過程606在框1120繼續(xù)。
15. 框1118示出載入軟件組件失敗,然后是框1130,即受保護(hù)環(huán)境創(chuàng)建過程 606結(jié)束。
16. 框1120示出軟件組件被載入受保護(hù)環(huán)境,在該環(huán)境中該軟件組件被視為 運(yùn)行,然后是框1130,即受保護(hù)環(huán)境創(chuàng)建過程606結(jié)束。
隨時間的流逝確認(rèn)安全內(nèi)核
圖12是示出利用一示例性受保護(hù)環(huán)境202來周期性地檢查(608)安全計(jì)算 環(huán)境200的安全狀態(tài)790的一示例性受信任應(yīng)用程序的框圖。在本示例中,計(jì)算環(huán) 境200和內(nèi)核750可與圖7和8所述的相同。內(nèi)核750已被載入且計(jì)算機(jī)200被視 為完全運(yùn)行。此外,受保護(hù)環(huán)境己被創(chuàng)建且受信任應(yīng)用程序的適當(dāng)組件已被載入其 中并運(yùn)行,從而建立了利用受保護(hù)環(huán)境202 (下文中簡稱為"受保護(hù)環(huán)境")的受
信任應(yīng)用程序。
受保護(hù)環(huán)境202可對內(nèi)核752的PE管理部分進(jìn)行周期性的檢査以確定隨著時 間的流逝內(nèi)核750是否保持安全。要執(zhí)行該周期性檢查是因?yàn)樾陆M件有可能在任何 時間被載入內(nèi)核750,包括可被視為不安全的組件。如果這種情況發(fā)生,則內(nèi)核安 全標(biāo)記790的狀態(tài)會變成FALSE,且在受保護(hù)環(huán)境202中運(yùn)行的代碼有機(jī)會作出 適當(dāng)響應(yīng)。
例如,考慮在具有安全內(nèi)核750的PC200上啟動的媒體播放器應(yīng)用程序,以 及在受保護(hù)環(huán)境202中運(yùn)行、處理數(shù)字媒體內(nèi)容且僅被許可安全使用的媒體播放器 應(yīng)用程序的一部分。在本示例中,如果在媒體播放器應(yīng)用程序處理媒體內(nèi)容時載入 了被視為不安全的新內(nèi)核組件,則檢查內(nèi)核安全狀態(tài)過程240將標(biāo)注內(nèi)核安全標(biāo)記 7卯已變成FALSE,指示該內(nèi)核750不再安全。
或者,取消列表745可被更新,且先前被視為安全的內(nèi)核組件不再被視為安 全,從而導(dǎo)致內(nèi)核安全標(biāo)記790被設(shè)置為FALSE。此時應(yīng)用程序可接收到系統(tǒng)200 不再被視為安全的通知并可終止運(yùn)行,或采取其它適當(dāng)動作來保護(hù)它自己和/或它 正在處理的媒體內(nèi)容。
圖13是示出用于周期性地檢查安全計(jì)算環(huán)境的安全狀態(tài)的一示例性過程608 的流程圖。該過程608可由受保護(hù)環(huán)境202用來確定隨著時間的流逝該內(nèi)核是否保 持安全。受保護(hù)環(huán)境202可周期性地使用該過程608來檢查內(nèi)核的當(dāng)前安全狀態(tài)。 受保護(hù)環(huán)境202和/或在其中運(yùn)行的軟件組件可使用該當(dāng)前安全狀態(tài)信息來適當(dāng)?shù)?更改其操作。該過程的周期性激活可使用常規(guī)技術(shù)來實(shí)現(xiàn)。
示圖示出用示例性偽碼例示的受保護(hù)環(huán)境202與內(nèi)核752的PE管理部分之間 的通信序列608。該通信可包括檢查取消列表的版本,這可給予應(yīng)用程序指定至少 某版本的取消列表的能力。可使用常規(guī)技術(shù)來用密碼術(shù)保護(hù)該通信序列。
1. 受保護(hù)環(huán)境202對內(nèi)核的PE管理部分作出IsKernelSecure(MinRLVer)呼叫 1320,以查詢內(nèi)核的當(dāng)前安全狀態(tài)。包括在該呼叫1320中的是期望使用的取消列 表的最低版本(MinRLVer)。
2. 內(nèi)核的PE管理部分作檢查以查看作為調(diào)用進(jìn)程的受保護(hù)環(huán)境是否安全。 如果為否,則它可向受保護(hù)環(huán)境提供一返回(安全標(biāo)記二FALSE)指示1322,并且 通信序列608完成。該安全檢查可通過內(nèi)核的PE管理部分對受保護(hù)環(huán)境檢查有效 簽名和/或證書數(shù)據(jù)來實(shí)現(xiàn),如上所述。
3. 否則,內(nèi)核的PE管理部分響應(yīng)于呼叫1320檢查內(nèi)核安全標(biāo)記。如果該標(biāo)
記的狀態(tài)為FALSE,則它可向受保護(hù)環(huán)境提供返回(安全標(biāo)記-FALSE)指示1324, 并且通信序列608完成。
4. 否則,內(nèi)核的PE管理部分對取消列表檢査取消列表版本信息。如果取消 列表具有比IsKemelSecure (MinRLVer)呼叫1320中所請求的老的版本信息,則可 能有若干個選項(xiàng)。首先,如示圖中所示,內(nèi)核的PE管理部分可向受保護(hù)環(huán)境提供 返回(安全標(biāo)記-FALSE)指示1326,并且通信序列608完成。
或者,且未在示圖中示出,適當(dāng)版本的取消列表可被定位并載入到內(nèi)核中, 所有內(nèi)核組件可使用該新的或經(jīng)更新的列表來重新驗(yàn)證,內(nèi)核安全標(biāo)記在適當(dāng)時更 新,并重復(fù)該通信序列608的前一步驟#3。
5. 否則,內(nèi)核的PE管理部分可向受保護(hù)環(huán)境提供返回(安全標(biāo)記二FALSE) 指示1328,并且通信序列608完成。
示例性計(jì)算環(huán)境
圖14是示出其中可實(shí)現(xiàn)用于建立包括受保護(hù)環(huán)境203的安全計(jì)算環(huán)境的過
程、系統(tǒng)和方法的一示例性計(jì)算環(huán)境1400的框圖。示例性個人計(jì)算機(jī)1400僅是可
提供安全計(jì)算環(huán)境和/或受保護(hù)環(huán)境的計(jì)算系統(tǒng)或設(shè)備的一個示例,并且并非旨在 將本申請中所述示例限制在該特定計(jì)算環(huán)境或設(shè)備類型中。
適當(dāng)?shù)挠?jì)算環(huán)境可用多個其它通用或?qū)S孟到y(tǒng)來實(shí)現(xiàn)。公知系統(tǒng)的示例可包 括但不限于,個人計(jì)算機(jī)("PC") 1400、手持式或膝上型設(shè)備、基于微處理器的 系統(tǒng)、多處理器系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電器、游戲控制臺、消費(fèi)電器設(shè)備、蜂 窩式對話、PDA等。
PC 1400包括耦合到各個外圍設(shè)備1403、 1404、 1415、 1416等的計(jì)算設(shè)備1401 形式的通用計(jì)算系統(tǒng)。計(jì)算設(shè)備1401的各個組件可包括一個或多個處理器(包括 CPU 、 GPU、微處理器等)1407、系統(tǒng)存儲器1409、以及耦合各個系統(tǒng)組件的系 統(tǒng)總線1408。處理器1407處理各種計(jì)算機(jī)可執(zhí)行指令以控制計(jì)算設(shè)備1401的運(yùn) 行,并經(jīng)由諸如網(wǎng)絡(luò)連接1414等的各種通信連接與其它電子和/或計(jì)算設(shè)備(未示 出)通信。系統(tǒng)總線1408表示任意數(shù)目的幾類總線結(jié)構(gòu),包括存儲總線或存儲器 控制器、外圍總線、加速圖形端口、和/或使用各種總線架構(gòu)的任一種的處理器或 局域總線。
系統(tǒng)存儲器1409可包括諸如隨機(jī)存取存儲器(RAM)的易失性存儲器、和/ 或只讀存儲器(ROM)的非易失性存儲器形式的計(jì)算機(jī)可讀介質(zhì)?;据斎?輸出 系統(tǒng)(BIOS)可被存儲在ROM中。RAM通常包含可由一個或多個處理器1407
即時訪問和/或當(dāng)前操作的數(shù)據(jù)和/或程序模塊。作為示例,所示載入到系統(tǒng)存儲器 以作運(yùn)行的是利用受保護(hù)環(huán)境203的一受信任程序202,以及正在處理的媒體內(nèi)容
106。
大容量存儲設(shè)備1404和1410可通過耦合到系統(tǒng)總線來耦合于計(jì)算設(shè)備1401 或結(jié)合到計(jì)算設(shè)備1401中。這樣的大容量存儲設(shè)備1404和1410可包括讀取和寫 入可移動、非易失性磁盤(例如"軟盤")1405的磁盤驅(qū)動器,和/或讀取和寫入非 易失性光盤1406,諸如CD-ROM、 DVD-ROM等的光盤驅(qū)動器。計(jì)算機(jī)可讀介質(zhì) 1405和1406通常包括在軟盤、CD、 DVD、便攜式存儲棒等上提供的計(jì)算機(jī)可讀 指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊等。
任意數(shù)目的程序或模塊可被存儲在硬盤1410、其它大容量存儲設(shè)備1404、以 及系統(tǒng)存儲器1409上(通常受可用空間限制),包括例如操作系統(tǒng)、 一個或多個應(yīng) 用程序、其它程序模塊和/或程序數(shù)據(jù)。這種操作系統(tǒng)、應(yīng)用程序、其它程序模塊 和程序數(shù)據(jù)(或其某個組合)各自可包括本文中所述系統(tǒng)和方法的一個實(shí)施例。內(nèi) 核組件720-730連同其它操作系統(tǒng)代碼可被存儲在盤1410上。媒體應(yīng)用程序105 和/或數(shù)字權(quán)限管理系統(tǒng)204連同其它應(yīng)用程序可被存儲在盤1410上。這些組件 720-730和應(yīng)用程序105、 204可被載入系統(tǒng)存儲器1409并運(yùn)行。
顯示設(shè)備1416可經(jīng)由諸如視頻適配器1411的接口耦合到系統(tǒng)總線1408。用 戶可經(jīng)由諸如鍵盤、定點(diǎn)設(shè)備、操縱桿、游戲墊、串行端口等任何數(shù)目的不同輸入 設(shè)備1403來與計(jì)算設(shè)備1400通信。這些和其它輸入設(shè)備可經(jīng)由可耦合系統(tǒng)總線 1408的輸入/輸出接口 1412耦合到處理器1407,并且可通過諸如并行端口、游戲 端口和/或通用串行總線(USB)等的其它接口和總線結(jié)構(gòu)耦合。
計(jì)算設(shè)備1400可在使用通過一個或多個局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因 特網(wǎng)、無線鏈路、光學(xué)鏈路等與一個或多個遠(yuǎn)程計(jì)算機(jī)和/或設(shè)備的通信連接的網(wǎng) 絡(luò)化環(huán)境中運(yùn)行。計(jì)算設(shè)備1400可經(jīng)由網(wǎng)絡(luò)適配器1413或可替換地經(jīng)由調(diào)制解調(diào) 器、DSL、 ISDN接口等耦合到一網(wǎng)絡(luò)。
通信連接1414是通信介質(zhì)的一個示例。通信介質(zhì)通常在諸如載波或其它傳輸 機(jī)制的己調(diào)制數(shù)據(jù)信號中體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它數(shù)據(jù), 且包括任何信息輸送介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"意指在信號中用對信息編碼的 方式設(shè)置或改變其一個或多個特征的信號。作為示例,而非限制,通信介質(zhì)包括諸 如有線網(wǎng)絡(luò)或直線連接的有線介質(zhì),和諸如聲學(xué)、射頻、紅外線和其它無線介質(zhì)的 無線介質(zhì)。
本領(lǐng)域技術(shù)人員將認(rèn)識到用來存儲計(jì)算機(jī)可讀程序指令的存儲設(shè)備可分布在 網(wǎng)絡(luò)上。例如遠(yuǎn)程計(jì)算機(jī)或設(shè)備可存儲被描述為軟件的系統(tǒng)的一個示例。本地或終 端計(jì)算機(jī)或設(shè)備可訪問(多個)遠(yuǎn)程計(jì)算機(jī)或設(shè)備,并下載軟件的部分或全部以運(yùn) 行一 (多個)程序。或者,本地計(jì)算機(jī)可通過在本地終端上執(zhí)行部分軟件指令并在 遠(yuǎn)程計(jì)算機(jī)和/或設(shè)備上執(zhí)行部分軟件指令來按需下載軟件或分布式地處理該軟 件。
本領(lǐng)域技術(shù)人員還將認(rèn)識到通過利用本領(lǐng)域技術(shù)人員所公知的常規(guī)技術(shù),軟 件指令的全部或一部分可通過諸如數(shù)字信號處理器("DSP")、可編程邏輯陣列 ("PDA")、分立電路等專用電子電路來執(zhí)行。術(shù)語電子裝置在本文中使用時包括 含有任意軟件和/或固件的計(jì)算設(shè)備和消費(fèi)電子設(shè)備,和/或不含有任意軟件和/或固 件的電子設(shè)備或電路。
術(shù)語計(jì)算機(jī)可讀介質(zhì)可包括系統(tǒng)存儲器、硬盤、大容量設(shè)備及其相關(guān)聯(lián)介質(zhì)、 通信介質(zhì)等。
權(quán)利要求
1.一種在計(jì)算設(shè)備內(nèi)建立受保護(hù)環(huán)境的方法,包括確認(rèn)載入到所述計(jì)算設(shè)備內(nèi)核中的內(nèi)核組件;基于所述確認(rèn)建立所述內(nèi)核的安全狀態(tài);創(chuàng)建一安全進(jìn)程并將一軟件組件載入到所述安全進(jìn)程中;周期性地檢查所述內(nèi)核的安全狀態(tài);以及通知所述安全進(jìn)程何時所述內(nèi)核的安全狀態(tài)已被改變。
2. 如權(quán)利要求1所述的在計(jì)算設(shè)備內(nèi)建立受保護(hù)環(huán)境的方法,其特征在于, 確認(rèn)載入到所述計(jì)算設(shè)備內(nèi)核中的內(nèi)核組件進(jìn)一步包括設(shè)置一內(nèi)核安全標(biāo)記。
3. 如權(quán)利要求2所述的在計(jì)算設(shè)備內(nèi)建立受保護(hù)環(huán)境的方法,其特征在于, 周期性地檢查所述內(nèi)核的安全狀態(tài)還包括檢查所述內(nèi)核安全標(biāo)記。
4. 如權(quán)利要求1所述的在計(jì)算設(shè)備內(nèi)建立受保護(hù)環(huán)境的方法,其特征在于, 所述內(nèi)核組件包括一載入器。
5. 如權(quán)利要求1所述的在計(jì)算設(shè)備內(nèi)建立受保護(hù)環(huán)境的方法,其特征在于, 所述軟件組件是一受信任介質(zhì)組件。
6. —種載入內(nèi)核組件以創(chuàng)建一安全計(jì)算環(huán)境的方法,包括 將內(nèi)核安全標(biāo)記設(shè)置為真狀態(tài);檢査以確定調(diào)試程序是否在操作系統(tǒng)中出現(xiàn);以及 查看是否存在與所述調(diào)試程序相關(guān)聯(lián)的調(diào)試憑證。
7. 如權(quán)利要求6所述的載入內(nèi)核組件以創(chuàng)建一安全計(jì)算環(huán)境的方法,其特征在于,還包括如果不存在調(diào)試憑證則將所述內(nèi)核安全標(biāo)記設(shè)置為偽狀態(tài)。
8. 如權(quán)利要求6所述的載入內(nèi)核組件以創(chuàng)建一安全計(jì)算環(huán)境的方法,其特征 在于,還包括確定還有另一個組件要載入;確認(rèn)所述組件的簽名;驗(yàn)證證書是有效的;確定所述簽名是否在取消列表上;以及 確定所述證書是否在所述取消列表上。
9. 如權(quán)利要求8所述的載入內(nèi)核組件以創(chuàng)建一安全計(jì)算環(huán)境的方法,其特征在于,還包括確定所述簽名是否是可接受以供使用的; 確定所述證書是否是可接受以供使用的;以及 將所述組件載入所述內(nèi)核。
10. —種創(chuàng)建受保護(hù)環(huán)境的方法,包括 創(chuàng)建一受保護(hù)環(huán)境用于載入一組件; 檢査簽名的有效性; 檢查證書的有效性; 查看所述簽名是否在取消列表中; 查看所述證書是否在所述取消列表中; 查看所述簽名可接受以供使用; 查看所述證書可接受以供使用; 設(shè)置一內(nèi)核安全標(biāo)記;以及 將所述組件載入所述受保護(hù)環(huán)境。
11. 如權(quán)利要求10所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,如果檢查所述簽名的有效性失敗,則所述內(nèi)核安全標(biāo)記被設(shè)置為偽狀態(tài)。
12. 如權(quán)利要求IO所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,如果檢查所述證書的有效性失敗,則所述內(nèi)核安全標(biāo)記被設(shè)置為偽狀態(tài)。
13. 如權(quán)利要求IO所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,如果查看所述證書是否在所述取消列表中失敗,則所述內(nèi)核安全標(biāo)記被設(shè)置 為偽狀態(tài)。
14. 如權(quán)利要求IO所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,如果査看所述簽名可接受以供使用矢敗,則所述內(nèi)核安全標(biāo)記被設(shè)置為偽狀 態(tài)。
15. 如權(quán)利要求10所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,如果査看所述證書可接受以供使用失敗,則所述內(nèi)核安全標(biāo)記被設(shè)置為偽狀 態(tài)。
16. 如權(quán)利要求IO所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,所述組件是一介質(zhì)應(yīng)用程序的一部分。
17. 如權(quán)利要求IO所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,還包括周期性地檢査所述受保護(hù)環(huán)境的安全狀態(tài)。
18. 如權(quán)利要求17所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,周期性地檢査所述受保護(hù)環(huán)境的安全狀態(tài)還包括檢査所述內(nèi)核安全標(biāo)記。
19. 如權(quán)利要求18所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征在于,周期性地檢査所述受保護(hù)環(huán)境的安全狀態(tài)還包括向內(nèi)核提交一調(diào)用進(jìn)程的調(diào)用。
20. 如權(quán)利要求19所述的創(chuàng)建一受保護(hù)環(huán)境用于載入一組件的方法,其特征 在于,檢査對所述內(nèi)核的調(diào)用進(jìn)程以確定它是否安全。
全文摘要
一種在計(jì)算設(shè)備內(nèi)建立受保護(hù)環(huán)境的方法,包括確認(rèn)載入到計(jì)算設(shè)備內(nèi)核中的內(nèi)核組件,基于該確認(rèn)建立內(nèi)核的安全狀態(tài),創(chuàng)建一安全進(jìn)程并將一軟件組件載入到該安全進(jìn)程中,周期性地檢查內(nèi)核的安全狀態(tài),并通知該安全進(jìn)程何時內(nèi)核的安全狀態(tài)已被改變。
文檔編號G06F21/00GK101189615SQ200580049553
公開日2008年5月28日 申請日期2005年8月26日 優(yōu)先權(quán)日2005年4月22日
發(fā)明者A·A·舍爾瓦尼, A·U·基什安, A·V·格里格羅維奇, C·B·諾爾頓, C·D·尤佩得亞, G·T·頓巴, J·D·舒沃茨, J·M·奧爾科弗, K·A·德比齊, M·J·吉爾, M·馬, R·J·庫恩, S·N·巴德 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
辰溪县| 贡嘎县| 古丈县| 长乐市| 平阴县| 南康市| 宁波市| 南和县| 鄂州市| 房山区| 汤阴县| 绥棱县| 淮北市| 礼泉县| 文成县| 玛纳斯县| 理塘县| 广安市| 安庆市| 内江市| 修水县| 昌宁县| 保德县| 溧阳市| 博罗县| 安阳市| 哈尔滨市| 延寿县| 琼海市| 深州市| 新巴尔虎右旗| 永平县| 长沙县| 铜鼓县| 肇州县| 皋兰县| 嘉祥县| 邹平县| 石台县| 汽车| 宜兰市|