專利名稱:智能卡加載應(yīng)用的系統(tǒng)和方法
背景技術(shù):
本發(fā)明一般地涉及諸如智能卡的安全的便攜代幣,具體地,本發(fā)明涉及具有可再裝應(yīng)用程序的智能卡。
眾所周知,智能卡可以是一個塑料的,信用卡大小的卡片,它包含諸如嵌入智能卡中的微處理器的半導(dǎo)體芯片,這使得它可以執(zhí)行一些簡單的,被稱為JAVA小應(yīng)用程序(applet)的應(yīng)用程序。智能卡中的一些應(yīng)用實(shí)例包括安全和鑒權(quán),信息存儲和提取,管理帳戶(valueaccount)的信用和借貸操作,例如預(yù)付費(fèi)電話的通話時間以及借方帳戶(debit accounts)。智能卡的每一個帳戶應(yīng)用都有一個與應(yīng)用有關(guān)的使用權(quán)限。例如,一個預(yù)付費(fèi)電話通話時間的應(yīng)用應(yīng)有預(yù)設(shè)的預(yù)付費(fèi)通話分鐘數(shù),它隨著用卡進(jìn)行通話而逐漸耗盡,一個預(yù)付費(fèi)公共交通帳戶包含預(yù)設(shè)的金額,它隨著每次使用公共交通而從帳戶上劃出。為了存儲和執(zhí)行這些小程序(applet),上述智能卡具有嵌入式存儲器和處理器。為了確保在這些智能卡上的使用權(quán)限的安全性,只有智能卡中的處理器可以日常性地更換權(quán)限的數(shù)值,并且只能在已成功執(zhí)行了授權(quán)過程后進(jìn)行。智能卡使用的網(wǎng)絡(luò)不能直接訪問卡的存儲器和任何應(yīng)用的使用權(quán)限。
智能卡通常分為兩種不同類型,可丟棄型的智能卡和永久型、不可丟棄的智能卡??蓙G棄型智能卡具有嵌埋于智能卡中的基本半導(dǎo)體芯片,并可以有有限量的存儲器和一些硬件邏輯。可丟棄型智能卡可以具有預(yù)先設(shè)定的預(yù)付費(fèi)使用權(quán)限或其它數(shù)值的初始值,它們在智能卡制造時被存儲于智能卡的存儲器中。隨著智能卡的使用,智能卡的使用權(quán)限逐漸耗盡。預(yù)付費(fèi)的電話卡或地鐵費(fèi)用卡都是典型的可丟棄型智能卡,因?yàn)樵陬A(yù)付費(fèi)使用權(quán)限耗盡后,這些智能卡被拋棄。由于使用簡單的半導(dǎo)體芯片,這些智能卡比較便宜,但同時由于卡中存儲值不能被刷新,并無法安裝其它應(yīng)用,所以它們只具有有限的應(yīng)用。另外由于有限的存儲器和處理能力,這些可丟棄型智能卡也無法執(zhí)行復(fù)雜的加密算法,這也意味著這些智能卡的安全性較低。
非可丟棄的,永久型智能卡可具有一個嵌埋于智能卡中的更復(fù)雜的半導(dǎo)體芯片,并可以具有一個可編程微控制器以及一個擴(kuò)展存儲器。該存儲器可以存儲一個或更多的小程序,這些小程序?yàn)椴煌δ芊謩e設(shè)置了一定的使用權(quán)限。重要的是,這些永久型智能卡中的使用權(quán)限可以刷新,因此當(dāng)使用權(quán)限用盡后,永久型智能卡無須拋棄。永久型智能卡包括根據(jù)Europe/Mastercard/Visa標(biāo)準(zhǔn)的銀行卡,收費(fèi)電視訪問控制卡。這些永久型智能卡具有更多的存儲器,以存儲多個小程序,而智能卡上的使用權(quán)限可以分別和獨(dú)立地被刷新。然而,這些永久型智能卡由于額外的存儲器和微控制器,價格可能相對較貴,并且刷新只能由卡發(fā)行商來完成。
最初,由于較低的初始成本,許多公司發(fā)行可拋棄型智能卡。但是,由于對這些可拋棄型智能卡安全性的考慮和卡上只能運(yùn)行有限的應(yīng)用,現(xiàn)在已趨向?yàn)槭褂糜谰眯椭悄芸?,因?yàn)橐粋€智能卡上可以加載多個應(yīng)用。同時,由于該永久型智能卡使用復(fù)雜的加密技術(shù),永久型智能卡具有更高的安全性。
大多數(shù)傳統(tǒng)的永久型智能卡可能有一個存儲器單元,該存儲器單元可包括一個只讀存儲器(ROM),一個隨機(jī)存取存儲器(RAM),和一個非易失性存儲器(NVM)。例如,該NVM可以是一個諸如快速電可檫除只讀存儲器(Flash EEPROM),或一個EEPROM。這些永久型智能卡從使用時與之連接的終端接收它們所有的電能。因此,易失型的存儲器RAM只能在無須存儲的簡單運(yùn)算中用作拍紙簿式的存儲器。而永久型的ROM可以存儲智能卡操作系統(tǒng)(OS)和諸如一些永久性小程序的無須刷新和改變的其它程序。NVM可以存儲某些小程序和使用權(quán)限秘密信息,以及智能卡中與各種應(yīng)用有關(guān)的數(shù)值。此類普通的永久型智能卡可以具有駐留在智能卡存儲器中的多種應(yīng)用。
一些普通的永久型智能卡具有在智能卡制造時存儲于ROM中的固定應(yīng)用程序。此類智能卡不允許出于安全的考慮而存儲任何應(yīng)用。這些存儲于ROM中的程序不能被更換。然而,此類基于ROM的應(yīng)用經(jīng)歷了很長一段時間才得到發(fā)展,因?yàn)檫@些應(yīng)用必須得到發(fā)展,然后被硬連接到ROM中。此外,這些固定應(yīng)用不能改變或取消。
為了解決ROM中的固定應(yīng)用的問題,現(xiàn)有的智能卡允許應(yīng)用存儲于NVM中。然而,應(yīng)用的處理和它們在智能卡NVM中相應(yīng)的使用權(quán)限造成一些問題。
首先,這里存在一個安全問題,因?yàn)樵L問NVM中的應(yīng)用也可允許一個更聰明的家伙訪問在NVM中的其它應(yīng)用,除非謹(jǐn)慎地控制。另外,由于使用權(quán)限也存儲于NVM中,一個更聰明的家伙也可找出一個方法來非法刷新他的使用權(quán)限。這對于想要發(fā)行貸款或電子金額卡的銀行來說尤其是一個大問題,因?yàn)閭€人可以刷新他在智能卡上可用的錢,而無須記入他的銀行帳戶。對于銀行,它希望只有銀行本身可以訪問在智能卡中的使用權(quán)限。這意味著在智能卡上的小程序的使用權(quán)限只能由卡發(fā)行商,例如銀行來刷新,這是不方便的。此外,具有在卡上的小程序的其它公司必須與卡發(fā)行商保持聯(lián)系。
第二,因?yàn)楫?dāng)使用權(quán)限改變時,這必定伴隨有許多安全性過程,所以在智能卡中小程序使用權(quán)限的刷新會很慢。例如,這必有一些鑒權(quán)過程以確保沒有非法行為的產(chǎn)生。
第三,因?yàn)楦鞣N類型的應(yīng)用在各種不同單元都可能具有不同類型的使用權(quán)限,諸如在計(jì)時單元中的電話通話時間對在貨幣單元的現(xiàn)金,每個不同應(yīng)用將適當(dāng)?shù)匾蟛煌褂脵?quán)限再加載過程。例如,用于通話時間的使用權(quán)限再加載過程不能補(bǔ)充智能卡上借方帳戶的貨幣金額。從而,將使用權(quán)限加載于智能卡中的過程必定是重復(fù)的。
為了限制對這些使用權(quán)限的訪問,普通的永久型智能卡必須做幾件事。首先,一些普通永久型智能卡將這些訪問限制在存儲器的某些所謂存儲帶的區(qū)域,使得這些存儲帶為一次寫(write-once)區(qū)域。其它普通永久型智能卡使用數(shù)據(jù)代碼本(data dictionary),該代碼本可以跟蹤其中必須駐留有每一個應(yīng)用的存儲區(qū)域。因而,一些存儲器管理系統(tǒng)必須經(jīng)常驗(yàn)證沒有應(yīng)用在進(jìn)行非法活動。
總而言之,一些普通永久型智能卡不允許任何應(yīng)用駐留在NVM中以降低安全風(fēng)險(xiǎn)。其它普通智能卡具有用于補(bǔ)充包含于智能卡中的使用權(quán)限的系統(tǒng),但將這種能力限制在智能卡發(fā)行商處,并對于每個小程序要求分別的加載過程。這些普通智能卡都不提供用于將任何類型包括使用權(quán)限的完整應(yīng)用加載于永久型智能卡的存儲器中。因此,普通智能卡不能存儲諸如預(yù)付費(fèi)電話計(jì)時小程序的可丟棄應(yīng)用,因?yàn)楫?dāng)它耗盡無法取消此可丟棄應(yīng)用或無法用一個新的小程序取代高可丟棄小程序。因而,在普通智能卡中,這些已耗盡可丟棄應(yīng)用將保持在智能卡中,占用寶貴的存儲空間。由于以上原因,現(xiàn)有的大多數(shù)智能卡沒有處理可丟棄應(yīng)用的能力。
從而,需要有一種用于在多種應(yīng)用智能卡中通用地再加載不同類型使用權(quán)限的系統(tǒng)和方法,該系統(tǒng)和方法避免了已知設(shè)備的這些和其它問題,這也是本發(fā)明的目的。
發(fā)明概述本發(fā)明提供了一種智能卡,以及用于將應(yīng)用加載于智能卡存儲器中的系統(tǒng)和方法,該智能卡可加載任何類型的應(yīng)用及其有關(guān)的使用權(quán)限,其中所述使用權(quán)限可以有任何類型的單位。此外,由于那些可丟棄應(yīng)用一旦耗盡,將被新的小程序取代,因而該系統(tǒng)可將一個或更多的可丟棄應(yīng)用加載于永久型智能卡上。
本發(fā)明還提供了一種用于智能卡的小程序加載系統(tǒng),在智能卡中可通過將小程序和使用權(quán)限再加載于智能卡存儲器中而補(bǔ)充與小程序相關(guān)的使用權(quán)限。所述用于將應(yīng)用加載于智能卡中的系統(tǒng)是通用的,這使得對于各種應(yīng)用可只使用一種加載系統(tǒng)。根據(jù)本發(fā)明,提出了一種用于在智能卡中加載應(yīng)用的系統(tǒng)和方法,其中該系統(tǒng)可以具有遠(yuǎn)離所述智能卡的,用于存儲小程序和及其相關(guān)的具有預(yù)定值的使用權(quán)限的存儲器,該系統(tǒng)還包括具有處理單元和存儲單元的智能卡,該存儲單元與處理單元相連接并存儲具有使用權(quán)限的第二應(yīng)用。所述智能卡可與所述遠(yuǎn)端存儲裝置相連接,而具有預(yù)定值使用權(quán)限的應(yīng)用可以由所述遠(yuǎn)端存儲裝置加載于所述智能卡中。一個智能卡可以有一個用于執(zhí)行一個應(yīng)用的處理器,一個與該處理器相連并存儲具有使用權(quán)限的第二應(yīng)用的存儲器。該智能卡可以與所述遠(yuǎn)端存儲裝置相連接,而具有預(yù)定值使用權(quán)限的該應(yīng)用可以從所述遠(yuǎn)端存儲裝置加載于所述智能卡中。本發(fā)明還提供了一種智能卡,它包括用于執(zhí)行應(yīng)用的處理器、連接到處理器用以存儲多個應(yīng)用的存儲器、用于將第二應(yīng)用從遠(yuǎn)端位置經(jīng)接口加載于智能卡中的系統(tǒng)、用于將第二應(yīng)用存儲入所述智能卡的所述存儲器中的系統(tǒng)和用于改變所述第一應(yīng)用和所述第二應(yīng)用的使用權(quán)限的系統(tǒng),所述多個應(yīng)用包括具有第一使用權(quán)限和具有與第一使用權(quán)限有關(guān)的第一數(shù)值的第一應(yīng)用,該第一數(shù)值隨著第一使用權(quán)限的使用從預(yù)定初始值開始變化,該第二應(yīng)用具有第二使用權(quán)限。另外,本發(fā)明還提供一種補(bǔ)充智能卡中使用權(quán)限的方法。
附圖簡述
圖1是用于實(shí)施本發(fā)明的智能卡的框圖。
圖2是描述運(yùn)行于圖1智能卡上的程序的產(chǎn)生的框圖。
圖3是圖1智能卡的存儲器構(gòu)造的框圖。
圖4是用于將應(yīng)用再加載于智能卡中的優(yōu)選系統(tǒng)的框圖。
圖5是根據(jù)將應(yīng)用加載于智能卡中的本發(fā)明的方法的第一實(shí)施例的框圖。
圖6是根據(jù)將應(yīng)用加載于智能卡中的本發(fā)明的方法的第二實(shí)施例的框圖。
圖7是根據(jù)將應(yīng)用加載于智能卡中的本發(fā)明的方法的第三實(shí)施例的框圖。
圖8是在將使用權(quán)限記入智能卡中的方法的流程圖。
圖9是根據(jù)本發(fā)明,在智能卡中補(bǔ)充入一個應(yīng)用的使用權(quán)限的方法流程圖。
優(yōu)選實(shí)施例詳述本發(fā)明尤其適用于將具有使用權(quán)限的應(yīng)用再加載于永久型智能卡上,以使得當(dāng)應(yīng)用的使用權(quán)限耗盡時可以再次補(bǔ)充的系統(tǒng)和方法。將在上下文中對本發(fā)明進(jìn)行描述。不管怎樣,根據(jù)本發(fā)明的系統(tǒng)和方法將有更大的用處。
圖1是用于實(shí)施本發(fā)明的也被稱做代幣的智能卡20的框圖。智能卡可與將應(yīng)用加載于根據(jù)本發(fā)明的智能卡中的系統(tǒng)與方法一起使用。優(yōu)選地,智能卡可以是永久型智能卡,但也可以是可丟棄型智能卡。智能卡20可以具有處理器或CPU22和存儲器24。該存儲器可以包含只讀存儲器(ROM)26,隨機(jī)存取存儲器(RAM)28,和非易失型存儲器(NVM)30。該NVM可以是任何類型的可寫非易失型存儲器,例如電可擦除,可編程只讀存儲器(EEPROM),電池后備RAM,快速閃存,當(dāng)未將電能加于所述存儲器上時,所述存儲器可以保持所存儲的數(shù)據(jù)。優(yōu)選地,ROM可以存儲控制智能卡CPU操作的操作系統(tǒng)(OS),而RAM可被用作暫時性的拍紙簿存儲器(scratchpad memory)。因?yàn)槿缦滤?,智能卡從插入終端接收能量,所以當(dāng)智能卡由該終端取出時,RAM中的所有內(nèi)容都將丟失。優(yōu)選地,該NVM可被用作存儲一個或更多的由于實(shí)際程序代碼較短而被稱為小程序的應(yīng)用。每一個小程序可具有相關(guān)的使用權(quán)限,該使用權(quán)限對于小程序是特定的。其它諸如信用/借貸程序的不改變的永久型應(yīng)用可被存儲到ROM中。
處理器22控制智能卡的工作。處理器可以與存儲系統(tǒng)24中所有存儲器相連。由于具有與應(yīng)用相關(guān)的使用權(quán)限,因此必須保證智能卡的安全以防盜竊和更改使用權(quán)限。為實(shí)現(xiàn)這種保護(hù),處理器是唯一可以訪問任何存儲器的系統(tǒng)。此外,任何對智能卡中存儲器的訪問必須經(jīng)過連接到處理器22的輸入/輸出(I/O)線32進(jìn)行引導(dǎo)。智能卡也可以具有一根以上的I/O線以仔細(xì)地控制經(jīng)由每一根I/O線的訪問,使得從智能卡的外部不能直接訪問任何存儲器。從而,智能卡在對其中所存應(yīng)用的使用權(quán)限做任何改變之前可以鑒權(quán)和驗(yàn)證進(jìn)入(incoming)請求,并可以防止所不期望或非法的減少應(yīng)用使用權(quán)限的嘗試??梢酝ㄟ^加密系統(tǒng)來引導(dǎo)該鑒權(quán)和驗(yàn)證過程?,F(xiàn)在,將簡要描述用于為智能卡產(chǎn)生小程序的優(yōu)選系統(tǒng)。
圖2是智能卡結(jié)構(gòu)和為智能卡產(chǎn)生小程序的方式的框圖。為了對智能卡提供足夠的安全性,智能卡的一個優(yōu)選實(shí)施例可以具有包含于智能卡中的虛擬機(jī)40。該虛擬機(jī)包含運(yùn)行于硬件處理器22上的硬件翻譯器42。該翻譯器是一片用作為硬件處理器與小程序之間接口的軟件。采用這種方式,該小程序通過翻譯器運(yùn)行以使得小程序不會有任何直接到智能卡硬件的訪問。從而,翻譯器可以驗(yàn)證沒有小程序執(zhí)行非法操作。除了完全翻譯器和虛擬機(jī),智能卡還可具有指令擦寫器(dispatcher)以控制小程序到智能卡任何部分的訪問。該擦寫器通過防止小程序接收任何訪問直至一個鑒權(quán)檢查已完成為止來控制小程序?qū)τ布脑L問。一個指令擦寫器可以被認(rèn)為是翻譯器的功能較低版本,該指令翻譯器僅翻譯由小程序所接收的指令,而不是翻譯完整的應(yīng)用代碼。
如圖所示,為了執(zhí)行在翻譯器上的小程序,小程序的源代碼46被編譯為字節(jié)代碼(byte code)48。然后,該字節(jié)代碼可由在任何智能卡上的任何翻譯器所執(zhí)行。在PCT申請?zhí)朜o.PCT/NL95/00055,國際公布號No.WO 95/22126的PCT申請中詳細(xì)陳述了該優(yōu)選智能卡的構(gòu)造,該P(yáng)CT申請將作為參考文獻(xiàn)而被引用。現(xiàn)在將描述智能卡存儲器中的程序的結(jié)構(gòu)。
圖3是可以包含一個用于將小程序加載于根據(jù)本發(fā)明的智能卡中的系統(tǒng)的智能卡20的程序結(jié)構(gòu)的框圖??砂≧OM和NVM的智能卡存儲器24可以被邏輯構(gòu)造為一個OS層50,一個執(zhí)行層52,一個應(yīng)用層54。該OS層可包含諸如加密代碼本(cryptographic library)56的大多數(shù)基本操作軟件,和一個翻譯器58。這些程序是永久型的,并可被存儲入ROM中。如上所述,該加密代碼本可以用于鑒權(quán)對智能卡的訪問。如上所述,該翻譯器58可以用于防止小程序直接訪問智能卡的硬件。
例如,執(zhí)行層52可以包含一個應(yīng)用發(fā)射器(application1auncher)60,一個根據(jù)本發(fā)明的通用應(yīng)用加載器62,和其它OS子系統(tǒng)64。應(yīng)用發(fā)射器接收訪問一個應(yīng)用的請求,并在適當(dāng)?shù)蔫b權(quán)過程之后,發(fā)射并控制該小程序。該通用應(yīng)用加載器62控制將一個應(yīng)用,或小程序加載于智能卡的NVM中。如同下面將詳細(xì)描述的,應(yīng)用加載器可以驗(yàn)證期望將一個小程序加載于智能卡中的遠(yuǎn)端系統(tǒng)具有適當(dāng)?shù)臋?quán)力,然后可以執(zhí)行必要的操作以將該小程序加載于智能卡的NVM中。
應(yīng)用層54可包含一個永久型應(yīng)用66和一個或多個具有相關(guān)使用權(quán)限的可丟棄型應(yīng)用。該永久型應(yīng)用可存儲于ROM中,因?yàn)镽OM是永久型的并可以是信用/借貸系統(tǒng),它能為在智能卡中具有使用權(quán)限的所有可丟棄型應(yīng)用執(zhí)行信用和借貸業(yè)務(wù)。該信用/借貸系統(tǒng)能以任何類型的使用權(quán)限工作,這使得對于每種智能卡僅需要單一的信用/借貸應(yīng)用。采用這種方式,智能卡中的任何使用權(quán)限可通過永久型信用/借貸應(yīng)用66來改變。在本發(fā)明的優(yōu)選實(shí)施例中,加載器62和信用/借貸應(yīng)用66可以是單個程序,因?yàn)閮蓚€程序都運(yùn)行在具有使用權(quán)限的所有小程序上。例如,如下所述,當(dāng)使用權(quán)限耗盡時,一個具有使用權(quán)限的小程序需要信用/借貸應(yīng)用確認(rèn)該小程序的再加載。
可丟棄型應(yīng)用68可以是任何類型的具有有限壽命的應(yīng)用或小程序,該壽命是由諸如預(yù)定電話通話時間量,預(yù)訂的貨幣金額數(shù),或預(yù)訂的存儲信用量的確定使用權(quán)限量來限定。如下面將更詳細(xì)描述的,再補(bǔ)充特定應(yīng)用使用權(quán)限的通用智能卡對于每一個不同應(yīng)用需要一個分離的使用權(quán)限加載系統(tǒng),因?yàn)槊恳粋€應(yīng)用的使用權(quán)限可要求進(jìn)行不同處理和不同的安全性。例如將確定數(shù)量的商場經(jīng)常購買者點(diǎn)(storefrequent buyer point)補(bǔ)充到智能卡中可能與將諸如銷售點(diǎn)小程序(point-of-sale)小程序的現(xiàn)金金額記入小程序補(bǔ)充入智能卡中不同。另外,為了補(bǔ)充任何小程序的使用權(quán)限,智能卡必須與卡發(fā)行商進(jìn)行實(shí)際聯(lián)系(physically connect)或返回卡發(fā)行商,因?yàn)橹挥锌òl(fā)行商才有更改小程序使用權(quán)限的權(quán)力。因此,每個可能具有智能卡上小程序的公司必須與卡發(fā)行商有聯(lián)系以使得卡發(fā)行商能補(bǔ)充小程序的使用權(quán)限。
然而值得注意的,根據(jù)本發(fā)明的智能卡可以具有可去除的通用小程序加載器,然后再加載完整的小程序,而非建立智能卡和僅再加載使用權(quán)限的小程序發(fā)行商之間的聯(lián)系。將完整的小程序再加載于智能卡中意味著加載器不必限定于處理可能出現(xiàn)在智能卡中的不同類型使用權(quán)限的多樣性,因?yàn)榘ㄊ褂脵?quán)限的完整小程序正被再加載于智能卡中。將在下面更詳細(xì)地描述將小程序加載到智能卡中以允許補(bǔ)充小程序的使用權(quán)限的過程。
根據(jù)本發(fā)明的通用加載器62也是可用于將新的小程序加載于智能卡中以使智能卡具有可用的存儲器。另外,通用加載器也可允許將使用權(quán)限耗盡的小程序從智能卡的存儲器中刪除,并代以具有刷新使用權(quán)限的新的不同類型應(yīng)用。隨后將更詳細(xì)地描述每一個操作?,F(xiàn)在將描述智能卡外部的用于將具有使用權(quán)限的小程序加載于智能卡中的一個優(yōu)選系統(tǒng)。
圖4是根據(jù)本發(fā)明用于將具有使用權(quán)限的小程序加載于智能卡中的系統(tǒng)的框圖。該系統(tǒng)可包括智能卡20,一個終端80,和一個服務(wù)器82。上文中參照圖1-3描述了該智能卡20。該終端可以由智能卡發(fā)行商,或諸如銀行的一些其它機(jī)構(gòu)操作。該服務(wù)器可以由銀行或智能卡發(fā)行商維持,并可包括可下載小程序。終端與服務(wù)器之間的連接可以是任何通用網(wǎng)絡(luò),諸如在遍及世界的ATM機(jī)之間的普通連接。
如上所述,智能卡可以具有處理器22,存儲于ROM26中的OS層50和處理層52,和存儲于NVM30中的應(yīng)用層。此外,智能卡可以具有一個接口系統(tǒng)86,該接口系統(tǒng)可以利用相應(yīng)接口88將智能卡連接到終端80。第二接口90可以經(jīng)由一個接口92將終端連接到服務(wù)器82。從而,該智能卡可以經(jīng)由終端連接到服務(wù)器。現(xiàn)在將描述一個優(yōu)選的用于將應(yīng)用加載于智能卡中的方法。
當(dāng)智能卡連接到終端時,處理器22使用加載器驗(yàn)證終端和服務(wù)器的可靠性。終端和服務(wù)器也可驗(yàn)證智能卡的可靠性。例如,當(dāng)智能卡連接到終端時,使用者可以輸入個人身份號碼(PIN),該號碼可以由服務(wù)器更改。另外,例如服務(wù)器可以發(fā)送一個編碼字,該編碼字必須由智能卡正確應(yīng)答。如果服務(wù)器和智能卡相互確認(rèn),則智能卡中的通用加載器62開始加載過程。無論哪種類型的使用權(quán)限,存儲于服務(wù)器中的小程序都可具有相同結(jié)構(gòu),以使得通用加載器除了識別所要加載的小程序外,無須區(qū)分小程序的不同類型。如圖所示,NVM30通??纱鎯τ谰眯托庞茫栀J應(yīng)用66,和具有使用權(quán)限的已存在的第一小程序94。如下所述,在加載操作之后,NVM存儲器還可存儲具有使用權(quán)限的第二小程序96。在所示智能卡中,第一小程序94的使用權(quán)限已耗盡。因此,位于服務(wù)器82中具有刷新使用權(quán)限的小程序96新的拷貝可加載于智能卡的NVM中。具有刷新的使用權(quán)限的小程序98取代了使用權(quán)限耗盡的初始小程序94。
除了使用權(quán)限的刷新,一個具有使用權(quán)限的新的小程序100可從服務(wù)器82以相同方式加載于智能卡20中。因此,在加載過程完成之后,智能卡可包含一個具有刷新使用權(quán)限的第一小程序,和具有預(yù)定使用權(quán)限的新的第二小程序96。例如,一個包含使用權(quán)限耗盡的電話呼叫(telephone call)小程序的智能卡可以有一個具有刷新使用權(quán)限的新電話呼叫小程序,和一個具有預(yù)定數(shù)值的借貸小程序,例如,加載于智能卡上的100$。終端80和服務(wù)器82之間的連接可以是可用于家庭銀行事務(wù)(home banking)和類似事務(wù)的普通網(wǎng)絡(luò)?,F(xiàn)在將描述一些根據(jù)本發(fā)明將小程序加載于智能卡中的例子。
如上所述,普通網(wǎng)絡(luò)通過將新的使用權(quán)限再加載于智能卡上的小程序中來補(bǔ)充小程序的使用權(quán)限。上文已描述了將小程序的使用權(quán)限再加載到智能卡中的一些問題?,F(xiàn)在將描述操作根據(jù)本發(fā)明的小程序加載系統(tǒng)的一些例子。
圖5是根據(jù)本發(fā)明被用于補(bǔ)充智能卡中小程序的使用權(quán)限的加載系統(tǒng)的框圖。如圖所示,例如智能卡20可以具有第一小程序102,第二小程序104,和第三小程序106。在此例子中,第一和第三小程序保持其使用權(quán)限,然而第二小程序必需補(bǔ)充使用權(quán)限。根據(jù)本發(fā)明,具有刷新使用權(quán)限的新的第二小程序108加載于智能卡20中并取代舊的第二小程序104。從而,在加載過程之后,智能卡可以具有第一小程序102,第三小程序106,和一個具有刷新使用權(quán)限的新的第二小程序108。如圖所示,加載過程只影響第二小程序。如上所示,因?yàn)橥暾男〕绦虮患虞d回智能卡中,所以使用權(quán)限的類型無關(guān)緊要,加載系統(tǒng)可以加載智能卡中任何類型的小程序,而不論小程序具有何種類型的使用權(quán)限。
圖6是根據(jù)本發(fā)明用于將可丟棄應(yīng)用加載于已有智能卡上的加載系統(tǒng)的框圖。如圖所示,智能卡20可以包含第一小程序102。另外,在遠(yuǎn)端系統(tǒng)112處,可以存儲一個可丟棄小程序114。可丟棄小程序可加載于智能卡20中以使得智能卡可包含第一小程序102和新的可丟棄小程序114??蓙G棄小程序可以很容易地加載于智能卡中。另外,一旦可丟棄小程序的使用權(quán)限耗盡,可使用根據(jù)本發(fā)明的加載方法用一個具有新使用權(quán)限的新小程序取代該可丟棄小程序。
例如,一個用戶可以做一次外國旅游并希望將一些當(dāng)?shù)刎泿偶虞d到智能卡上以使得他不需要攜帶任何現(xiàn)金。旅游終了,使用者不希望保持這些貨幣小程序,因?yàn)樗麑⒉粫偈褂盟鼈?。因此,本發(fā)明允許用諸如預(yù)付費(fèi)電話呼叫小程序取代外國貨幣小程序。
圖7是根據(jù)本發(fā)明用于補(bǔ)充智能卡中小程序的使用權(quán)限的加載系統(tǒng)的框圖。在此例中,智能卡20包含具有使用權(quán)限的單個小程序116。根據(jù)本發(fā)明,小程序116可以由具有與舊小程序相同的功能,但具有補(bǔ)充的使用權(quán)限的新小程序120代替。
如圖所示,本發(fā)明不限于任何具體數(shù)量的小程序,并可用于刷新少到單個小程序的使用權(quán)限或刷新多個小程序的使用權(quán)限。本發(fā)明也可用于加載和取代智能卡上的單個可丟棄小程序?,F(xiàn)在將描述將使用權(quán)限記入智能卡中的方法。
圖8是將使用權(quán)限記入智能卡中的方法200的流程圖。首先,在步驟202中,可以選取智能卡中的一個小程序。例如,當(dāng)智能卡放入電話終端,然后終端可以選取具有電話使用權(quán)限的小程序。為了選取小程序,智能卡可以驗(yàn)證該終端具有適當(dāng)?shù)脑L問該特定小程序的權(quán)力。隨后,例如在步驟204,智能卡接收一個來自終端的應(yīng)用選擇指令。如果該所選應(yīng)用不是在智能卡中初始化或存在于智能卡中,則該方法在步驟206結(jié)束。如果選取一個有效應(yīng)用,隨后在步驟208中,在發(fā)出一個記入使用權(quán)限指令之后,在步驟208,智能卡接收記入使用權(quán)限指令。如果使用權(quán)限已用盡,則在步驟210,記入失敗,在步驟212,小程序的使用權(quán)限可以補(bǔ)充,如下所述。如果接收到一個有效記入指令,在步驟214,計(jì)算所減少的小程序的使用權(quán)限,并將其存儲到智能卡的存儲器中。然后,如果對于小程序有附加的借貸,則方法回到步驟208,否則方法終止于步驟216?,F(xiàn)在將描述根據(jù)本發(fā)明補(bǔ)充智能卡上小程序的使用權(quán)限的方法。
圖9是圖8中用于根據(jù)本發(fā)明刷新小程序使用權(quán)限的步驟212的流程圖??梢赃x取所述小程序,因?yàn)樗延霉馑氖褂脵?quán)限或因?yàn)槭褂谜哌x取一個特定小程序。如上所述,通用加載器可將具有任何類型使用權(quán)限的任何類型的小程序加載于智能卡的存儲器中。另外,由于加載器可加載任何類型的小程序,因此無須卡發(fā)行商再加載小程序的使用權(quán)限。從而,通用加載器具有更大的使用靈活性。
一旦選取具有有關(guān)使用權(quán)限的任何小程序,在步驟230,智能卡驗(yàn)證諸如小程序的服務(wù)器的提供者的可靠性。如果鑒權(quán)過程失敗,則該方法終止于步驟232。如果鑒權(quán)過程成功,則在步驟234,提供者利用加載器將小程序加載于智能卡的NVM中。
典型地,智能卡可以通過數(shù)字簽名,加密檢查集或預(yù)定隨機(jī)數(shù)值的驗(yàn)證來完成對小程序代碼的鑒權(quán)。在步驟236,該智能卡驗(yàn)證該小程序的程序代碼的可靠性以檢測病毒,和類似物。在步驟238,如果對小程序代碼的鑒權(quán)失敗,則從智能卡的存儲器中刪除該小程序。
接下的步驟是一個并不要求的,為了將一個應(yīng)用加載于根據(jù)本發(fā)明的智能卡中的可選步驟。該步驟要求智能卡具有更大容量的存儲器。在可選步驟240中,智能卡可執(zhí)行靜態(tài)檢查和小程序代碼的語法檢查。如果該檢查失敗,則在步驟242,從智能卡的存儲器中刪除該小程序代碼。在最后的步驟244中,智能卡初始化小程序的代碼以使得小程序的使用權(quán)限可被記入,如上參照圖8所描述的。
在前面參照本發(fā)明的具體實(shí)施例的同時,那些本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)理解可以對本發(fā)明做一些不背離本發(fā)明的原理和精神的改變,本發(fā)明的范圍由附屬權(quán)利要求限定。
權(quán)利要求
1.一種用于將一個應(yīng)用及其相關(guān)的使用權(quán)限加載于具有其它應(yīng)用的智能卡中,一些其它應(yīng)用具有隨著應(yīng)用的使用而改變的相關(guān)使用權(quán)限,該系統(tǒng)包括用于遠(yuǎn)離所述智能卡地存儲一個應(yīng)用和與該應(yīng)用相關(guān)、具有預(yù)定初始值的使用權(quán)限的裝置;所述智能卡具有一個處理裝置,和一個存儲單元,該存儲器連接到處理單元并存儲具有使用權(quán)限的第二應(yīng)用;用于將所述智能卡連接到所述遠(yuǎn)端存儲裝置的裝置;和用于將具有預(yù)定值使用權(quán)限的應(yīng)用從所述遠(yuǎn)端存儲裝置加載到所述智能卡中的裝置。
2.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于,使用權(quán)限具有刷新狀態(tài)和耗盡狀態(tài),第二應(yīng)用的使用權(quán)限耗盡,而應(yīng)用的使用權(quán)限被刷新,該系統(tǒng)還進(jìn)一步包括用于將在遠(yuǎn)端存儲裝置中的所述應(yīng)用取代存儲于存儲器中的所述第二應(yīng)用,以使得存儲器中的使用權(quán)限得以刷新的裝置。
3.根據(jù)權(quán)利要求2的系統(tǒng),其特征在于,連接裝置進(jìn)一步包括用于驗(yàn)證遠(yuǎn)端存儲裝置的可靠性以將一個應(yīng)用加載到智能卡的存儲器中的裝置。
4.用于加載一個具有使用權(quán)限的應(yīng)用的智能卡器件,所述使用權(quán)限具有用于計(jì)量應(yīng)用使用的數(shù)值,該智能卡包括用于執(zhí)行一個應(yīng)用的處理器;一個連接到該處理器,用于存儲包括具有第一使用權(quán)限和與第一使用權(quán)限相關(guān)的第一數(shù)值的第一應(yīng)用的多個應(yīng)用的存儲器,該第一數(shù)值隨著第一使用權(quán)限的使用而從預(yù)定初始值開始變化;一個使得所述智能卡的處理器可以與遠(yuǎn)端位置通信的接口;用于在智能卡中經(jīng)由所述接口接收來自遠(yuǎn)端位置的第二應(yīng)用的裝置,該第二應(yīng)用具有第二使用權(quán)限;和用于將所述第二應(yīng)用存儲入所述智能卡的所述存儲器中的裝置。
5.根據(jù)權(quán)利要求4的智能卡器件,其特征在于,進(jìn)一步包括用來自遠(yuǎn)端位置的第二應(yīng)用取代存儲于存儲器中的所述第一應(yīng)用以補(bǔ)充存儲器中應(yīng)用的使用權(quán)限的裝置。
6.根據(jù)權(quán)利要求5的智能卡器件,其特征在于,接收裝置進(jìn)一步包括用于驗(yàn)證遠(yuǎn)端位置的可靠性以將一個應(yīng)用加載到智能卡的存儲器中的裝置。
7.一種補(bǔ)充存儲于智能卡中的應(yīng)用的使用權(quán)限的方法,該使用權(quán)限具有刷新狀態(tài)和耗盡狀態(tài)并隨著應(yīng)用的使用而逐漸被用盡,該智能卡具有一個處理器和一個用于存儲該應(yīng)用的存儲器,該方法包括將包含具有處于耗盡狀態(tài)使用權(quán)限的第一應(yīng)用的智能卡連接到通信系統(tǒng),該通信系統(tǒng)被連接到遠(yuǎn)離所述智能卡的系統(tǒng),該遠(yuǎn)端系統(tǒng)存儲包括具有與第一應(yīng)用等同的使用權(quán)限的第二應(yīng)用,該等同使用權(quán)限具有一個刷新狀態(tài);在該卡中驗(yàn)證所述遠(yuǎn)端存儲系統(tǒng)具有取代在智能卡中的第一應(yīng)用的權(quán)力;和用具有刷新使用權(quán)限的第二應(yīng)用取代在所述存儲器中的第一應(yīng)用,以使得駐留在智能卡存儲器中的應(yīng)用的使用權(quán)限被補(bǔ)充。
8.根據(jù)權(quán)利要求7的方法,其特征在于,取代過程進(jìn)一步包括將所述第一應(yīng)用從所述智能卡的所述存儲器中刪除,并將來自遠(yuǎn)端存儲位置的具有刷新使用權(quán)限的所述第二應(yīng)用加載于所述智能卡的所述存儲器中,以使得位于智能卡的存儲器中的應(yīng)用的使用權(quán)限被補(bǔ)充。
9.一種將一個應(yīng)用加載于智能卡中的方法,該應(yīng)用包含具有刷新狀態(tài)和耗盡狀態(tài)并隨著應(yīng)用的使用而正被用盡的使用權(quán)限,該智能卡具有處理器和用于存儲該應(yīng)用的存儲器,該方法包括將包含具有處于耗盡狀態(tài)使用權(quán)限的第一應(yīng)用的智能卡連接到通信系統(tǒng),該通信系統(tǒng)被連接到遠(yuǎn)離所述智能卡的系統(tǒng),該系統(tǒng)存儲包括具有使用權(quán)限的第二應(yīng)用;在該卡中驗(yàn)證所述遠(yuǎn)端存儲系統(tǒng)具有將第二應(yīng)用加載于該智能卡中的權(quán)力;和將具有刷新狀態(tài)的第二應(yīng)用加載于所述存儲器中的存儲器中以使得第二應(yīng)用可使用。
10.根據(jù)權(quán)利要求11的方法,其特征在于,第一應(yīng)用具有已耗盡的使用權(quán)限,該第二應(yīng)用具有與第一應(yīng)用等同的刷新的使用權(quán)限,其中加載過程包括用具有刷新使用權(quán)限的第二應(yīng)用取代在所述存儲器中的第一應(yīng)用以使得駐留在智能卡存儲器中的應(yīng)用的使用權(quán)限被補(bǔ)充。
11.用于加載一個具有使用權(quán)限的應(yīng)用的智能卡裝置,所述使用權(quán)限具有用于計(jì)量應(yīng)用使用的數(shù)值,該智能卡包括用于執(zhí)行一個應(yīng)用的處理器;一個連接到該處理器,用于存儲包括具有第一使用權(quán)限和與第一使用權(quán)限相關(guān)的第一數(shù)值的第一應(yīng)用的多個應(yīng)用的存儲器,該第一數(shù)值隨著第一使用權(quán)限的使用而從預(yù)定初始值開始變化;用于在智能卡中經(jīng)由所述接口加載來自遠(yuǎn)端位置的第二應(yīng)用的裝置,該第二應(yīng)用具有第二使用權(quán)限;和用于將所述第二應(yīng)用存儲入所述智能卡中的所述存儲器中的裝置。用于改變所述第一應(yīng)用和第二應(yīng)用的使用權(quán)限的裝置。
12.根據(jù)權(quán)利要求11的智能卡裝置,其特征在于,所述第二應(yīng)用具有與第一應(yīng)用等同的使用權(quán)限,該等同的使用權(quán)限具有刷新狀態(tài),其中存儲裝置進(jìn)一步包括用具有刷新使用權(quán)限的第二應(yīng)用取代所述存儲器中的第一應(yīng)用的裝置以使得位于智能卡存儲器中的應(yīng)用的使用權(quán)限被補(bǔ)充。
全文摘要
本發(fā)明提供了一種用于將一個小程序及其相關(guān)的使用權(quán)限加載于包含具有相關(guān)使用權(quán)限的其它小程序的智能卡中的系統(tǒng),該其它小程序的相關(guān)使用權(quán)限具有隨著應(yīng)用被使用而改變的數(shù)值,該系統(tǒng)遠(yuǎn)離智能卡地存儲一個小程序及其有預(yù)定初始值的、與該小程序相關(guān)的使用權(quán)限,并包括具有一個處理單元,和一個存儲單元的智能卡,該存儲單元連接到處理單元并存儲具有使用權(quán)限的第二應(yīng)用。該智能卡可連接到所述遠(yuǎn)端存儲裝置,而具有預(yù)定值使用權(quán)限的應(yīng)用可由所述遠(yuǎn)端存儲裝置加載于所述智能卡中。本發(fā)明還提供一種智能卡,它包括一個用于執(zhí)行應(yīng)用的處理器、一個連接到該處理器的存儲器、用于將來自遠(yuǎn)端位置的第二應(yīng)用經(jīng)由接口加載于智能卡中的系統(tǒng)、用于將所述第二應(yīng)用存儲入所述智能卡中所述存儲器的系統(tǒng)、和用于改變所述第一應(yīng)用和第二應(yīng)用的使用權(quán)限的系統(tǒng),該存儲器用于存儲包括具有第一使用權(quán)限及其相關(guān)的第一數(shù)值的第一應(yīng)用,該第一數(shù)值隨著第一使用權(quán)限的使用而從預(yù)定初始值開始改變,該第二應(yīng)用具有第二使用權(quán)限。本發(fā)明還提供一種補(bǔ)充智能卡中使用權(quán)限的方法。
文檔編號G07F7/10GK1206482SQ97191527
公開日1999年1月27日 申請日期1997年8月29日 優(yōu)先權(quán)日1996年8月30日
發(fā)明者G·利斯馬奎, P·派列特 申請人:格姆普拉斯有限公司