專(zhuān)利名稱(chēng):在一個(gè)安全處理環(huán)境中有條件地安裝和執(zhí)行服務(wù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是加密系統(tǒng)。特別的是,本發(fā)明涉及了已授權(quán)的軟件應(yīng)用程序的安全安裝和執(zhí)行。
背景技術(shù):
許多計(jì)算機(jī)軟件需要執(zhí)行一個(gè)或多個(gè)安全功能。一個(gè)安全功能就是一段計(jì)算機(jī)程序,該計(jì)算機(jī)程序的特征,或者該計(jì)算機(jī)程序的操作,是有高度的抵抗力的,不會(huì)被用戶和第三方篡改。
舉個(gè)例子,一個(gè)軟件程序可能擁有一個(gè)終止日期,過(guò)期之后,軟件的applet程序變得不起作用。然而,一個(gè)典型的軟件終止功能是不安全的,因?yàn)橥ㄟ^(guò)把本地計(jì)算機(jī)時(shí)鐘重設(shè)到一個(gè)更早的時(shí)間位置,或者通過(guò)修改軟件跳過(guò)程序中檢測(cè)本地計(jì)算機(jī)時(shí)鐘的那一部分,很容易將它破解,。
作為另一個(gè)例子,一個(gè)計(jì)算機(jī)程序,它保存著從一個(gè)本地加密的數(shù)據(jù)庫(kù)中訪問(wèn)得到得數(shù)據(jù)記錄,用于主管本地加密數(shù)據(jù)庫(kù)的使用,該程序一般有兩個(gè)鑒定記錄,第一個(gè)記錄顯示了數(shù)據(jù)過(guò)去使用的次數(shù),而另一個(gè)記錄顯示了剩下的信用次數(shù)。然而,如果使用和信用記錄的更新不是一個(gè)安全功能的話,用戶可以通過(guò)減少使用記錄的數(shù)量和/或增加信用記錄的數(shù)量來(lái)破解該系統(tǒng)。相似的,保存一個(gè)它自身使用記錄,用于繳費(fèi)管理的繳費(fèi)軟件,需要一個(gè)安全功能來(lái)防止用戶篡改繳費(fèi)賬目記錄,以及其他內(nèi)部鑒定記錄和功能。
作為另一個(gè)例子,一個(gè)遠(yuǎn)程訪問(wèn)的數(shù)據(jù)庫(kù)可以管理訪問(wèn)數(shù)據(jù)庫(kù)的注冊(cè)用戶。在允許用戶訪問(wèn)數(shù)據(jù)庫(kù)之前,通常需要一個(gè)安全功能來(lái)鑒別每個(gè)用戶的身份。還有另一個(gè)安全功能是密鑰管理,例如,注冊(cè)用戶的加密密鑰的分配。
一類(lèi)安全功能解決方案是在用戶桌面軟件中執(zhí)行安全功能。在桌面軟件中執(zhí)行一個(gè)安全功能擁有實(shí)際通用的優(yōu)點(diǎn)。然而,在桌面軟件中執(zhí)行一個(gè)安全功能不像在硬件中執(zhí)行一個(gè)安全功能那樣安全。在另一方面,安全功能的硬件實(shí)現(xiàn)比軟件的花銷(xiāo)要大,并且可能每一個(gè)應(yīng)用程序都需要特定的硬件。如果每一個(gè)應(yīng)用程序都需要它自己的特定硬件,一個(gè)安全功能的硬件實(shí)現(xiàn)就是不通用的。
發(fā)明簡(jiǎn)介本發(fā)明的一個(gè)目的是提供一個(gè)系統(tǒng)和方法用于在一個(gè)安全環(huán)境中有條件的安裝和執(zhí)行一個(gè)applet。在一個(gè)特別的實(shí)施例中,當(dāng)且僅當(dāng)一個(gè)安全處理器擁有執(zhí)行該applet的資源時(shí),本發(fā)明才提供一個(gè)applet的安裝。
依照本發(fā)明方法的第一個(gè)典型的實(shí)施例,提供了一個(gè)方法,用于在擁有一個(gè)數(shù)據(jù)存儲(chǔ)器和一個(gè)安全處理器的系統(tǒng)上安全地安裝applet。發(fā)明的一個(gè)方面包括,將applet接收到數(shù)據(jù)存儲(chǔ)器中,從applet的至少一部分中決定該applet是否可以被安全處理器運(yùn)行,和如果安全處理器可以運(yùn)行applet則在安全處理器上安裝applet。在本發(fā)明的一個(gè)方面中,applet包括一個(gè)元數(shù)據(jù)(meta-data)部分,一個(gè)可執(zhí)行部分,和一個(gè)憑證部分。在本發(fā)明的另一個(gè)方面,元數(shù)據(jù)部分包含一個(gè)安全元數(shù)據(jù)部分,一個(gè)指出了applet運(yùn)行所需要的任何資源的資源元數(shù)據(jù)部分,以及一個(gè)元數(shù)據(jù)簽名部分。
依照本發(fā)明方法的第二個(gè)典型的實(shí)施例,提供了一個(gè)方法,用于在擁有一個(gè)不安全數(shù)據(jù)存儲(chǔ)器和一個(gè)安全處理器的系統(tǒng)上安全地安裝applet。發(fā)明的另一個(gè)方面包括將applet接收到不安全數(shù)據(jù)存儲(chǔ)器中。該applet包含一個(gè)元數(shù)據(jù)部分和一個(gè)可執(zhí)行部分,元數(shù)據(jù)部分中包括了一個(gè)安全元數(shù)據(jù)部分,一個(gè)資源元數(shù)據(jù)部分,和一個(gè)元數(shù)據(jù)簽名部分。而且發(fā)明的另一個(gè)方面包括,基于至少一部分applet的安全元數(shù)據(jù)部分和資源元數(shù)據(jù)部分,來(lái)決定該applet是否可以被安全處理器運(yùn)行。在本發(fā)明的一個(gè)方面,這包括校驗(yàn)安全處理器的一個(gè)安全處理器安全等級(jí),是滿足或是超過(guò)applet安全元數(shù)據(jù)部分的一個(gè)安全處理器安全需求,以及如果安全處理器可以執(zhí)行該applet,就在安全處理器上安裝該applet。
依照本發(fā)明方法的第三個(gè)典型的實(shí)施例,提供了一個(gè)可選擇applet的清單,用于第一個(gè)applet不能夠安裝在一臺(tái)計(jì)算機(jī)上的情況,該計(jì)算機(jī)擁有至少一個(gè)資源,以及與一個(gè)安全等級(jí)相聯(lián)系的一個(gè)安全處理器。本發(fā)明的另一個(gè)方面包括接收一個(gè)來(lái)自于安全處理器的對(duì)可選擇applet清單的請(qǐng)求,該請(qǐng)求包含一個(gè)用于識(shí)別第一個(gè)applet的applet序列號(hào),一個(gè)單元識(shí)別符用于標(biāo)識(shí)安全處理器,一個(gè)第一指示器用于識(shí)別安全處理器的安全等級(jí),以及一個(gè)第二指示器用于識(shí)別至少一個(gè)計(jì)算機(jī)的資源。在本發(fā)明的另一個(gè)方面,可選擇的applet清單是從大量的applet中,至少基于第一指示器和第二指示器的一部分而生成的,并且可選擇的多個(gè)applet清單被傳送給計(jì)算機(jī)。在本發(fā)明的另一個(gè)方面,該方法進(jìn)一步包括了從可選擇applet清單中安裝一個(gè)可選擇的applet,并管理安裝該可選擇applet的額外費(fèi)用。
依照本發(fā)明方法的第四個(gè)典型的實(shí)施例,提供一個(gè)安全applet執(zhí)行系統(tǒng),它包含一個(gè)數(shù)據(jù)存儲(chǔ)器元件,用于存儲(chǔ)從安全applet系統(tǒng)接收到的一個(gè)applet;以及一個(gè)安全處理器,用于從applet的至少一部分中決定該applet是否可以被安全處理器執(zhí)行;并且如果該安全處理器可以執(zhí)行該applet,則將該applet安裝到安全處理器上。仍然是在本發(fā)明的一個(gè)方面,applet進(jìn)一步包括了一個(gè)元數(shù)據(jù)部分和一個(gè)可執(zhí)行部分。
依照本發(fā)明方法的第五個(gè)典型的實(shí)施例,一個(gè)給出的安全applet執(zhí)行系統(tǒng)包括一個(gè)非安全數(shù)據(jù)存儲(chǔ)元件,用于存儲(chǔ)從安全applet執(zhí)行系統(tǒng)中接收到的一個(gè)applet。在本發(fā)明的一個(gè)方面,applet包括一個(gè)元數(shù)據(jù)部分和一個(gè)可執(zhí)行部分,元數(shù)據(jù)部分包括一個(gè)安全元數(shù)據(jù)部分,一個(gè)資源元數(shù)據(jù)部分,和一個(gè)元數(shù)據(jù)簽名部分。一個(gè)安全處理器從applet的至少一部分中決定該applet是否可以被安全處理器執(zhí)行,并且如果安全處理器可以執(zhí)行該applet,則將該applet安裝到安全處理器上。
附圖的簡(jiǎn)要說(shuō)明本發(fā)明的進(jìn)一步的目的,特點(diǎn)和優(yōu)點(diǎn)將在下面關(guān)于附圖的詳細(xì)描述中被闡明,這些附圖展示了本發(fā)明說(shuō)明的實(shí)施例,在其中
圖1所示為用于從一個(gè)applet服務(wù)器下載applet的系統(tǒng)一個(gè)框圖;圖2所示為一個(gè)applet的結(jié)構(gòu)的一個(gè)框圖;圖3所示為applet的安裝和執(zhí)行過(guò)程的一個(gè)流程圖;圖4所示為第一個(gè)applet的驗(yàn)證一個(gè)更詳細(xì)的流程圖;圖5所示為一個(gè)applet可執(zhí)行部分的驗(yàn)證一個(gè)更詳細(xì)的流程圖;圖6所示為一個(gè)applet可執(zhí)行部分的執(zhí)行一個(gè)更詳細(xì)的流程圖,它圖解了;圖7所示為applet服務(wù)器對(duì)一個(gè)applet請(qǐng)求的響應(yīng)的一個(gè)流程圖;圖8所示為applet服務(wù)器對(duì)一個(gè)加密密鑰請(qǐng)求的響應(yīng)的一個(gè)流程圖;以及圖9所示為一個(gè)流程圖,它圖解了applet服務(wù)器對(duì)一個(gè)可選擇applet請(qǐng)求的響應(yīng)。
全部附圖,除非另外聲明,均使用了相同的參照編號(hào)和字符來(lái)表示相似特征,元件,組件,或所示實(shí)施例的一部分。而且,雖然現(xiàn)在將參考附圖,并聯(lián)系所示的實(shí)施例對(duì)發(fā)明的主題進(jìn)行詳細(xì)的描述,但是沒(méi)有離開(kāi)附加權(quán)利要求中所定義的發(fā)明主題的真實(shí)范圍和精神,可以對(duì)所描述的實(shí)施例做出改變和修正。
對(duì)最佳實(shí)施例的描述美國(guó)專(zhuān)利序列號(hào)第09/313,295號(hào),1999年3月17日申請(qǐng),StevenJ.Sprague和Gregory J.Kazmierczak著,標(biāo)題為“公共加密控制單元和為此的系統(tǒng)”(在下文中被稱(chēng)為“Sprague et al”),它的全部說(shuō)明在這里被合并參考,描述了一個(gè)加密控制單元,在其中applet可以被換進(jìn)和/或換出。
圖1圖解了一個(gè)系統(tǒng)100,用于從一個(gè)applet服務(wù)器110下載applet,該applet服務(wù)器的例子有,在Sprague et al中公開(kāi)的一個(gè)軟件開(kāi)發(fā)PC,安裝applet到一個(gè)用戶計(jì)算機(jī)170,例如,在Sprague et al中公開(kāi)的一個(gè)桌面PC,并以一個(gè)安全的方式,在一個(gè)安全處理器180上執(zhí)行該applet,該安全處理器的例子有,在Sprague et al中提到的公共加密控制單元。Applet服務(wù)器110包括一個(gè)CPU112,一個(gè)數(shù)據(jù)存儲(chǔ)器元件114,一個(gè)網(wǎng)絡(luò)接口116,以及一個(gè)給出的數(shù)據(jù)庫(kù)。數(shù)據(jù)存儲(chǔ)器元件114包含了描述不同用戶和applet的信息。一個(gè)網(wǎng)絡(luò)連接130,經(jīng)由一個(gè)網(wǎng)絡(luò)接口116,連接applet服務(wù)器110到一個(gè)通訊網(wǎng)絡(luò)150上,允許網(wǎng)絡(luò)服務(wù)器110在通訊網(wǎng)絡(luò)150上進(jìn)行通訊。最好,通訊網(wǎng)絡(luò)150是Internet,但也可以是直接調(diào)制解調(diào)器線連接,無(wú)線連接或相似的連接。
一個(gè)憑證授權(quán)中心120,例如,在Sprague et al中公開(kāi)的加密操作中心,包括一個(gè)CPU122,一數(shù)據(jù)存儲(chǔ)器單元124,一個(gè)網(wǎng)絡(luò)接口126,和一個(gè)給出的數(shù)據(jù)庫(kù)128。一個(gè)網(wǎng)絡(luò)連接140,經(jīng)由一個(gè)網(wǎng)絡(luò)接口126,連接憑證授權(quán)中心120到一個(gè)通訊網(wǎng)絡(luò)150上,允許憑證授權(quán)中心120在通訊網(wǎng)絡(luò)150上進(jìn)行通訊。
一個(gè)用戶計(jì)算機(jī)包括一個(gè)CPU172,一個(gè)數(shù)據(jù)存儲(chǔ)器單元174,一個(gè)網(wǎng)絡(luò)接口176,一個(gè)數(shù)據(jù)庫(kù)178,以及擁有一個(gè)唯一標(biāo)識(shí)符182的安全處理器180,該標(biāo)識(shí)符與在Sprague et al中所描述的唯一的單元標(biāo)識(shí)一樣,是被給出的。一個(gè)網(wǎng)絡(luò)連接160,經(jīng)由一個(gè)網(wǎng)絡(luò)接口176,連接用戶計(jì)算機(jī)170到一個(gè)通訊網(wǎng)絡(luò)150上,允許用戶計(jì)算機(jī)170在通訊網(wǎng)絡(luò)150上進(jìn)行通訊。
一個(gè)認(rèn)證中心系統(tǒng)190包括一個(gè)CPU192,一個(gè)數(shù)據(jù)存儲(chǔ)單元194,一個(gè)網(wǎng)絡(luò)接口196,和給出的一個(gè)數(shù)據(jù)庫(kù)198。一個(gè)網(wǎng)絡(luò)連接199,經(jīng)由一個(gè)網(wǎng)絡(luò)接口196,連接認(rèn)證中心系統(tǒng)190到一個(gè)通訊網(wǎng)絡(luò)150上,允許認(rèn)證中心系統(tǒng)190在通訊網(wǎng)絡(luò)150上進(jìn)行通訊。認(rèn)證中心系統(tǒng)190提供了一個(gè)可信的認(rèn)證等級(jí),在其中applet服務(wù)器和憑證授權(quán)中心120的憑證和相關(guān)公鑰,對(duì)用戶計(jì)算機(jī)170中的安全處理器180而言是已知的。
圖2A顯示了一個(gè)applet200,它包括一個(gè)元數(shù)據(jù)部分202,一個(gè)可執(zhí)行部分204和一個(gè)憑證部分206。元數(shù)據(jù)部分202,如圖2B所示,包含一個(gè)安全元數(shù)據(jù)部分,一個(gè)資源元數(shù)據(jù)214,和一個(gè)元數(shù)據(jù)簽名部分216。資源元數(shù)據(jù)部分214包括指定必需資源的信息和一個(gè)applet序列號(hào),例如在Sprague et al中公開(kāi)的一個(gè)applet序列號(hào)。必需的資源可能包括,例如,一個(gè)生物統(tǒng)計(jì)傳感器,一個(gè)安全輸出,一個(gè)鍵盤(pán),一個(gè)個(gè)人身份識(shí)別號(hào)登陸裝置,一個(gè)第一智能卡插槽,一個(gè)第二智能卡插槽,一個(gè)指紋掃描儀,一個(gè)一般用途掃描儀,一個(gè)硬盤(pán)驅(qū)動(dòng)器,一個(gè)全球定位系統(tǒng)輸入,一個(gè)磁條卡讀卡機(jī),一個(gè)安全存儲(chǔ)區(qū)域,一個(gè)效能量測(cè),它定義了硬件的最小標(biāo)準(zhǔn),一個(gè)執(zhí)行特定加密運(yùn)算法則的運(yùn)算法則,和等等類(lèi)似的東西。Applet序列號(hào)指示了元數(shù)據(jù)部分202所屬的applet。元數(shù)據(jù)簽名部分216是由憑證授權(quán)中心120生成的??蓤?zhí)行部分204,如圖2C,包括一個(gè)加密的可執(zhí)行部分222和一個(gè)可執(zhí)行簽名部分224??蓤?zhí)行簽名部分224是由憑證授權(quán)中心120生成的。憑證部分206是由認(rèn)證中心系統(tǒng)190生成的。一旦軟件applet被下載,它就被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)單元174中。
圖3圖解了軟件applet的安裝和執(zhí)行進(jìn)程300。為了啟動(dòng)軟件applet的安裝和執(zhí)行進(jìn)程300,用戶計(jì)算機(jī)170在步驟302從applet服務(wù)器110請(qǐng)求applet200。該請(qǐng)求包括了唯一的單元識(shí)別182和一個(gè)applet序列號(hào)。這導(dǎo)致用戶計(jì)算機(jī)170在通訊網(wǎng)絡(luò)150上發(fā)送一個(gè)applet請(qǐng)求給applet服務(wù)器110。在一個(gè)可選擇的實(shí)施例中,用戶計(jì)算機(jī)170從一個(gè)分配媒體上,或者是從某些其他資源上,讀取applet200,該媒體例如在Sprague et al中提到的分配媒體。在步驟306,用戶計(jì)算機(jī)170下載applet200到用戶計(jì)算機(jī)的數(shù)據(jù)存儲(chǔ)單元174中。
Applet的安裝請(qǐng)求在步驟304被校驗(yàn)。用戶計(jì)算機(jī)170提示用戶提供一個(gè)鑒定碼來(lái)校驗(yàn)該請(qǐng)求源于該用戶。如果用戶提供的鑒定碼與存儲(chǔ)在安全處理器180中,用于唯一身份標(biāo)識(shí)的鑒定碼相匹配,一個(gè)applet200就是安裝的一個(gè)候選。如果用戶提供的鑒定碼與存儲(chǔ)在安全處理器180中,用于唯一身份標(biāo)識(shí)的鑒定碼不匹配,進(jìn)程300被中斷,安裝進(jìn)程接收到一個(gè)錯(cuò)誤消息,并且退出進(jìn)程300。在步驟308,安全處理器180校驗(yàn)安全處理器180在步驟308執(zhí)行applet的能力,這在圖4中有進(jìn)一步詳細(xì)的描述。作為選擇,最初只有元數(shù)據(jù)部分202和憑證部分206被下載到用戶計(jì)算機(jī)170,用于在步驟308的校驗(yàn)。這個(gè)元數(shù)據(jù)部分202和憑證部分206的初始下載,可以進(jìn)一步被直接下載到安全處理器中的數(shù)據(jù)存儲(chǔ)器。
在圖4,在步驟402,applet200的元數(shù)據(jù)部分202和憑證部分206被從數(shù)據(jù)存儲(chǔ)單元174中移入安全處理器180中。在元數(shù)據(jù)部分202被移入安全處理器180之后,在步驟403,applet200的憑證部分206被安全處理器180使用Rivest,Shamir和Adleman算法進(jìn)行校驗(yàn)。如果安全處理器180核實(shí)認(rèn)證中心系統(tǒng)190生成了憑證部分206,進(jìn)程300前進(jìn)到步驟404。如果認(rèn)證中心系統(tǒng)190沒(méi)有生成憑證部分206,進(jìn)程300被退出。
在步驟404,一個(gè)臨時(shí)變量resources被設(shè)為FALSE,而一個(gè)臨時(shí)變量secure被設(shè)為FALSE。之所以這樣設(shè)置是表示不知道安全處理器180是否有必需的安全級(jí)別來(lái)執(zhí)行applet,也不知道安全處理器180是否有必要的資源來(lái)執(zhí)行applet。
在步驟406,Applet200的元數(shù)據(jù)部分的數(shù)據(jù)完整性被校驗(yàn)。安全處理器180依靠元數(shù)據(jù)簽名部分216,使用一個(gè)公鑰校驗(yàn)算法來(lái)校驗(yàn)安全元數(shù)據(jù)部分212和資源元數(shù)據(jù)部分214的數(shù)據(jù)完整性。在某一個(gè)實(shí)施例中,使用了Rivest,Shamir和Adleman算法。最初,在applet200被從applet服務(wù)器110下載之前,元數(shù)據(jù)簽名部分216基于安全元數(shù)據(jù)部分212和資源元數(shù)據(jù)部分214而被生成。如果在安全元數(shù)據(jù)部分212或資源元數(shù)據(jù)部分214中的任何信息,在元數(shù)據(jù)簽名部分被生成和校驗(yàn)進(jìn)行這兩個(gè)時(shí)間之間被改變,那么校驗(yàn)進(jìn)程就失敗了。如果校驗(yàn)進(jìn)程失敗了,進(jìn)程300被退出并且顯示一個(gè)錯(cuò)誤。如果校驗(yàn)進(jìn)程在安全元數(shù)據(jù)部分212和資源元數(shù)據(jù)部分214中檢測(cè)不到改動(dòng),則繼續(xù)進(jìn)程300。
在安全處理器180上必需資源的可用性在步驟408得到校驗(yàn)。資源元數(shù)據(jù)部分214指定了許多可執(zhí)行部分在執(zhí)行時(shí)可能需要的資源。最好的是,資源元數(shù)據(jù)部分214指定了每一個(gè)可執(zhí)行部分在執(zhí)行時(shí)可能需要的資源。所有在資源元數(shù)據(jù)部分214中指定的資源在安全處理器180上必須是可用的,以便于安裝applet200。當(dāng)applet安裝時(shí),這些資源可能當(dāng)前正被另一個(gè)進(jìn)程使用,但是在執(zhí)行中,所有指定的資源必須在applet200的支配之中。如果安全處理器180擁有必需的資源,臨時(shí)變量resources被設(shè)為T(mén)RUE,從而指明所需的資源現(xiàn)在在安全處理器180中。
安全處理器180支持的安全等級(jí),例如,它的安全級(jí)別,必須在步驟410中被驗(yàn)證為至少和安全元數(shù)據(jù)212中指定的安全等級(jí)相等。如果在安全處理器中可用的安全等級(jí)至少和安全元數(shù)據(jù)212中指定的安全等級(jí)相等,applet200可以被安裝到安全處理器180上。如果applet200可以被安裝到安全處理器180,臨時(shí)變量secure被設(shè)為T(mén)RUE,表示安全處理器180上有所需的安全等級(jí)。
接下來(lái)進(jìn)程300前進(jìn)到圖3中的步驟310,在這兒檢測(cè)applet是否能夠被安裝。如果臨時(shí)變量secure和臨時(shí)變量resources是TRUE,applet200能夠被安裝。Applet200的元數(shù)據(jù)部分202被存儲(chǔ)在安全處理器180中,而步驟300前進(jìn)到步驟318。如果臨時(shí)變量secure或者臨時(shí)變量resources是FALSE,那么applet不能夠被安裝,并且進(jìn)程300前進(jìn)到步驟312。
安全處理器180確認(rèn)是否有某些已知的可選擇applet可用作步驟312中的applet。applet200的安裝失敗或者是因?yàn)榘踩幚砥?80不擁有所需的資源,或者是因?yàn)榘踩幚砥?80不支持必需的安全協(xié)議。安全處理器180通過(guò)讓用戶計(jì)算機(jī)170從applet服務(wù)器110中請(qǐng)求可選擇applet的清單,來(lái)開(kāi)始它對(duì)于某些可選擇applet是否存在的確認(rèn)。用戶計(jì)算機(jī)170傳送一個(gè)對(duì)可選擇applet的清單的請(qǐng)求。該請(qǐng)求包含唯一的單元標(biāo)識(shí)符182,不可被安裝的applet的applet序列號(hào),安全處理器180的安全級(jí)別,以及安全處理器180的資源性能。如果從applet服務(wù)器返回到用戶計(jì)算機(jī)170的可選擇applet的清單是空的,則退出進(jìn)程300。如果可選擇applet的清單不是空的,進(jìn)程300前進(jìn)到步驟314。
在步驟314中,安全處理器180指示用戶計(jì)算機(jī)向用戶出示可選擇applet清單。在步驟316,用戶可以挑選安裝可選擇applet中的一個(gè),或是拒絕選擇。如果用戶選擇接受可選擇applet中的一個(gè),進(jìn)程300從步驟302重新開(kāi)始。如果用戶拒絕可選擇的applet,則退出進(jìn)程300。
在步驟318,安全處理器180從applet服務(wù)器110請(qǐng)求一個(gè)解密密鑰。該解密密鑰請(qǐng)求包括唯一標(biāo)識(shí)182和applet序列號(hào)。該解密密鑰使安全處理器180能夠解密applet200的加密可執(zhí)行部分222。安全處理器200在步驟320等待解密密鑰。如果安全處理器180從applet服務(wù)器110接收到了解密密鑰,安全處理器180可以前進(jìn)到步驟322,從而繼續(xù)applet200的安裝。如果用戶計(jì)算機(jī)170沒(méi)有從applet服務(wù)器110接收到解密密鑰,applet200不能被安裝,退出進(jìn)程300。applet200的加密可執(zhí)行部分222在步驟322被校驗(yàn)。
圖5更詳細(xì)的顯示了在步驟322中,applet200的加密可執(zhí)行部分222的校驗(yàn)。為了校驗(yàn)加密可執(zhí)行部分222,在步驟502中,它必須首先被從數(shù)據(jù)存儲(chǔ)單元174中移動(dòng)到安全處理器180中。在步驟504,加密可執(zhí)行部分222被使用解密密鑰解密到一個(gè)非加密可執(zhí)行部分中。
非加密可執(zhí)行部分的數(shù)據(jù)完整性在步驟506進(jìn)行校驗(yàn)。安全處理器180通過(guò)預(yù)備applet序列號(hào)給非加密可執(zhí)行部分,來(lái)校驗(yàn)非加密可執(zhí)行部分的數(shù)據(jù)完整性,并使用一個(gè)公鑰校驗(yàn)算法來(lái)校驗(yàn)可執(zhí)行簽名部分224。在某一個(gè)實(shí)施例中,使用了Rivest,Shamir和Adleman算法。在applet服務(wù)器110下載applet之前,基于非加密可執(zhí)行部分中的數(shù)據(jù)生成可執(zhí)行簽名部分,它帶有被預(yù)備給非加密可執(zhí)行部分的applet序列號(hào)。在可執(zhí)行簽名部分被生成之后,applet序列號(hào)被從非加密可執(zhí)行部分上去掉,而非加密可執(zhí)行部分被加密從而生成加密可執(zhí)行部分222。如果在非加密可執(zhí)行簽名216被生成,到在安全處理器180上開(kāi)始校驗(yàn)這段時(shí)間內(nèi),在加密可執(zhí)行部分222和非加密可執(zhí)行部分中的任何信息,或是applet序列號(hào)被改變,校驗(yàn)進(jìn)程失敗。如果校驗(yàn)進(jìn)程失敗,則退出進(jìn)程300。如果校驗(yàn)進(jìn)程沒(méi)有在非加密可執(zhí)行部分中檢測(cè)到變化,applet可以被安裝。
在步驟508,非加密可執(zhí)行部分被加密并被捆綁到安全處理器180上。非加密可執(zhí)行部分被重加密,并生成一個(gè)本地解密密鑰。該本地解密密鑰由安全處理器180生成,并對(duì)安全處理器180而言是唯一的。重加密的可執(zhí)行部分只能夠由該本地解密密鑰解密,它被存儲(chǔ)在安全處理器180中。因此將加密可執(zhí)行部分捆綁到安全處理器180上。之后在步驟510,重加密可執(zhí)行部分被卸載到數(shù)據(jù)存儲(chǔ)單元174,從而完成了步驟322。之后進(jìn)程300前進(jìn)到圖3的步驟324。
在步驟324,確認(rèn)在此時(shí)是否要求執(zhí)行。如果此時(shí)要求執(zhí)行,進(jìn)程300進(jìn)入步驟326。如果此時(shí)沒(méi)有要求執(zhí)行,則退出進(jìn)程300。
圖6更詳細(xì)的顯示了在步驟326中applet200的執(zhí)行。作為安裝進(jìn)程的一部分,執(zhí)行進(jìn)程600可以被它自身激活,。在步驟602,加密可執(zhí)行部分被從數(shù)據(jù)存儲(chǔ)單元174移動(dòng)到安全處理器180中。在步驟604,加密可執(zhí)行部分222在安全處理器180中,被使用存儲(chǔ)在安全處理器180中的本地解密密鑰解密。
為了執(zhí)行非加密的可執(zhí)行部分,在applet200的元數(shù)據(jù)部分中指定的資源必須是可用的。在applet200的元數(shù)據(jù)部分中指定的資源的可用性在步驟606中被校驗(yàn)。安全處理器180讀取存儲(chǔ)于安全處理器180中的,來(lái)自于applet200元數(shù)據(jù)部分的資源元數(shù)據(jù)中的所需資源。如果安全處理器180的所需資源是空閑的,進(jìn)程前進(jìn)到步驟609。如果安全處理器180的所需資源不是空閑的,進(jìn)程前進(jìn)到步驟607。
在步驟607,安全處理器180控制用戶計(jì)算機(jī)170顯示一個(gè)消息給用戶,來(lái)確認(rèn)所需要的資源是非空閑的,并且提供給用戶機(jī)會(huì)來(lái)釋放必需的資源。非加密可執(zhí)行部分只有在它所需要的所有資源都對(duì)它來(lái)說(shuō)是可用的時(shí)候,才會(huì)被執(zhí)行。如果在步驟608用戶釋放了所需的資源,進(jìn)程300前進(jìn)到步驟609。如果用戶不能夠或沒(méi)有釋放所需資源,因?yàn)榱硪粋€(gè)進(jìn)程正在使用該資源,或其他什么原因,則退出進(jìn)程300。在一個(gè)可選擇的實(shí)施例中,安全處理器180按計(jì)劃等待直至所需的資源變?yōu)榭捎玫?。在另一個(gè)可選擇的實(shí)施例中,安全處理器180呈給用戶一個(gè)選擇,是延遲applet的執(zhí)行直至所需的資源空閑,還是根本就不執(zhí)行該applet。仍是在另一個(gè)可選擇的實(shí)施例中,資源基于事先建立的優(yōu)先選擇或優(yōu)先級(jí)按計(jì)劃被釋放。
在一個(gè)可選擇的實(shí)施例中,如果用戶能夠釋放所需的資源,進(jìn)程300返回步驟606而不是前進(jìn)到步驟608。
在步驟608,安全處理器180校驗(yàn)所需的資源是否已經(jīng)被用戶所釋放。如果用戶已經(jīng)釋放了所需的資源,進(jìn)程300前進(jìn)到步驟609。如果用戶沒(méi)有釋放所需資源,則退出進(jìn)程300。在步驟609,非加密可執(zhí)行部分被安全處理器180執(zhí)行。在步驟609,非加密可執(zhí)行部分完成所有它所被要求的動(dòng)作,并退出。在非加密可執(zhí)行部分執(zhí)行完畢之后,非加密可執(zhí)行部分必須被重加密。非加密可執(zhí)行部分在步驟612被加密,并移入數(shù)據(jù)存儲(chǔ)單元174,而解密密鑰被存儲(chǔ)在安全處理器180中,這樣就完成了步驟324,以及進(jìn)程300。這個(gè)步驟被用來(lái)完成對(duì)與可執(zhí)行部分相關(guān)的任何用戶和應(yīng)用程序的數(shù)據(jù)進(jìn)行重加密。
在一個(gè)可選擇的實(shí)施例中,步驟612和614可以被跳過(guò),如果安全處理器180沒(méi)有按計(jì)劃預(yù)留機(jī)會(huì)給applet的可執(zhí)行部分。
在一個(gè)可選擇的實(shí)施例中,步驟602和604可以在安裝進(jìn)程中被跳過(guò),使得可執(zhí)行部分在其校驗(yàn)之后可以立即被執(zhí)行。
圖7圖解了一個(gè)進(jìn)程700,用于applet服務(wù)器110響應(yīng)一個(gè)關(guān)于applet的請(qǐng)求。在步驟702,applet服務(wù)器110接收一個(gè)對(duì)applet的請(qǐng)求。對(duì)applet的請(qǐng)求包括唯一的單元識(shí)別符182和一個(gè)applet序列號(hào)。在步驟704,applet服務(wù)器110在數(shù)據(jù)庫(kù)118中搜索一個(gè)applet,該applet擁有在步驟702中接收到的請(qǐng)求所指定的applet序列號(hào)。如果applet服務(wù)器100擁有步驟702中接收到的請(qǐng)求所指定的applet,在步驟708,applet服務(wù)器100發(fā)送一個(gè)確認(rèn)請(qǐng)求到用戶計(jì)算機(jī)170。如果applet服務(wù)器沒(méi)有請(qǐng)求中指定的applet,在步驟706,applet服務(wù)器100發(fā)送一個(gè)報(bào)錯(cuò)消息給用戶計(jì)算機(jī)170并退出進(jìn)程700。
在一個(gè)可選擇的實(shí)施例中,如果applet服務(wù)器l00擁有該applet,步驟708,710,712,714,716可以被省略,進(jìn)程700直接從步驟704前進(jìn)到步驟716。
在步驟710,applet服務(wù)器110接收來(lái)自用戶的確認(rèn)代碼。在步驟712中,applet服務(wù)器110驗(yàn)證確認(rèn)代碼。在安全處理器180初始注冊(cè)的時(shí)候,applet服務(wù)器100把注冊(cè)的每一個(gè)唯一標(biāo)識(shí)182的確認(rèn)代碼,存儲(chǔ)在applet服務(wù)器100的數(shù)據(jù)庫(kù)118中。如果applet服務(wù)器100在步驟710接收到的確認(rèn)代碼,同存儲(chǔ)在數(shù)據(jù)庫(kù)118中的唯一標(biāo)識(shí)符182的確認(rèn)代碼相匹配,進(jìn)程700前進(jìn)到步驟716。如果兩個(gè)代碼不匹配,在步驟714,applet服務(wù)器100傳輸一個(gè)拒絕信息給用戶計(jì)算機(jī)170并退出進(jìn)程700。
在步驟716,applet服務(wù)器100依照規(guī)定校驗(yàn)用戶賬戶。如果用戶賬戶不是非法的,applet服務(wù)器100在步驟718中傳輸所需的applet并退出進(jìn)程700。如果用戶賬戶是非法的,applet服務(wù)器100在步驟720中傳輸一個(gè)拒絕信息給用戶計(jì)算機(jī)并退出進(jìn)程700。如果一個(gè)用戶的帳單沒(méi)有按定期方式被付清,或是因?yàn)槠渌纳虡I(yè)目的,例如作為被允許執(zhí)行applet的群體的一部分,該用戶的賬戶可以被視為非法的。
在一個(gè)可選擇的實(shí)施例中,用戶可以在applet服務(wù)器110上擁有一個(gè)存款帳戶。如果該存款帳戶中的金額大于所需的applet的授權(quán)費(fèi)用,該賬號(hào)就不是非法的。在另一個(gè)可選擇的實(shí)施例中,用戶可以有一個(gè)信用卡號(hào)歸檔在applet服務(wù)器110中。如果該信用卡號(hào)可以付清所需applet的授權(quán)費(fèi)用,該賬號(hào)就不是非法的。
在一個(gè)可選擇的實(shí)施例中,用戶可以在安全處理器110上擁有一個(gè)借貸帳戶。如果該借貸帳戶上的金額大于所需的applet的授權(quán)費(fèi)用,該本地借貸帳戶可以被用于與applet安裝費(fèi)用相關(guān)的金融交易。
在另一個(gè)可選擇的實(shí)施例中,用戶可以在安全處理器110上擁有一個(gè)信用帳戶。如果這個(gè)信用帳戶可以被用于建立一個(gè)真正的分期賒購(gòu)交易,安裝可以進(jìn)行。
圖8圖解了一個(gè)進(jìn)程800,用于applet服務(wù)器110響應(yīng)一個(gè)請(qǐng)求。在步驟802,applet服務(wù)器110接收到一個(gè)用于applet的解密密鑰請(qǐng)求。對(duì)于解密密鑰的請(qǐng)求包括唯一單元識(shí)別碼182和一個(gè)applet序列號(hào)。在步驟804,applet服務(wù)器110在數(shù)據(jù)庫(kù)118中搜索applet解密密鑰,該密鑰是由在步驟802接收到的請(qǐng)求所確認(rèn)的。如果applet服務(wù)器110擁有在步驟802接收到的請(qǐng)求所指定的applet解密密鑰,進(jìn)程800前進(jìn)到步驟808。如果applet服務(wù)器110沒(méi)有正確的applet解密密鑰,在步驟806,applet服務(wù)器110傳輸一個(gè)出錯(cuò)信息給用戶計(jì)算機(jī)170并退出進(jìn)程800。
在步驟808,applet服務(wù)器100依照規(guī)定校驗(yàn)用戶賬戶。如果用戶賬戶不是非法的,applet服務(wù)器100在步驟812中傳輸所需解密密鑰的并退出進(jìn)程800。如果用戶賬戶是非法的,applet服務(wù)器100在步驟810中傳輸一個(gè)拒絕信息給用戶計(jì)算機(jī)并退出進(jìn)程800。如果一個(gè)用戶的帳單沒(méi)有按定期方式被付清,該用戶的賬戶是非法的,。
在一個(gè)可選擇的實(shí)施例中,用戶可以在applet服務(wù)器110上擁有一個(gè)存款帳戶,如果存款帳戶中的金額大于所需的applet的授權(quán)費(fèi)用,該賬號(hào)就不是非法的。在另一個(gè)可選擇的實(shí)施例中,用戶可以有一個(gè)信用卡號(hào)歸檔在applet服務(wù)器110中。如果該信用卡號(hào)可以付清所需applet的授權(quán)費(fèi)用,該賬號(hào)就不是非法的。
在一個(gè)可選擇的實(shí)施例中,用戶可以在安全處理器180上擁有一個(gè)借貸帳戶。如果該借貸帳戶上的金額大于所需的applet的授權(quán)費(fèi)用,該本地借貸帳戶可以被用于和applet安裝費(fèi)用相關(guān)的金融交易。
在另一個(gè)可選擇的實(shí)施例中,用戶可以在安全處理器180上擁有一個(gè)信用帳戶。如果這個(gè)信用帳戶可以被用于建立一個(gè)真正的分期賒購(gòu)交易,安裝可以進(jìn)行。
圖9圖解了一個(gè)進(jìn)程900,用于applet服務(wù)器110響應(yīng)一個(gè)對(duì)可選擇applet的請(qǐng)求。在步驟902,applet服務(wù)器110接收到一個(gè)對(duì)可選擇applet清單的請(qǐng)求。對(duì)可選擇applet清單的請(qǐng)求包括唯一單元識(shí)別符182,一個(gè)applet序列號(hào),安全處理器180的安全級(jí)別和安全處理器180的資源性能。
在步驟904,applet服務(wù)器110搜索已知的可選擇applet作為applet200。applet200的安裝失敗或者是因?yàn)榘踩幚砥?80沒(méi)有所需的資源,或者是因?yàn)榘踩幚砥?80不支持所必需的安全保護(hù)。applet服務(wù)器110分析安全處理器180的安全級(jí)別,以及安全處理器180的資源性能,來(lái)確認(rèn)安裝失敗的原因。applet服務(wù)器110在它的數(shù)據(jù)庫(kù)118中搜索等價(jià)的applet,該applet需要更少的資源,較低的安全程度,或兩者都有,這取決于失敗安裝的原因。
在步驟906,applet服務(wù)器110生成一個(gè)可選擇applet的清單。在步驟904,applet服務(wù)器110獲得數(shù)據(jù)庫(kù)查詢的執(zhí)行結(jié)果,并從這些數(shù)據(jù)中生成一個(gè)可選擇applet清單。在步驟908,applet服務(wù)器110傳輸該可選擇applet清單給用戶計(jì)算機(jī)170,無(wú)論該清單是否為空。在該清單被傳輸之后,退出進(jìn)程900。
在一個(gè)可選擇的實(shí)施例中,安全等級(jí)可以同applet的費(fèi)用相關(guān)聯(lián)。換句話說(shuō),用戶可能不得不付更高的費(fèi)用,來(lái)接收安全處理器180中的applet,如果它有比典型的applet請(qǐng)求更低的安全等級(jí)的話。因此用戶要為使用較低安全等級(jí)的applet付額外的費(fèi)用。
在一個(gè)可選擇的實(shí)施例中,applet200的費(fèi)用可以同該applet提供的安全等級(jí)相關(guān)聯(lián)。用戶可能不得不為一個(gè)更安全的服務(wù)付更高的費(fèi)用,因?yàn)楦叩鹊陌踩?wù)提供了一個(gè)更高水平的服務(wù)完整性。
在另一個(gè)可選擇實(shí)施例中,同等的安全等級(jí)可以通過(guò)執(zhí)行的核算量來(lái)分配。系統(tǒng)中的核算量越大,所需的安全等級(jí)越高。專(zhuān)門(mén)致力于安全硬件和安全軟件的確認(rèn)的獨(dú)立第三方團(tuán)體,可以獨(dú)立的分配安全等級(jí)給安全處理器和applet。通過(guò)由擁有尊重和行業(yè)信任的第三方團(tuán)體確認(rèn)環(huán)境和相關(guān)的服務(wù),可能提供一個(gè)更高等級(jí)的憑證,以及附加提供保險(xiǎn)單或其他保險(xiǎn)來(lái)分配服務(wù)的責(zé)任。
由于applet發(fā)布商有能力指定他們的服務(wù)所需的資源和安全需求,硬件供應(yīng)商有能力指定他們的安全處理器的資源和安全等級(jí),以及用戶有能力指定他們想要的最小的安全需求,這樣就有可能生成一個(gè)定制的安全執(zhí)行能力,來(lái)滿足多方交易模式下不同設(shè)備的所有需求。
權(quán)利要求
1.在一個(gè)擁有一個(gè)數(shù)據(jù)存儲(chǔ)器和一個(gè)安全處理器的計(jì)算機(jī)系統(tǒng)上安全的安裝一個(gè)applet的方法,包含接收一個(gè)applet到一個(gè)數(shù)據(jù)存儲(chǔ)器中;從至少applet的一部分中確認(rèn)該applet是否可以被一個(gè)安全處理器執(zhí)行;以及如果安全處理器可以執(zhí)行該applet,則安裝該applet到安全處理器上。
2.權(quán)利要求1所述的方法,其中的applet被存儲(chǔ)在一個(gè)非安全的存儲(chǔ)器中。
3.權(quán)利要求2所述的方法,其中的applet進(jìn)一步包含一個(gè)元數(shù)據(jù)部分;以及一個(gè)可執(zhí)行部分。
4.權(quán)利要求3所述的方法,其中的applet進(jìn)一步包含一個(gè)憑證部分。
5.權(quán)利要求3所述的方法,其中的元數(shù)據(jù)部分,進(jìn)一步包含一個(gè)安全元數(shù)據(jù)部分;一個(gè)資源元數(shù)據(jù)部分,它指定了applet執(zhí)行所需的所有資源;以及一個(gè)元數(shù)據(jù)簽名部分。
6.權(quán)利要求5所述的方法,其中的資源元數(shù)據(jù)部分是用于指定資源的,這些資源包含以下的至少一個(gè)一個(gè)生物統(tǒng)計(jì)傳感器;一個(gè)安全輸出;一個(gè)鍵盤(pán);一個(gè)個(gè)人身份識(shí)別號(hào)登陸裝置;一個(gè)全球定位系統(tǒng)輸入;一個(gè)磁條卡讀卡機(jī);一個(gè)安全存儲(chǔ)區(qū)域;一個(gè)效能測(cè)量;一個(gè)執(zhí)行特定加密運(yùn)算法則的運(yùn)算法則;以及至少一個(gè)智能卡插槽。
7.權(quán)利要求5所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含裝載applet的元數(shù)據(jù)部分到安全處理器的一個(gè)安全存儲(chǔ)區(qū)域中。
8.權(quán)利要求7所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含依靠applet的元數(shù)據(jù)部分的簽名部分加密地校驗(yàn)applet元數(shù)據(jù)部分的安全元數(shù)據(jù)部分和資源元數(shù)據(jù)部分。
9.權(quán)利要求7所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含校驗(yàn)安全處理器的一個(gè)安全處理器安全級(jí)別,是否滿足或超過(guò)該applet的安全元數(shù)據(jù)部分的一個(gè)安全處理器的安全需求。
10.權(quán)利要求9所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含確認(rèn)安全處理器的一個(gè)安全處理器安全級(jí)別,是否未滿足或超過(guò)該applet的安全元數(shù)據(jù)部分的一個(gè)安全處理器安全需求;以及建議使用第二個(gè)applet,它所擁有的第二個(gè)安全處理器安全需求,可以被安全處理器的安全處理器安全級(jí)別滿足或超過(guò)。
11.權(quán)利要求10所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含對(duì)使用第二applet的額外費(fèi)用的管理。
12.權(quán)利要求7所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含確認(rèn)安全處理器可以提供applet元數(shù)據(jù)部分的資源元數(shù)據(jù)部分中指定的資源。
13.權(quán)利要求12所述的方法,其中由安全處理器確認(rèn)applet是否可以被執(zhí)行的步驟進(jìn)一步包含確認(rèn)安全處理器沒(méi)有能力提供至少一個(gè)在applet元數(shù)據(jù)部分的資源元數(shù)據(jù)部分中指定的資源;并建議使用第二個(gè)applet,它可以指定該安全處理器可以提供的唯一資源。
14.權(quán)利要求3所述的方法,其中的可執(zhí)行部分進(jìn)一步包含一個(gè)加密可執(zhí)行部分;以及一個(gè)非加密可執(zhí)行簽名。
15.權(quán)利要求14所述的方法,其中安裝applet到安全處理器上的步驟,進(jìn)一步包含將該applet的可執(zhí)行部分存儲(chǔ)到安全存儲(chǔ)區(qū)域中去。
16.權(quán)利要求15所述的方法,其中安裝applet到安全處理器上的步驟進(jìn)一步包含為applet的加密可執(zhí)行部分請(qǐng)求一個(gè)解密密鑰;接收該解密密鑰;并使用該解密密鑰將加密可執(zhí)行部分解密到一個(gè)非加密可執(zhí)行部分中去。
17.權(quán)利要求16所述的方法,其中安裝applet到安全處理器上的步驟進(jìn)一步包含,依靠非加密可執(zhí)行簽名來(lái)校驗(yàn)非加密可執(zhí)行部分。
18.權(quán)利要求16所述的方法,其中安裝applet到安全處理器上的步驟進(jìn)一步包含,依靠非加密可執(zhí)行簽名來(lái)校驗(yàn)預(yù)備有一個(gè)applet序列號(hào)的非加密可執(zhí)行部分。
19.權(quán)利要求17所述的方法,其中安裝applet到安全處理器上的步驟進(jìn)一步包含將非加密可執(zhí)行部分捆綁到安全處理器上。
20.權(quán)利要求17所述的方法,其中安裝applet到安全處理器上的步驟進(jìn)一步包含將非加密可執(zhí)行部分加密成一個(gè)加密可執(zhí)行部分;將該加密可執(zhí)行部分存儲(chǔ)在非安全存儲(chǔ)器中;并將加密可執(zhí)行部分的解密密鑰存儲(chǔ)在安全存儲(chǔ)區(qū)域中。
21.權(quán)利要求1所述的方法,其中的計(jì)算機(jī)系統(tǒng)進(jìn)一步包含一個(gè)非安全處理器。
22.一個(gè)用于在具有一個(gè)數(shù)據(jù)存儲(chǔ)器和一個(gè)安全處理器的一個(gè)計(jì)算機(jī)系統(tǒng)上安全的安裝一個(gè)applet的方法,包含接收一個(gè)applet到一個(gè)非安全數(shù)據(jù)存儲(chǔ)器中,上述applet包含一個(gè)元數(shù)據(jù)部分,上述元數(shù)據(jù)部分包含一個(gè)安全元數(shù)據(jù)部分;一個(gè)資源元數(shù)據(jù)部分,它指定了該applet執(zhí)行所需的所有資源;以及一個(gè)元數(shù)據(jù)簽名部分;和一個(gè)可執(zhí)行部分;基于至少一部分applet的安全元數(shù)據(jù)部分和資源元數(shù)據(jù)部分,來(lái)確認(rèn)該applet能否被一個(gè)安全處理器執(zhí)行,包含校驗(yàn)該安全處理器的安全處理器安全級(jí)別,是滿足或是超過(guò)該applet的安全元數(shù)據(jù)部分的安全處理器安全需求;以及校驗(yàn)該安全處理器是否可以提供在applet元數(shù)據(jù)部分的資源元數(shù)據(jù)中指定的資源;以及如果安全處理器能夠執(zhí)行該applet,則在該安全處理器上安裝該applet。
23.權(quán)利要求22所述的方法,其中確認(rèn)applet是否可以被安全處理器執(zhí)行的步驟進(jìn)一步包含,依靠applet的元數(shù)據(jù)部分的簽名部分,來(lái)校驗(yàn)applet的元數(shù)據(jù)部分的安全元數(shù)據(jù)部分和資源元數(shù)據(jù)部分。
24.權(quán)利要求23所述的方法,其中確認(rèn)applet是否可以被安全處理器執(zhí)行的步驟進(jìn)一步包含確認(rèn)安全處理器的安全處理器安全級(jí)別,并未滿足或是超過(guò)該applet的安全元數(shù)據(jù)部分的安全處理器安全需求;建議使用第二個(gè)applet,它所擁有的第二個(gè)安全處理器安全需求,可以被安全處理器的安全處理器安全級(jí)別滿足或超過(guò)。
25.權(quán)利要求24所述的方法,其中確認(rèn)applet是否可以被安全處理器執(zhí)行的步驟進(jìn)一步包含對(duì)使用第二個(gè)applet的額外費(fèi)用的管理。
26.權(quán)利要求22所述的方法,其中在安全處理器上安裝applet的步驟進(jìn)一步包含將applet的可執(zhí)行部分存儲(chǔ)到安全存儲(chǔ)區(qū)域中。
27.權(quán)利要求26所述的方法,其中在安全處理器上安裝applet的步驟進(jìn)一步包含請(qǐng)求一個(gè)解密密鑰用于applet的加密可執(zhí)行部分;接收解密密鑰;并使用該解密密鑰,將加密可執(zhí)行部分解密到一個(gè)非加密可執(zhí)行部分中去。
28.權(quán)利要求26所述的方法,其中在安全處理器上安裝applet的步驟進(jìn)一步包含使用解密密鑰,將加密可執(zhí)行部分解密到一個(gè)非加密可執(zhí)行部分中去;并將該非加密可執(zhí)行部分捆綁到安全處理器上。
29.權(quán)利要求28所述的方法,其中在安全處理器上安裝applet的步驟進(jìn)一步包含將非加密可執(zhí)行部分加密成一個(gè)加密可執(zhí)行部分;將加密可執(zhí)行部分存儲(chǔ)在非安全存儲(chǔ)器中;并將加密可執(zhí)行部分的解密密鑰存儲(chǔ)在安全存儲(chǔ)區(qū)域中。
30.一種方法被用于提供一個(gè)可選擇applet的清單,該清單用于第一個(gè)applet不能被安裝在一臺(tái)擁有至少一個(gè)資源和擁有一個(gè)于安全級(jí)別相關(guān)的安全處理器的計(jì)算機(jī)上的情況,該方法包含接收一個(gè)來(lái)自于安全處理器的對(duì)一個(gè)可選擇applet清單的請(qǐng)求;該請(qǐng)求包括一個(gè)applet序列號(hào),它識(shí)別第一個(gè)applet;一個(gè)識(shí)別符,它識(shí)別安全處理器;一個(gè)第一指示器,它識(shí)別安全處理器的一個(gè)安全級(jí)別;以及一個(gè)第二指示器,它識(shí)別計(jì)算機(jī)的至少一個(gè)資源;基于第一指示器和第二指示器的至少一部分,從大多數(shù)applet中生成可選擇applet的清單;并傳送多個(gè)可選擇applet清單給計(jì)算機(jī)。
31.權(quán)利要求30所述的方法,進(jìn)一步包含從可選擇applet清單中安裝一個(gè)可選擇的applet;并管理安裝可選擇applet的額外費(fèi)用。
32.權(quán)利要求30所述的方法,其中的識(shí)別符唯一的識(shí)別安全處理器。
33.一個(gè)安全applet執(zhí)行系統(tǒng),包含一個(gè)數(shù)據(jù)存儲(chǔ)單元,存儲(chǔ)安全applet執(zhí)行系統(tǒng)接收到的一個(gè)applet;以及一個(gè)安全處理器,從applet的至少一部分確認(rèn)該applet是否可以被該安全處理器執(zhí)行,并且如果該安全處理器可以執(zhí)行該applet,則安裝該applet到該安全處理器上。
34.權(quán)利要求33所述的安全applet執(zhí)行系統(tǒng),其中的applet進(jìn)一步包含一個(gè)元數(shù)據(jù)部分;以及一個(gè)可執(zhí)行部分。
35.權(quán)利要求34所述的安全applet執(zhí)行系統(tǒng),其中的applet進(jìn)一步包含一個(gè)憑證部分。
36.權(quán)利要求35所述的安全applet執(zhí)行系統(tǒng),其中的元數(shù)據(jù)部分進(jìn)一步包含一個(gè)安全元數(shù)據(jù)部分;一個(gè)資源元數(shù)據(jù)部分,它指定了applet執(zhí)行所需的所有資源;以及一個(gè)元數(shù)據(jù)簽名部分;
37.一個(gè)安全applet執(zhí)行系統(tǒng),包含一個(gè)非安全數(shù)據(jù)存儲(chǔ)元件,存儲(chǔ)安全applet執(zhí)行系統(tǒng)接收到的一個(gè)applet;上述applet包含一個(gè)元數(shù)據(jù)部分;和一個(gè)可執(zhí)行部分。上述元數(shù)據(jù)部分包含一個(gè)安全元數(shù)據(jù)部分;一個(gè)資源元數(shù)據(jù)部分,它指定了applet執(zhí)行所需的所有資源;以及一個(gè)元數(shù)據(jù)簽名部分;一個(gè)安全處理器,從applet的至少一部分確認(rèn)該applet是否可以被該安全處理器執(zhí)行,并且如果該安全處理器可以執(zhí)行該applet,則安裝該applet到該安全處理器上。
38.一個(gè)被構(gòu)造用來(lái)包括一個(gè)加密安全可執(zhí)行部分的安全applet,包含一個(gè)元數(shù)據(jù)部分;上述元數(shù)據(jù)部分包括一個(gè)安全元數(shù)據(jù)部分;一個(gè)資源元數(shù)據(jù)部分;以及一個(gè)元數(shù)據(jù)簽名部分;一個(gè)可執(zhí)行部分,上述加密可執(zhí)行部分包括一個(gè)加密可執(zhí)行部分;和一個(gè)非加密可執(zhí)行簽名部分;以及一個(gè)憑證部分。
39.權(quán)利要求39所述的安全applet,其中上述安全元數(shù)據(jù)部分包含描述解密和執(zhí)行該加密可執(zhí)行部分所需的安全需求信息。
40.權(quán)利要求38所述的安全applet,其中的資源元數(shù)據(jù)部分包含描述執(zhí)行該加密可執(zhí)行部分所需的安全需求信息。
41.權(quán)利要求38所述的安全applet,其中的資源元數(shù)據(jù)部分包含了一個(gè)applet序列號(hào)。
42.權(quán)利要求41所述的安全applet,其中的非加密簽名部分包含了一些信息,該信息適用于在加密可執(zhí)行部分被applet序列號(hào)解密和預(yù)備的時(shí)候,校驗(yàn)其是否已經(jīng)在某種程度上被修改過(guò)。
43.權(quán)利要求38所述的安全applet,其中的元數(shù)據(jù)簽名部分包含了一些信息,該信息適用于校驗(yàn)安全元數(shù)據(jù)部分和資源元數(shù)據(jù)部分是否已經(jīng)在某種程度上被修改過(guò)。
全文摘要
提供一個(gè)系統(tǒng)(100)和方法(300)用于在一個(gè)安全處理器(180)上安裝和執(zhí)行一個(gè)applet。該系統(tǒng)(100)和方法(300)可以接收applet到非安全存儲(chǔ)器(174)中。該applet包括了一個(gè)元數(shù)據(jù)部分(202)和一個(gè)可執(zhí)行部分(204)。元數(shù)據(jù)部分(202)包括一個(gè)安全元數(shù)據(jù)部分,一個(gè)資源元數(shù)據(jù)部分(212),和一個(gè)元數(shù)據(jù)簽名部分(216)。該系統(tǒng)(100)和方法(300)至少一部分基于applet的安全元數(shù)據(jù)部分(212)和資源元數(shù)據(jù)部分(214),來(lái)確認(rèn)該applet是否可以被安全處理器(180)執(zhí)行,并且如果該applet可以被安全處理器(180)執(zhí)行,則在安全處理器(180)上安裝該applet。
文檔編號(hào)G06F21/22GK1849581SQ02810012
公開(kāi)日2006年10月18日 申請(qǐng)日期2002年5月14日 優(yōu)先權(quán)日2001年5月15日
發(fā)明者倫納德·斯科特·維里, 埃里卡·伊麗莎白·特布斯 申請(qǐng)人:維福系統(tǒng)公司