專利名稱:智能卡應(yīng)用程序管理系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能卡,具體涉及智能卡應(yīng)用程序管理系統(tǒng)及其方法。
背景技術(shù):
智能卡(Smart Card)是一種帶有微處理器和存儲器等微型集成電路芯片的、具有標準規(guī)格的卡片。作為一種安全加密和身份識別的工具,智能卡的應(yīng)用范圍越來越廣,隨之而來的是圍繞智能卡的相關(guān)技術(shù)也迅速發(fā)展起來。例如,為了適應(yīng)大容量智能卡的發(fā)展,歐洲電信標準化協(xié)會定義了用于智能卡和終端之間通信的USB接口 ,利用該接口和相關(guān)的通信協(xié)議,智能卡可以與臺式計算機、膝上型計算機等終端進行通信,從而解決了智能卡與終端之間的通信問題。 然而,這種快速通信接口 (例如,USB2. 0、匪C等)及相應(yīng)通信協(xié)議(例如TCP/IP、BIP)的使用,使現(xiàn)在流行于計算機和互聯(lián)網(wǎng)的各種病毒有機會進入智能卡,使智能卡的安全性受到威脅。 另外,伴隨著各種平臺和規(guī)范的實施,智能卡已經(jīng)可以提供對線程的支持并可以運行小服務(wù)程序(Servlet),從而可以作為網(wǎng)絡(luò)服務(wù)器對外界提供網(wǎng)絡(luò)服務(wù)。隨著智能卡容量的不斷增加以及硬件處理能力的提高,已經(jīng)能在智能卡上運行一些通用的多用戶多任務(wù)的操作系統(tǒng),例如嵌入式Li皿x、 Windows CE、Windows Mobile等操作系統(tǒng)。這種通用性操作系統(tǒng)的引入極大地推動了智能卡應(yīng)用程序的開發(fā),并幫助智能卡應(yīng)用到更多的領(lǐng)域中。
然而,這也給智能卡帶來了安全性問題,因為通用性的操作系統(tǒng)更容易被人們所了解,因而更容易受到木馬和病毒的攻擊。而智能卡作為一種安全信息的存儲載體,通常所保存的都是重要且機密的信息,因而,如何確保智能卡不被各種木馬和病毒破壞就成為一項很重要的任務(wù)。 遺憾的是,當前并沒有一套有效的解決方案能確保智能卡與外界通信的安全和自身操作系統(tǒng)的安全運行。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)的缺陷,本發(fā)明提供一種智能卡應(yīng)用程序管理系統(tǒng)及其方法。
利用該系統(tǒng)和方法,可以確保智能卡與外界通信的安全和自身操作系統(tǒng)的安全運行。進一
步地,利用本發(fā)明的系統(tǒng)和方法可以全程檢測和監(jiān)控各類應(yīng)用程序在智能卡上的下載、安
裝、運行、更新以及卸載等各個環(huán)節(jié),從而有效地保證智能卡系統(tǒng)的安全性。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序管理系統(tǒng),包
括 程序下載器,用于從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的
摘要信息和所述摘要信息的數(shù)字簽名; 加解密單元,用于進行加/解密處理;以及 程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三
9方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助下確定所述下載的打包文件是否是安全的, 其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序下載器存儲所述下載的打包文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序管理方法,包括步驟 從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的數(shù)字簽名; 基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,確定所述下載的打包文件是否是安全的;以及
當確定結(jié)果為肯定時,存儲所述下載的打包文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序下載裝置,包括 程序下載器,用于從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的
摘要信息和所述摘要信息的數(shù)字簽名; 加解密單元,用于進行加/解密處理;以及 程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助下確定所述下載的打包文件是否是安全的, 其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序下載器存儲所述下載的打包文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序安裝裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及 程序安裝器,用于當被指示安裝已下載到所述智能卡的新應(yīng)用程序時,將對所述
新應(yīng)用程序的打包文件進行解包得到的所述新應(yīng)用程序的各個文件注冊到所述文件注冊
單元中并在所述文件存儲單元中存儲所述新應(yīng)用程序的各個文件,以及計算所述新應(yīng)用程
序的各個文件中的可執(zhí)行類文件的摘要信息并存儲在所述摘要信息存儲單元中。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序加載裝置,包
括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及 程序加載器,用于當被指示加載應(yīng)用程序時,檢查在所述文件注冊單元中是否已經(jīng)注冊有所述被指示加載的應(yīng)用程序的文件信息,以及當檢查結(jié)果為肯定時,從所述文件存儲單元中加載所述被指示加載的應(yīng)用程序的文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序卸載裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息;
文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及 程序卸載器,用于當被指示卸載應(yīng)用程序時,刪除在所述文件注冊單元中注冊的所述被指示卸載的應(yīng)用程序的各個文件的信息、在所述摘要信息存儲單元中存儲的所述被指示卸載的應(yīng)用程序的可執(zhí)行文件的摘要信息以及在所述文件存儲單元存儲的所述被指示卸載的應(yīng)用程序的各個文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序更新裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件; 程序更新器,用于當被指示更新已安裝在所述智能卡上的應(yīng)用程序時,下載所述被指示更新的應(yīng)用程序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的數(shù)字簽名, 加解密單元,用于進行加/解密處理;以及 程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述被指示更新的應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助下確定所述下載的更新打包文件是否是安全的, 其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序更新器基于對所述更新打包文件進行解包得到的文件,更新所述文件注冊單元、所述摘要信息存儲單元和所述文件存儲單元。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序下載方法,包括步驟 從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的數(shù)字簽名; 基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,確定所述下載的打包文件是否是安全的;以及
當確定結(jié)果為肯定時,存儲所述下載的打包文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序安裝方法,包括 當被指示安裝已經(jīng)下載到所述智能卡的新應(yīng)用程序時,對所述新應(yīng)用程序的打包文件進行解包處理以得到所述新應(yīng)用程序的各個文件;
注冊所述新應(yīng)用程序的各個文件的信息; 計算所述新應(yīng)用程序的各個文件中的可執(zhí)行類文件的摘要信息;
存儲所述計算的可執(zhí)行類文件的摘要信息;以及
存儲所述新應(yīng)用程序的各個文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序加載方法,包
11括 當被指示加載應(yīng)用程序時,檢查在預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序
的文件的信息中是否已經(jīng)注冊有所述被指示加載的應(yīng)用程序的文件信息;以及 當檢查結(jié)果為肯定時,從預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件中
加載所述被指示加載的應(yīng)用程序的文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序卸載方法,其 中,還包括 當被指示卸載應(yīng)用程序時,從預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序的文 件的信息中刪除所述被指示卸載的應(yīng)用程序的各個文件的信息; 從預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的可執(zhí)行類文件的摘要信息中 刪除所述被指示卸載的應(yīng)用程序的可執(zhí)行文件的摘要信息;以及 從預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件中刪除所述被指示卸載 的應(yīng)用程序的各個文件。 為了實現(xiàn)本發(fā)明的目的,按照本發(fā)明的一種用于智能卡的應(yīng)用程序更新方法,包 括 當被指示更新應(yīng)用程序時,從所述應(yīng)用程序載體中下載所述被指示更新的應(yīng)用程
序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的數(shù)字簽名; 基于所述下載的摘要信息和數(shù)字簽名以及從所述第三方安全認證中心獲取的被
指示更新應(yīng)用程序的提供商的公鑰,確定所述下載的更新打包文件是否是安全的; 當確定結(jié)果為肯定時,對所述下載的更新打包文件進行解包處理以得到所述被指
示更新應(yīng)用程序的各個文件;以及 基于所述被指示更新應(yīng)用程序的各個文件,更新預(yù)先注冊的已安裝在所述智能卡 上的應(yīng)用程序的文件的信息、預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的可執(zhí)行類文 件的摘要信息和預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件。
見。其中
架構(gòu)本發(fā)明的其他特征、目的和益處通過以下結(jié)合附圖的詳細描述將變得更加顯而易
圖1是包括根據(jù)本發(fā)明一個實施例的具有應(yīng)用程序管理系統(tǒng)的智能卡的示意性
圖2是按照本發(fā)明-圖3是按照本發(fā)明-圖4是按照本發(fā)明-圖5是按照本發(fā)明-圖6是按照本發(fā)明-圖7是按照本發(fā)明-
-個實施例的應(yīng)用程序管理系統(tǒng)的結(jié)構(gòu)示意-個實施例的用于下載應(yīng)用程序的方法的流程圖
-個實施例的用于安裝應(yīng)用程序的方法的流程圖
-個實施例的用于加載應(yīng)用程序的方法的流程圖
-個實施例的用于更新應(yīng)用程序的方法的流程圖
-個實施例的用于卸載應(yīng)用程序的方法的流程圖
以及
具體實施例方式
在下文中,將參考附圖通過具體實施例對本發(fā)明進行描述,應(yīng)該注意,本發(fā)明并不局限于以下所描述的實施例。 圖1示出了按照本發(fā)明一個實施例的具有應(yīng)用程序管理系統(tǒng)的智能卡的示意性 架構(gòu)圖。如圖l所示,應(yīng)用程序管理系統(tǒng)工作于智能卡的操作系統(tǒng)之上,檢測和監(jiān)控智能 卡上各種應(yīng)用程序的下載、安裝、更新、運行、使用以及卸載等。在這里,智能卡的操作系 統(tǒng)可以是任何類型的嵌入式操作系統(tǒng),包括但不限于嵌入式Li皿x、 Windows CE、 Windows Mobile和Symbian等操作系統(tǒng);智能卡上的各種應(yīng)用程序可以是任何類型的應(yīng)用程序,包 括但不限于直接運行于操作系統(tǒng)之上的本地應(yīng)用程序、被本地應(yīng)用程序所使用的共享庫或 動態(tài)鏈接庫等、運行于.NET框架上的.NET應(yīng)用程序、運行于Java虛擬機上的Java應(yīng)用程 序、運行于Java的Servlet容器中的Servlet小程序以及其它各種可能需要在特定平臺上 解釋執(zhí)行的腳本程序文件等。 圖2示出了按照本發(fā)明一個實施例的用于智能卡的應(yīng)用程序管理系統(tǒng)的結(jié)構(gòu)示 意圖。如圖2所示,應(yīng)用程序管理系統(tǒng)10包括程序下載器102、程序認證單元104、加解密 單元106、程序安裝器108、程序加載器110、程序更新器112、程序卸載器114、文件注冊表 116、摘要信息數(shù)據(jù)庫118以及文件存儲單元120。其中,程序下載器102與外部的應(yīng)用程序 載體20連接,以及,程序認證單元104與外部的第三方安全認證中心30連接。
—般而言,為了便于應(yīng)用程序的傳播,應(yīng)用程序的提供商通常會將應(yīng)用程序的各 個文件進行打包以得到應(yīng)用程序的打包文件,該打包文件可以是諸如zip、 jar、 tar等這樣 的文件格式。此外,應(yīng)用程序的提供商利用諸如MD5或SHA-1等的摘要提取算法提取該打 包文件的摘要信息,以及,應(yīng)用程序的提供商利用其私鑰對該打包文件的摘要信息進行加 密得到一個數(shù)字簽名。在這里,應(yīng)用程序的打包文件、打包文件的摘要信息和摘要信息的數(shù) 字簽名一起存儲在應(yīng)用程序載體20中。這里,應(yīng)用程序載體20可以包括但不限于計算機、 互聯(lián)網(wǎng)或其它終端等。 此外,應(yīng)用程序的提供商將其公鑰提供給第三方安全認證中心30,以便其他人查 取。 程序下載器102用于從應(yīng)用程序載體20中下載在智能卡上沒有安裝的新應(yīng)用程 序。 程序安裝器108用于安裝程序下載器102所下載的新應(yīng)用程序。 程序加載器110用于在智能卡中安全地加載已安裝的應(yīng)用程序。 程序更新器112用于更新已安裝在智能卡上的應(yīng)用程序。 程序卸載器114用于安全地卸載已安裝在智能卡上的應(yīng)用程序。 程序認證單元104用于確定程序下載器102所下載的新應(yīng)用程序或者程序更新器
112所下載的應(yīng)用程序的更新是否安全,即是否來源可靠并且在傳輸過程中沒有被篡改。 加解密單元106用于向程序認證單元104提供加解密功能。 文件注冊表116作為文件注冊單元用于存儲安裝在智能卡上的應(yīng)用程序的文件 的信息。 摘要信息數(shù)據(jù)庫118作為摘要信息存儲單元用于保存安裝在智能卡上的應(yīng)用程 序的可執(zhí)行文件的摘要信息。 文件存儲單元120用于存儲安裝在智能卡上的應(yīng)用程序的文件。 下面,分別結(jié)合圖3-圖7來描述根據(jù)本發(fā)明各個實施例的由應(yīng)用程序管理系統(tǒng)10所執(zhí)行的應(yīng)用程序管理方法,包括下載新應(yīng)用程序的方法、安裝新應(yīng)用程序的方法、加載
已安裝的應(yīng)用程序的方法、更新已安裝的應(yīng)用程序的方法、卸載已安裝的應(yīng)用程序的方法。
圖3示出了按照本發(fā)明一個實施例的下載應(yīng)用程序的方法的流程圖。 如圖3所示,首先,當用戶欲從應(yīng)用程序載體20下載一個智能卡上沒有安裝的新
應(yīng)用程序X時,程序下載器102從應(yīng)用程序載體20下載該新應(yīng)用程序X的打包文件D、該
打包文件D的摘要信息Z和該摘要信息Z的數(shù)字簽名S并發(fā)送給程序認證單元104 (步驟
S302)。 當收到程序下載器102下載的打包文件D、摘要信息Z和數(shù)字簽名S之后,程序認 證單元104從第三方安全認證中心30獲取該新應(yīng)用程序X的提供商的公鑰G,并把所獲取 的公鑰G以及所收到的打包文件D和數(shù)字簽名S發(fā)送給加解密單元106 (步驟S304)。
當從程序認證單元104中收到公鑰G、打包文件D和數(shù)字簽名S時,加解密單元106 利用所收到的公鑰G對所收到的數(shù)字簽名S進行解密以獲得解密的摘要信息Z1,以及,利用 諸如MD5或SHA-1等這樣的摘要信息提取算法提取所收到的打包文件D的摘要信息Z2,并 把該解密的摘要信息Zl和該提取的摘要信息Z2發(fā)送給程序認證單元104 (步驟S306)。
當收到加解密單元106發(fā)送的解密的摘要信息Zl和提取的摘要信息Z2時,程序 認證單元104比較該解密的摘要信息Zl與該接收的摘要信息Z是否一致以及該提取的摘 要信息Z2與該接收的摘要信息Z是否一致(步驟S308)。 如果步驟S308的比較結(jié)果為是,即該解密的摘要信息Zl與該接收的摘要信息Z 一致并且該提取的摘要信息Z2與該接收的摘要信息Z —致,則程序認證單元104確定該新 應(yīng)用程序X的打包文件D是安全的,并把確定結(jié)果返回給程序下載器102 (步驟S310)。
如果步驟S308的比較結(jié)果為否,即該解密的摘要信息Zl與該接收的摘要信息 Z不一致和/或該提取的摘要信息Z2與該接收的摘要信息Z不一致,則程序認證單元104 確定該新應(yīng)用程序X的打包文件D不是安全的,并把確定結(jié)果返回給程序下載器102 (步驟 S312)。 當收到程序認證單元104發(fā)送的確定結(jié)果時,如果該確定結(jié)果表明該新應(yīng)用程序
X的打包文件D不是安全的,則程序下載器102丟棄該新應(yīng)用程序X的打包文件D,否則將
該新應(yīng)用程序X的打包文件D存儲在智能卡的存儲器中(步驟S314)。 圖4示出了按照本發(fā)明一個實施例的安裝應(yīng)用程序的方法的流程圖。 如圖4所示,當被指示安裝所下載的新應(yīng)用程序X時,該指示可以來自用戶,程序
安裝器108從智能卡的存儲器中讀取出該新應(yīng)用程序X的打包文件D,并對該打包文件D進
行解包處理以得到該新應(yīng)用程序X的各個文件(步驟S402)。 接著,程序安裝器108將該新應(yīng)用程序X的各個文件注冊到文件注冊表116中并 且存儲該新應(yīng)用程序X的各個文件在文件存儲單元120中(步驟S404)。
然后,程序安裝器108檢索該新應(yīng)用程序X中的各個文件是否為可執(zhí)行類文件 (步驟S406)。在這里,可執(zhí)行類文件例如可以是本地可執(zhí)行程序文件、共享庫文件、.NET或 Java的運行文件、Servlet程序文件或者其他解釋性的腳本文件等。 程序安裝器108計算所檢索到的各個可執(zhí)行類文件的摘要信息,并把所計算的可
執(zhí)行類文件的摘要信息存儲到摘要信息數(shù)據(jù)庫118中(步驟S408)。 圖5示出了按照本發(fā)明一個實施例的加載應(yīng)用程序的方法的流程圖。
如圖5所示,當被指示加載已安裝的應(yīng)用程序A以在智能卡中運行應(yīng)用程序A時, 程序加載器110檢查文件注冊表116中是否已經(jīng)注冊有應(yīng)用程序A的文件的信息(步驟 S502)。 如果步驟S502的檢查結(jié)果為否,則表明應(yīng)用程序A被非法安裝在智能卡中,程序 加載器110不從文件存儲單元120中加載應(yīng)用程序A的文件(步驟S504)。
如果步驟S502的檢查結(jié)果為是,則程序加載器IIO利用摘要信息提取算法計算應(yīng) 用程序A的可執(zhí)行類文件的摘要信息(步驟S506)。 接著,程序加載器110判斷所計算的應(yīng)用程序A的可執(zhí)行類文件的摘要信息與摘 要信息數(shù)據(jù)庫118中存儲的應(yīng)用程序A的可執(zhí)行類文件的摘要信息是否一致(步驟S508)。
如果步驟S508的判斷結(jié)果為是,則程序加載器IIO從文件存儲單元120中加載應(yīng) 用程序A的文件(步驟S510)。 如果步驟S508的判斷結(jié)果為否,則表明應(yīng)用程序A在安裝到智能卡中后被非法改 動過,程序加載器110不從文件存儲單元120中加載應(yīng)用程序A的文件(步驟S504)。
圖6示出了按照本發(fā)明一個實施例的更新已安裝的應(yīng)用程序的方法的流程圖。
如圖6所示,當被指示更新已安裝在智能卡上的應(yīng)用程序B時,程序更新器112從 應(yīng)用程序載體20下載應(yīng)用程序B的更新打包文件GD、更新打包文件GD的摘要信息GZ和摘 要信息GZ的數(shù)字簽名GS,并把該下載的更新打包文件GD、摘要信息GZ和數(shù)字簽名GS發(fā)送 給程序認證單元104 (步驟S602)。 當收到程序更新器112發(fā)送的更新打包文件GD、摘要信息GZ和數(shù)字簽名GS時, 程序認證單元104從第三方安全認證中心30獲取應(yīng)用程序B的提供商的公鑰GG,并把該 獲取的公鑰GG以及所收到的更新打包文件GD和數(shù)字簽名GS發(fā)送給加解密單元106 (步驟 S604)。 當從程序認證單元104中收到公鑰GG、更新打包文件GD和數(shù)字簽名GS時,加解 密單元106利用所收到的公鑰GG對所收到的數(shù)字簽名GS進行解密以獲得解密的摘要信息 GZ1,以及,利用諸如MD5或SHA-1等這樣的摘要信息提取算法提取所收到的更新打包文件 GD的摘要信息GZ2,并把該解密的摘要信息GZ1和該提取的摘要信息GZ2發(fā)送給程序認證 單元104(步驟S606)。 當收到加解密單元106發(fā)送的解密的摘要信息GZ1和提取的摘要信息GZ2時,程 序認證單元104比較該解密的摘要信息GZ1與該接收的摘要信息GZ是否一致以及該提取 的摘要信息GZ2與該接收的摘要信息GZ是否一致(步驟S608)。 如果步驟S608的比較結(jié)果為否,即該解密的摘要信息GZ1與該接收的摘要信息 GZ不一致和/或該提取的摘要信息GZ2與該接收的摘要信息GZ不一致,則程序認證單元 104確定該應(yīng)用程序B的更新打包文件GD是不安全的,并把確定結(jié)果返回給程序更新器 112(步驟S610)。 當從程序認證單元104收到的確定結(jié)果表明該應(yīng)用程序B的更新打包文件GD是 不安全的時,程序更新器112丟棄該應(yīng)用程序B的更新打包文件GD,并且向用戶提示警告信 息(步驟S612)。 如果步驟S608的比較結(jié)果為是,即該解密的摘要信息GZ1與該接收的摘要信息 GZ —致并且該提取的摘要信息GZ2與該接收的摘要信息GZ —致,則程序認證單元104確
15定該應(yīng)用程序B的更新打包文件GD是安全的,并把確定結(jié)果返回給程序更新器112 (步驟 S614)。 當從程序認證單元104收到的確定結(jié)果表明該應(yīng)用程序B的更新打包文件GD是 安全的時,程序更新器112對該應(yīng)用程序B的更新打包文件GD進行解包處理以得到該應(yīng)用 程序B的各個文件(步驟S616)。 程序更新器112檢查該解包得到的應(yīng)用程序B的各個文件中是否存在新文件,其 中,在文件注冊表116中以前并沒有作為該應(yīng)用程序B的文件注冊有該新文件的舊版本 (步驟S618)。 如果步驟S618的檢查結(jié)果為是,則程序更新器112將該新文件作為應(yīng)用程序B的
文件注冊在在文件注冊表116中,并且在文件存儲單元120中保存該新文件(步驟S620)。 程序更新器112進一步檢查該新文件是否是可執(zhí)行類文件(步驟S622)。 如果步驟S622的進一步檢查結(jié)果為是,則程序更新器112利用摘要信息提取算法
計算該新文件的摘要信息并存儲在摘要信息數(shù)據(jù)118中(步驟S624)。 如果步驟S618的檢查結(jié)果為否、步驟S622的進一步檢查結(jié)果為否或者步驟S624
完成之后,程序更新器112檢查該解包得到的應(yīng)用程序B的各個文件中是否存在舊文件的
新版本,其中,在文件注冊表116中以前已經(jīng)作為該應(yīng)用程序B的文件注冊有該舊文件(步
驟S626)。 如果步驟S626的檢查結(jié)果為是,則程序更新器112將該舊文件的新版本注冊在在 文件注冊表116中以替換該舊文件的信息,并且在文件存儲單元120中將該舊文件的新版 本替換該舊文件(步驟S628)。 程序更新器112進一步檢查該舊文件的新版本是否是可執(zhí)行類文件(步驟S630)。
如果步驟S630的進一步檢查結(jié)果為是,則程序更新器112利用摘要信息提取算法 計算該舊文件的新版本的摘要信息并存儲在摘要信息數(shù)據(jù)118中以替換該舊文件的摘要 信息(步驟S632)。 如果步驟S626的檢查結(jié)果為否、步驟S630的進一步檢查結(jié)果為否或者步驟S632 完成之后,程序更新器112檢查該解包得到的應(yīng)用程序B的各個文件中是否存在刪除已有 文件的指示,其中,在文件注冊表116中以前已經(jīng)作為該應(yīng)用程序B的文件注冊有該已有文 件(步驟S634)。 如果步驟S634的檢查結(jié)果為是,則程序更新器112從文件注冊表116中刪除該已 有文件的信息,并且從文件存儲單元120中刪除該已有文件(步驟S636)。
程序更新器112進一步檢查該已有文件是否是可執(zhí)行類文件(步驟S638)。
如果步驟S638的進一步檢查結(jié)果為是,則程序更新器112從摘要信息數(shù)據(jù)庫118 中刪除已有舊文件的摘要信息(步驟S640)。 圖7示出了按照本發(fā)明一個實施例的卸載已安裝的應(yīng)用程序的方法的流程圖。如 圖7所示,當被指示卸載已安裝在智能卡上的應(yīng)用程序C時,程序卸載器114從文件注冊表 116中刪除所注冊的應(yīng)用程序C的各個文件的信息(步驟S702)。 程序卸載器114從摘要信息數(shù)據(jù)庫118中刪除所存儲的應(yīng)用程序C的可執(zhí)行類文 件的摘要信息(步驟S704)。 程序卸載器114從文件存儲單元120中刪除應(yīng)用程序C的各個文件(步驟S706)。
16
本領(lǐng)域技術(shù)人員應(yīng)當理解,雖然在上面的實施例中應(yīng)用程序管理系統(tǒng)10同時包 括了程序下載器102、程序安裝器108、程序加載器110、程序更新器112和程序卸載器114, 然而,本發(fā)明并不局限于此。在本發(fā)明的其它實施例中,應(yīng)用程序管理系統(tǒng)io可以只包括 了程序下載器102、程序安裝器108、程序加載器110、程序更新器112和程序卸載器114中 的一個或多個。 本領(lǐng)域技術(shù)人員應(yīng)當理解,在本發(fā)明上述實施例的啟示下,可以得到本發(fā)明實施 例的各種變形,并且在不偏離本發(fā)明的精神或范圍的情況下,本文中所定義的一般原理也 可以應(yīng)用到其他實施例中。因此本發(fā)明并不局限于本文中所示的實施例,而且要求與本文 中所公開的原理和新穎特征相一致的最廣的范圍。
權(quán)利要求
一種用于智能卡的應(yīng)用程序管理系統(tǒng),包括程序下載器,用于從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的數(shù)字簽名;加解密單元,用于進行加/解密處理;以及程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助下確定所述下載的打包文件是否是安全的,其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序下載器存儲所述下載的打包文件。
2. 如權(quán)利要求l所述的應(yīng)用程序管理系統(tǒng),其中,所述加解密單元用于利用所述獲取的公鑰解密所述數(shù)字簽名以得到解密的摘要信息 以及利用摘要信息提取算法計算所述下載的打包文件的摘要信息;以及所述程序認證單元用于比較所述解密的摘要信息和所述下載的摘要信息以及所述計 算的摘要信息和所述下載的摘要信息是否一致,并當比較結(jié)果為肯定時,確定所述下載的 打包文件是安全的。
3. 如權(quán)利要求l所述的應(yīng)用程序管理系統(tǒng),其中,當所述確定結(jié)果為否定時,所述程序下載器丟棄所述下載的打包文件。
4. 如權(quán)利要求1所述的應(yīng)用程序管理系統(tǒng),其中,還包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及程序安裝器,用于當被指示安裝所述新應(yīng)用程序時,將對所述存儲的打包文件進行解 包得到的所述新應(yīng)用程序的各個文件注冊到所述文件注冊單元中并在所述文件存儲單元 中存儲所述新應(yīng)用程序的各個文件,以及計算所述新應(yīng)用程序的各個文件中的可執(zhí)行類文 件的摘要信息并存儲在所述摘要信息存儲單元中。
5. 如權(quán)利要求4所述的應(yīng)用程序管理系統(tǒng),其中,還包括程序加載器,用于當被指示加載應(yīng)用程序時,檢查在所述文件注冊單元中是否已經(jīng)注 冊有所述被指示加載的應(yīng)用程序的文件信息,以及當檢查結(jié)果為肯定時,從所述文件存儲 單元中加載所述被指示加載的應(yīng)用程序的文件。
6. 如權(quán)利要求5所述的應(yīng)用程序管理系統(tǒng),其中,當所述檢查結(jié)果為肯定時,程序加載器進一步檢查對所述被指示加載的應(yīng)用程序的可 執(zhí)行文件所提取的摘要信息是否與所述摘要信息存儲單元中存儲的所述被指示加載的應(yīng) 用程序的所述可執(zhí)行文件的摘要信息一致,并且當進一步檢查結(jié)果為肯定時,從所述文件 存儲單元中加載所述被指示加載的應(yīng)用程序的文件。
7. 如權(quán)利要求4所述的應(yīng)用程序管理系統(tǒng),其中,還包括程序卸載器,用于當被指示卸載應(yīng)用程序時,刪除在所述文件注冊單元中注冊的所述 被指示卸載的應(yīng)用程序的各個文件的信息、在所述摘要信息存儲單元中存儲的所述被指示 卸載的應(yīng)用程序的可執(zhí)行文件的摘要信息以及在所述文件存儲單元中存儲的所述被指示 卸載的應(yīng)用程序的各個文件。
8. 如權(quán)利要求4所述的應(yīng)用程序管理系統(tǒng),其中,還包括程序更新器,用于當被指示更新已安裝在所述智能卡上的應(yīng)用程序時,下載所述被指 示更新的應(yīng)用程序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的數(shù)字 簽名,并且當在所述加解密單元的協(xié)助下所述程序認證單元基于所述下載的摘要信息和所 述下載的數(shù)字簽名以及所述被指示更新的應(yīng)用程序的提供商的公鑰確定所述下載的更新 打包文件是安全的時,基于對所述更新打包文件進行解包得到的文件,更新所述文件注冊 單元、所述摘要信息存儲單元和所述文件存儲單元。
9. 如權(quán)利要求8所述的應(yīng)用程序管理系統(tǒng),其中,當對所述更新打包文件進行解包得到的文件包含有新文件時,所述程序更新器在所述 文件注冊單元中注冊所述新文件的信息并且在所述文件存儲單元中存儲所述新文件,當對所述更新打包文件進行解包得到的文件包含有舊文件的新版本時,所述程序更新 器將所述舊文件的新版本的信息替換在所述文件注冊單元中所注冊的所述舊文件的信息 并且使用所述舊文件的新版本替換所述文件存儲單元中的所述舊文件,當對所述更新打包文件進行解包得到的文件包含刪除已有文件的指示時,所述程序更 新器從所述文件存儲單元中刪除所述已有文件并且從所述文件注冊單元中刪除所述已有 文件的信息,當所述新文件是可執(zhí)行文件時,所述程序更新器在所述摘要信息存儲單元中存儲所述 新文件的摘要信息,當所述舊文件是可執(zhí)行文件時,所述程序更新器使用所述舊文件的新版本的摘要信息 替換在所述摘要信息存儲單元中存儲的所述舊文件的摘要信息,以及當所述已有文件是可執(zhí)行文件時,所述程序更新器從所述摘要信息存儲單元中刪除所 述已有文件的摘要信息。
10. —種用于智能卡的應(yīng)用程序管理方法,包括步驟從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要信息和所述摘要信 息的數(shù)字簽名;基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所 述新應(yīng)用程序的提供商的公鑰,確定所述下載的打包文件是否是安全的;以及 當確定結(jié)果為肯定時,存儲所述下載的打包文件。
11. 如權(quán)利要求10所述的應(yīng)用程序管理方法,其中,所述確定步驟進一步包括 利用所述獲取的公鑰解密所述數(shù)字簽名以得到解密的摘要信息; 利用摘要信息提取算法計算所述下載的打包文件的摘要信息;比較所述解密的摘要信息和所述下載的摘要信息以及所述計算的摘要信息和所述下 載的摘要信息是否一致;以及并當比較結(jié)果為肯定時,判定所述下載的打包文件是安全的。
12. 如權(quán)利要求IO所述的應(yīng)用程序管理方法,其中,還包括當被指示安裝所述新應(yīng)用程序時,對所述存儲的打包文件進行解包處理以得到所述新 應(yīng)用程序的各個文件;注冊所述新應(yīng)用程序的各個文件的信息;計算所述新應(yīng)用程序的各個文件中的可執(zhí)行類文件的摘要信息;存儲所述計算的可執(zhí)行類文件的摘要信息;以及 存儲所述新應(yīng)用程序的各個文件。
13. 如權(quán)利要求12所述的應(yīng)用程序管理方法,其中,還包括當被指示加載應(yīng)用程序時,檢查是否已經(jīng)注冊有所述被指示加載的應(yīng)用程序的文件信 息;以及當檢查結(jié)果為肯定時,從所述存儲的文件中加載所述被指示加載的應(yīng)用程序的文件。
14. 如權(quán)利要求13所述的應(yīng)用程序管理方法,其中,還包括當所述檢查結(jié)果為肯定時,提取所述被指示加載的應(yīng)用程序的可執(zhí)行文件的摘要信息;進一步檢查所述提取的所述可執(zhí)行文件的摘要信息是否與以前存儲的所述可執(zhí)行文 件的摘要信息一致;以及當進一步檢查結(jié)果為肯定時,從所述存儲的文件中加載所述被指示加載的應(yīng)用程序的 文件。
15. 如權(quán)利要求12所述的應(yīng)用程序管理方法,其中,還包括當被指示卸載應(yīng)用程序時,從所述注冊的信息中刪除所述被指示卸載的應(yīng)用程序的各 個文件的信息;從所述存儲的摘要信息中刪除所述被指示卸載的應(yīng)用程序的可執(zhí)行文件的摘要信息;以及從所述存儲的文件中刪除所述被指示卸載的應(yīng)用程序的各個文件。
16. 如權(quán)利要求12所述的應(yīng)用程序管理方法,其中,還包括當被指示更新應(yīng)用程序時,從所述應(yīng)用程序載體中下載所述被指示更新的應(yīng)用程序的 更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的數(shù)字簽名;基于所述下載的摘要信息和數(shù)字簽名以及從所述第三方安全認證中心獲取的被指示 更新應(yīng)用程序的提供商的公鑰,確定所述下載的更新打包文件是否是安全的;當確定結(jié)果為肯定時,對所述下載的更新打包文件進行解包處理以得到所述被指示更 新應(yīng)用程序的各個文件;以及基于所述被指示更新應(yīng)用程序的各個文件,更新所述注冊的信息、所述存儲的摘要信 息和所述存儲的文件。
17. 如權(quán)利要求16所述的應(yīng)用程序管理方法,其中,所述更新步驟進一步包括 當所述被指示更新應(yīng)用程序的各個文件包含有新文件時,注冊所述新文件的信息并且存儲所述新文件;當所述被指示更新應(yīng)用程序的各個文件包含有舊文件的新版本時,將所述舊文件的新 版本的信息替換在所述注冊的信息中所述舊文件的信息并且使用所述舊文件的新版本替 換所述存儲的文件中的所述舊文件;當所述被指示更新應(yīng)用程序的各個文件包含刪除已有文件的指示時,從所述存儲的文 件中刪除所述已有文件并且從所述注冊的信息中刪除所述已有文件的信息;當所述新文件是可執(zhí)行文件時,存儲所述新文件的摘要信息;當所述舊文件是可執(zhí)行文件時,使用所述舊文件的新版本的摘要信息替換在所述存儲 的摘要信息中所述舊文件的摘要信息;以及當所述已有文件是可執(zhí)行文件時,從所述存儲的摘要信息中刪除所述已有文件的摘要信息。
18. —種用于智能卡的應(yīng)用程序下載裝置,包括程序下載器,用于從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要 信息和所述摘要信息的數(shù)字簽名;加解密單元,用于進行加/解密處理;以及程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安 全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助下確定所述 下載的打包文件是否是安全的,其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序下載器存儲所述下載的打 包文件。
19. 如權(quán)利要求18所述的應(yīng)用程序下載裝置,其中,所述加解密單元用于利用所述獲取的公鑰解密所述數(shù)字簽名以得到解密的摘要信息 以及利用摘要信息提取算法計算所述下載的打包文件的摘要信息;以及所述程序認證單元用于比較所述解密的摘要信息和所述下載的摘要信息以及所述計 算的摘要信息和所述下載的摘要信息是否一致,并當比較結(jié)果為肯定時,確定所述下載的 打包文件是安全的。
20. —種用于智能卡的應(yīng)用程序安裝裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及程序安裝器,用于當被指示安裝已下載到所述智能卡的新應(yīng)用程序時,將對所述新應(yīng) 用程序的打包文件進行解包得到的所述新應(yīng)用程序的各個文件注冊到所述文件注冊單元 中并在所述文件存儲單元中存儲所述新應(yīng)用程序的各個文件,以及計算所述新應(yīng)用程序的 各個文件中的可執(zhí)行類文件的摘要信息并存儲在所述摘要信息存儲單元中。
21. —種用于智能卡的應(yīng)用程序加載裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及程序加載器,用于當被指示加載應(yīng)用程序時,檢查在所述文件注冊單元中是否已經(jīng)注 冊有所述被指示加載的應(yīng)用程序的文件信息,以及當檢查結(jié)果為肯定時,從所述文件存儲 單元中加載所述被指示加載的應(yīng)用程序的文件。
22. 如權(quán)利要求21所述的應(yīng)用程序加載裝置,其中,當所述檢查結(jié)果為肯定時,所述程序加載器進一步檢查對所述被指示加載的應(yīng)用程序 的可執(zhí)行文件所提取的摘要信息是否與所述摘要信息存儲單元中存儲的所述被指示加載 的應(yīng)用程序的所述可執(zhí)行文件的摘要信息一致,并且當進一步檢查結(jié)果為肯定時,從所述 文件存儲單元中加載所述被指示加載的應(yīng)用程序的文件。
23. —種用于智能卡的應(yīng)用程序卸載裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息;摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;以及程序卸載器,用于當被指示卸載應(yīng)用程序時,刪除在所述文件注冊單元中注冊的所述 被指示卸載的應(yīng)用程序的各個文件的信息、在所述摘要信息存儲單元中存儲的所述被指示 卸載的應(yīng)用程序的可執(zhí)行文件的摘要信息以及在所述文件存儲單元存儲的所述被指示卸 載的應(yīng)用程序的各個文件。
24. —種用于智能卡的應(yīng)用程序更新裝置,包括 文件注冊單元,用于注冊已安裝的應(yīng)用程序的文件的信息; 摘要信息存儲單元,用于存儲已安裝的應(yīng)用程序的可執(zhí)行類文件的摘要信息; 文件存儲單元,用于存儲已安裝的應(yīng)用程序的文件;程序更新器,用于當被指示更新已安裝在所述智能卡上的應(yīng)用程序時,下載所述被指 示更新的應(yīng)用程序的更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的數(shù)字 簽名,加解密單元,用于進行加/解密處理;以及程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安 全認證中心獲取的所述被指示更新的應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助 下確定所述下載的更新打包文件是否是安全的,其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序更新器基于對所述更新打 包文件進行解包得到的文件,更新所述文件注冊單元、所述摘要信息存儲單元和所述文件 存儲單元。
25. 如權(quán)利要求24所述的應(yīng)用程序更新裝置,其中,當對所述更新打包文件進行解包得到的文件包含有新文件時,所述程序更新器在所述 文件注冊單元中注冊所述新文件的信息并且在所述文件存儲單元中存儲所述新文件,當對所述更新打包文件進行解包得到的文件包含有舊文件的新版本時,所述程序更新 器將所述舊文件的新版本的信息替換在所述文件注冊單元中所注冊的所述舊文件的信息 并且在所述文件存儲單元中使用所述舊文件的新版本替換所述舊文件,當對所述更新打包文件進行解包得到的文件包含刪除已有文件的指示時,所述程序更 新器從所述文件存儲單元中刪除所述已有文件并且從所述文件注冊單元中刪除所述已有 文件的信息,當所述新文件是可執(zhí)行文件時,所述程序更新器在所述摘要信息存儲單元中存儲所述 新文件的摘要信息,當所述舊文件是可執(zhí)行文件時,所述程序更新器使用所述舊文件的新版本的摘要信息 替換在所述摘要信息存儲單元中存儲的所述舊文件的摘要信息,以及當所述已有文件是可執(zhí)行文件時,所述程序更新器從所述摘要信息存儲單元中刪除所 述已有文件的摘要信息。
26. —種用于智能卡的應(yīng)用程序下載方法,包括步驟從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要信息和所述摘要信 息的數(shù)字簽名;基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,確定所述下載的打包文件是否是安全的;以及 當確定結(jié)果為肯定時,存儲所述下載的打包文件。
27. 如權(quán)利要求26所述的應(yīng)用程序下載方法,其中,所述確定步驟進一步包括 利用所述獲取的公鑰解密所述數(shù)字簽名以得到解密的摘要信息; 利用摘要信息提取算法計算所述下載的打包文件的摘要信息;比較所述解密的摘要信息和所述下載的摘要信息以及所述計算的摘要信息和所述下 載的摘要信息是否一致;以及并當比較結(jié)果為肯定時,判定所述下載的打包文件是安全的。
28. —種用于智能卡的應(yīng)用程序安裝方法,包括當被指示安裝已經(jīng)下載到所述智能卡的新應(yīng)用程序時,對所述新應(yīng)用程序的打包文件 進行解包處理以得到所述新應(yīng)用程序的各個文件; 注冊所述新應(yīng)用程序的各個文件的信息;計算所述新應(yīng)用程序的各個文件中的可執(zhí)行類文件的摘要信息; 存儲所述計算的可執(zhí)行類文件的摘要信息;以及 存儲所述新應(yīng)用程序的各個文件。
29. —種用于智能卡的應(yīng)用程序加載方法,包括當被指示加載應(yīng)用程序時,檢查在預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序的文 件的信息中是否已經(jīng)注冊有所述被指示加載的應(yīng)用程序的文件信息;以及當檢查結(jié)果為肯定時,從預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件中加載 所述被指示加載的應(yīng)用程序的文件。
30. 如權(quán)利要求29所述的應(yīng)用程序加載方法,其中,還包括當所述檢查結(jié)果為肯定時,提取所述被指示加載的應(yīng)用程序的可執(zhí)行文件的摘要信息;進一步檢查所述提取的所述可執(zhí)行文件的摘要信息是否與預(yù)先存儲的所述可執(zhí)行文 件的摘要信息一致;以及當進一步檢查結(jié)果為肯定時,從所述預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的 文件中加載所述被指示加載的應(yīng)用程序的文件。
31. —種用于智能卡的應(yīng)用程序卸載方法,其中,還包括當被指示卸載應(yīng)用程序時,從預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序的文件的 信息中刪除所述被指示卸載的應(yīng)用程序的各個文件的信息;從預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的可執(zhí)行類文件的摘要信息中刪除 所述被指示卸載的應(yīng)用程序的可執(zhí)行文件的摘要信息;以及從預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件中刪除所述被指示卸載的應(yīng) 用程序的各個文件。
32. —種用于智能卡的應(yīng)用程序更新方法,包括當被指示更新應(yīng)用程序時,從所述應(yīng)用程序載體中下載所述被指示更新的應(yīng)用程序的 更新打包文件、所述更新打包文件的摘要信息和所述摘要信息的數(shù)字簽名;基于所述下載的摘要信息和數(shù)字簽名以及從所述第三方安全認證中心獲取的被指示 更新應(yīng)用程序的提供商的公鑰,確定所述下載的更新打包文件是否是安全的;當確定結(jié)果為肯定時,對所述下載的更新打包文件進行解包處理以得到所述被指示更新應(yīng)用程序的各個文件;以及基于所述被指示更新應(yīng)用程序的各個文件,更新預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序的文件的信息、預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的可執(zhí)行類文件的摘要信息和預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件。
33.如權(quán)利要求32所述的應(yīng)用程序更新方法,其中,所述更新步驟進一步包括當所述被指示更新應(yīng)用程序的各個文件包含有新文件時,注冊所述新文件的信息并且存儲所述新文件;當所述被指示更新應(yīng)用程序的各個文件包含有舊文件的新版本時,將所述舊文件的新版本的信息替換在所述預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序的文件的信息中所述舊文件的信息并且使用所述舊文件的新版本替換所述預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件中的所述舊文件;當所述被指示更新應(yīng)用程序的各個文件包含刪除已有文件的指示時,從所述預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的文件中刪除所述已有文件并且從所述預(yù)先注冊的已安裝在所述智能卡上的應(yīng)用程序的文件的信息中刪除所述已有文件的信息;當所述新文件是可執(zhí)行文件時,存儲所述新文件的摘要信息;當所述舊文件是可執(zhí)行文件時,使用所述舊文件的新版本的摘要信息替換在所述預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的可執(zhí)行類文件的摘要信息中的所述舊文件的摘要信息;以及當所述已有文件是可執(zhí)行文件時,從所述預(yù)先存儲的已安裝在所述智能卡上的應(yīng)用程序的可執(zhí)行類文件的摘要信息中刪除所述已有文件的摘要信息。
全文摘要
本發(fā)明涉及智能卡應(yīng)用程序管理系統(tǒng)及其方法,其中,智能卡應(yīng)用程序管理系統(tǒng)包括程序下載器,用于從應(yīng)用程序載體下載新應(yīng)用程序的打包文件、所述打包文件的摘要信息和所述摘要信息的數(shù)字簽名;加解密單元,用于進行加/解密處理;以及,程序認證單元,用于基于所述下載的摘要信息、所述下載的數(shù)字簽名以及從第三方安全認證中心獲取的所述新應(yīng)用程序的提供商的公鑰,在所述加解密單元的協(xié)助下確定所述下載的打包文件是否是安全的,其中,當所述程序認證單元的確定結(jié)果為肯定時,所述程序下載器存儲所述下載的打包文件。利用該系統(tǒng)可以確保智能卡與外界通信的安全和自身操作系統(tǒng)運行的安全。
文檔編號H04L9/00GK101719821SQ20081016990
公開日2010年6月2日 申請日期2008年10月9日 優(yōu)先權(quán)日2008年10月9日
發(fā)明者曲雨水, 李丞倍, 李相研, 羅棟元, 金亨一 申請人:愛思開電訊投資(中國)有限公司