專利名稱:對(duì)信任確定實(shí)體安全地識(shí)別可執(zhí)行碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一方法和機(jī)制,通過(guò)它可執(zhí)行碼等能對(duì)信任確定實(shí)體安全地識(shí)別本身,使得能希望向該可執(zhí)行碼提供資源。具體說(shuō)來(lái),本發(fā)明涉及那樣的方法和機(jī)制,使得信任確定實(shí)體在提供資源給可執(zhí)行碼之前能認(rèn)證該可執(zhí)行碼。
發(fā)明的背景在許多計(jì)算機(jī)場(chǎng)合,第一計(jì)算機(jī)類實(shí)體提供某些類型的計(jì)算機(jī)型資源給第二計(jì)算機(jī)類實(shí)體??梢岳斫?,第一類和第二類實(shí)體的每一個(gè)能是硬件或軟件實(shí)體,如計(jì)算機(jī)程序或可執(zhí)行碼,計(jì)算機(jī)存儲(chǔ)設(shè)備,計(jì)算機(jī)數(shù)據(jù)服務(wù)器等。類似地,資源可以是原始數(shù)據(jù),帶有以某種組織形式的原始數(shù)據(jù)的文件等。
尤其在資源具有專門(mén)的值或按照預(yù)定規(guī)則處理的情況,若第二實(shí)體或相關(guān)實(shí)體向第一實(shí)體提出認(rèn)證信息且第一實(shí)體據(jù)此認(rèn)證第二實(shí)體,則第一實(shí)體,或資源提供方可以只提供資源給第二實(shí)體,或資源接收方。例如,若金融機(jī)構(gòu)處的服務(wù)器(第一實(shí)體)正提供安全密鑰(資源)給用戶的計(jì)算機(jī)的金融程序(第二實(shí)體),使該用戶能通過(guò)它在計(jì)算機(jī)上進(jìn)行金融事務(wù),則該服務(wù)器可以要求具有某些保證,該金融程序是可信任的來(lái)以對(duì)銀行負(fù)責(zé)的方式使用此安全密鑰。
即,服務(wù)器需要來(lái)自金融程序本身或代表該金融程序的認(rèn)證者的認(rèn)證信息,使得該金融程序具有某種類型,運(yùn)行在根據(jù)某些變量的某種環(huán)境內(nèi),等。因此,服務(wù)器實(shí)際只有在根據(jù)提供的認(rèn)證信息認(rèn)證之后才提供安全密鑰給該金融程序。重要的是,服務(wù)器在根據(jù)認(rèn)證信息認(rèn)證金融程序時(shí)希望確保該金融程序沒(méi)有以如誤用該安全密鑰的方式被更改,且還希望確保該運(yùn)行的金融程序不在安全密鑰能被轉(zhuǎn)向到如盜竊者那樣的有問(wèn)題實(shí)體或被其讀取的環(huán)境中運(yùn)行。
因而需要一種方法和機(jī)制,通過(guò)它能向計(jì)算機(jī)程序,可執(zhí)行碼,或其它資源接收方提供認(rèn)證信息,提供資源的資源提供方能借此認(rèn)證資源接收方。尤其是需要用于向資源提供方描述資源接收方的身份的身份描述符,其中身份描述符除其它信息以外還包括描述資源接收方的環(huán)境和認(rèn)證簽名等的一組變量。
發(fā)明的內(nèi)容上述需要至少部分地由本發(fā)明滿足,其中在計(jì)算設(shè)備操作的資源請(qǐng)求者(RR)從資源提供者(RP)獲得資源。RR具有與其關(guān)聯(lián)的身份描述符(id),其中id包括指定RR的操作環(huán)境的與安全有關(guān)的信息。
RR和與對(duì)應(yīng)于RR的id被加載到計(jì)算設(shè)備,并向RR提供對(duì)加載的id的參照。對(duì)應(yīng)于并根據(jù)加載的RR和加載的id計(jì)算代碼身份(code-ID)。在接收來(lái)自RR對(duì)資源的請(qǐng)求之后,需查明,請(qǐng)求的RR對(duì)該資源擁有權(quán)利,并對(duì)該資源是可信任的。然后,對(duì)該資源的請(qǐng)求從RR轉(zhuǎn)發(fā)到RP。
RP驗(yàn)證接收的請(qǐng)求,從接收的請(qǐng)求獲得代碼身份,id,和所請(qǐng)求的資源的定義,并從接收的請(qǐng)求確定請(qǐng)求的RR的身份。而且RP獲得對(duì)識(shí)別的RR的一個(gè)或多個(gè)有效的代碼身份的每一個(gè),并驗(yàn)證,在接收的請(qǐng)求中計(jì)算的代碼身份匹配對(duì)識(shí)別的RR的有效代碼身份之一。然后RP得出結(jié)論,RR作為認(rèn)為是可信的已知RR能被信任,且RR操作的與安全有關(guān)的信息是認(rèn)為可信的已知與安全有關(guān)的信息。
隨后,RP通過(guò)向該RR提供請(qǐng)求的資源來(lái)響應(yīng)該轉(zhuǎn)發(fā)的請(qǐng)求。RR接收由RP提供的請(qǐng)求的資源,并以與由RP傳達(dá)給RR的信任一致的方式,并按照在對(duì)應(yīng)于RR的id中列出的與安全相關(guān)的信息加以使用。
附圖簡(jiǎn)述上述發(fā)明內(nèi)容及本發(fā)明的實(shí)施例的下面詳述,在結(jié)合附圖閱讀時(shí)更容易理解。為說(shuō)明本發(fā)明的目的,在附圖中示出較佳的實(shí)施例。應(yīng)理解,本發(fā)明不限于示出的精確安排及手段。附圖是
圖1是示出基于信任系統(tǒng)的示例的實(shí)施的體系結(jié)構(gòu)的方框圖;圖2是示出資源請(qǐng)求方,資源接收方,資源接收方的身份描述符和按本發(fā)明的實(shí)施例安排及操作有關(guān)實(shí)體的方框圖;圖3是流程圖,示出按本發(fā)明的實(shí)施例在從圖2的資源提供方請(qǐng)求資源中,由圖2的資源接收方和相關(guān)實(shí)體完成的關(guān)鍵步驟;和圖4是流程圖,示出按本發(fā)明的實(shí)施例在提供資源到圖2的資源接收方中,由圖2的資源提供方完成的關(guān)鍵步驟。
本發(fā)明的詳細(xì)描述計(jì)算機(jī)環(huán)境圖1和下面討論試圖提供本發(fā)明和/或其諸部分能實(shí)現(xiàn)的合適計(jì)算環(huán)境的簡(jiǎn)要描述。雖然不是必須,本發(fā)明在以由如客戶機(jī)工作站或服務(wù)器那樣的計(jì)算機(jī)執(zhí)行的諸如程序模塊那樣的計(jì)算機(jī)可執(zhí)行指令的一般情況中描述。通常,程序模塊包括例行程序,程序,對(duì)象,組件,數(shù)據(jù)結(jié)構(gòu)等,它們完成特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。此外應(yīng)該理解,本發(fā)明和/或其諸部分能用其它計(jì)算機(jī)系統(tǒng)配置實(shí)施,包括手持設(shè)備,多處理器系統(tǒng),基于微處理器或可編程的消費(fèi)品電子設(shè)備,網(wǎng)絡(luò)PC,小型機(jī),大型主機(jī)等。本發(fā)明還能在分布式計(jì)算環(huán)境中實(shí)施,其中任務(wù)由通過(guò)通訊網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備完成。在分布式計(jì)算環(huán)境中,程序模塊能位于本地或遠(yuǎn)程的存儲(chǔ)器存儲(chǔ)設(shè)備中。
如圖1所示,示例的通用計(jì)算系統(tǒng)包括傳統(tǒng)的個(gè)人計(jì)算機(jī)120等,它們包括處理單元121,系統(tǒng)存儲(chǔ)器122,和將包括系統(tǒng)存儲(chǔ)器的諸多系統(tǒng)組件連接到處理單元121的系統(tǒng)總線123。系統(tǒng)總線123能是若干類型總線結(jié)構(gòu)的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器,外圍總線,和使用各種總線體系結(jié)構(gòu)的任一種的局部總線。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)124和隨機(jī)存儲(chǔ)器(RAM)125。包含如在起動(dòng)時(shí)幫助在個(gè)人計(jì)算機(jī)120中各單元之間傳輸信息的基本例行程序的基本輸入/輸出系統(tǒng)126(BIOS)存儲(chǔ)在ROM124中。
個(gè)人計(jì)算機(jī)120還包括用于讀寫(xiě)硬盤(pán)(未示出)的硬盤(pán)驅(qū)動(dòng)器127,用于讀寫(xiě)可移動(dòng)磁盤(pán)129的磁盤(pán)驅(qū)動(dòng)器128,用于讀寫(xiě)如CD-ROM或其他光介質(zhì)的可移動(dòng)光盤(pán)131的光盤(pán)驅(qū)動(dòng)器130。硬盤(pán)驅(qū)動(dòng)器127,磁盤(pán)驅(qū)動(dòng)器128,和光盤(pán)驅(qū)動(dòng)器130分別連接到磁盤(pán)驅(qū)動(dòng)器接口132,磁盤(pán)驅(qū)動(dòng)器接口133,和光盤(pán)驅(qū)動(dòng)器接口134。諸驅(qū)動(dòng)器和它們相關(guān)的計(jì)算機(jī)可讀介質(zhì)為個(gè)人計(jì)算機(jī)120提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、和其它數(shù)據(jù)的非易失性存儲(chǔ)。
雖然這里描述的示例環(huán)境利用硬盤(pán),可移動(dòng)磁盤(pán)129,和可移動(dòng)光盤(pán)131,應(yīng)理解,能存儲(chǔ)由計(jì)算機(jī)可訪問(wèn)的數(shù)據(jù)的其它類型計(jì)算機(jī)可讀介質(zhì)也能在示例的操作環(huán)境中使用。那些其它類型介質(zhì)包括盒式磁帶,閃存卡,數(shù)字視頻盤(pán),Bernoulli磁帶盒,隨機(jī)訪問(wèn)存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM)等。
包括操作系統(tǒng)135,一個(gè)或多個(gè)應(yīng)用程序136,其它程序模塊137和程序數(shù)據(jù)138的若干程序模塊能存儲(chǔ)在硬盤(pán),磁盤(pán)129,光盤(pán)131,ROM124或RAM125中。用戶能通過(guò)如鍵盤(pán)140和指點(diǎn)設(shè)備142那樣的輸入設(shè)備將命令和信息輸入到個(gè)人計(jì)算機(jī)120。其它輸入設(shè)備(未示出)能包括麥克風(fēng),操縱桿,游戲墊,衛(wèi)星式圓盤(pán)天線,掃描器等。這些和其它輸入設(shè)備常常通過(guò)連接到系統(tǒng)總線的串口接口146連接到處理單元121,但能經(jīng)由如并行口,游戲口,或通用串行總線(USB)那樣的其它接口連接。監(jiān)視器147或其它類型的顯示設(shè)備也經(jīng)過(guò)如視頻適配器148那樣的接口連接到系統(tǒng)總線123。除監(jiān)視器147外,個(gè)人計(jì)算機(jī)通常包括如揚(yáng)聲器和打印機(jī)那樣的其它外圍輸入設(shè)備(未示出)。圖1的示例系統(tǒng)還包括主適配器155,小型計(jì)算機(jī)系統(tǒng)接口(SCSI)總線156,和連接到SCSI總線156的外部存儲(chǔ)設(shè)備162。
個(gè)人計(jì)算機(jī)120能使用到如遠(yuǎn)程計(jì)算機(jī)149那樣的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在網(wǎng)絡(luò)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)149能是另外的個(gè)人計(jì)算機(jī),服務(wù)器,路由器,網(wǎng)絡(luò)PC,對(duì)等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括上面與個(gè)人計(jì)算機(jī)120相關(guān)的許多或所有單元,雖然在圖1中只示出存儲(chǔ)器設(shè)備150。圖1中畫(huà)出的邏輯連接包括局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。那樣的網(wǎng)絡(luò)環(huán)境在辦公室,企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò),內(nèi)聯(lián)網(wǎng)和因特網(wǎng)是常見(jiàn)的。
在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),個(gè)人計(jì)算機(jī)120通過(guò)網(wǎng)絡(luò)接口或適配器153連接到LAN151。在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),個(gè)人計(jì)算機(jī)120通常包括調(diào)制解調(diào)器154或用于在如因特網(wǎng)的廣域網(wǎng)152上建立通訊的其它裝置。內(nèi)置或外接的調(diào)制解調(diào)器154通過(guò)串行口146連接系統(tǒng)總線123。在網(wǎng)絡(luò)環(huán)境中,關(guān)于個(gè)人計(jì)算機(jī)畫(huà)出的程序模塊或其諸部分能存儲(chǔ)在遠(yuǎn)程存儲(chǔ)設(shè)備中??梢岳斫?,示出的網(wǎng)絡(luò)連結(jié)是示例性的,可以使用在計(jì)算機(jī)之間建立通訊鏈路的其它裝置。
對(duì)資源接收方的身份描述符現(xiàn)轉(zhuǎn)向圖2,可以看出,本發(fā)明在下述情況表示,擔(dān)當(dāng)資源提供方(RP)的第一計(jì)算機(jī)類型實(shí)體10向資源接收方(RR)14提供某種類型的計(jì)算機(jī)類型資源12??梢岳斫?,依據(jù)任何給定環(huán)境的情況,RP10和PR14的每一個(gè)能是硬件或軟件實(shí)體,或能是軟件實(shí)體的硬件單元或硬件實(shí)體的軟件單元,這些均不脫離本發(fā)明的精神與范圍。例如,RP10能是提供如資源12的數(shù)據(jù),文件,密鑰,內(nèi)容等的服務(wù)器,而RR14能是需要那樣資源的軟件結(jié)構(gòu),數(shù)據(jù)存儲(chǔ)設(shè)備,計(jì)算機(jī)程序等。類似地,RP10能是打印機(jī),網(wǎng)絡(luò)等,而RR14能是尋求資源訪問(wèn)那些RP10的程序或其它結(jié)構(gòu)。
在本發(fā)明的實(shí)施例中,資源12具有專門(mén)值或按照預(yù)定規(guī)則處理,且因此若RR14或有關(guān)的認(rèn)證者提供認(rèn)證信息給RP10且RP10據(jù)此認(rèn)證RR14,則RP10只提供該資源給RR14。例如,RR和認(rèn)證者16能都駐留在用戶的計(jì)算設(shè)備18上,其中認(rèn)證者16是可信的估算器,或是在計(jì)算設(shè)備18上的某些其它實(shí)體,如在計(jì)算設(shè)備18上的加載程序或操作系統(tǒng)的其它部分。
在現(xiàn)有技術(shù)中,RR14通常包括關(guān)于RR14的信息的清單,包括的條目如在RR14的進(jìn)程中的環(huán)境描述,帶有驗(yàn)證證書(shū)鏈的數(shù)字簽名,能用于驗(yàn)證RR14的組成單元的密鑰等。然而在操作中,在計(jì)算設(shè)備18上操作的單元引用關(guān)聯(lián)的清單,例如來(lái)獲得驗(yàn)證RR14的密鑰,或確定RR14的進(jìn)程實(shí)際上應(yīng)包括某些組成單元,或獲得在操作過(guò)程中必須遵循的某些過(guò)程等。
因此,RR14的清單描述RR14,RR14的安全環(huán)境,到RR14的輸入等。然而那樣的清單在下列方面是有缺陷的1,該清單能規(guī)定可被加載到單個(gè)進(jìn)程的多個(gè)可執(zhí)行碼。雖然允許更多的靈活性,將清單限止在單個(gè)可執(zhí)行碼更安全,因?yàn)橐粋€(gè)清單能與一個(gè)可執(zhí)行碼串接或以其它方式組合,且能根據(jù)那樣的組合計(jì)算單個(gè)代碼身份或‘code-ID’。可以理解,code-ID是該組合的摘要,尤其是在清單中列出的與安全有關(guān)的輸入的摘要和可執(zhí)行碼本身的摘要。如下面更詳細(xì)說(shuō)明,本發(fā)明的身份描述符或‘id’是包括那些與安全有關(guān)輸入的數(shù)據(jù)結(jié)構(gòu)。
2,為包括多個(gè)特征該清單增大了,這導(dǎo)致增加了復(fù)雜性和其它不可預(yù)期的影響。相反,本發(fā)明的id能直接加入的該清單中,通過(guò)引用從其它處導(dǎo)入,或在運(yùn)行時(shí)從該清單和/或其它處導(dǎo)出,這具體的導(dǎo)向只到對(duì)應(yīng)的可執(zhí)行碼的上述與安全有關(guān)的輸入,且具有在訪問(wèn)控制系統(tǒng)的最低層的安全相關(guān)性。因而,該id能具有相當(dāng)簡(jiǎn)單的格式。
現(xiàn)具體轉(zhuǎn)到本發(fā)明的身份描述符或id,id20是用于到進(jìn)程中的可執(zhí)行碼的與安全有關(guān)的輸入的數(shù)據(jù)包,其中該可執(zhí)行碼假定為圖2中的RR14??梢岳斫?,id20能嵌入到該可執(zhí)行碼,從單獨(dú)的文件導(dǎo)出,或從如清單的另外文檔提取。本質(zhì)上,id20是規(guī)定描述可執(zhí)行碼/RR14(以后稱RR14)操作環(huán)境,尤其是安全環(huán)境的輸入變量的環(huán)境框;并能由RR14和RR14駐留的計(jì)算設(shè)備18的操作系統(tǒng)使用來(lái)控制那樣RR14的起動(dòng)和執(zhí)行;還能在RP10決定是否提供資源12給那個(gè)RR14時(shí)由RP10使用。代碼身份或‘code-ID’22從RR14和id20的摘要推導(dǎo)或計(jì)算得出,且通常以類似于在數(shù)字簽名中使用的方式是上述內(nèi)容的散列值。
重要的是若RR14希望如通過(guò)閱讀文件,打開(kāi)調(diào)試端口等修改其安全環(huán)境,那樣的RR14本身負(fù)責(zé)這樣做。然而,若開(kāi)發(fā)RR14的開(kāi)發(fā)者希望具有參數(shù)化的特定行為,且該參數(shù)具有安全性的含意(例如根據(jù)程序輸入打開(kāi)不同的文件,或根據(jù)程序輸入調(diào)試),則該參數(shù)能放置在id20中,且能只參考id20對(duì)該參數(shù)寫(xiě)RR14。因此,雖然參數(shù)在id20中能潛在地由非法的實(shí)體修改,經(jīng)修改的id20將引起計(jì)算的code-ID20改變,其中那樣的改變能被如RP10那樣的關(guān)注方解釋成RR14應(yīng)不是可信的一種指示。
在本發(fā)明的實(shí)施例中,id20具有函數(shù)形式MAP<NameString.String>Environment Variables即,在這里id20包括一組名字—值配對(duì),其每一個(gè)將如加點(diǎn)的字符數(shù)字串那樣的名字映射到對(duì)應(yīng)的值串。注意,id20能以XML文檔等的格式而不偏離本發(fā)明的精神和范圍,盡管這種XML能不必要地引起分析的復(fù)雜性。還注意,至少某些變量能是表示成字符串的XML文檔。因此,id20表示成下面形式的列表Name1=StringValue1Name2=StringValue2Name3=StringValue3……如下是id20的使用的例子。注意,例子是說(shuō)明性的,不需要包羅萬(wàn)象。假設(shè)加點(diǎn)的名字空間用于“name(名字)”,“_System”,名字空間能保留為計(jì)算設(shè)備18的操作系統(tǒng)使用,且RR14的id20能包括其中_System.Debuggable=“true”_System.ProgramName=“Excel”_System.SealTohocalAdmin=“true”因此,計(jì)算設(shè)備18的操作系統(tǒng)能參考id20以確定,對(duì)應(yīng)于id20的RR14的進(jìn)程是可調(diào)試的,該可執(zhí)行碼是命名‘Excel’,且變量_System.SealToLocalAdmin已被設(shè)置成“true”。
RR14能利用id20,根據(jù)安全性質(zhì)的程序輸入作出行為決策。對(duì)“name-名字”假設(shè)加點(diǎn)的名字空間,“MyProg”名字空間能保留為RR14所用,且RR14的id20能包括其中MyProg.ProgName=“MS URT running Trusted Backup Script”MyProg.Script=“main(){foreach(blob in blobs)print f(blob);}”
MyProg.UI=“<xml>Some UI XML</xml>”MyProg.AllowResourceFile=“0×1234,0×3456,0×89abb”;MyProg.KeyHolderWhoCanDebugMyProcess=“Ox fedcb”因此,RR14能根據(jù)id20確定以XML格式的特定程序名,程序腳本,程序UI(用戶界面),若干允許的源文件,和能調(diào)試RR14的進(jìn)程的特定的密鑰保持器。
應(yīng)該理解,在任何特定的id20中的實(shí)際名字—值的配對(duì)能是任何合適的名字—值配對(duì)而不偏離本發(fā)明的精神和范圍。此外,那樣的名字—值的配對(duì)能包括從RR14到RR14變化的值的類型,如特定程序腳本或有效用戶的列表,并還包括對(duì)幾乎所有RR14共同的值的類型,如程序名和RR14的進(jìn)程是否可調(diào)試。通常在任何特定id20的名字—值配對(duì)是安全相關(guān)的,因?yàn)閕d20主要是規(guī)定描述操作RR14的安全環(huán)境的輸入變量的環(huán)境框,雖然可以理解,與安全無(wú)關(guān)的名字—值配對(duì)也能在id20中而不偏離本發(fā)明的精神和范圍。
因此,尤其談到有關(guān)安全的事項(xiàng),特定的id20能包括描述操作系統(tǒng),虛擬機(jī),真實(shí)機(jī),和/或運(yùn)行RR14的計(jì)算設(shè)備18的其它事物的名字—值配對(duì),而不管RR14是否在不能由調(diào)試程序等監(jiān)控的隔離過(guò)程或在那樣的可調(diào)試的進(jìn)程中操作,使得實(shí)際上能那樣監(jiān)控,使得除其它安全相關(guān)的事情外,RR14能由每個(gè)進(jìn)入點(diǎn)訪問(wèn),并將與安全相關(guān)的輸入提供給RR14。應(yīng)該理解,那樣的與安全相關(guān)的事務(wù)一般是影響RR14如何操作,RR14在何處得到數(shù)據(jù)和其它輸入,以及RR14尤其是否能在外部能影響及監(jiān)控等的事情。因此一般而言,id20中的信息描述RR14,描述操作系統(tǒng)和RR14在其上操作的計(jì)算設(shè)備18,并描述RR14與安全相關(guān)的方面。雖然注意到,RR14的code-ID22是部分地根據(jù)id20且code-ID22應(yīng)是眾知的且在下面更詳細(xì)地列出,該id20應(yīng)該不包括對(duì)特定的計(jì)算設(shè)備18上的對(duì)RR14的任何特定的例示是特定的名字—值的配對(duì)。
在本發(fā)明的一個(gè)實(shí)施例中,代碼身份或?qū)?yīng)于特定RR14的‘code-ID’22被定義成與id20串接的RR14的散列值。例如,散列值能基于若干已知SHA算法的任一種,包括SHA-1和SHA-256Code-ID22=SHA(RR14|id20)在一個(gè)特定實(shí)施例中,Code-ID22是兩個(gè)上述散列值的串接,其中一個(gè)散列值基于SHA-1,另一個(gè)基于SHA-256Code-ID22=SHA-1(RR14|id20)|SHA-256(RR14|id20)
因此應(yīng)該理解,根據(jù)RR14和id20的知識(shí),并還根據(jù)計(jì)算code-ID22的方法的知識(shí),RR14和相關(guān)的認(rèn)證者16能計(jì)算對(duì)應(yīng)于那個(gè)RR14的code-ID22,用于以數(shù)字簽名的方式呈現(xiàn)給RP10。重要的是,RR14的一個(gè)或多個(gè)有效的Code-ID22的每一個(gè)應(yīng)是眾知的,尤其應(yīng)由被請(qǐng)求提供資源12給RR14的RP10所熟知。注意,RR14能具有多于一個(gè)有效的code-ID22,尤其在RR14以多個(gè)版本出現(xiàn),能在多個(gè)操作系統(tǒng)上操作等情況,每個(gè)版本必需是RR14和/或id20的一個(gè)變化。因而大概是,只有在對(duì)RR14的一個(gè)有效code-ID22代表這個(gè)RR14被提交給RP10時(shí),RP10具有RR14和對(duì)該RR14的每個(gè)有效的code-ID22的知識(shí),且那樣的RP10提供資源12給RR14。
現(xiàn)轉(zhuǎn)到圖3在本發(fā)明的一個(gè)實(shí)施例中,以下述方式使用id20和對(duì)應(yīng)于RR14的code-ID22。最初,通過(guò)由用戶或其它過(guò)程的激活的實(shí)例使得RR14在計(jì)算設(shè)備18的操作系統(tǒng)的進(jìn)程中被實(shí)例化(步驟301)。通常,借助在計(jì)算設(shè)備18的操作系統(tǒng)運(yùn)行的加載程序24達(dá)到這樣的實(shí)例,雖然那樣的實(shí)施可以借助任何其它合適的實(shí)體達(dá)到而不偏離本發(fā)明的精神和范圍。
作為實(shí)施RR14的部分,加載程序24從存放RR14的任何什么地方獲得RR14,并將其加載(步驟303)。應(yīng)該理解,加載程序能以任何合適的方式獲取和加載RR14而不偏離本發(fā)明的精神和范圍,其中獲取RR14具體方法是眾知的,且在有關(guān)出版物中是公開(kāi)的,因此不需在這里詳述。
而且作為實(shí)例化RR14的部分,加載程序24從存放id20的任何什么地方獲得與這種RR對(duì)應(yīng)的id20,并將其加載到適當(dāng)位置(步驟305)。如上所述,那樣的id能嵌入RR14,從單獨(dú)的文件導(dǎo)出,或從如清單那樣的其它文檔中提取。加載程序24能以任何速率從所述位置,以對(duì)應(yīng)于那個(gè)位置的方式獲取id20而不偏離本發(fā)明的精神和范圍,其中獲取id20的具體方法是眾知的,且在有關(guān)出版物中是公開(kāi)的,因而不需要在這里詳述。加載程序加載id20的位置能是任何合適的位置,如列表,id高速緩存器,RR14的進(jìn)程等,而不偏離本發(fā)明的精神和范圍。
注意,RR14和運(yùn)行RR14的計(jì)算設(shè)備18的操作系統(tǒng)均需要訪問(wèn)加載的id20。因而在加載id20時(shí),加載程序至少為RR14提供對(duì)id20的位置的指針或其它參照(步驟307)。因此,RR14能在那個(gè)id20中找到與之相關(guān)的與安全有關(guān)的信息。此外,操作系統(tǒng)也能找到那樣安全有關(guān)的信息,通過(guò)RR14或還通過(guò)接收那樣的指針或其它引用。
最初,在RR14的操作的某點(diǎn),那個(gè)RR14需要來(lái)自一個(gè)RP10的資源12,如上所述僅當(dāng)對(duì)該RR14的有效code-ID22代表該RR14被提交給那個(gè)RP10時(shí),該RP10才提供該資源12給該RR14。因而在加載RR14和與其對(duì)應(yīng)的id20時(shí),計(jì)算對(duì)應(yīng)于該加載的RR14的code-ID22和id20(步驟309)??捎杉虞d程序24或上面提到的提供認(rèn)證信息給RP10的認(rèn)證程序16計(jì)算那個(gè)code-ID22??梢岳斫?,認(rèn)證程序16能是加載程序24的一部分,或者加載程序24能是認(rèn)證程序16的一部分。Code-ID也能以合適的方式計(jì)算而不偏離本發(fā)明的精神和范圍,只要計(jì)算的code-ID22是以預(yù)期能被RP10認(rèn)識(shí)的形式。
因此在RR14操作期間的某個(gè)點(diǎn),那個(gè)RR14確實(shí)需要來(lái)自RP10的資源12,并因而請(qǐng)求認(rèn)證程序16以代表該RR14獲得那個(gè)資源12(步驟311)。注意,在試圖獲取那樣的資源12前,認(rèn)證程序16尤其能完成各種關(guān)于RR14的認(rèn)證功能,以確保該RR14具有對(duì)資源的權(quán)利,并對(duì)該資源是可信任的,等等(步驟313)。在這樣做時(shí),認(rèn)證程序16本身能查證在對(duì)應(yīng)于RR14的id20中的安全有關(guān)的信息,并還能確認(rèn),該RR14未以任何方式加以修改,包括取消信任關(guān)系及其它的修改。通常,認(rèn)證程序16能完成任何關(guān)于RR14的認(rèn)證功能而不脫離本發(fā)明的精神和范圍。那樣的認(rèn)證功能是眾知的或在有關(guān)出版物中是公開(kāi)的,因而不需要在這里詳述。
假設(shè)認(rèn)證程序16對(duì)RR14是滿意的,則認(rèn)證程序16將對(duì)資源12的請(qǐng)求從RR14轉(zhuǎn)發(fā)到RP10(步驟315)。那樣轉(zhuǎn)發(fā)的請(qǐng)求能是來(lái)自RR14的請(qǐng)求的忠實(shí)拷貝或其修改。因此,該轉(zhuǎn)發(fā)的請(qǐng)求能取任何合適的形式而不脫離本發(fā)明的精神和范圍。例如,那樣的形式能是預(yù)定儀的引證函數(shù)(quoting function),它包括對(duì)請(qǐng)求的RR14的計(jì)算的code-ID22,對(duì)請(qǐng)求的RR14的id20,和由RR14請(qǐng)求的資源12的定義及其它。應(yīng)該理解,該引證函數(shù)也能根據(jù)一個(gè)或多個(gè)項(xiàng)包括數(shù)字簽名等,其中該簽名是根據(jù)在認(rèn)證程序和RP10之間共享的安全密鑰可驗(yàn)證的。
現(xiàn)轉(zhuǎn)向圖4,響應(yīng)接收的引證函數(shù)或其它轉(zhuǎn)發(fā)的請(qǐng)求,RP10決定實(shí)際上是否承諾來(lái)自RR14對(duì)資源的請(qǐng)求。具體說(shuō)來(lái),除其它事情外RP10驗(yàn)證轉(zhuǎn)發(fā)的請(qǐng)求(步驟401),在引證函數(shù)的情況這包括根據(jù)共享的安全密鑰驗(yàn)證其簽名。此外,RP10獲取code-ID22,id20,和來(lái)自轉(zhuǎn)發(fā)的請(qǐng)求所請(qǐng)求資源12的定義(步驟403),從轉(zhuǎn)發(fā)的請(qǐng)求確定請(qǐng)求的RR14的身份(步驟405),獲取對(duì)識(shí)別的RR14的有效的code-ID22(步驟407),并驗(yàn)證在轉(zhuǎn)發(fā)的請(qǐng)求中計(jì)算的code-ID22是否匹配對(duì)識(shí)別的RR14的各有效的code-ID22中的一個(gè)(步驟409)。
注意,RP10能以任何合適的方式從轉(zhuǎn)發(fā)的請(qǐng)求確定請(qǐng)求的RR14的身份而不脫離本發(fā)明的精神和范圍。例如,那樣的身份能在轉(zhuǎn)發(fā)的請(qǐng)求的id20中指定為具體的名字—值的配對(duì)。當(dāng)然,盜用知識(shí)產(chǎn)權(quán)的實(shí)體能更改id20中的那些身份信息,試圖從RP10不恰當(dāng)?shù)孬@取資源12。然而由于由認(rèn)證程序16計(jì)算的code-ID22部分地根據(jù)id20,那樣計(jì)算的code-ID應(yīng)不能匹配RP10所知的任何有效code-ID。此外應(yīng)注意,認(rèn)證程序16由RP10信任而合適地工作,因而相信不會(huì)破壞code-ID22。
還注意,RP10被認(rèn)為和預(yù)期具有對(duì)RR14的每個(gè)有效code-ID22。RR14的一個(gè)或多個(gè)有效code-ID22的每一個(gè)也應(yīng)是眾知的,尤其為請(qǐng)求向RR14提供資源12的RP10所知。最后注意,通過(guò)找到在轉(zhuǎn)發(fā)的請(qǐng)求中的有效code-ID22,RP10能根據(jù)有效的code-ID22得出結(jié)論,哪個(gè)是從RR14和其id20導(dǎo)出;RR14能作為可信賴的已知的未更改的RR14加以信任;而且RR14運(yùn)作的安全相關(guān)信息是認(rèn)為可信賴的已知未更改的與安全有關(guān)的信息。此外可以理解,通過(guò)采用code-ID22,經(jīng)權(quán)衡的特定的RR14能通過(guò)從對(duì)RP10可用的code-ID移除所有相關(guān)的code-ID而不承諾提供資源。
除了使該請(qǐng)求的計(jì)算的code-ID22生效以外,RP10還能根據(jù)其它信息使轉(zhuǎn)發(fā)的請(qǐng)求(步驟411)生效。例如,即使使該code-ID22生效,RP10能根據(jù)id20中的某些信息,如RR14是否在隔離的進(jìn)程中運(yùn)行,來(lái)編程承諾或拒絕該請(qǐng)求。類似地,若轉(zhuǎn)發(fā)的請(qǐng)求包括RR14的計(jì)算設(shè)備18的用戶的識(shí)別,則RP10能根據(jù)識(shí)別的用戶編程來(lái)承諾或拒絕該請(qǐng)求。當(dāng)然,RP10能根據(jù)任何準(zhǔn)則使轉(zhuǎn)發(fā)的請(qǐng)求生效而不脫離本發(fā)明的精神和范圍。
若轉(zhuǎn)發(fā)的請(qǐng)求如在步驟409和411那樣被生效,則RP10確定,請(qǐng)求的資源12是可用和/或能被提供(步驟413)。例如,若資源12是數(shù)據(jù),RP10確定,該數(shù)據(jù)實(shí)際上是否可用,或若資源是對(duì)打印機(jī)的訪問(wèn),則RP10確定,該打印機(jī)是否實(shí)際上在線,有紙,能接收新的打印請(qǐng)求,等。
然后假設(shè),轉(zhuǎn)發(fā)的請(qǐng)求如步驟409和411那樣被生效,且請(qǐng)求的資源12可用和/或能如步驟413那樣被提供,則RP10通過(guò)提供請(qǐng)求的資源12響應(yīng)轉(zhuǎn)發(fā)的請(qǐng)求(步驟415)。因此,若資源12是一對(duì)象,RP10提供該對(duì)象,若資源12是對(duì)服務(wù)的訪問(wèn),RP10如通過(guò)安全密鑰或訪問(wèn)的其它標(biāo)記安排那樣的訪問(wèn),并提供安全密鑰或其它訪問(wèn)的標(biāo)記。
用由RP10提供的請(qǐng)求的資源12的那些響應(yīng)由RR14借助認(rèn)證程序16直接或間接地接收(圖3的步驟317),然后若響應(yīng)是適當(dāng)?shù)腞R14就使用提供的資源12(步驟319)。至少隱含地因?yàn)镽P10實(shí)際上確實(shí)提供請(qǐng)求的資源12到RR14,RR14和運(yùn)行它的計(jì)算設(shè)備被RP10信任用來(lái)僅以那個(gè)信任一致的方式,尤其是按照在對(duì)應(yīng)于RR14的id20中列出的安全有關(guān)的信息,提供資源。
結(jié)論本發(fā)明能對(duì)于任何資源請(qǐng)求方RR14和提供方RP10實(shí)施。更具體地,例如本發(fā)明能用于使PC上的文字處理程序能接收受保護(hù)的文字處理文檔,使在專用播放設(shè)備處的音樂(lè)播放者能發(fā)送演播的音樂(lè)到擴(kuò)音器系統(tǒng),使無(wú)線設(shè)備能訪問(wèn)局域無(wú)線網(wǎng)等,因而,RR14被解釋為請(qǐng)求資源12的任何設(shè)備,RP10被解釋為在一系統(tǒng)中提供資源的任何設(shè)備,其中RR14根據(jù)在id20中與安全有關(guān)的信息操作,而RP10部分地根據(jù)id20使RR14的可信任性生效。
為實(shí)施結(jié)合本發(fā)明完成的進(jìn)程的編程是相對(duì)直截了當(dāng)?shù)?,并?duì)相關(guān)的編程出版物是公開(kāi)的。因而那樣的編程不附在這里。因而能采用任何具體編程來(lái)實(shí)施本發(fā)明而不脫離其精神的范圍。
在上面描述中可以看到,本發(fā)明包括新的和有用的方法和機(jī)制。借此可為計(jì)算機(jī)程序,可執(zhí)行碼,或其它資源接收方RR14提供如id20那樣的認(rèn)證信息,為RR14提供資源12的資源提供方RP10能用它來(lái)認(rèn)證該RR14。Id20向RP10描述RR14的身份,并除其它事情外還包括一組描述RR14的環(huán)境的變量。
應(yīng)當(dāng)理解,對(duì)上述實(shí)施例能作出改變而不脫離本發(fā)明的創(chuàng)意。然而可以理解,本發(fā)明不限于所揭示的具體實(shí)施例,而且試圖涵蓋在由附后的權(quán)利要求確定的本發(fā)明的精神和范圍中的修改。
權(quán)利要求
1.從資源提供方(RP)為運(yùn)行在計(jì)算設(shè)備上的資源請(qǐng)求方(RR)獲得資源的方法,所述RR具有與其相關(guān)的身份識(shí)別符(id),所述id包括規(guī)定所述RR操作的環(huán)境的安全相關(guān)信息,所述方法包括將所述RR加載到所述計(jì)算設(shè)備;將對(duì)應(yīng)于所述RR的所述id加載到所述的計(jì)算機(jī)設(shè)備;提供帶有到所述加載的id的參照的所述RR;對(duì)應(yīng)于并根據(jù)所述加載的RR和加載的id計(jì)算代碼身份(code-ID);從所述RR接收對(duì)所述資源的請(qǐng)求;確定所述的發(fā)請(qǐng)求的RR對(duì)所述資源具有權(quán)利,且對(duì)所述資源是可信任的;將對(duì)所述資源的請(qǐng)求從所述RR轉(zhuǎn)發(fā)到所述RP,所述轉(zhuǎn)發(fā)的請(qǐng)求包括對(duì)發(fā)請(qǐng)求的RR的計(jì)算的code-ID、對(duì)所述請(qǐng)求RR的id、由所述RR請(qǐng)求的資源的定義、驗(yàn)證在轉(zhuǎn)發(fā)的請(qǐng)求中計(jì)算的code-ID匹配對(duì)識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID中一個(gè)的RP,據(jù)此得到結(jié)論,作為能認(rèn)為是可信賴的已知的RR,所述RR能是可信任的,且所述RR在其上運(yùn)行的安全相關(guān)信息已知是認(rèn)為可信賴的安全相關(guān)信息,且通過(guò)提供所述請(qǐng)求的資源響應(yīng)所述轉(zhuǎn)發(fā)的請(qǐng)求;由所述RR接收由所述RP提供的所述請(qǐng)求的資源,并以與所述RP傳達(dá)給所述RR的信任一致的方式,按照在對(duì)應(yīng)于所述RR的所述id中列出的所述安全相關(guān)信息使用所述資源。
2.如權(quán)利要求1的方法,其特征在于包括在所述計(jì)算設(shè)備上的認(rèn)證程序,它確定發(fā)請(qǐng)求的RR具有對(duì)所述資源的權(quán)利,并對(duì)所述資源是要被信任的,其中認(rèn)證程序關(guān)系到在對(duì)應(yīng)所述RR的所述id中的安全相關(guān)信息。
3.如權(quán)利要求1的方法,其特征在于所述轉(zhuǎn)發(fā)的請(qǐng)求還包括基于對(duì)于所述請(qǐng)求RR的所述計(jì)算的code-ID、對(duì)于所述請(qǐng)求RR的所述id、和所述由RR請(qǐng)求的所述資源的定義中的至少一個(gè)的數(shù)字簽名,所述簽名是根據(jù)與RP共享的安全密鑰可驗(yàn)證的。
4.如權(quán)利要求1的方法,其特征在于所述id包括可用作對(duì)所述RR、所述RP、和所述RR在其上運(yùn)行的所述計(jì)算設(shè)備上的操作系統(tǒng)的至少一個(gè)的輸入的一組安全相關(guān)的名字-值配對(duì)。
5.權(quán)利要求4的方法,其特征在于所述名字-值配對(duì)描述所述RR在其中操作的環(huán)境(不論所述RR是在隔離的進(jìn)程中操作),和能訪問(wèn)所述RR的每個(gè)進(jìn)入點(diǎn)中的至少一個(gè)。
6.如權(quán)利要求1的方法,其特征在于所述code-ID從所述RR和所述id的摘要計(jì)算。
7.如權(quán)利要求6的方法,其特征在于所述code-ID是與其所述id串接的所述RR的散列值。
8.如權(quán)利要求7的方法,其特征在于所述code-ID是兩個(gè)散列值的串接,每個(gè)散列值具有與所其所述id串接的所述的RR。
9.由資源提供方(RP)向在計(jì)算設(shè)備上運(yùn)行的資源請(qǐng)求方(RR)提供資源的方法,所述RR具有與其相關(guān)的身份描述符(id),所述id包括指定所述RR操作的環(huán)境的安全相關(guān)信息,所述方法包括從所述RR接收對(duì)所述資源的轉(zhuǎn)發(fā)的請(qǐng)求,所述轉(zhuǎn)發(fā)的請(qǐng)求包括對(duì)所述請(qǐng)求RR計(jì)算的代碼身份(code-ID),對(duì)應(yīng)于并基于所述RR的計(jì)算的code-ID,和在所述計(jì)算設(shè)備上加載的所述id,所述轉(zhuǎn)發(fā)的請(qǐng)求還包括對(duì)請(qǐng)求RR的所述id和由所述RR請(qǐng)求的所述資源的定義;驗(yàn)證所述接收的請(qǐng)求;從所述接收的請(qǐng)求獲得所述code-ID,所述id,和所述請(qǐng)求的資源的所述定義;從所述接收的請(qǐng)求確定所述請(qǐng)求RR的身份;獲得對(duì)所述識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID的每一個(gè);驗(yàn)證在所述接收的請(qǐng)求中的所述計(jì)算的code-ID匹配對(duì)所述識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID中的一個(gè),并據(jù)此得出結(jié)論,作為能認(rèn)為是可信賴的已知的RR,所述RR能是可信任的,且所述RR在其上運(yùn)行的安全相關(guān)信息是已知的認(rèn)為是可信賴的安全相關(guān)信息;通過(guò)向所述RR提供請(qǐng)求的資源對(duì)轉(zhuǎn)發(fā)的請(qǐng)求作出響應(yīng),所述RR接收由所述RP提供的所述請(qǐng)求的資源,并以與所述RP傳達(dá)給所述RR的信任一致的方式,按在對(duì)應(yīng)于所述RR的所述id中列出的所述安全相關(guān)信息使用所述資源。
10.如權(quán)利要求9的方法,其特征在于在所述計(jì)算設(shè)備上接收從認(rèn)證程序來(lái)的轉(zhuǎn)發(fā)的請(qǐng)求,確定所述請(qǐng)求RR具有對(duì)所述資源的權(quán)利并對(duì)所述資源是可信任的,其中所述認(rèn)證程序參照在對(duì)應(yīng)于所述RR的所述id中的安全相關(guān)信息。
11,如權(quán)利要求9的方法,其特征在于所述轉(zhuǎn)發(fā)請(qǐng)求還包括基于對(duì)所述請(qǐng)求RR的所述計(jì)算的code-ID、對(duì)所述請(qǐng)求RR的所述id、和由所述RR請(qǐng)求的所述資源的定義中的至少一個(gè)的數(shù)字簽名,所述方法還包括驗(yàn)證所述簽名。
12.如權(quán)利要求9的方法,其特征在于還包括基于其中的其它信息使所述轉(zhuǎn)發(fā)的請(qǐng)求生效。
13.如權(quán)利要求9的方法,其特征在于還包括確定所述請(qǐng)求的資源是可用的和/或能被提供的。
14.如權(quán)利要求9的方法,其特征在于所述id包括可用作對(duì)所述RR,所述RP、和所述RR在其上運(yùn)行的所述計(jì)算設(shè)備上的操作系統(tǒng)的至少一個(gè)的輸入的一組安全相關(guān)的名字-值配對(duì)。
15.如權(quán)利要求14的方法,其特征在于所述名字-值配對(duì)描述所述RR在其中操作的環(huán)境(不論所述RR是否在隔離的進(jìn)程中操作),和能訪問(wèn)所述RR的每個(gè)進(jìn)入點(diǎn)的至少一個(gè)。
16.如權(quán)利要求9的方法,其特征在于所述code-ID從所述RR和所述id的摘要計(jì)算。
17.如權(quán)利要求16的方法。其特征在于所述code-ID是與其所述id串接的所述RR的散列值。
18.如權(quán)利要求17的方法,其特征在于所述code-ID是兩個(gè)散列值的串接,每個(gè)散列值具有其與所述id串接的所述的RR。
19.在其上存儲(chǔ)用于執(zhí)行一方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述方法從資源提供方(RP)為運(yùn)行在計(jì)算設(shè)備上的資源請(qǐng)求方(RR)獲得資源,所述RR具有與其相關(guān)的身份識(shí)別符(id),所述id包括規(guī)定所述RR操作的環(huán)境的安全相關(guān)信息,所述方法包括將所述RR加載到所述計(jì)算設(shè)備;將對(duì)應(yīng)于所述RR的所述id加載到所述的計(jì)算設(shè)備;為所述RR提供對(duì)所述加載的id的參照;計(jì)算對(duì)應(yīng)于并根據(jù)所述加載的RR和加載的id的代碼身份(code-ID);從所述RR接受對(duì)所述資源的請(qǐng)求;確定所述請(qǐng)求RR對(duì)所述資源具有權(quán)利,且對(duì)所述資源是可信的;將對(duì)所述資源的請(qǐng)求從所述RR轉(zhuǎn)發(fā)的所述RP,所述轉(zhuǎn)發(fā)的請(qǐng)求包括對(duì)于請(qǐng)求RR的計(jì)算的code-ID、對(duì)于所述請(qǐng)求RR的id以及由所述RR請(qǐng)求的資源的定義,RP驗(yàn)證在轉(zhuǎn)發(fā)的請(qǐng)求中計(jì)算的code-ID匹配對(duì)識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID中的一個(gè),據(jù)此得到結(jié)論,作為能認(rèn)為是可信賴的已知的RR,所述RR能是可信任的,且所述RR在其上運(yùn)行安全相關(guān)信息已知是認(rèn)為可信賴的安全相關(guān)信息,且通過(guò)提供所述請(qǐng)求的資源響應(yīng)于所述轉(zhuǎn)發(fā)的請(qǐng)求;由所述RR接受由所述RP一個(gè)的所述請(qǐng)求的資源,并以與由所述RP傳達(dá)給所述RR的信任一致的方式,按照在對(duì)應(yīng)于所述RR的所述id中列出的所述的安全相關(guān)信息使用所述資源。
20.如權(quán)利要求19的存儲(chǔ)介質(zhì),其特征在于所述方法包括在所述計(jì)算設(shè)備上的認(rèn)證程序,它確定所述請(qǐng)求RR具有對(duì)所述資源的權(quán)利,并對(duì)所述資源是可信任的,其中認(rèn)證程序參照在對(duì)應(yīng)所述RR的所述id中的安全相關(guān)信息。
21.如權(quán)利要求19的存儲(chǔ)介質(zhì),其特征在于所述轉(zhuǎn)發(fā)的請(qǐng)求還包括基于用于所述請(qǐng)求RR的所述計(jì)算的code-ID、用于所述請(qǐng)求RR的所述id、和由所述RR請(qǐng)求的所述資源的定義中的至少一個(gè)的數(shù)字簽名,所述簽名是根據(jù)與RP共享的安全密鑰可驗(yàn)證的。
22.如權(quán)利要求19的存儲(chǔ)介質(zhì),其特征在于所述id包括可用作對(duì)所述RR、所述RP、和所述RR在其上運(yùn)行的所述計(jì)算設(shè)備上的操作系統(tǒng)的至少一個(gè)的輸入的一組安全相關(guān)的名字-值配對(duì)。
23.如權(quán)利要求22的存儲(chǔ)介質(zhì),其特征在于所述名字-值配對(duì)描述所述RR在其中操作的環(huán)境、是否所述RR是在隔離的進(jìn)程中操作以及能訪問(wèn)所述RR的每個(gè)進(jìn)入點(diǎn)的至少一個(gè)。
24.如權(quán)利要求19的存儲(chǔ)介質(zhì),其特征在于所述code-ID從所述RR和所述id的摘要計(jì)算。
25.如權(quán)利要求24的存儲(chǔ)介質(zhì),其特征在于所述code-ID是與其所述id串接的所述RR的散列值。
26.如權(quán)利要求25的存儲(chǔ)介質(zhì),其特征在于所述code-ID是兩個(gè)散列值的串接,每個(gè)散列值具有與其所述串接的所述RR。
27.在其中存儲(chǔ)用于執(zhí)行一方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述方法由資源提供方(RP)向運(yùn)行在計(jì)算設(shè)備上的資源請(qǐng)求方(RR)提供資源,所述RR具有與其相關(guān)的身份識(shí)別符(id),所述id包括規(guī)定所述RR操作的環(huán)境的安全相關(guān)信息,所述方法包括從所述RR接受對(duì)所述資源的轉(zhuǎn)發(fā)的請(qǐng)求,所述轉(zhuǎn)發(fā)的請(qǐng)求包括對(duì)于所述請(qǐng)求RR計(jì)算的代碼身份(code-ID),對(duì)應(yīng)于并基于所述RR的計(jì)算的code-ID,和在所述計(jì)算設(shè)備上加載的所述id,所述轉(zhuǎn)發(fā)的請(qǐng)求還包括對(duì)于請(qǐng)求RR的所述id和由所述RR請(qǐng)求的所述資源的定義;驗(yàn)證所述接受的請(qǐng)求;從所述接受的請(qǐng)求獲得所述code-ID,所述id,和所述請(qǐng)求的資源的所述定義;從所述接受的請(qǐng)求確定所述請(qǐng)求RR的身份;獲得對(duì)于所述識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID的一個(gè)或多個(gè)有效的code-ID的每一個(gè);驗(yàn)證在所述接受的請(qǐng)求中的所述計(jì)算的code-ID匹配對(duì)所述識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID中的一個(gè),并據(jù)此得出結(jié)論,作為能認(rèn)為是可信賴的已知的RR,所述RR能是可信任的,且所述RR在其上運(yùn)行的安全相關(guān)信息已知是認(rèn)為可信賴的安全相關(guān)信息;通過(guò)向所述RR提供請(qǐng)求的資源對(duì)轉(zhuǎn)發(fā)的請(qǐng)求作出響應(yīng),所述RR接受由所述RP提供的所述請(qǐng)求的資源,并以與由所述RP傳達(dá)給所述RR的信任一致的方式,并按在對(duì)應(yīng)于所述RR的所述id中列出的所述安全相關(guān)信息使用所述資源。
28.如權(quán)利要求27的存儲(chǔ)介質(zhì),其特征在于所述方法包括在所述計(jì)算設(shè)備上接受從認(rèn)證程序來(lái)的轉(zhuǎn)發(fā)請(qǐng)求,確定所述請(qǐng)求RR具有對(duì)所述資源的權(quán)利并對(duì)所述資源是可信任的,其中所述認(rèn)證程序參照在對(duì)應(yīng)于所述RR的所述id中的安全相關(guān)信息。
29.如權(quán)利要求27的存儲(chǔ)介質(zhì),其特征在于所述轉(zhuǎn)發(fā)請(qǐng)求還包括基于對(duì)于所述請(qǐng)求RR的所述計(jì)算的code-ID、對(duì)于所述請(qǐng)求RR的所述id、和由所述RR請(qǐng)求的所述資源的定義中的至少一個(gè)數(shù)字簽名,所述方法還包括驗(yàn)證所述簽名。
30.如權(quán)利要求27的存儲(chǔ)介質(zhì),其特征在于所述方法還包括基于其中的其它信息使所述轉(zhuǎn)發(fā)的請(qǐng)求生效。
31.如權(quán)利要求27的存儲(chǔ)介質(zhì),其特征在于所述方法還包括確定所述請(qǐng)求的資源是可用的和/或能被提供的。
32.如權(quán)利要求27的存儲(chǔ)介質(zhì),其特征在于所述id包括可用作對(duì)所述RR、所述RP、和所述RR在其上運(yùn)行的所述計(jì)算設(shè)備上的操作系統(tǒng)的至少一個(gè)的輸入的一組安全相關(guān)的名字-值配對(duì)。
33.如權(quán)利要求32的存儲(chǔ)介質(zhì),其特征在于所述名字-值配對(duì)描述所述RR在其中操作的環(huán)境(不論所述RR是否在隔離的進(jìn)程中操作),和能訪問(wèn)所述RR的每個(gè)進(jìn)入點(diǎn)的至少一個(gè)。
34.如權(quán)利要求27的存儲(chǔ)介質(zhì),其特征在于所述code-ID從所述RR和所述id的摘要計(jì)算。
35.如權(quán)利要求34的存儲(chǔ)介質(zhì),其特征在于所述code-ID是與其所述id串接的所述RR的散列值。
36.如權(quán)利要求35的存儲(chǔ)介質(zhì),其特征在于所述code-ID是兩個(gè)散列值的串接,每個(gè)散列值具有與其所述串接的所述RR。
全文摘要
對(duì)在計(jì)算設(shè)備上運(yùn)行的資源請(qǐng)求方(RR)從資源提供方(RP)獲得資源。該RR具有與其相關(guān)的身份描述符(id),其中該id包括規(guī)定該RR在其中運(yùn)行的環(huán)境的安全相關(guān)信息。對(duì)應(yīng)于并基于加載的RR和加載的id計(jì)算代碼身份(code-ID)。該RP驗(yàn)證在請(qǐng)求該資源中計(jì)算的code-ID匹配對(duì)該識(shí)別的RR的一個(gè)或多個(gè)有效的code-ID的一個(gè),以得出結(jié)論,該RR和id能是可信的,且該RP通過(guò)將請(qǐng)求的資源提供給RR而響應(yīng)于轉(zhuǎn)發(fā)的請(qǐng)求。
文檔編號(hào)G06K19/073GK1610296SQ20041008771
公開(kāi)日2005年4月27日 申請(qǐng)日期2004年10月25日 優(yōu)先權(quán)日2003年10月23日
發(fā)明者A·德西爾, K·D·雷, P·恩格拉恩德, T·V·庫(kù)里恩 申請(qǐng)人:微軟公司