背景技術:
隨著計算機已變得越來越普遍,越來越多的數(shù)據(jù)量已被存儲在計算機上。這對于用戶而言具有許多益處,其包括在相對小的空間中存儲大量數(shù)據(jù)的能力。然而,這個數(shù)據(jù)中的一些數(shù)據(jù)時常打算被保密或者僅被透露給某些個人。這個數(shù)據(jù)能夠采用不同的方式諸如使用口令或者個人識別號來保護。雖然這樣的保護能夠是有幫助的,但是計算機能夠容易受到攻擊,諸如字典攻擊或蠻力攻擊,其中進行許多嘗試來猜測口令或個人識別號。這些脆弱性能夠導致用戶降低了對其計算機的信任,而這減損積極的用戶體驗。
技術實現(xiàn)要素:
提供這個概要部分來以簡化形式介紹下面在詳細描述部分中進一步描述的概念的選擇。這個概要部分并不旨在識別所請求保護的主題的關鍵特性或基本特性,也不旨在被用作輔助手段來確定所請求保護的主題的范疇。
描述用于在可信平臺模塊中的操作系統(tǒng)上下文(context)的表示的技術。在至少一些實施例中,在可信平臺模塊中導出與操作系統(tǒng)上下文的表示相對應的授權原則(principal)。這些授權原則能夠用于定義用于訪問在可信平臺模塊中存儲的安全資產(chǎn)的授權策略。
附圖說明
參考附圖來描述詳細描述部分。在附圖中,參考號中的最左邊(多個)數(shù)字識別該參考號第一次出現(xiàn)在其中的附圖。在說明書和附圖中在不同的實例中相同的參考號的使用可以指示相似或相同的項。
圖1是根據(jù)一個或多個實施例的可操作來采用在本文討論的技術的示例實現(xiàn)方式中的環(huán)境的圖解。
圖2舉例說明根據(jù)一個或多個實施例的授權原則的示例實現(xiàn)方式。
圖3舉例說明根據(jù)一個或多個實施例的授權策略的示例實現(xiàn)方式。
圖4是描述根據(jù)一個或多個實施例的用于導出授權原則的方法中的步驟的流程圖。
圖5是描述根據(jù)一個或多個實施例的用于將授權策略綁定(bind)到安全資產(chǎn)的方法中的步驟的流程圖。
圖6是描述根據(jù)一個或多個實施例的用于導致授權策略被綁定到安全資產(chǎn)的方法中的步驟的流程圖。
圖7舉例說明參考圖1所描述的示例系統(tǒng)和計算設備,其被配置成實現(xiàn)在本文描述的技術的實施例。
具體實施方式
綜述
描述用于在可信平臺模塊中的操作系統(tǒng)上下文的表示的技術。一般而言,可信平臺模塊指的是被保護以避免一般系統(tǒng)訪問的功能,諸如受保護的硬件和/或固件環(huán)境。例如,可信平臺模塊表示其中能夠安全地執(zhí)行代碼的防篡改環(huán)境。
根據(jù)各種實現(xiàn)方式,操作系統(tǒng)上下文經(jīng)由授權原則來表達,其中授權原則經(jīng)由可信平臺模塊來實現(xiàn)。一般而言,操作系統(tǒng)上下文表示能夠與操作系統(tǒng)相關發(fā)生的不同的基于身份的狀態(tài)條件。操作系統(tǒng)上下文屬性的示例包括用戶識別符、應用與進程(process)識別符、群組(group)識別符(例如用于用戶群組)、特權(privilege)識別符(例如用于不同的訪問與安全特權級)等等。
根據(jù)各種實現(xiàn)方式,授權原則基于操作系統(tǒng)上下文來定義。例如,操作系統(tǒng)上下文屬性利用可信平臺模塊(tpm)訪問模塊來處理,以生成對應的授權原則。這些授權原則可以被綁定到存儲在可信平臺模塊中的安全資產(chǎn),諸如安全密鑰(例如私鑰)、安全證書、受保護數(shù)據(jù)等等。例如,授權策略可以利用授權原則來配置,以控制針對綁定的安全資產(chǎn)的訪問。
根據(jù)各種實現(xiàn)方式,在本文討論的技術使得操作系統(tǒng)上下文能夠被表示在可信平臺模塊中,并因而超越先前的操作系統(tǒng)實現(xiàn)方式來增加系統(tǒng)安全性。進一步,在本文討論的技術提供在可信平臺模塊中進行表征和表示的各式各樣的操作系統(tǒng)相關的屬性,因而增加現(xiàn)有的可信平臺模塊保護與不同的操作系統(tǒng)上下文相關聯(lián)的安全資產(chǎn)的能力。
在以下討論中,首先描述可操作來采用在本文描述的技術的示例環(huán)境。接下來,題為“exampleprocedures(示例過程)”的章節(jié)描述根據(jù)一個或多個實施例的用于在可信平臺模塊中的操作系統(tǒng)上下文的表示的一些示例方法。最后,題為“examplesystemanddevice(示例系統(tǒng)和設備)”的章節(jié)描述根據(jù)一個或多個實施例的可操作來采用在本文討論的技術的示例系統(tǒng)和設備。
示例環(huán)境
圖1是可操作來采用在本文討論的在可信平臺模塊中的操作系統(tǒng)上下文的表示的技術的示例實現(xiàn)方式中的環(huán)境100的圖解。環(huán)境100包括計算設備102,其能夠被具體化為任何合適的設備,通過示例而非限制,諸如智能電話、平板計算機、便攜式計算機(例如膝上型計算機)、臺式計算機、可穿戴式設備等等。下面在圖7中顯示和描述各種各樣的不同示例的計算設備102之中的一個。
一般而言,計算設備102對于各個用戶104而言是可訪問的,其中用戶代表可以利用計算設備102來執(zhí)行各種任務的個人。例如,用戶104可以將計算設備102用于生產(chǎn)率(productivity)任務(例如字處理、數(shù)據(jù)操縱等等)、用于通信(例如電子郵件、社交網(wǎng)絡等等)、用于內(nèi)容消費(例如音頻內(nèi)容、視頻內(nèi)容等等)以及用于各種各樣的其他任務。用戶104與用戶識別符(id)106相關聯(lián),其中用戶識別符代表可以被利用來識別個別用戶104和將個別用戶104彼此區(qū)分開來的數(shù)據(jù)。
根據(jù)各種實現(xiàn)方式,用戶104可以基于不同的標準被聚集(aggregate)到不同的群組108中。例如,群組108中的個人表示共享公共安全和/或訪問特權的用戶104的選集(collection)。群組108經(jīng)由群組識別符(id)110來彼此區(qū)分開來,其中群組識別符表示可以用于將一個群組108與另一群組108區(qū)分開來的群組名。
計算設備102包括使得各種活動和任務能夠諸如由用戶104執(zhí)行的各種各樣的不同功能。例如,計算設備102包括操作系統(tǒng)112和應用114。一般而言,操作系統(tǒng)112代表用于抽象化(abstract)計算設備102的各種系統(tǒng)組件諸如硬件、內(nèi)核級模塊和服務等等的功能。例如,操作系統(tǒng)112能夠針對應用114來抽象化計算設備102的各種組件,以啟用(enable)在這些組件與應用114之間的交互。
應用114代表使得各種任務和活動能夠經(jīng)由計算設備102來執(zhí)行的功能,諸如字處理、網(wǎng)絡(web)瀏覽、電子郵件、社交媒體、企業(yè)任務等等。應用114可以被本地安裝在計算設備102上,以便經(jīng)由本地運行時(runtime)環(huán)境來執(zhí)行,和/或應用114可以表示至遠程功能諸如基于云的服務、網(wǎng)絡應用等等的門戶(portal)。因而,應用114可以采取各種各樣的形式,諸如本地執(zhí)行的代碼、至遠程托管服務的門戶等等。
計算設備102進一步包括可信平臺模塊(tpm)116,其代表被保護以避免利用計算設備102的大多數(shù)或所有其他功能進行的一般訪問的計算設備102的部分。tpm116能夠采用各種方式諸如單獨的專用硬件環(huán)境(例如專用芯片)、現(xiàn)有硬件環(huán)境的細分部分(例如中央處理單元(cpu)的子部分)、受保護的固件環(huán)境等等來實現(xiàn)。在一個或多個實現(xiàn)方式中,tpm116是根據(jù)從trustedcomputinggroup(可信計算組)(tcg)中可獲得的trustedplatformmodule(可信平臺模塊)(tpm)規(guī)范的模塊。然而,這并不旨在進行限制,tpm116可以采用各種各樣的其他方式來實現(xiàn)。
根據(jù)各種實現(xiàn)方式,與tpm116進行的交互利用tpm訪問模塊118來代理(broker)。一般而言,tpm訪問模塊118代表使得計算設備102的不同組件諸如操作系統(tǒng)112的組件、應用114、用戶104等等能夠與tpm116交互的功能。在至少一些實現(xiàn)方式中,tpm訪問模塊118充當至tpm116的唯一接口。例如,tpm訪問模塊118表示用于tpm116的設備驅動器。tpm訪問模塊118可以采用各種方式諸如操作系統(tǒng)112的組件、計算設備102的單獨系統(tǒng)組件(例如內(nèi)核級組件)、其組合等等來實現(xiàn)。
tpm116包括tpm處理器120和tpm儲存器122。根據(jù)各種實現(xiàn)方式,tpm處理器120表示能夠被tpm116利用來執(zhí)行各種處理任務的專用硬件處理單元。tpm儲存器122代表用于tpm116的數(shù)據(jù)存儲容量并被保護以避免利用tpm116外部的實體進行的訪問。
在tpm儲存器122上存儲的是安全資產(chǎn)124、授權策略126和授權原則128。一般而言,安全資產(chǎn)124代表不同類型的安全相關的信息,其可以被利用來驗證某些實體的身份、各種類型的數(shù)據(jù)的真實性和/或可信狀態(tài)等等。安全資產(chǎn)124的示例包括安全密鑰(例如密碼密鑰)、安全證書、加密和解密算法、受保護數(shù)據(jù)等等。雖然授權原則128與tpm116的其他功能分開來舉例說明,但是在至少一些實現(xiàn)方式中授權原則128能夠利用tpm中的現(xiàn)有對象(例如安全資產(chǎn)124)來表達。下面討論有關可以用于配置和利用安全資產(chǎn)124的方式的細節(jié)。
授權策略126代表用于控制針對安全資產(chǎn)124的訪問的不同條件、規(guī)則、參數(shù)和指令。例如,個別授權策略126可以被綁定到個別安全資產(chǎn)124,以致可以經(jīng)由相應的授權策略126來控制針對個別安全資產(chǎn)124的訪問。
根據(jù)各種實現(xiàn)方式,授權原則128表示使得操作系統(tǒng)(os)上下文能夠向tpm116表達的根對象,諸如以便配置授權策略126來控制針對安全資產(chǎn)124的訪問。一般而言,os上下文指的是針對計算設備102與不同的執(zhí)行場景相關發(fā)生的不同的操作系統(tǒng)屬性和參數(shù)??梢越?jīng)由授權原則128來表示的不同os上下文屬性的示例包括用戶id106、群組id110、用于應用114的應用識別符(id)130等等。如下面進一步詳述的,授權策略126可以利用一個或多個授權原則128來配置,以便將個別安全資產(chǎn)124綁定到特定授權策略126。
在至少一些實現(xiàn)方式中,授權原則128是經(jīng)由相應的原則識別符(id)132而個別可識別的,其中每一個原則識別符引用(reference)授權原則128的不同實例。根據(jù)各種實現(xiàn)方式,個別原則id132基于為其創(chuàng)建對應授權原則128的相應os上下文來生成。例如,通過散列相應os上下文的識別符以生成os上下文的摘要諸如用戶id106、群組id110、應用id130、其組合等等的摘要,可以生成識別特定授權原則128的原則id132。
雖然原則id132被舉例說明為與授權原則128分開來實現(xiàn),但是這并不旨在進行限制。例如,在至少一些實現(xiàn)方式中,原則id132能夠被嵌入授權原則128的部分內(nèi)和/或作為授權原則128的部分來實現(xiàn)。例如,在至少一些實現(xiàn)方式中,原則id132可以表示授權原則128中可引用來識別和區(qū)分不同的授權原則128的各部分。
作為利用原則id132的附加的或可供替換的實現(xiàn)方式,tpm訪問模塊118可以利用授權原則映射134來維持os上下文至對應授權原則128的映射,并且基于授權原則映射124,tpm訪問模塊可以利用授權原則128來訪問被綁定到tpm116中的對應授權原則128的安全資產(chǎn)124。
tpm116進一步包括平臺功能136和平臺寄存器(register)138。平臺功能136表示用于提供信息的安全存儲的各種功能,諸如認證功能、密鑰生成功能、加密和解密功能、上下文相關的功能等等。根據(jù)各種實現(xiàn)方式,tpm訪問模塊118可以與平臺功能136交互來生成和/或配置授權原則128、授權策略126等等。
平臺寄存器138表示用于存儲計算設備102的系統(tǒng)狀態(tài)和上下文信息的存儲位置。例如,平臺寄存器138可以被利用來存儲各種系統(tǒng)組件的“測量(measurement)”,諸如在系統(tǒng)根時間上收集的操作系統(tǒng)112的模塊的測量。在至少一些實現(xiàn)方式中,平臺寄存器表示tpm116的平臺配置寄存器(pcr)。
一般而言,“測量”指的是識別和/或表征各種設備相關數(shù)據(jù)諸如計算設備102的代碼模塊、計算設備102的配置數(shù)據(jù)等等的方式。如在本文所使用的,術語“代碼模塊”一般指的是可執(zhí)行代碼的部分,諸如應用114、服務、操作系統(tǒng)112的模塊、進程、各種二進制文件和/或可執(zhí)行文件等等的部分。測量的示例包括從設備相關數(shù)據(jù)、數(shù)據(jù)簽名、加密版本的設備相關數(shù)據(jù)和/或設備相關數(shù)據(jù)的部分等等生成的散列值。例如,可以通過將securehashalgorithm(安全散列算法)(sha)例如sha-1、sha-2等等應用于設備相關數(shù)據(jù)來生成測量。
根據(jù)各種實現(xiàn)方式,設備相關數(shù)據(jù)的測量可以在系統(tǒng)根時間上被生成并被存儲在平臺寄存器138中。一般而言,平臺寄存器138存儲計算設備102的設備相關數(shù)據(jù)的測量的序列,其中特定平臺寄存器138的新值通過將新的測量附加至現(xiàn)有寄存器值和計算級聯(lián)值的散列來計算。這個進程可以針對設備相關數(shù)據(jù)的多個不同實例例如多個代碼模塊來重復。根據(jù)各種實現(xiàn)方式,通過基于用于計算平臺寄存器138的當前值的進程來計算設備相關數(shù)據(jù)的散列,能夠執(zhí)行有關是否特定設備相關數(shù)據(jù)(例如代碼模塊)被加載過的后續(xù)確定。所計算的散列隨后與存儲在平臺寄存器138中的值進行比較,以查明是否該散列與該值相匹配。如果該散列與該值相匹配的話,則這指示已加載代碼模塊并且代碼模塊的當前版本與在平臺寄存器138中測量過的版本相匹配。
例如,當特定代碼模塊請求針對受保護資源(例如針對安全資產(chǎn)124)的訪問時,平臺寄存器138中的當前測量能夠與在授權策略126中存儲的用于這個安全資產(chǎn)124的值進行比較。如果這些值匹配的話,則能夠確定該系統(tǒng)還沒有從其在授權策略126被配置時的原始狀態(tài)被改變并因而是安全的而且能夠被允許針對受保護資源的訪問。如果這些測量并不匹配的話,則可以確定計算設備的狀態(tài)不是安全的,并因而針對受保護資源的訪問可以被拒絕。一般而言,比較代碼模塊的測量的進程被稱為“鑒證(attestation)”。
環(huán)境100也包括遠程資源140,其代表經(jīng)由網(wǎng)絡142對于計算設備102而言可以是通信可訪問的各種類型的資源。遠程資源140的示例包括網(wǎng)站、內(nèi)容儲存器、網(wǎng)絡托管應用(例如網(wǎng)絡應用)、網(wǎng)絡托管服務、社交媒體平臺等等。一般而言,遠程資源140表示計算設備102可以與之交互諸如以訪問內(nèi)容、服務等等的任何類型的資源。遠程資源140能夠經(jīng)由各種類型和/或組合的計算設備來實現(xiàn),下面在圖7中描述計算設備的示例。
一個或多個網(wǎng)絡142代表環(huán)境100的各種實體可以經(jīng)由其來通信的網(wǎng)絡。(多個)網(wǎng)絡142可以呈現(xiàn)(assume)各種各樣的不同配置,諸如局域網(wǎng)(lan)、廣域網(wǎng)(wan)、因特網(wǎng)等等。在至少一些實施例中,參考環(huán)境100和/或在本文的討論的其他部分所討論的功能可以在分布式環(huán)境中(例如“在云上”)進行實現(xiàn),如結合圖7進一步描述的。
圖2舉例說明根據(jù)一個或多個實現(xiàn)方式的授權原則128的示例實現(xiàn)方式。如上所述,授權原則128基于能夠發(fā)生在計算設備102上的不同os上下文諸如用于與操作系統(tǒng)112交互的不同實體的識別符來導出。
在圖2中包括的是一組os上下文200,其表示能夠用于導出授權原則128的不同的os相關的身份和屬性。進一步舉例說明的是基于os上下文200導出的一組授權原則202。根據(jù)各種實現(xiàn)方式,授權原則202能夠采用各種各樣的不同方式來導出。例如,tpm116能夠利用對于tpm116而言內(nèi)部的密鑰(例如背書(endorsement)密鑰)對os上下文202的值簽名,以生成授權原則202。
授權原則202包括(n)授權原則204(1)、……、204(n)。授權原則204(1)、204(2)從能夠用于將不同的用戶彼此區(qū)分開來的用戶識別符諸如上面介紹的用戶id106中導出。授權原則204(3)、204(4)、204(5)從能夠用于將群組彼此區(qū)分開來的群組識別符諸如上面介紹的群組id110中導出。
授權原則204(6)、204(7)從能夠用于將應用彼此區(qū)分開來的應用識別符諸如上面介紹的應用id130中導出。授權原則204(8)、204(9)從能夠用于將不同的諸如用于訪問特權、安全特權、交互特權等等的特權級彼此區(qū)分開來的特權識別符中導出。僅僅為了圖解目的而提出這些示例授權原則,并且將意識到:可以在所公開的實現(xiàn)方式的精神與范疇內(nèi)采用各式各樣的其他類型和實例的授權原則。
根據(jù)各種實現(xiàn)方式,授權原則202的個體能夠采用不同的方式進行組合,以表征可以發(fā)生在變化的執(zhí)行場景中的os上下文的不同組合。
圖3舉例說明根據(jù)一個或多個實現(xiàn)方式的授權策略126的示例實現(xiàn)方式。授權策略126包括被綁定到安全資產(chǎn)302的授權策略300。根據(jù)各種實現(xiàn)方式,安全資產(chǎn)302表示上面介紹的安全資產(chǎn)124的實例。授權策略300包括策略條件304,其指定為了允許針對安全資產(chǎn)302的訪問而要滿足的各種條件。在這個特定示例中,策略條件304指定在針對安全資產(chǎn)302的訪問被準許之前將應用的一組授權原則。
例如,策略條件304指定principal(appid_e)和principal(group_b)的授權原則。因而,如果請求方被驗證(例如被證明)為具有針對principal(appid_e)和principal(group_b)二者的訪問,則該方將被允許訪問安全資產(chǎn)302。另一方面,如果請求方不具有針對principal(appid_e)和principal(group_b)原則中的一個或多個的訪問,則請求方將被拒絕訪問安全資產(chǎn)302。
授權策略126進一步包括被綁定到安全資產(chǎn)308的授權策略306。根據(jù)各種實現(xiàn)方式,安全資產(chǎn)308表示上面介紹的安全資產(chǎn)124的實例。授權策略302包括策略條件310,其指定為了允許針對安全資產(chǎn)308的訪問而要滿足的各種條件。在這個特定示例中,策略條件310指定在針對安全資產(chǎn)308的訪問被準許之前將應用的一組授權原則。
例如,策略條件310指定principal(user_a)、principal(appid_j)和principals(group_{b,c})的授權原則。因而,如果請求方被驗證為具有針對principal(user_a)和principal(appid_j)原則二者以及principal(group_{b,c})之中的至少一個的訪問,則該方將被允許訪問安全資產(chǎn)308。另一方面,如果請求方?jīng)]有針對principal(user_a)、principal(appid_j)和至少principal(group_{b,c})之一中的一個或多個的訪問,則請求方將被拒絕訪問安全資產(chǎn)308。
僅僅為了示例目的而提出這些授權策略配置,并且將意識到:授權策略能夠采用各種各樣的不同方式來配置,以反映多樣化的不同的授權原則配置和組合。
在已描述了在本文描述的技術可以操作在其中的示例環(huán)境之后,現(xiàn)在考慮根據(jù)一個或多個實施例的一些示例過程的討論。
示例過程
以下章節(jié)描述根據(jù)一個或多個實施例的用于在可信平臺模塊中的操作系統(tǒng)上下文的表示的一些示例過程。這些示例過程可以在圖1的環(huán)境100、圖7的系統(tǒng)00和/或任何其他的合適環(huán)境中被采用。例如,這些過程可以利用計算設備102諸如經(jīng)由tpm訪問模塊118來執(zhí)行。在至少一些實施例中,針對各種過程所描述的步驟自動地并且獨立于用戶交互來實現(xiàn)。
圖4是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。例如,該方法描述根據(jù)一個或多個實施例的用于導出授權原則的示例過程。
步驟400導致與操作系統(tǒng)上下文的表示相對應的授權原則在可信平臺模塊中被導出。一般而言,操作系統(tǒng)(os)上下文表示能夠與操作系統(tǒng)相關發(fā)生的、不同的基于身份的狀態(tài)條件。例如,tpm訪問模塊118接收來自進程(例如來自應用114、系統(tǒng)進程等等)的生成授權原則的請求。一般而言,該進程表示可以在tpm116外部的計算設備上執(zhí)行的任何進程,諸如應用進程、系統(tǒng)進程等等。
例如,授權原則以與進程相關聯(lián)的操作系統(tǒng)上下文為基礎。因而,tpm訪問模塊118導致授權原則在tpm116中被導出。例如,利用tpm116使用對于可信平臺模塊而言是安全的密鑰(例如主密鑰、根密鑰等等)來處理os上下文數(shù)據(jù)(例如用戶id、應用id等等),以導出授權原則。因而,能夠為各種各樣的不同os上下文創(chuàng)建個別授權原則128。
步驟402與可信平臺模塊交互,以導致授權原則被綁定到在可信平臺模塊中存儲的安全資產(chǎn)。例如,tpm訪問模塊118導致授權策略126利用授權原則來配置,以致針對安全資產(chǎn)的訪問以授權策略126被滿足為條件。
步驟404接收對于訪問授權原則的請求。例如,進程請求針對授權原則的訪問,以便能夠訪問被綁定到授權原則的安全資產(chǎn)。
步驟406查明是否用于請求的請求上下文與授權原則相匹配。例如,請求上下文與用于請求訪問授權原則的進程的os上下文相對應。os上下文的示例包括與進程相關聯(lián)的用戶識別符、與進程相關聯(lián)的應用識別符、與進程相關聯(lián)的群組識別符、與進程相關聯(lián)的特權級等等。
根據(jù)各種實現(xiàn)方式,查明是否請求上下文與授權原則相匹配包??括:通過基于請求上下文、例如所提供的os上下文來重新創(chuàng)建授權原則,證實針對授權原則的訪問。例如,用于生成授權原則的密鑰(主密鑰和/或根密鑰)被應用來處理請求上下文。所處理的請求上下文隨后與授權原則進行比較,以查明是否所處理的請求上下文與授權原則相匹配。通過基于請求上下文(例如當前os上下文)重新創(chuàng)建授權原則,相關聯(lián)的授權策略能夠被利用來查明是否針對授權原則的訪問被準許。
如果用于請求的請求上下文與授權原則相匹配(“是”)的話,則步驟408響應于請求上下文與授權原則相匹配而允許針對授權原則的訪問。在至少一些實現(xiàn)方式中,針對授權原則的訪問啟用針對被綁定到授權原則的安全資產(chǎn)的訪問。例如,對于訪問授權原則的請求能夠被轉發(fā)到tpm116,而tpm116可以響應于請求上下文滿足用于安全資產(chǎn)的授權策略而允許針對安全資產(chǎn)的訪問。
如上所述,將請求上下文與授權原則相匹配可以包括:嘗試通過將用于生成授權原則的密鑰應用于請求上下文來重新創(chuàng)建授權原則。因而,如果使用請求上下文成功地重新創(chuàng)建授權原則,則針對授權原則的訪問被準許。
如果用于請求的請求上下文與授權原則不匹配(“否”)的話,則步驟410響應于請求上下文與授權原則不匹配而拒絕針對授權原則的訪問。例如,tpm訪問模塊118阻止對于訪問授權原則的請求被轉發(fā)到tpm116。
如上所述,將請求上下文與授權原則相匹配可以包括:嘗試通過將用于生成授權原則的密鑰應用于請求上下文來重新創(chuàng)建授權原則。因而,如果使用請求上下文沒有成功地重新創(chuàng)建授權原則,則針對授權原則的訪問不被準許。
圖5是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。例如,該方法描述根據(jù)一個或多個實施例的用于將授權策略綁定到安全資產(chǎn)的示例過程。
步驟500接收配置在可信平臺模塊中存儲的安全資產(chǎn)的授權策略的請求。例如,從本地駐留在計算設備102上的應用和/或其他進程接收該請求??晒┨鎿Q地,可以從遠程實體諸如遠程資源140接收該請求。根據(jù)各種實現(xiàn)方式,該請求識別個別地對應于一個或多個操作系統(tǒng)上下文的一個或多個表示的一個或多個授權原則。在至少一些實現(xiàn)方式中,安全資產(chǎn)表示上面介紹的安全資產(chǎn)124的實現(xiàn)方式。
步驟502導致授權策略在可信平臺模塊中利用一個或多個授權原則來配置。例如,tpm訪問模塊118將一個或多個授權原則傳送到tpm116,而tpm116利用一個或多個授權原則來填充(populate)授權策略126。
步驟504導致授權策略被綁定到存儲在可信平臺模塊中的安全資產(chǎn)。例如,tpm訪問模塊118向tpm116指示:授權策略將被綁定到安全資產(chǎn)。根據(jù)各種實現(xiàn)方式,允許對于訪問安全資產(chǎn)的請求以請求上下文與授權策略中的一個或多個授權原則相匹配為條件。
步驟506接收對于訪問安全資產(chǎn)的請求。例如,在計算設備102上運行的進程請求針對安全資產(chǎn)的訪問。
步驟508查明是否請求的請求上下文滿足授權策略。例如,確定是否請求上下文與利用授權策略所指定的一個或多個授權原則相匹配。如上所述,該請求可以利用諸如與應用114之一相關聯(lián)的運行在計算設備102上的進程來啟動。因而,請求上下文可以包括與進程相關聯(lián)的一個或多個os上下文,其示例在上面進行詳述。
根據(jù)各種實現(xiàn)方式,查明是否請求上下文滿足授權策略包括:嘗試重新創(chuàng)建被綁定到授權策略的一個或多個授權原則。例如,用于生成一個或多個授權原則的密鑰被應用于請求上下文。因而,針對一個或多個授權原則的訪問基于是否使用請求上下文成功地重新創(chuàng)建一個或多個授權原則。
如果請求的請求上下文滿足授權策略(“是”)的話,則步驟510響應于請求的請求上下文滿足授權策略而允許該請求。例如,如果使用請求上下文成功地重新創(chuàng)建被綁定到授權策略的一個或多個授權原則,則對于訪問安全資產(chǎn)的請求被允許。根據(jù)各種實現(xiàn)方式,允許請求使得請求實體能夠訪問安全資產(chǎn)。
如果請求的請求上下文不滿足授權策略(“否”)的話,則步驟512響應于請求的請求上下文不滿足授權策略而拒絕該請求。例如,如果使用請求上下文沒有成功地重新創(chuàng)建被綁定到授權策略的一個或多個授權原則,則對于訪問安全資產(chǎn)的請求被拒絕。例如,請求實體被拒絕訪問安全資產(chǎn)。
圖6是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。例如,該方法描述根據(jù)一個或多個實施例的用于導致授權策略被綁定到安全資產(chǎn)的示例過程。
步驟600將用于計算設備的進程的授權原則擴展到計算設備的可信平臺模塊的寄存器中。例如,tpm訪問模塊118在特定平臺寄存器138上執(zhí)行擴展操作,其導致進程的一個或多個授權原則被擴展到寄存器。例如,寄存器對應于可信平臺模塊的平臺配置寄存器(pcr)。
步驟602從請求實體接收對于來自可信平臺模塊的寄存器的數(shù)據(jù)的請求。根據(jù)各種實現(xiàn)方式,請求實體對于可信平臺模塊而言是外部的,諸如應用114、遠程資源140等等。
步驟604將數(shù)據(jù)從寄存器返回到請求實體,所返回的數(shù)據(jù)包括基于用于進程的授權原則生成的識別符。例如,識別符至少部分基于與進程的操作系統(tǒng)上下文相對應的授權原則來生成。例如,如上所述,識別符可以對應于為授權原則128生成的原則id132。如上面進一步所提到的,原則id132可以與相關聯(lián)的授權原則128分開來實現(xiàn),或者可供替換地,原則id132可以被實現(xiàn)為識別符,其被嵌入相關聯(lián)的授權原則132的部分內(nèi)和/或被實現(xiàn)為相關聯(lián)的授權原則132的部分。
步驟606從請求實體接收存儲在可信平臺模塊內(nèi)的安全資產(chǎn)將被綁定到被配置有授權原則的授權策略的指示。例如,tpm訪問模塊118從請求實體接收該請求。
步驟608導致授權策略被綁定到可信平臺模塊內(nèi)的安全資產(chǎn),以致授權原則表示用于訪問安全資產(chǎn)的條件。例如,tpm訪問模塊118與tpm116交互,以配置用于安全資產(chǎn)的授權策略。一般而言,授權策略指定用于訪問安全資產(chǎn)的各種條件。例如,授權策略指定:針對安全資產(chǎn)的訪問以請求實體與在授權策略中指定的一個或多個授權原則相匹配為條件。在至少一些實現(xiàn)方式中,授權策略指定表示用于訪問安全資產(chǎn)的條件的多個授權原則。
在討論了用于在可信平臺模塊中的操作系統(tǒng)上下文的表示的一些示例過程之后,現(xiàn)在考慮根據(jù)一個或多個實施例的示例系統(tǒng)和設備的討論。
示例系統(tǒng)和設備
圖7一般在700舉例說明包括示例計算設備702的示例系統(tǒng),其中示例計算設備代表可以實現(xiàn)在本文描述的各種技術的一個或多個計算系統(tǒng)和/或設備。例如,上面參考圖1所討論的計算設備102能夠被具體化為計算設備702。例如,計算設備702可以是服務供應商的服務器、與客戶端相關聯(lián)的設備(例如客戶端設備)、片上系統(tǒng)和/或任何其他的合適計算設備或計算系統(tǒng)。
舉例說明的示例計算設備702包括通信地彼此耦合的處理系統(tǒng)704、一個或多個計算機可讀媒體706和一個或多個輸入/輸出(i/o)接口708。雖然沒有顯示,但是計算設備702可以進一步包括將各種組件彼此耦合的系統(tǒng)總線或其他數(shù)據(jù)和命令傳輸系統(tǒng)。系統(tǒng)總線能夠包括不同的總線結構諸如內(nèi)存總線或內(nèi)存控制器、外圍總線、通用串行總線和/或利用任何的各種各樣的總線架構的處理器或本地總線中的任何一個或組合。也仔細考慮各種各樣的其他示例,諸如控制和數(shù)據(jù)線。
處理系統(tǒng)704代表使用硬件來執(zhí)行一個或多個操作的功能。相應地,處理系統(tǒng)704被舉例說明為包括可以被配置為處理器、功能塊等等的硬件元素710。這可以包括在硬件中作為專用集成電路或者使用一個或多個半導體形成的其他邏輯設備的實現(xiàn)方式。硬件元素710不受用于形成其的材料或其中所采用的處理機制的限制。例如,處理器可以包括(多個)半導體和/或(多個)晶體管(例如電子集成電路(ic))。在這樣的上下文中,處理器可執(zhí)行指令可以是電子可執(zhí)行指令。
計算機可讀媒體706被舉例說明為包括存儲器/儲存器712。存儲器/儲存器712表示與一個或多個計算機可讀媒體相關聯(lián)的存儲/儲存容量。存儲器/儲存器712可以包括易失性媒體(諸如隨機存取存儲器(ram))和/或非易失性媒體(諸如只讀存儲器(rom)、閃存、光盤、磁盤等等)。存儲器/儲存器712可以包括固定媒體(例如ram、rom、固定硬盤驅動器等等)以及可移除媒體(例如閃存、可移除硬盤驅動器、光盤等等)。計算機可讀媒體706可以采用各種各樣的其他方式來配置,如下面進一步描述的。
(多個)輸入/輸出接口708代表允許用戶將命令和信息輸入計算設備702并且也允許信息使用各種輸入/輸出設備來顯現(xiàn)給用戶和/或其他的組件或設備的功能。輸入設備的示例包括鍵盤、光標控制設備(例如鼠標)、麥克風(例如用于語音識別和/或口語輸入)、掃描儀、觸摸功能(例如被配置成檢測物理觸摸的電容性或其他傳感器)、照相機(例如其可以采用可見或不可見波長諸如紅外頻率來檢測不牽涉觸摸的移動作為手勢)等等。輸出設備的示例包括顯示設備(例如監(jiān)視器或投影儀)、揚聲器、打印機、網(wǎng)卡、觸覺響應設備等等。因而,計算設備702可以如下面進一步描述的采用各種各樣的方式來配置,以支持用戶交互。
各種技術可以在本文在軟件、硬件元素或程序模塊的一般上下文中進行描述。一般而言,這樣的模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、元素、組件、數(shù)據(jù)結構等等。如在本文使用的術語“模塊”、“功能”、“實體”和“組件”一般表示軟件、固件、硬件或其組合。在本文描述的技術的特性是平臺無關的,這意味著:這些技術可以在具有各種各樣的處理器的各種各樣的商業(yè)計算平臺上進行實現(xiàn)。
所描述的模塊和技術的實現(xiàn)方式可以被存儲在某種形式的計算機可讀媒體上或者跨越某種形式的計算機可讀媒體來發(fā)送。計算機可讀媒體可以包括可以利用計算設備702來訪問的各種各樣的媒體。通過示例而非限制,計算機可讀媒體可以包括“計算機可讀存儲媒體”和“計算機可讀信號媒體”。
“計算機可讀存儲媒體”可以指的是與單純的信號傳輸、載波或信號本身相比而言啟用信息的持久存儲的媒體和/或設備。計算機可讀存儲媒體并不包括信號本身。計算機可讀存儲媒體包括硬件諸如在適合于存儲信息諸如計算機可讀指令、數(shù)據(jù)結構、程序模塊、邏輯元素/電路或其他數(shù)據(jù)的方法或技術中實現(xiàn)的易失性和非易失性、可移除和不可移除的媒體和/或存儲設備。計算機可讀存儲媒體的示例可以包括但不限于ram、rom、eeprom、閃存或其他存儲技術、cd-rom、數(shù)字多用盤(dvd)或其他的光儲存器、硬盤、磁帶盒、磁帶、磁盤儲存器或其他磁存儲設備、或者適合于存儲期望信息并可以利用計算機來訪問的其他的存儲設備、有形媒體或制品。
“計算機可讀信號媒體”可以指的是被配置成諸如經(jīng)由網(wǎng)絡來發(fā)送指令至計算設備702的硬件的信號承載介質。信號媒體典型地可以在調(diào)制數(shù)據(jù)信號諸如載波、數(shù)據(jù)信號或其他傳輸機制中收錄計算機可讀指令、數(shù)據(jù)結構、程序模塊或者其他數(shù)據(jù)。信號媒體也包括任何的信息遞送媒體。術語“調(diào)制數(shù)據(jù)信號”意味著這樣的信號,其使得其特征之中的一個或多個特征采用在該信號中編碼信息的方式來設置或改變。通過示例而非限制,通信媒體包括有線媒體諸如有線網(wǎng)絡或直接連線連接和無線媒體諸如聲學、射頻(rf)、紅外與其他無線媒體。
如前所述,硬件元素710和計算機可讀媒體706代表采用硬件形式實現(xiàn)的指令、模塊、可編程設備邏輯和/或固定設備邏輯,其在一些實施例中可以被采用來實現(xiàn)在本文描述的技術的至少一些方面。硬件元素可以包括集成電路或片上系統(tǒng)的組件、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、復雜可編程邏輯器件(cpld)和在硅或其他硬件設備中的其他實現(xiàn)方式。在這個上下文中,硬件元素可以作為處理設備來操作,其中處理設備執(zhí)行利用通過硬件元素以及硬件設備收錄的指令、模塊和/或邏輯來定義的程序任務,其中硬件元素以及硬件設備被利用來存儲指令以便執(zhí)行,例如先前描述的計算機可讀存儲媒體。
前述的組合也可以被采用來實現(xiàn)在本文描述的各種技術和模塊。相應地,軟件、硬件或程序模塊與其他的程序模塊可以被實現(xiàn)為一個或多個指令和/或邏輯,其被收錄在某種形式的計算機可讀存儲媒體上和/或利用一個或多個硬件元素710來收錄。計算設備702可以被配置成實現(xiàn)與軟件和/或硬件模塊相對應的特定指令和/或功能。相應地,利用計算設備702作為軟件可執(zhí)行的模塊的實現(xiàn)方式可以至少部分在硬件中例如通過使用計算機可讀存儲媒體和/或處理系統(tǒng)的硬件元素710來完成。這些指令和/或功能可以是利用一個或多個制品(例如一個或多個計算設備702和/或處理系統(tǒng)704)可執(zhí)行/可操作的,以實現(xiàn)在本文描述的技術、模塊和示例。
如圖7中進一步舉例說明的,示例系統(tǒng)700當在個人計算機(pc)、電視設備和/或移動設備上運行應用時為了無縫用戶體驗而啟用普適環(huán)境。當在利用應用、播放視頻游戲、觀看視頻等等的同時從一個設備轉到下一個設備時,服務和應用為了共同用戶體驗而在所有三種環(huán)境中基本上類似運行。
在示例系統(tǒng)700中,多個設備通過中央計算設備來互連。中央計算設備對于多個設備而言可以是本地的或可以遠離多個設備來定位。在一個實施例中,中央計算設備可以是通過網(wǎng)絡、因特網(wǎng)或其他數(shù)據(jù)通信鏈路而被連接到多個設備的一個或多個服務器計算機的云。
在一個實施例中,這種互連架構使得功能能夠跨越多個設備上來遞送,以便給多個設備的用戶提供共同的且無縫的體驗。多個設備中的每一個設備可以具有不同的物理要求和能力,并且中央計算設備使用平臺來使得既針對設備進行定制且對于所有設備而言又是共同的體驗能夠遞送至該設備。在一個實施例中,目標設備的類別被創(chuàng)建,并且針對設備的通用類別來定制體驗。設備的類別可以利用物理特性、使用的類型或設備的其他共同特征來定義。
在各種實現(xiàn)方式中,計算設備702諸如為了計算機714、移動設備716和電視718使用而可以呈現(xiàn)各種各樣的不同配置。這些配置中的每一種配置包括一般可以具有不同的結構和能力的設備,并因而計算設備702可以根據(jù)不同設備類別之中的一個或多個類別來配置。例如,計算設備702可以被實現(xiàn)為設備的計算機714類別,其包括個人計算機、臺式計算機、多屏計算機、膝上型計算機、上網(wǎng)本等等。
計算設備702也可以被實現(xiàn)為設備的移動設備716類別,其包括移動設備諸如移動電話、便攜式音樂播放器、便攜式游戲設備、平板計算機、可穿戴式設備、多屏計算機等等。計算設備702也可以被實現(xiàn)為設備的電視718類別,其包括在隨意觀看環(huán)境中具有一般較大屏幕或者連接到一般較大屏幕的設備。這些設備包括電視、機頂盒、游戲機等等。
在本文描述的技術可以利用計算設備702的這些各種配置來支持并且不限于在本文描述的這些技術的具體示例。例如,參考計算設備102和/或tpm訪問模塊118所討論的功能可以全部或者部分通過使用分布式系統(tǒng)諸如在“云”720上經(jīng)由平臺722來實現(xiàn),如下所述。
云720包括和/或代表用于資源724的平臺722。平臺722抽象化云720的硬件(例如服務器)和軟件資源的基礎功能。資源724可以包括能夠在遠離計算設備702的服務器上執(zhí)行計算機處理的同時加以利用的應用和/或數(shù)據(jù)。資源724也能夠包括在因特網(wǎng)上和/或通過訂戶(subscriber)網(wǎng)絡諸如蜂窩或wi-fi網(wǎng)絡提供的服務。
平臺722可以抽象化資源和功能來將計算設備702與其他計算設備連接。平臺722也可以用于抽象化資源的擴縮(scale),以便針對所遇到的經(jīng)由平臺722實現(xiàn)的資源724的需求提供相應級別的擴縮。相應地,在互連設備實施例中,在本文描述的功能的實現(xiàn)方式可以遍及系統(tǒng)700來分布。例如,功能可以部分在計算設備702上以及經(jīng)由抽象化云720的功能的平臺722來實現(xiàn)。
在本文討論的是可以被實現(xiàn)來執(zhí)行在本文討論的技術的許多方法。這些方法的各方面可以采用硬件、固件或軟件或者其組合來實現(xiàn)。這些方法被顯示為一組步驟,其指定利用一個或多個設備執(zhí)行的操作并且不一定限于所顯示的用于利用相應塊執(zhí)行這些操作的順序。進一步,相對于特定方法所顯示的操作可以與根據(jù)一個或多個實現(xiàn)方式的不同方法的操作進行組合和/或互換。這些方法的各方面能夠經(jīng)由上面參考環(huán)境100所討論的各種實體之間的交互來實現(xiàn)。
結論
描述用于在可信平臺模塊中的操作系統(tǒng)上下文的表示的技術。雖然以特定于結構特性和/或方法動作的語言描述實施例,但是將明白:在所附的權利要求書中定義的實施例不一定限于所描述的具體特性或動作。相反,這些具體特性和動作被公開作為實現(xiàn)所請求保護的實施例的示例形式。