專(zhuān)利名稱(chēng):可搭載多個(gè)卡管理程序的ic卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及下載有擁有特權(quán)的應(yīng)用程序的IC卡。
背景技術(shù):
現(xiàn)在,作為安全裝置的IC卡正受人注目。為了用戶的便利性以及減少欲通過(guò)IC卡提供服務(wù)的企業(yè)的參與壁壘,正在對(duì)在卡發(fā)行后可以下載應(yīng)用程序的卡、即與多個(gè)應(yīng)用程序?qū)?yīng)的卡進(jìn)行開(kāi)發(fā)。
這里,對(duì)有關(guān)IC卡的硬件構(gòu)成進(jìn)行概要說(shuō)明。圖18是關(guān)于IC卡的硬件功能的方框圖。IC卡1800具備CPU1801、ROM1802、RAM1803、EEPROM1804、I/O IF1805。CPU1801用于進(jìn)行運(yùn)算。ROM1802是不能被改寫(xiě)、只能讀出的專(zhuān)用存儲(chǔ)器。ROM1802中存儲(chǔ)的內(nèi)容,在制造IC卡1800時(shí)己被決定,之后不能變更。RAM1803是可讀寫(xiě)的存儲(chǔ)器。EEPROM1804是可讀寫(xiě)的存儲(chǔ)器。與RAM1803在斷掉電源后內(nèi)容消失相反,EEPROM1804在斷掉電源后內(nèi)容仍被保存。I/O IF1805負(fù)責(zé)與IC卡外部的數(shù)據(jù)的交換。CPU1801所執(zhí)行的程序通常被稱(chēng)為“應(yīng)用程序”。用于執(zhí)行應(yīng)用程序的代碼被存儲(chǔ)在ROM1802或EEPROM1804中。另外,在圖18所示之外,IC卡1800也可具備用于密碼操作的密碼子處理器。
圖19是說(shuō)明在CPU1801被執(zhí)行的應(yīng)用程序的關(guān)系的圖,在IC卡1900的ROM1901中有稱(chēng)作卡管理程序1902的應(yīng)用程序、另外還有特權(quán)API1906和一般API1907??ü芾沓绦?902,是用于在IC卡1900中對(duì)所運(yùn)行的應(yīng)用程序的運(yùn)行進(jìn)行控制的應(yīng)用程序。應(yīng)用程序的運(yùn)行的控制,包括應(yīng)用程序的啟動(dòng)、結(jié)束、刪除、下載等??ü芾沓绦?902通過(guò)IC卡的VM(虛擬計(jì)算機(jī))和OS(操作系統(tǒng))的聯(lián)合、執(zhí)行上述控制。特權(quán)API1906,是用于卡管理程序1902執(zhí)行使用的特權(quán)操作的、應(yīng)用程序接口。例如,用于實(shí)施下載、啟動(dòng)、結(jié)束應(yīng)用程序等控制的操作是特權(quán)操作的例子。一般API1907是用于執(zhí)行不需特權(quán)的操作時(shí)的應(yīng)用程序接口。AP·1(1903)、AP·2(1904)、AP·3(1905)是存儲(chǔ)在ROM1802或EEPROM1804中的、在卡管理程序的支配下執(zhí)行的應(yīng)用程序。這些應(yīng)用程序不能實(shí)施特權(quán)操作,因此在由ROM1802提供的應(yīng)用程序接口中、只能使用一般API1907。為使特權(quán)操作不能執(zhí)行卡管理程序1902以外的應(yīng)用程序,特權(quán)API1906只對(duì)卡管理程序1902開(kāi)放,或者,即使對(duì)其他的應(yīng)用程序開(kāi)放,也要進(jìn)行如下所述的確認(rèn),以使其他的應(yīng)用程序不能進(jìn)行特權(quán)操作。即,在特權(quán)API1906的內(nèi)部、檢查要使用特權(quán)API1906的、應(yīng)用程序的標(biāo)識(shí)符或程序計(jì)數(shù)器所指的存儲(chǔ)器地址等,來(lái)確認(rèn)卡管理程序1902。
上述對(duì)應(yīng)多個(gè)應(yīng)用程序的卡的開(kāi)發(fā)中,對(duì)下載后的應(yīng)用程序進(jìn)行管理的卡管理程序進(jìn)行各種研究,提出了各種式樣的卡管理程序提案。預(yù)計(jì)其發(fā)展趨勢(shì)是,隨著對(duì)IC卡需求的增加,會(huì)有更好更多的卡管理程序的式樣被提出。
但是,現(xiàn)在的IC卡上只能搭載1個(gè)卡管理程序,而且卡管理程序的代碼存儲(chǔ)在內(nèi)容不能改寫(xiě)的ROM中。因此,不得不開(kāi)發(fā)各種式樣的卡管理程序,然后將其存儲(chǔ)在ROM內(nèi)、制成IC卡,從費(fèi)用、工時(shí)角度考慮并不理想。另外,對(duì)于一般的用戶來(lái)講,攜帶好幾張IC卡感覺(jué)不方便。
發(fā)明內(nèi)容
為解決上述課題,本發(fā)明,提供具有能下載擁有特權(quán)的應(yīng)用程序的卡管理程序的IC卡。下載擁有特權(quán)的應(yīng)用程序并使其運(yùn)行,通過(guò)在擁有特權(quán)的應(yīng)用程序的支配下、對(duì)別的應(yīng)用程序進(jìn)行下載、啟動(dòng)、結(jié)束等,擁有特權(quán)的應(yīng)用程序起到卡管理程序的作用。即使有上述各種式樣的卡管理程序的提案,通過(guò)將這樣的卡管理程序作為擁有特權(quán)的應(yīng)用程序進(jìn)行下載,使用戶不必持有多張IC卡。另外,還可以進(jìn)行相當(dāng)于存儲(chǔ)在ROM中的卡管理程序的版本升級(jí)的工作。
如上所述,如果可以下載擁有特權(quán)的應(yīng)用程序,則需要和一般的應(yīng)用程序進(jìn)行區(qū)分。因此,在本發(fā)明中,存儲(chǔ)在ROM中的卡管理程序具有特權(quán)AP(應(yīng)用程序)控制裝置,其用于判斷下載的應(yīng)用程序是否有特權(quán)。另外,使得一般的應(yīng)用程序不能訪問(wèn)(access)特權(quán)API進(jìn)行特權(quán)操作。
圖1是實(shí)施方式1相關(guān)的IC卡的功能方框圖。
圖2是實(shí)施方式1相關(guān)的被下載的特權(quán)應(yīng)用程序具有卡管理程序時(shí)的IC卡的功能方框圖。
圖3是實(shí)施方式2相關(guān)的IC卡的功能方框圖。
圖4是應(yīng)用程序主體和簽名的關(guān)系的圖。
圖5是用于判斷應(yīng)用程序是否有特權(quán)而使用的表的例圖。
圖6是使用特權(quán)AP控制裝置決定是否許可應(yīng)用程序的特權(quán)的處理流程圖。
圖7是實(shí)施方式3相關(guān)的IC卡的功能方框圖。
圖8是實(shí)施方式3相關(guān)的說(shuō)明第一卡管理程序的運(yùn)行的方框圖。
圖9是實(shí)施方式4相關(guān)的IC卡的功能方框圖。
圖10是每個(gè)特權(quán)應(yīng)用程序附帶關(guān)聯(lián)的可以使用的函數(shù)的表的例圖。
圖11是實(shí)施方式5相關(guān)的IC卡的功能方框圖。
圖12是應(yīng)用程序的堆棧的內(nèi)容的例圖。
圖13用于應(yīng)用程序使用特權(quán)API的信息流程的例圖。
圖14是實(shí)施方式6相關(guān)的IC卡的功能方框圖。
圖15是說(shuō)明第二卡管理程序的運(yùn)行的流程圖。
圖16是說(shuō)明第一卡管理程序的運(yùn)行的流程圖。
圖17是實(shí)施方式7相關(guān)的IC卡的功能方框圖。
圖18是IC卡的硬件構(gòu)成的例圖。
圖19是現(xiàn)有IC卡相關(guān)的應(yīng)用程序的關(guān)系的圖。
具體實(shí)施例方式
以下,就本發(fā)明的實(shí)施方式用圖加以說(shuō)明。但是本發(fā)明并不限于這些實(shí)施方式,在不偏離該要旨的范圍內(nèi)、可以以各種方式實(shí)施。
(實(shí)施方式1)圖1是與本發(fā)明實(shí)施方式1有關(guān)的IC卡的動(dòng)作狀態(tài)的功能的方框圖的示例。本實(shí)施方式的IC卡,具有第一卡管理程序。該第一卡管理程序可以下載特權(quán)應(yīng)用程序。
(實(shí)施方式1構(gòu)成)“第一卡管理程序”控制IC卡內(nèi)應(yīng)用程序的運(yùn)行。應(yīng)用程序的運(yùn)行的控制,包括應(yīng)用程序的啟動(dòng)、以及執(zhí)行中的控制、結(jié)束、刪除、下載等。這些與現(xiàn)有的技術(shù)相同。
“應(yīng)用程序的運(yùn)行的控制”通過(guò)第一卡管理程序使用特權(quán)API和一般API來(lái)完成。
“API”是應(yīng)用程序接口的簡(jiǎn)稱(chēng),是可以由應(yīng)用程序使用該應(yīng)用程序所使用的模塊的入口。
“特權(quán)API”是只能由被認(rèn)可的特定權(quán)利的應(yīng)用程序使用的API。該被認(rèn)可的特定權(quán)利的應(yīng)用程序的代表例,是本實(shí)施方式的第一卡管理程序,是特權(quán)應(yīng)用程序。特權(quán)API通過(guò)存儲(chǔ)在ROM101等存儲(chǔ)器中的程序來(lái)實(shí)現(xiàn),實(shí)現(xiàn)特權(quán)API的步驟稱(chēng)為“特權(quán)API步驟”。
“一般API”是指任何應(yīng)用程序都可以使用的API。該一般API,可以由IC卡100內(nèi)運(yùn)行的所有應(yīng)用程序使用??梢酝ㄟ^(guò)一般API使用的是一般程序庫(kù)的功能。這里的“一般程序庫(kù)”的功能,舉例來(lái)說(shuō)如字符串的操作(字符串的連接或?qū)ψ址刑囟ㄎ淖值乃阉鞯?、數(shù)據(jù)的復(fù)制、具有結(jié)構(gòu)的數(shù)據(jù)的串行及其逆操作、以及用于多倍長(zhǎng)的整數(shù)運(yùn)算等的算術(shù)運(yùn)算等。
(實(shí)施方式1具有下載特權(quán)應(yīng)用程序的第一卡管理程序的IC卡的詳細(xì)說(shuō)明)以下,用圖來(lái)詳細(xì)說(shuō)明與本實(shí)施方式有關(guān)的IC卡,該IC卡包括特權(quán)API、以及使用一般API來(lái)下載有特權(quán)的特權(quán)應(yīng)用程序的第一卡管理程序。
圖1是可以下載(已經(jīng)下載)應(yīng)用程序的IC卡。此下載通過(guò)第一卡管理程序進(jìn)行。第一卡管理程序通過(guò)程序來(lái)實(shí)現(xiàn)。因此,該程序可以稱(chēng)為卡管理程序程序,其用于使IC卡執(zhí)行下載特權(quán)應(yīng)用程序的步驟,該IC卡是計(jì)算機(jī)的一種。
“特權(quán)應(yīng)用程序”103是指有特權(quán)的應(yīng)用程序。不儲(chǔ)存在ROM101中,而是通過(guò)第一卡管理程序102下載,并從IC卡100的外部導(dǎo)入。
所謂“下載”,就是從外部向IC卡輸入應(yīng)用程序且保存成可以使用的狀態(tài)。
下載的結(jié)果,應(yīng)用程序存儲(chǔ)在可以寫(xiě)入的EEPROM等存儲(chǔ)器中。在現(xiàn)有的IC卡中,特權(quán)API106是制造IC卡100時(shí)被存儲(chǔ)的應(yīng)用程序,例如,只能由ROM101中存儲(chǔ)的第一卡管理程序102使用,但是對(duì)于本發(fā)明,即使是IC卡100制造后下載的特權(quán)應(yīng)用程序103,也可使用特權(quán)API106。
因此,例如,在現(xiàn)有的IC卡中,對(duì)使用特權(quán)API106的應(yīng)用程序的程序計(jì)數(shù)器的指針地址或應(yīng)用程序標(biāo)識(shí)符等(以下省略“標(biāo)識(shí)符等”)進(jìn)行研究,對(duì)只能由第一卡管理程序使用特權(quán)API106這一點(diǎn)盡量進(jìn)行改善,使其成為以下的狀況。即,第一卡管理程序102下載特權(quán)應(yīng)用程序103,當(dāng)啟動(dòng)特權(quán)應(yīng)用程序103時(shí),例如特權(quán)應(yīng)用程序103作為可以使用特權(quán)的應(yīng)用程序,該標(biāo)識(shí)符等就會(huì)在RAM1803或EEPROM1804等登記。特權(quán)API106,對(duì)使用API的應(yīng)用程序的標(biāo)識(shí)符等是可以使用特權(quán)的應(yīng)用程序進(jìn)行確認(rèn)、以使應(yīng)用程序使用特權(quán)操作。
(實(shí)施方式1在發(fā)行后可以變更IC卡的設(shè)定的例子)因此,本發(fā)明中,由第一卡管理程序102下載的特權(quán)應(yīng)用程序201也可以使用特權(quán)。由此,例如可以改變IC卡的設(shè)定(例如轉(zhuǎn)換成省電模式等)。因此,IC卡在發(fā)行后,通過(guò)下載特權(quán)應(yīng)用程序,可以改變IC卡的設(shè)定。
(實(shí)施方式1發(fā)行后的應(yīng)用程序也可以訪問(wèn)機(jī)密信息的例子)另外,有時(shí)通過(guò)特權(quán)API106的控制,對(duì)在IC卡101中存儲(chǔ)的信息中,特別是機(jī)密性高的信息,例如,銀行帳號(hào)號(hào)碼,密碼,余額,IC卡的有效期限等進(jìn)行訪問(wèn)。對(duì)于本實(shí)施方式的IC卡,在IC卡發(fā)行后、可以下載用于訪問(wèn)上述信息并能進(jìn)行處理的應(yīng)用程序。
(實(shí)施方式1IC卡發(fā)行后可以對(duì)應(yīng)新協(xié)議的例子)另外,在基于新的協(xié)議進(jìn)行清帳處理的場(chǎng)合,如果基于該新的協(xié)議、把運(yùn)行的特權(quán)程序下載到本實(shí)施方式相關(guān)的IC卡中,則沒(méi)必要在發(fā)行新的IC卡。
(實(shí)施方式1特權(quán)的說(shuō)明)其次,對(duì)前述“特權(quán)”是可以使用卡特權(quán)管理裝置、不能進(jìn)行自身的刪除、可以成為默認(rèn)的應(yīng)用程序、可以高度響應(yīng)地使用資源中的一個(gè)或兩個(gè)以上特權(quán)的IC卡進(jìn)行說(shuō)明。
在此,特權(quán)應(yīng)用程序103所擁有的“特權(quán)”是指可以使用特權(quán)API106。通過(guò)使用特權(quán)應(yīng)用程序,可以使用下列功能,例如,可以使用卡特權(quán)管理裝置、不能進(jìn)行自身的刪除、可以成為默認(rèn)應(yīng)用程序、可以高響應(yīng)地使用資源。
所謂“卡特權(quán)管理裝置”是指管理應(yīng)用程序的種種裝置。以后將詳細(xì)說(shuō)明。
所謂“默認(rèn)應(yīng)用程序”,是指IC卡開(kāi)始工作時(shí)最初被啟動(dòng)的應(yīng)用程序(或者最初被啟動(dòng)的一系列應(yīng)用程序)。
所謂“高度響應(yīng)地使用資源”,是指為打開(kāi)自動(dòng)檢票的門(mén)而進(jìn)行處理,為了進(jìn)行實(shí)時(shí)的某一處理,優(yōu)先使用IC卡內(nèi)的資源。
另外,也可以同時(shí)使用兩個(gè)以上上述所列舉的功能。
(實(shí)施方式1卡特權(quán)管理裝置的說(shuō)明)其次說(shuō)明的是,“卡特權(quán)管理裝置”具有下列功能中的任意一個(gè)或兩個(gè)以上的功能的IC卡。這些通過(guò)特權(quán)API可以發(fā)揮功能的功能是,應(yīng)用程序的壽命周期管理功能、下載·刪除功能、下載的應(yīng)用程序的簽名檢驗(yàn)功能、應(yīng)用程序的防火墻提供功能和存儲(chǔ)器/通信控制功能。
所謂“卡特權(quán)管理裝置”,是指如上所述的管理應(yīng)用程序的種種裝置。具體來(lái)說(shuō),就是相當(dāng)于應(yīng)用程序的壽命周期管理功能、下載·刪除功能、下載的應(yīng)用程序的簽名驗(yàn)證功能、應(yīng)用程序的防火墻提供功能和存儲(chǔ)器/通信控制功能等功能。
所謂“應(yīng)用程序的壽命周期”,就是表示是否在應(yīng)用程序被下載的狀態(tài)、是否在應(yīng)用程序被運(yùn)行的可以選擇的狀態(tài)、或者是否是不可以選擇的狀態(tài)等。
所謂“應(yīng)用程序的壽命周期管理功能”,是指管理應(yīng)用程序的狀態(tài)的功能,使應(yīng)用程序的選擇從可以的狀態(tài)向不可以的狀態(tài)轉(zhuǎn)移,還可以進(jìn)行逆向的轉(zhuǎn)移。而且,在上述轉(zhuǎn)移之外,本發(fā)明中的應(yīng)用程序的壽命周期管理功能,還可以管理從應(yīng)用程序的啟動(dòng)到結(jié)束、刪除的狀態(tài)。
所謂“下載·刪除功能”,是下載應(yīng)用程序并導(dǎo)入到IC卡中、使之可使用(例如安裝)的功能,以及刪除導(dǎo)入到IC卡中的應(yīng)用程序、使應(yīng)用程序不能使用(例如卸載)的功能。通過(guò)此功能的使用,例如,下載應(yīng)用程序并安裝使之可以使用,如果應(yīng)用程序不被需要、則卸載使IC卡回到安裝前的狀態(tài)。
所謂“下載的應(yīng)用程序的簽名驗(yàn)證功能”,是指檢查通過(guò)下載功能被下載到IC卡中的應(yīng)用程序附帶的簽名是否正確的功能。此功能的具體例子,例如,驗(yàn)證應(yīng)用程序是否被修改的功能。通過(guò)簽名驗(yàn)證功能、驗(yàn)證被下載的應(yīng)用程序的運(yùn)行是否正確,對(duì)于IC卡而言是重要的功能,因此將其作為卡特權(quán)管理裝置的功能。
所謂“應(yīng)用程序的防火墻功能”,是指在IC卡內(nèi)的應(yīng)用程序之間、控制各種不良影響使其不相互波及的功能。
存儲(chǔ)器/通信控制功能,是控制應(yīng)用程序使用的存儲(chǔ)器、或控制I/O IF1805的功能。
卡特權(quán)管理裝置通過(guò)特權(quán)API906可以使用,并通過(guò)存儲(chǔ)在ROM101等中的程序來(lái)實(shí)現(xiàn)。因此,將實(shí)現(xiàn)卡特權(quán)管理裝置的步驟稱(chēng)為“卡特權(quán)管理步驟”。因此,實(shí)現(xiàn)本實(shí)施方式的第一卡管理程序的卡管理程序程序,通過(guò)使用特權(quán)API906而可以使用卡特權(quán)管理步驟。
(實(shí)施方式1可以導(dǎo)入第二、第三卡管理程序)另外,被下載的特權(quán)應(yīng)用程序103,如前所述可以使用特權(quán)API,所以被下載的特權(quán)應(yīng)用程序可以進(jìn)行應(yīng)用程序的啟動(dòng)、運(yùn)行中的控制、結(jié)束、刪除、下載等。因此,在被下載的應(yīng)用程序中、可以具有作為卡管理程序的功能。
即,在預(yù)先寫(xiě)入IC卡ROM中的初始卡管理程序之外,可以導(dǎo)入第二、第三卡管理程序。因此,對(duì)于卡管理程序自身的版本升級(jí)或更新,不用更換IC卡主體就可實(shí)現(xiàn)。
(實(shí)施方式1被下載的特權(quán)應(yīng)用程序由其他的應(yīng)用程序提供特權(quán)API接口)圖2所示為被下載的特權(quán)應(yīng)用程序201向其他AP·1(202)、AP·2(203)等提供由特權(quán)API106和一般API107提供的功能。
因此,圖1中的特權(quán)應(yīng)用程序,與AP·1(202)、AP·2(203)沒(méi)有關(guān)聯(lián),即使單獨(dú)運(yùn)行也可以,這一點(diǎn)和圖2不同。
另一方面,在圖2中,被下載的特權(quán)應(yīng)用程序201為其他的應(yīng)用程序AP·1(202)、AP·2(203)提供由特權(quán)API106和一般API107提供的功能,(換而言之,是說(shuō)被下載的特權(quán)應(yīng)用程序201有圖中未圖示的接口部,如果沒(méi)有,則被下載的孫應(yīng)用程序也可以是特權(quán)應(yīng)用程序。)或者,變更這些應(yīng)用程序的壽命周期、來(lái)進(jìn)行控制。而且,AP·1(202)和AP·2(203),在使用一般API的功能時(shí),不必必須使用特權(quán)應(yīng)用程序201提供的一般API的功能,也可以直接使用一般API107。
(實(shí)施方式1孫應(yīng)用程序成為特權(quán)應(yīng)用程序,例如卡管理程序)還有,被下載的特權(quán)應(yīng)用程序201下載特權(quán)應(yīng)用程序,該被下載的特權(quán)應(yīng)用程序通過(guò)特權(quán)應(yīng)用程序201提供的特權(quán)API,可以作為卡管理程序運(yùn)行。
即,作為卡管理程序運(yùn)行的特權(quán)應(yīng)用程序201,下載其他卡管理程序,在特權(quán)應(yīng)用程序201的支配下也可以運(yùn)行。也就是說(shuō),從第一卡管理程序102的角度看,如果特權(quán)應(yīng)用程序201是子的應(yīng)用程序(以下簡(jiǎn)稱(chēng)為子應(yīng)用程序),則可以實(shí)現(xiàn)作為子應(yīng)用程序的特權(quán)應(yīng)用程序201所下載的應(yīng)用程序(也就是說(shuō),對(duì)于第一卡管理程序來(lái)講相當(dāng)于孫應(yīng)用程序,以下簡(jiǎn)稱(chēng)為孫應(yīng)用程序)作為卡管理程序來(lái)運(yùn)行。
(實(shí)施方式1通過(guò)特權(quán)應(yīng)用程序可以下載而允許應(yīng)用程序的不同的下載步驟)如上所述,例如,可以允許應(yīng)用程序的不同的下載步驟。即,在IC卡發(fā)行后,提供以不同的步驟進(jìn)行下載的必要的應(yīng)用程序,通過(guò)下載與上述順序?qū)?yīng)的卡管理程序并使其運(yùn)行,可以下載該應(yīng)用程序。
(實(shí)施方式1可以通過(guò)特權(quán)應(yīng)用程序的下載來(lái)應(yīng)對(duì)特權(quán)API的式樣的變更)另外,對(duì)應(yīng)于AP·1等的請(qǐng)求,特權(quán)應(yīng)用程序從特權(quán)API106或一般API107所處得到的結(jié)果,由特權(quán)應(yīng)用程序201接收、并反饋給AP·1(202)等。結(jié)果,特權(quán)應(yīng)用程序201可以提供存儲(chǔ)在ROM101中的作為一般API107的API。因此,即使提出、采用新的特權(quán)API的式樣和一般API的式樣的方案,如果把該式樣對(duì)應(yīng)的特權(quán)應(yīng)用程序下載到IC卡中,則可以與該式樣對(duì)應(yīng)。因此,每次變更特權(quán)API等的式樣時(shí)不必再發(fā)行IC卡。
(實(shí)施方式1第一卡管理程序控制第二卡管理程序的下屬應(yīng)用程序)接著,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即在由第一卡管理程序下載的子應(yīng)用程序是擁有可進(jìn)一步下載孫應(yīng)用程序的第二卡管理程序的特權(quán)應(yīng)用程序時(shí),可以由第一卡管理程序進(jìn)行孫應(yīng)用程序的壽命周期的變更、刪除。
所謂“擁有第二卡管理程序的特權(quán)應(yīng)用程序”是指通過(guò)第一卡管理程序被下載的特權(quán)應(yīng)用程序,是有可以起到卡管理程序功能的應(yīng)用程序。即,該特權(quán)應(yīng)用程序下載其他的應(yīng)用程序,可以變更使該應(yīng)用程序運(yùn)行等的應(yīng)用程序的壽命周期,或可以刪除該應(yīng)用程序。
所謂“應(yīng)用程序壽命周期的變更、刪除”是指應(yīng)用程序的變更或/及應(yīng)用程序的刪除的意思。
而且,通過(guò)這樣的第一卡管理程序被下載的特權(quán)應(yīng)用程序,是可以起到卡管理程序功能的應(yīng)用程序,被稱(chēng)為“第二卡管理程序”。
(實(shí)施方式1存在多個(gè)卡管理程序時(shí)的問(wèn)題)圖2例示的是,在通過(guò)第一卡管理程序102被下載的子應(yīng)用程序是第二卡管理程序201時(shí),在第二卡管理程序的管理下孫應(yīng)用程序(AP·1(202)等)正在運(yùn)行的狀態(tài)。這種時(shí)候,第一卡管理程序102和第二卡管理程序(特權(quán)管理程序201)的優(yōu)越性成了問(wèn)題。
所謂“優(yōu)越性”,是指當(dāng)考慮第一卡管理程序和第二卡管理程序的管理特權(quán)的大小或管理內(nèi)容的競(jìng)爭(zhēng)時(shí)的該管理權(quán)限的訂正,例如第一卡管理程序是否可以變更或刪除在第二卡管理程序下運(yùn)行的應(yīng)用程序的壽命周期的意思。
該優(yōu)越性成為問(wèn)題的例子,例舉如下情況。即,第二卡管理程序在可能運(yùn)行的日期時(shí)刻下載己到了期限的應(yīng)用程序,并使該應(yīng)用程序運(yùn)行。如果在盡管過(guò)了可能運(yùn)行日期時(shí)刻的期限,但第二卡管理程序未停止該應(yīng)用程序時(shí),第一卡管理程序是否可以停止此應(yīng)用程序成為問(wèn)題。同樣,在過(guò)了期限時(shí),第一卡管理程序?yàn)榇_保儲(chǔ)存容量等,是否可以刪除此應(yīng)用程序也成了問(wèn)題。
而且,即使過(guò)了期限,第二卡管理程序也不停止應(yīng)用程序的情況的一個(gè)原因是第二卡管理程序有錯(cuò)誤(bug)。另外,雖然第一卡管理程序和第二卡管理程序的制作者不同,但有時(shí)第二卡管理程序和第二卡管理程序下載的應(yīng)用程序的制作者相同。對(duì)于第二種情況,第二卡管理程序的制作者有使下載的應(yīng)用程序盡可能長(zhǎng)時(shí)間地運(yùn)行的意圖,另一方面,第一卡管理程序的制作者有適當(dāng)?shù)胤峙銲C卡的資源的意圖。這時(shí),兩種意圖將產(chǎn)生矛盾,就有必要消除此矛盾。
(實(shí)施方式1上述問(wèn)題點(diǎn)的解決手段)但是,從技術(shù)上講,孫應(yīng)用程序在使IC卡的第一卡管理程序102實(shí)現(xiàn)功能的VM和0S下運(yùn)行,雖然是間接的但也可以說(shuō)是受第一卡管理程序102的支配。因此,第一卡管理程序102進(jìn)行孫應(yīng)用程序的壽命周期的變更、孫應(yīng)用程序的刪除等不是不可能。這樣,作為優(yōu)劣問(wèn)題的一個(gè)解決方法,第一卡管理程序102進(jìn)行孫應(yīng)用程序的壽命周期的變更、孫應(yīng)用程序的刪除也可以。當(dāng)然,與之相反,也可以是禁止這些的結(jié)構(gòu)。另外,也可以使第二卡管理程序可對(duì)第一卡管理程序102下載的應(yīng)用程序的壽命周期進(jìn)行變更、刪除。
(實(shí)施方式1詳述第一卡管理程序控制第二卡管理程序的下屬應(yīng)用程序)以下,對(duì)第一卡管理程序102實(shí)現(xiàn)孫應(yīng)用程序的壽命周期的變更、孫應(yīng)用程序的刪除的方法進(jìn)行詳細(xì)說(shuō)明。實(shí)現(xiàn)它的一個(gè)方法如以下所述。即,當(dāng)特權(quán)應(yīng)用程序201下載孫應(yīng)用程序時(shí),特權(quán)應(yīng)用程序201就對(duì)第一卡管理程序102輸出下載的孫應(yīng)用程序的信息,把孫應(yīng)用程序被下載的區(qū)域的地址、尺寸、孫應(yīng)用程序的名字等管理(例如壽命周期的變更和刪除)孫應(yīng)用程序所必要的信息通知給第一卡管理程序102。
另外,特權(quán)應(yīng)用程序201啟動(dòng)孫應(yīng)用程序時(shí),把關(guān)于啟動(dòng)后的孫應(yīng)用程序的信息通知給第一卡管理程序,例如,通知啟動(dòng)后的孫應(yīng)用程序被分配的存儲(chǔ)器區(qū)域和使應(yīng)用程序啟動(dòng)的應(yīng)用程序標(biāo)識(shí)符等。特權(quán)應(yīng)用程序201在結(jié)束孫應(yīng)用程序的運(yùn)行時(shí),通知第一卡管理程序102孫應(yīng)用程序已經(jīng)結(jié)束。同樣,特權(quán)應(yīng)用程序201在刪除了孫應(yīng)用程序時(shí),通知第一卡管理程序102刪除了孫應(yīng)用程序的信息。
據(jù)此,第一卡管理程序102可以知道特權(quán)應(yīng)用程序201對(duì)應(yīng)用程序的管理狀況,特權(quán)應(yīng)用程序201可以進(jìn)行孫應(yīng)用程序的壽命周期的變更和刪除等的管理。因此,在由第一卡管理程序102下載的子應(yīng)用程序是進(jìn)一步具有可以下載孫應(yīng)用程序的特權(quán)的特權(quán)應(yīng)用程序201時(shí),使從第一卡管理程序102對(duì)孫應(yīng)用程序的壽命周期進(jìn)行變更、刪除成為可能。
而且,對(duì)于第一卡管理程序102,特權(quán)應(yīng)用程序201下載孫應(yīng)用程序等的信息沒(méi)有必要從特權(quán)應(yīng)用程序201直接地輸出給第一卡管理程序102,也可以通過(guò)特權(quán)API106,從特權(quán)應(yīng)用程序201間接地輸出到第一卡管理程序102。
另外,對(duì)于這樣的場(chǎng)合,特權(quán)應(yīng)用程序201沒(méi)有必要把第一卡管理程序102作為輸出目的地明確指出。例如,也可以如下所述,在特權(quán)應(yīng)用程序201使用特權(quán)API106下載孫應(yīng)用程序時(shí),在特權(quán)API106中,調(diào)查哪個(gè)卡管理程序?qū)嵤┝讼螺d,當(dāng)判斷第二卡管理程序進(jìn)行了下載時(shí),就輸出被下載到第一卡管理程序102的信息。另外,應(yīng)用程序的管理也可以如下所述,通過(guò)IC卡的VM和OS來(lái)實(shí)施,第一卡管理程序得到所有用于管理應(yīng)用程序的信息,根據(jù)得到的信息可以實(shí)施應(yīng)用程序的管理。
(實(shí)施方式1第一卡管理程序不能控制第二卡管理程序的下屬應(yīng)用程序)另外,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即第二卡管理程序禁止來(lái)自第一卡管理程序的孫應(yīng)用程序的壽命周期的變更、刪除。
(實(shí)施方式1詳細(xì)說(shuō)明第一卡管理程序不能控制第二卡管理程序的下屬應(yīng)用程序)即,與以上所述相反,第二卡管理程序可以禁止第一卡管理程序變更、刪除孫應(yīng)用程序。實(shí)現(xiàn)的一個(gè)方法如下所述。也就是說(shuō),即使特權(quán)應(yīng)用程序201進(jìn)行孫應(yīng)用程序的下載或啟動(dòng)、結(jié)束、刪除,也不向第一卡管理程序102輸出任何信息,或作成如下所述的特權(quán)API106來(lái)實(shí)現(xiàn),即通過(guò)特權(quán)API106的使用,各應(yīng)用程序在哪個(gè)卡管理程序的支配下的信息被存儲(chǔ)在IC卡100內(nèi),不能變更其他卡管理程序支配下的應(yīng)用程序的壽命周期。
(實(shí)施方式1第二卡管理程序可以控制第一卡管理程序的下屬應(yīng)用程序的情況)也可以使第二卡管理程序可以變更、刪除第一卡管理程序下載的應(yīng)用程序的壽命周期。
(實(shí)施方式1第二卡管理程序可以控制第一卡管理程序的下屬應(yīng)用程序的實(shí)現(xiàn)方法)實(shí)現(xiàn)的一個(gè)方法是當(dāng)?shù)谝豢ü芾沓绦蛳螺d應(yīng)用程序時(shí),第一卡管理程序?qū)⒂糜诠芾碓摫幌螺d的應(yīng)用程序的信息通知給第二卡管理程序。
另外,也可以在將IC卡中被下載的所有應(yīng)用程序的壽命周期等用于管理應(yīng)用程序的必要的信息保持在IC卡的VM和OS中時(shí),進(jìn)行如下的管理。即,第二卡管理程序讀出在VM和OS中保持的信息,基于此信息,第一卡管理程序進(jìn)行變更、刪除下載了的應(yīng)用程序的壽命周期。如果使用此種方法,則第二卡管理程序不僅可以管理通過(guò)第一卡管理程序所下載的應(yīng)用程序,還可以進(jìn)行IC卡中運(yùn)行的所有的應(yīng)用程序的壽命周期的變更和刪除等的應(yīng)用程序的管理。
(實(shí)施方式1具有用于優(yōu)越性的選擇的選擇手段的方式)另外,在由第一卡管理程序所下載的子應(yīng)用程序是特權(quán)應(yīng)用程序201、且該特權(quán)應(yīng)用程序201擁有進(jìn)一步可以下載孫應(yīng)用程序的第二卡管理程序時(shí),也可以配置選擇裝置,用于選擇第一卡管理程序102所具有的特權(quán)和第二卡管理程序所具有的特權(quán)的優(yōu)越性。
為了實(shí)現(xiàn)如上所述的選擇裝置,也可以讓對(duì)用于選擇來(lái)自I/OIF1805的優(yōu)越性的信號(hào)進(jìn)行受理的應(yīng)用程序在IC卡內(nèi)運(yùn)行,或者,也可以在IC卡內(nèi)配置裝有選擇裝置的專(zhuān)用硬件。特權(quán)API106、一般API107、第一卡管理程序、特權(quán)應(yīng)用程序201參照根據(jù)該選擇裝置的選擇結(jié)果,可以根據(jù)被選擇的優(yōu)越性實(shí)施運(yùn)行。
(實(shí)施方式1第一卡管理程序和第二卡管理程序的關(guān)系在其他卡管理程序之間也成立)以上雖然說(shuō)明了第一卡管理程序、以及其子應(yīng)用程序的擁有第二卡管理程序的特權(quán)應(yīng)用程序之間的關(guān)系,但是并不僅限于上述場(chǎng)合。例如,第二卡管理程序進(jìn)一步下載擁有特權(quán)的應(yīng)用程序(稱(chēng)作孫特權(quán)應(yīng)用程序),在該孫特權(quán)應(yīng)用程序具有第三卡管理程序時(shí),第三卡管理程序和第一卡管理程序的關(guān)系,或者第三卡管理程序和第二卡管理程序的關(guān)系,再者和第四卡管理程序、第五卡管理程序等的關(guān)系也可以適用。
(實(shí)施方式1效果的簡(jiǎn)單說(shuō)明)在以上說(shuō)明的實(shí)施方式中,第一卡管理程序102可以下載擁有特權(quán)的應(yīng)用程序即特權(quán)應(yīng)用程序。據(jù)此,在IC卡發(fā)行后下載實(shí)行IC卡設(shè)定的特權(quán)應(yīng)用程序以進(jìn)行設(shè)定的變更,或者可以下載對(duì)沒(méi)有特權(quán)就不能得到的數(shù)據(jù)進(jìn)行操作的應(yīng)用程序。其結(jié)果是,例如可以適應(yīng)新的交易協(xié)議。另外,這樣的特權(quán)應(yīng)用程序可以作為卡管理程序運(yùn)行,所以可以吸收應(yīng)用程序下載步驟的不同,或者可以提供新規(guī)格的接口給孫應(yīng)用程序。即,如果把特權(quán)應(yīng)用程序下載到IC卡中即可,所以就沒(méi)有必要發(fā)行新的IC卡。
另外,第一卡管理程序可以變更、刪除第二卡管理程序所下載的孫應(yīng)用程序的壽命周期,例如在過(guò)了孫應(yīng)用程序的運(yùn)行期限時(shí),通過(guò)第一卡管理程序使該應(yīng)用程序的運(yùn)行結(jié)束,或者可以刪除。另外,第二卡管理程序通過(guò)禁止第一卡管理程序變更、刪除孫應(yīng)用程序的壽命周期,第二卡管理程序比第一卡管理程序優(yōu)先。因此,可以使用第二卡管理程序代替第一卡管理程序,可以實(shí)現(xiàn)相當(dāng)于卡管理程序的版本升級(jí)或更新的功能。
(實(shí)施方式2)接著,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,也就是說(shuō),第一卡管理程序具有用于判斷應(yīng)用程序是否有特權(quán)的特權(quán)AP控制裝置。
(實(shí)施方式2構(gòu)成)圖3是與本發(fā)明的實(shí)施方式2有關(guān)的IC卡的功能方框圖。本實(shí)施方式在與實(shí)施方式1的圖1的功能方框圖中追加了特權(quán)AP控制裝置301。在本實(shí)施方式中,第一卡管理程序102具有特權(quán)AP控制裝置301。特權(quán)AP控制裝置301是用于判斷應(yīng)用程序是否有特權(quán)的裝置。
(實(shí)施方式2判斷應(yīng)用程序是否有特權(quán)的方法)判斷應(yīng)用程序是否有特權(quán)的一個(gè)方法,是在應(yīng)用程序中作為該應(yīng)用程序的屬性來(lái)附加是否有特權(quán)的方法。即,在下載應(yīng)用程序時(shí),調(diào)查應(yīng)用程序的屬性,對(duì)于具有特權(quán)的屬性的應(yīng)用程序確認(rèn)特權(quán)。
但是這樣,則在非法運(yùn)行的應(yīng)用程序中可以容易地增加具有特權(quán)的屬性,所以對(duì)于非法運(yùn)行的應(yīng)用程序也很可能確認(rèn)特權(quán)。
(實(shí)施方式2判斷的方法=簽名)一個(gè)防止方法是在應(yīng)用程序中附加簽名的方法。圖4表示應(yīng)用程序主體和簽名的關(guān)系。所謂“應(yīng)用程序主體”是指運(yùn)行應(yīng)用程序的必要信息。例如應(yīng)用程序的運(yùn)行代碼,將傳遞的參數(shù)等存儲(chǔ)在應(yīng)用程序中的應(yīng)用程序管理信息等。圖4所示是由應(yīng)用程序主體401求出散列(hush)值然后將其密碼化以得到簽名402。所謂“散列值”是指找出使輸出值一致的兩個(gè)不同的數(shù)據(jù)根據(jù)計(jì)算量困難的函數(shù)得出的輸出值。關(guān)于這樣的函數(shù)已知的有SHA-1(Secure Hash Standard-1)、MD5(Message Digest 5)等,SHA-1使輸入的數(shù)據(jù)與160比特的散列值相對(duì)應(yīng),MD5與128比特的散列值相對(duì)應(yīng)。
簽名是將上述散列函數(shù)的輸出值密碼化的值。在密碼是使用公鑰密碼化方式時(shí),保證應(yīng)用程序運(yùn)行的人,用秘鑰將散列值密碼化的值作為簽名。而且,密碼化使用的秘鑰是保證應(yīng)用程序運(yùn)行的人的,另外有時(shí)還是應(yīng)用程序的制作者或應(yīng)用程序的發(fā)行者等的秘鑰。通過(guò)知道由誰(shuí)的秘鑰進(jìn)行密碼化,就能知道應(yīng)用程序的出處等。通過(guò)驗(yàn)證這樣生成的簽名,可以確認(rèn)應(yīng)用程序主本是否被非法運(yùn)行。例如,IC卡100的第一卡管理程序102下載應(yīng)用程序主體401和簽名402,根據(jù)生成簽名402的公鑰解碼,另一方面,在應(yīng)用程序主體401中適用生成簽名時(shí)使用的散列函數(shù)來(lái)得到散列值,由解碼的結(jié)果和散列值是否相等,可以判斷是否是保證了應(yīng)用程序主體的運(yùn)行。
(實(shí)施方式2驗(yàn)證有無(wú)特權(quán)和簽名是否正確的結(jié)果的管理)特權(quán)AP控制裝置301,也可以根據(jù)圖5所示的表對(duì)第一卡管理程序102下載的應(yīng)用程序有無(wú)特權(quán)以及簽名是否正確的結(jié)果進(jìn)行管理。在圖5的表中,左列是第一卡管理程序102下載的應(yīng)用程序的標(biāo)識(shí)符(例如名字等),左列表示是否許可通過(guò)應(yīng)用程序使用特權(quán)。例如,是“○”時(shí)對(duì)應(yīng)用程序許可使用特權(quán),是“×”時(shí)表示不許可使用特權(quán)。而且,簽名的驗(yàn)證在下載應(yīng)用程序時(shí)進(jìn)行,而且存儲(chǔ)應(yīng)用程序和其簽名,也可以在應(yīng)用程序啟動(dòng)時(shí)或在應(yīng)用程序要使用特權(quán)API106時(shí),進(jìn)行簽名的驗(yàn)證。
特權(quán)API106在應(yīng)用程序訪問(wèn)時(shí),參照?qǐng)D5的表,調(diào)查是否是被許可使用特權(quán)的應(yīng)用程序訪問(wèn),如果是被許可使用特權(quán)的應(yīng)用程序訪問(wèn),進(jìn)行被期待的運(yùn)行,如果不是這樣,則返回錯(cuò)誤(error)。
(實(shí)施方式2特權(quán)AP控制裝置的處理流程)圖6是說(shuō)明與本實(shí)施方式有關(guān)的第一卡管理程序102的運(yùn)行流程圖。步驟S601將特權(quán)應(yīng)用程序和簽名一起下載。步驟S602驗(yàn)證簽名。如果可以驗(yàn)證簽名,則步驟S603許可下載的特權(quán)應(yīng)用程序的特權(quán)。而且,簽名的驗(yàn)證沒(méi)有必要在下載特權(quán)應(yīng)用程序時(shí)實(shí)施,到特權(quán)應(yīng)用程序訪問(wèn)特權(quán)API106為止都可以實(shí)施。例如,特權(quán)應(yīng)用程序在最初訪問(wèn)特權(quán)API106時(shí)驗(yàn)證簽名也可以。
特權(quán)AP控制裝置301通過(guò)實(shí)現(xiàn)第一卡管理程序的卡管理程序程序?qū)崿F(xiàn)。因此,在卡管理程序程序之中實(shí)現(xiàn)特權(quán)AP控制裝置的步驟稱(chēng)為“特權(quán)AP控制步驟”。
(實(shí)施方式2特權(quán)應(yīng)用程序與可以使用的函數(shù)相關(guān)聯(lián))接著,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即基于特權(quán)API的功能由多個(gè)函數(shù)組成,特權(quán)AP控制裝置使每個(gè)特權(quán)應(yīng)用程序具有特權(quán)AP標(biāo)識(shí)信息管理功能,該特權(quán)AP標(biāo)識(shí)信息管理功能是特權(quán)應(yīng)用程序使可以使用的函數(shù)和該特權(quán)應(yīng)用程序相互關(guān)聯(lián)的功能。
所謂“基于特權(quán)API106的功能”是指通過(guò)訪問(wèn)特權(quán)API106可以實(shí)現(xiàn)的功能。
所謂“基于特權(quán)API的功能由多個(gè)函數(shù)組成”,意思是通過(guò)訪問(wèn)特權(quán)API106可以實(shí)現(xiàn)的功能由多個(gè)函數(shù)(或者方法)提供。
所謂“特權(quán)AP標(biāo)識(shí)信息管理功能”是指對(duì)每個(gè)特權(quán)應(yīng)用程序而言,特權(quán)應(yīng)用程序使可以使用的函數(shù)和該特權(quán)應(yīng)用程序相關(guān)聯(lián)的功能。該功能,例如,可以通過(guò)名為“應(yīng)用程序”的列和名為“可以使用的函數(shù)”的列構(gòu)成的圖10所示的表實(shí)現(xiàn)。在名為“應(yīng)用程序”的列中,存儲(chǔ)用于標(biāo)識(shí)特權(quán)應(yīng)用程序的信息,在名為“可以使用的函數(shù)”的列中,存儲(chǔ)標(biāo)識(shí)各特權(quán)應(yīng)用程序可以使用的函數(shù)的信息。在特權(quán)API106被訪問(wèn)時(shí),確認(rèn)進(jìn)行訪問(wèn)的應(yīng)用程序是被許可使用特權(quán)的應(yīng)用程序,而且通過(guò)調(diào)查圖10中的表,確認(rèn)應(yīng)用程序要使用的函數(shù)被存儲(chǔ)在名為“可以使用的函數(shù)”的列中。
(實(shí)施方式2可以使用的函數(shù)的塊單位)而且,把訪問(wèn)通過(guò)特權(quán)API106提供可以實(shí)現(xiàn)的功能的函數(shù)劃分為幾個(gè)集合即塊,在圖10的表的名為“可以使用的函數(shù)”的列中,存放識(shí)別所述塊的信息即可。這樣一來(lái),則當(dāng)某一應(yīng)用程序可以使用的函數(shù)存在多個(gè)時(shí),如果存儲(chǔ)識(shí)別塊的信息即可,所以可以減少存儲(chǔ)的信息量。因此,如上所述的方法,特別適合對(duì)存儲(chǔ)區(qū)域的容量苛刻的IC卡。
(實(shí)施方式2效果的簡(jiǎn)單說(shuō)明)本實(shí)施方式的IC卡,具有含有特權(quán)AP控制裝置的第一卡管理程序,該特權(quán)AP控制裝置判斷被下載來(lái)的應(yīng)用程序是否具有特權(quán),所以,例如不會(huì)對(duì)非法運(yùn)行的應(yīng)用程序許可特權(quán)。而且,對(duì)于每個(gè)下載的應(yīng)用程序,通過(guò)函數(shù)級(jí)別或函數(shù)的集合即塊級(jí)別,可以對(duì)特權(quán)操作的許可進(jìn)行控制。
(實(shí)施方式3)接著,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,其第一卡管理程序,具有對(duì)來(lái)自應(yīng)用程序的特權(quán)API的使用請(qǐng)求即特權(quán)API使用請(qǐng)求進(jìn)行受理的特權(quán)API使用請(qǐng)求受理部,當(dāng)根據(jù)特權(quán)API使用請(qǐng)求,第一卡管理程序的特權(quán)AP控制裝置的判斷結(jié)果為判定應(yīng)用程序是特權(quán)應(yīng)用程序的判斷結(jié)果的情況下,特權(quán)應(yīng)用程序具有可以使用特權(quán)API的接口部。
(實(shí)施方式3構(gòu)成)圖7所示是本發(fā)明的實(shí)施方式3相關(guān)的IC卡的功能的方框圖。本實(shí)施方式相關(guān)的IC卡700具有ROM701,在ROM701中存在第一卡管理程序702、特權(quán)API706、一般API708和卡特權(quán)管理裝置707。第一卡管理程序702、特權(quán)API706、一般API708和卡特權(quán)管理裝置707,相當(dāng)于第1和第2實(shí)施方式的第一卡管理程序102、特權(quán)API106、一般API107和卡特權(quán)管理裝置(未圖示出)。
本實(shí)施方式的特征在于,第一卡管理程序702具有特權(quán)AP控制裝置709、特權(quán)API使用請(qǐng)求受理部710和接口部711。
(實(shí)施方式3與實(shí)施方式2的不同點(diǎn))與本實(shí)施方式對(duì)應(yīng)的圖7和與實(shí)施方式2對(duì)應(yīng)的圖3的不同點(diǎn)在于,本實(shí)施方式在應(yīng)用程序要使用特權(quán)API時(shí),對(duì)該應(yīng)用程序是否許可使用特權(quán)的判斷方法更加詳細(xì)。
(實(shí)施方式3假設(shè)的IC卡)而且,本實(shí)施方式,主要假設(shè)為所謂JavaCard型的IC卡,適用于具有如下的軟件·結(jié)構(gòu)的IC卡,即具有IC卡的OS和VM的構(gòu)成。
(實(shí)施方式3構(gòu)成)“特權(quán)AP控制裝置”709,判斷應(yīng)用程序是否具有特權(quán)。即與實(shí)施方式2的特權(quán)AP控制裝置301同樣運(yùn)行,例如,對(duì)圖5所示的每個(gè)應(yīng)用程序管理是否許可使用特權(quán)的表。
“特權(quán)API使用請(qǐng)求受理部”710,受理來(lái)自應(yīng)用程序的特權(quán)API的使用的請(qǐng)求即特權(quán)API使用請(qǐng)求。因此,在應(yīng)用程序使用特權(quán)API706時(shí),并不直接地訪問(wèn)特權(quán)API706,而是變?yōu)閷?duì)特權(quán)API使用請(qǐng)求受理部710輸出特權(quán)API使用請(qǐng)求。
“接口部”711當(dāng)根據(jù)特權(quán)API使用請(qǐng)求,第一卡管理程序的特權(quán)AP控制裝置709的判斷結(jié)果,為應(yīng)用程序是特權(quán)應(yīng)用程序的判斷結(jié)果時(shí),使特權(quán)應(yīng)用程序可以使用特權(quán)API706。
所謂“基于特權(quán)API使用請(qǐng)求的第一卡管理程序的特權(quán)AP控制裝置709的判斷結(jié)果”,是指向特權(quán)API使用請(qǐng)求受理部710輸出了特權(quán)API使用請(qǐng)求的應(yīng)用程序是否被許可使用特權(quán),通過(guò)特權(quán)API控制裝置709進(jìn)行判斷的結(jié)果。
在根據(jù)該判斷結(jié)果判斷為被許可使用特權(quán)的場(chǎng)合,接口部使輸出特權(quán)API使用請(qǐng)求的應(yīng)用程序可以使用特權(quán)API706。例如,把在特權(quán)API使用請(qǐng)求受理部710被受理的特權(quán)API使用請(qǐng)求,通過(guò)接口部向特權(quán)API706傳送?;蛘甙颜J(rèn)可使用特權(quán)API706的入場(chǎng)券(許可證),發(fā)給向特權(quán)API使用請(qǐng)求受理部710輸出特權(quán)API使用請(qǐng)求的應(yīng)用程序,應(yīng)用程序?qū)μ貦?quán)API706提示由接口部發(fā)給的入場(chǎng)券來(lái)進(jìn)行特權(quán)操作的使用即可。
(實(shí)施方式3以第一卡管理程序的特權(quán)AP控制裝置的判斷結(jié)果為基礎(chǔ)的IC卡的處理流程)圖8是說(shuō)明第一卡管理程序709的運(yùn)行的流程圖。在步驟S801中,特權(quán)API使用請(qǐng)求受理部710受理特權(quán)API使用請(qǐng)求。在步驟S802中,確定輸出了特權(quán)API使用請(qǐng)求的應(yīng)用程序。在步驟S803中,通過(guò)特權(quán)AP控制裝置709判斷是否許可被確定的應(yīng)用程序的特權(quán)使用。如果在特權(quán)使用被許可時(shí),在步驟S804中,使特權(quán)API使用請(qǐng)求被受理的應(yīng)用程序使用特權(quán)API706。在特權(quán)使用未被許可時(shí),不能使用特權(quán)API706。
(實(shí)施方式3效果的簡(jiǎn)單說(shuō)明)根據(jù)如上所述的實(shí)施方式,在特權(quán)API706通過(guò)接口部706被應(yīng)用程序訪問(wèn)時(shí),特權(quán)API706只能從第一卡管理程序被訪問(wèn),所以已有的IC卡的特權(quán)API可以照樣使用。而且,在發(fā)給通過(guò)接口部706使用特權(quán)API706的入場(chǎng)券時(shí),只有收到入場(chǎng)券的應(yīng)用程序才可以使用特權(quán)API706,所以通過(guò)特權(quán)AP控制裝置709未被許可使用特權(quán)的應(yīng)用程序不能進(jìn)行特權(quán)操作,可以確保安全性。
(實(shí)施方式4)接著,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即第一卡管理程序的特權(quán)AP控制裝置,在應(yīng)用程序要直接使用特權(quán)API時(shí),在特權(quán)AP控制裝置的判斷結(jié)果為應(yīng)用程序是特權(quán)應(yīng)用程序的判斷結(jié)果時(shí),特權(quán)應(yīng)用程序可以直接使用特權(quán)API。
(實(shí)施方式4構(gòu)成)圖9所示是本發(fā)明的實(shí)施方式4相關(guān)的IC卡的功能的方框圖。圖9的IC卡900具有ROM901,在ROM901中存在第一卡管理程序902、特權(quán)API906、一般API908和卡特權(quán)管理裝置907。第一卡管理程序902、特權(quán)API906、一般API908和卡特權(quán)管理裝置907,相當(dāng)于第1和第2實(shí)施方式的第一卡管理程序102、特權(quán)API106、一般API107和卡特權(quán)管理裝置(未圖示出)。
本實(shí)施方式的特征在于,第一卡管理程序902具有特權(quán)AP控制裝置909,在特權(quán)API906被訪問(wèn)時(shí),通過(guò)特權(quán)AP控制裝置909,判斷是否許可對(duì)特權(quán)API906進(jìn)行了訪問(wèn)的應(yīng)用程序使用特權(quán)。本實(shí)施方式,主要假設(shè)為所謂Native型的IC卡,適用于在OS和應(yīng)用程序之間不設(shè)置VM、具有如下構(gòu)成的軟件·結(jié)構(gòu)的IC卡,即應(yīng)用程序可以直接訪問(wèn)OS的構(gòu)成。
“特權(quán)AP控制裝置909”判斷應(yīng)用程序是否具有特權(quán)。即與實(shí)施方式2的特權(quán)AP控制裝置301同樣運(yùn)行,例如,對(duì)圖5所示的每個(gè)應(yīng)用程序管理是否許可使用特權(quán)的表。而且,在本實(shí)施方式中,特權(quán)AP控制裝置909在應(yīng)用程序要直接使用特權(quán)API906時(shí),當(dāng)特權(quán)AP控制裝置909的判斷結(jié)果為應(yīng)用程序是特權(quán)應(yīng)用程序時(shí),特權(quán)應(yīng)用程序可以直接使用API909。
所謂“應(yīng)用程序直接使用特權(quán)API906”如圖9所示,是指特權(quán)應(yīng)用程序903與圖7所示的情況不同,可以直接訪問(wèn)存儲(chǔ)在ROM901中的特權(quán)API906。
所謂“特權(quán)AP控制裝置909的判斷結(jié)果”,是指與訪問(wèn)過(guò)特權(quán)API906的應(yīng)用程序是否被許可使用特權(quán)有關(guān)的、特權(quán)AP控制裝置909的判斷結(jié)果。
所謂“特權(quán)應(yīng)用程序可以直接使用特權(quán)API909”,是指特權(quán)AP控制裝置909許可如下所述的特權(quán)應(yīng)用程序可以直接使用特權(quán)API909,該特權(quán)應(yīng)用程序是通過(guò)特權(quán)AP控制裝置909被許可使用特權(quán)的應(yīng)用程序。
因此,在本實(shí)施方式中,在特權(quán)API906從應(yīng)用程序直接進(jìn)行訪問(wèn)時(shí),特權(quán)API906使特權(quán)AP控制裝置909判斷進(jìn)行了訪問(wèn)的應(yīng)用程序是否被許可使用特權(quán)。在特權(quán)AP控制裝置909判斷為是被許可使用特權(quán)的應(yīng)用程序時(shí),對(duì)特權(quán)API906輸出進(jìn)行了訪問(wèn)的應(yīng)用程序可以使用特權(quán)API的信號(hào)。
(實(shí)施方式4效果的簡(jiǎn)單說(shuō)明)根據(jù)如上所述的實(shí)施方式,只有被許可使用特權(quán)的應(yīng)用程序可以使用特權(quán)API906,保持了安全性。而且變?yōu)閼?yīng)用程序可以直接使用特權(quán)API906,在中途通過(guò)其他接口使用API906可以避免溢出(overhead),可以有效地使用特權(quán)API906。
(實(shí)施方式5)其次,其次對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即第一卡管理程序的接口部使應(yīng)用程序通過(guò)特權(quán)應(yīng)用程序的接口不能使用特權(quán)API(特權(quán)API用的接口禁止借用)。
(實(shí)施方式5構(gòu)成)圖11是用于說(shuō)明本發(fā)明的實(shí)施方式5的IC卡的功能方框圖。圖11和說(shuō)明實(shí)施方式3所使用的圖7大致相同,IC卡1100與IC卡700、ROM1101與ROM701、第一卡管理程序1102與第一卡管理程序702、特權(quán)應(yīng)用程序1103與特權(quán)應(yīng)用程序703、特權(quán)API1105與特權(quán)API706、卡特權(quán)管理裝置1107與卡特權(quán)管理裝置707、一般API1106與一般API708、特權(quán)AP控制裝置與特權(quán)AP控制裝置709、特權(quán)API使用請(qǐng)求受理部1109與特權(quán)API使用請(qǐng)求受理部710、以及接口部1110與接口部711相對(duì)應(yīng)。
在圖11中,特權(quán)應(yīng)用程序1103向AP·1(1104)提供作為第二卡管理程序的功能,在AP·1(1104)使用第二卡管理程序的功能時(shí),訪問(wèn)特權(quán)應(yīng)用程序1103所具有的接口部1111。
在該場(chǎng)合,AP·1(1104)訪問(wèn)接口部1111請(qǐng)求特權(quán)操作,如果接口部1111把該要求作為特權(quán)API使用請(qǐng)求原樣向特權(quán)使用請(qǐng)求受理部1109輸出,則會(huì)產(chǎn)生不是特權(quán)應(yīng)用程序,AP·1(1104)通過(guò)特權(quán)應(yīng)用程序1103錯(cuò)誤地進(jìn)行特權(quán)操作的問(wèn)題。
本實(shí)施方式為解決上述問(wèn)題,第一卡管理程序1102的接口部1110使應(yīng)用程序通過(guò)特權(quán)應(yīng)用程序1103的接口部1111不能使用特權(quán)AP11105。
也就是說(shuō),接口部1110對(duì)特權(quán)應(yīng)用程序以外的應(yīng)用程序經(jīng)由特權(quán)應(yīng)用程序1103的接口部1111要訪問(wèn)特權(quán)API1105進(jìn)行檢測(cè),如果檢測(cè)出要訪問(wèn),則不可進(jìn)行對(duì)特權(quán)API1105的訪問(wèn)。
(實(shí)施方式5判斷經(jīng)由接口部的次數(shù))實(shí)現(xiàn)上述功能的方法是通過(guò)對(duì)到特權(quán)API1105為止的經(jīng)由接口部的次數(shù)進(jìn)行檢查的方法。例如,假設(shè)當(dāng)經(jīng)由接口部2次以上時(shí)不可訪問(wèn)特權(quán)API1105。使用圖11進(jìn)行如下舉例。如果應(yīng)用程序直接經(jīng)由特權(quán)API使用請(qǐng)求受理部1109使用接口1110,則由于只經(jīng)由接口部1110一次,所以不會(huì)因使用接口部二次以上而不能對(duì)特權(quán)API1105進(jìn)行訪問(wèn)(但是有時(shí)會(huì)因?yàn)閼?yīng)用程序會(huì)不是特權(quán)應(yīng)用程序而不可以訪問(wèn))。
與上述相對(duì)應(yīng),如果特權(quán)應(yīng)用程序經(jīng)由特權(quán)應(yīng)用程序1103所設(shè)置的接口部1111,之后當(dāng)再經(jīng)由接口部1110使用特權(quán)API1105時(shí),接口部1110因是從特權(quán)應(yīng)用程序1103被使用,所以許可訪問(wèn)。但是,此時(shí)因經(jīng)由2個(gè)接口部、即接口部1111和接口部1110,所以不能訪問(wèn)特權(quán)API1105。
(實(shí)施方式5根據(jù)堆棧的內(nèi)容進(jìn)行判斷)而且,接口部1110還有調(diào)查應(yīng)用程序的堆棧的內(nèi)容、控制訪問(wèn)特權(quán)API1105的方法。
所謂“堆?!笔侵赣糜趹?yīng)用程序運(yùn)行的暫時(shí)區(qū)域,如果函數(shù)被調(diào)用,則在該函數(shù)結(jié)束時(shí)記錄應(yīng)返回的地址(函數(shù)的返回地址),或用于保存在函數(shù)內(nèi)部使用的局部變量的值的“后入先出”的區(qū)域。所謂“后入先出”,是指例如A、B順序進(jìn)入的數(shù)據(jù),取出數(shù)據(jù)時(shí)按與進(jìn)入的順序相反即B、A的順序。
圖12所示是AP·1(1104)的堆棧的一例。附帶符號(hào)1201的部分是存儲(chǔ)與AP·1(1104)的執(zhí)行部分相關(guān)的函數(shù)的返回地址或局部變量的值的部分。AP·1(1104)訪問(wèn)接口部1111,如果在接口部1111進(jìn)行處理,則在堆棧中存儲(chǔ)附帶符號(hào)為1202的部分。在該部分存儲(chǔ)隨接口部1111處理的返回地址或局部變量的值。
接口部1111訪問(wèn)特權(quán)API使用請(qǐng)求受理部1109,如果進(jìn)行特權(quán)API使用請(qǐng)求受理部1109的處理,則附帶符號(hào)1203的部分被存儲(chǔ)。在該部分存儲(chǔ)隨特權(quán)API使用請(qǐng)求受理部1109處理的函數(shù)的返回地址或局部變量的值。接口部1110通過(guò)調(diào)查如上所述的堆棧的內(nèi)容,可以判斷AP·1(1104)通過(guò)特權(quán)應(yīng)用程序1103的接口部1111是否要使用特權(quán)API1105。在調(diào)查堆棧的內(nèi)容進(jìn)行上述判斷時(shí),例如,如果調(diào)試使用調(diào)查堆棧的內(nèi)容進(jìn)行的不返回(backless)的技術(shù)即可。
(實(shí)施方式5信息通過(guò)的使用)而且,還有下述情況的安裝例(信息通過(guò)的安裝例),即在AP·1(1104)請(qǐng)求訪問(wèn)特權(quán)應(yīng)用程序1103的接口部1111時(shí),或在特權(quán)應(yīng)用程序1103向特權(quán)API使用請(qǐng)求受理部1109輸出特權(quán)API使用請(qǐng)求時(shí),把該訪問(wèn)的請(qǐng)求或特權(quán)API使用請(qǐng)求作為信息傳送。在上述情況下,在上述的信息附加經(jīng)由何處的信息,接口部1110通過(guò)該被附加的信息,也可以判斷請(qǐng)求經(jīng)由何路徑傳送。
圖13所例示的是在信息中附加經(jīng)由何處的信息向接口部1111輸出訪問(wèn)請(qǐng)求,而且向特權(quán)API使用請(qǐng)求受理部1109輸出特權(quán)API使用請(qǐng)求。AP·1(1104)在對(duì)特權(quán)應(yīng)用程序1103傳送請(qǐng)求信息1301時(shí),在請(qǐng)求信息1301中附加表示信息出處的信息。特權(quán)應(yīng)用程序1103把請(qǐng)求信息1301作為特權(quán)API使用請(qǐng)求向第一卡管理程序1103傳送時(shí),在請(qǐng)求信息1301中附加了經(jīng)由過(guò)特權(quán)應(yīng)用程序1103的信息生成并傳送信息1302。接口部1110對(duì)如上所述送來(lái)的信息的內(nèi)容進(jìn)行檢查,可以檢測(cè)出來(lái)自不是特權(quán)應(yīng)用程序的應(yīng)用程序AP·1(1104)的信息是否經(jīng)由了特權(quán)應(yīng)用程序1103被送來(lái)。
(實(shí)施方式5效果的簡(jiǎn)單說(shuō)明)通過(guò)如上所述的實(shí)施方式,可以防止不是特權(quán)應(yīng)用程序的應(yīng)用程序通過(guò)特權(quán)應(yīng)用程序進(jìn)行特權(quán)操作,可以提高安全性。
(實(shí)施方式6)接著,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即在通過(guò)第一卡管理程序下載來(lái)的子應(yīng)用程序是具有可以進(jìn)一步下載孫應(yīng)用程序的第二卡管理程序的特權(quán)應(yīng)用程序時(shí),第一卡管理程序或者/以及第二卡管理程序具有計(jì)數(shù)器裝置,該計(jì)數(shù)器裝置用于計(jì)數(shù)含有孫應(yīng)用程序的應(yīng)用程序被選擇的次數(shù)。
在本實(shí)施方式中,可以列舉下列方式,即第一卡管理程序具有計(jì)數(shù)器裝置、第二卡管理程序沒(méi)有計(jì)數(shù)器裝置的方式,和第一卡管理程序沒(méi)有計(jì)數(shù)器裝置、只有第二卡管理程序具有計(jì)數(shù)器裝置的方式,以及第一卡管理程序和第二卡管理程序都具有計(jì)數(shù)器裝置的方式。以下,首先對(duì)只有第一卡管理程序具有計(jì)數(shù)器裝置的方式進(jìn)行說(shuō)明。
(實(shí)施方式6只有第一卡管理程序具有計(jì)數(shù)器裝置的方式的構(gòu)成)
圖14所示是本發(fā)明的實(shí)施方式6相關(guān)的IC卡的功能方框圖。如圖所示,在本實(shí)施方式中,第一卡管理程序1402具有記錄應(yīng)用程序被選擇的次數(shù)的計(jì)數(shù)器裝置1406。
“計(jì)數(shù)器裝置”1406如下構(gòu)成,在內(nèi)部設(shè)置有計(jì)數(shù)器,該計(jì)數(shù)器的值可以進(jìn)行增加1的操作,以及可以讀出計(jì)數(shù)器的值。
本實(shí)施方式通過(guò)計(jì)數(shù)器裝置,基于應(yīng)用程序被選擇的次數(shù),例如可以對(duì)應(yīng)用程序的使用進(jìn)行計(jì)費(fèi)。
在圖14中,IC卡1400具有ROM1401,ROM1402設(shè)有第一卡管理程序1402。通過(guò)第一卡管理程序1402所下載的子應(yīng)用程序1403是特權(quán)應(yīng)用程序,其具有可以進(jìn)一步下載孫應(yīng)用程序的第二卡管理程序。
附帶符號(hào)1404的AP·1,是通過(guò)第二卡管理程序所下載的應(yīng)用程序,對(duì)第一卡管理程序1402而言是孫應(yīng)用程序。
“第一卡管理程序”具有計(jì)數(shù)器裝置1406。該計(jì)數(shù)器裝置對(duì)含有孫應(yīng)用程序的應(yīng)用程序被選擇的次數(shù)進(jìn)行計(jì)數(shù)。
所謂“含有孫應(yīng)用程序的應(yīng)用程序”,不僅僅指第一卡管理程序直接管理的子應(yīng)用程序,還包括通過(guò)具有特權(quán)應(yīng)用程序的卡管理程序所下載的應(yīng)用程序(即孫應(yīng)用程序),更包括它們的子孫,且上述特權(quán)應(yīng)用程序是第一卡管理程序所下載的子應(yīng)用程序。
也就是說(shuō),在該孫應(yīng)用程序是特權(quán)應(yīng)用程序(稱(chēng)為孫特權(quán)應(yīng)用程序)時(shí),如通過(guò)該孫特權(quán)應(yīng)用程序進(jìn)一步下載的應(yīng)用程序(既曾孫應(yīng)用程序)等,是第二卡管理程序的直接和間接的支配的全部應(yīng)用程序。
所謂“應(yīng)用程序被選擇的次數(shù)”,是指應(yīng)用程序被啟動(dòng)的次數(shù),還有,在“被選擇的次數(shù)”中,也包括應(yīng)用程序從停止?fàn)顟B(tài)轉(zhuǎn)移到運(yùn)行狀態(tài)的次數(shù)。
(實(shí)施方式6從其他卡管理程序向第一卡管理程序傳送應(yīng)用程序的啟動(dòng)信息時(shí)的處理流程)
圖16是第一卡管理程序1402的運(yùn)行的示例的流程圖,在該流程圖中,把“應(yīng)用程序被選擇的次數(shù)”作為應(yīng)用程序被啟動(dòng)的次數(shù)。在步驟S1601,直到接受到通過(guò)其他卡管理程序啟動(dòng)了應(yīng)用程序的信息為止一直等待。當(dāng)通過(guò)其他卡管理程序接受到應(yīng)用程序啟動(dòng)了的信息時(shí),就向步驟S1602轉(zhuǎn)移,計(jì)數(shù)器裝置1406的計(jì)數(shù)器增加1。在步驟S1602,判斷是應(yīng)該結(jié)束計(jì)數(shù),還是應(yīng)該結(jié)束第一卡管理程序1402的運(yùn)行,如果沒(méi)有結(jié)束則向步驟S1601轉(zhuǎn)移。
而且,在第一卡管理程序1402啟動(dòng)應(yīng)用程序時(shí),計(jì)數(shù)器裝置1406的計(jì)數(shù)器增加1。
(實(shí)施方式6第一卡管理程序以外的處理流程)圖15是第一卡管理程序以外的卡管理程序(例如第二卡管理程序,以下稱(chēng)為其他卡管理程序)的運(yùn)行的示例的流程圖。
在步驟S1501中,卡管理程序啟動(dòng)應(yīng)用程序。
在步驟S1502中,向第一卡管理程序1402傳送應(yīng)用程序已經(jīng)啟動(dòng)的情況。而且,在第一卡管理程序沒(méi)有來(lái)自其他卡管理程序的傳達(dá),也可以得知由其他卡管理程序進(jìn)行的應(yīng)用程序的啟動(dòng)時(shí),例如在通過(guò)特權(quán)API把應(yīng)用程序被啟動(dòng)的情況向第一卡管理程序1402傳信的情況下,第二卡管理程序不必向第一卡管理程序傳達(dá)的操作。
通過(guò)在第一卡管理程序1402和第二卡管理程序進(jìn)行上述動(dòng)作,在第一卡管理程序1402的計(jì)數(shù)器裝置1406中,計(jì)算第一卡管理程序1402自身直接管理的應(yīng)用程序或包含孫應(yīng)用程序的應(yīng)用程序被選擇的次數(shù)。
(實(shí)施方式6只有第二卡管理程序具有計(jì)算器裝置的方式)而且,如上所述還具有下述方式,既第一卡管理程序1402不具備計(jì)算器裝置1406,第二卡管理程序1403具備計(jì)算器裝置。在這種方式中,圖15的流程圖的處理由第二卡管理程序以外的卡管理程序進(jìn)行(但是在步驟S1502中,把“第一卡管理程序”替換讀成“第二卡管理程序”)。而且,圖16的流程圖的處理也可以由第二卡管理程序進(jìn)行。而且,在第二卡管理程序啟動(dòng)了應(yīng)用程序時(shí),計(jì)算器裝置的計(jì)算器增加1。
(實(shí)施方式6第一卡管理程序和第二卡管理程序二者都具備計(jì)算器裝置的方式)另外,也可以使第一卡管理程序1402和第二卡管理程序1403二者都具備計(jì)算器裝置。
(實(shí)施方式6成為第一卡管理程序的計(jì)算器裝置的計(jì)數(shù)對(duì)象的應(yīng)用程序)并且,在第一卡管理程序1402具備計(jì)算器裝置時(shí),通過(guò)該計(jì)算器裝置被計(jì)數(shù)的對(duì)象,既可以是IC卡1400內(nèi)的全部應(yīng)用程序被選擇的次數(shù),也可以是部分應(yīng)用程序被選擇的次數(shù)。例如,在下列情況都可以使計(jì)算器增加1是第一卡應(yīng)用程序的子應(yīng)用程序被選擇的次數(shù)的情況,或是具有特定的標(biāo)識(shí)符的應(yīng)用程序被選擇的情況,或是通過(guò)特定的卡管理程序(例如第二卡管理程序)被選擇了的應(yīng)用程序的情況,或是對(duì)特定的卡管理程序(例如第二卡管理程序)而言是子應(yīng)用程序被選擇的情況,以及對(duì)該特定的卡管理程序而言是含有孫應(yīng)用程序的子孫的應(yīng)用程序被選擇的情況。
(實(shí)施方式6成為第一卡管理程序的計(jì)算器裝置的計(jì)數(shù)對(duì)象的應(yīng)用程序)同樣,在第二卡管理程序1403具備計(jì)算器裝置的場(chǎng)合,用該計(jì)算器裝置進(jìn)行計(jì)數(shù)的對(duì)象,既可以是IC卡1400內(nèi)的全部應(yīng)用程序被選擇的次數(shù),也可以是部分應(yīng)用程序被選擇的次數(shù)。
(實(shí)施方式6第一卡管理程序和第二卡管理程序二者都具備計(jì)數(shù)器裝置時(shí)的計(jì)數(shù)對(duì)象)而且,第一卡管理程序1402和第二卡管理程序1403二者都具備計(jì)數(shù)器裝置時(shí),通過(guò)二者的計(jì)數(shù)器裝置被計(jì)數(shù)的對(duì)象,即可以相同,也可以不同。不同時(shí),被計(jì)數(shù)的對(duì)象即可以有共通的部分,也可以沒(méi)有共通的部分。
(實(shí)施方式6計(jì)數(shù)對(duì)象沒(méi)有共通部分時(shí)的示例)作為在被計(jì)數(shù)的對(duì)象中沒(méi)有共通部分的示例,第一卡管理程序1402,計(jì)算自身(第一卡管理程序1402)直接管理的應(yīng)用程序(例如相當(dāng)于子應(yīng)用程序。而且在孫應(yīng)用程序被第一卡管理程序直接管理時(shí),相當(dāng)于孫應(yīng)用程序。)被選擇的次數(shù)。另一方面,第二卡管理程序1403的計(jì)數(shù)器裝置可以對(duì)下列應(yīng)用程序被選擇的次數(shù)進(jìn)行計(jì)數(shù),即對(duì)第二卡管理程序1403而言的子應(yīng)用程序、第二卡管理程序1403直接管理的應(yīng)用程序、以及對(duì)第二卡管理程序而言含有孫應(yīng)用程序等的子孫的應(yīng)用程序。
(實(shí)施方式6通過(guò)第二卡管理程序的特權(quán)使第一卡管理程序不進(jìn)行計(jì)數(shù))而且,第二卡管理程序1403可以使第一卡管理程序1402的計(jì)數(shù)器裝置具有不對(duì)第二卡管理程序1403的子孫選擇次數(shù)進(jìn)行計(jì)數(shù)的特權(quán)。而且,也可以選擇是否使第一卡管理程序1402的計(jì)數(shù)器裝置對(duì)第二卡管理程序1403的子孫選擇次數(shù)進(jìn)行計(jì)數(shù)。
(實(shí)施方式6第一卡管理程序、第二卡管理程序以外的卡管理程序也可以具備計(jì)數(shù)器裝置)而且,還可以在第一卡管理程序、第二卡管理程序以外,可以使第二卡管理程序下載的第三卡管理程序等具有計(jì)數(shù)器裝置。
(實(shí)施方式6用于檢票等的應(yīng)用例和效果的簡(jiǎn)單說(shuō)明)而且,根據(jù)如上所述的實(shí)施方式,可以使管理應(yīng)用程序被選擇的次數(shù)成為可能,使相應(yīng)被選擇的次數(shù)進(jìn)行計(jì)費(fèi)成為可能。例如,可以每次通過(guò)檢票都對(duì)被啟動(dòng)的應(yīng)用程序的啟動(dòng)次數(shù)進(jìn)行計(jì)數(shù),當(dāng)費(fèi)用是定額制時(shí),可以求出應(yīng)該支付的費(fèi)用。而且,也使根據(jù)應(yīng)用程序被選擇的次數(shù)計(jì)算應(yīng)用程序的維護(hù)費(fèi)用和支持費(fèi)用成為可能,可以設(shè)定適當(dāng)?shù)膽?yīng)用程序的維護(hù)費(fèi)用和支持費(fèi)用。而且,如上所述,通過(guò)下載對(duì)應(yīng)用程序被選擇的次數(shù)進(jìn)行計(jì)數(shù)的應(yīng)用程序,例如,對(duì)特定的應(yīng)用程序被選擇的次數(shù)進(jìn)行計(jì)數(shù),或可以下載可使被計(jì)數(shù)的次數(shù)向指定服務(wù)器發(fā)送的應(yīng)用程序,可以在IC卡發(fā)行后,對(duì)計(jì)數(shù)的對(duì)象和計(jì)數(shù)的結(jié)果進(jìn)行變更。
(實(shí)施方式7)以下,對(duì)如下所述的IC卡進(jìn)行說(shuō)明,即在通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有可以進(jìn)一步下載孫應(yīng)用程序的第二卡管理程序的特權(quán)應(yīng)用程序的場(chǎng)合,第一卡管理程序具有處理登記管理裝置,用于管理自身直接管理的應(yīng)用程序以及含有孫應(yīng)用程序的應(yīng)用程序的處理登記,第二卡管理程序具有處理登記管理裝置,用于管理自身直接管理的應(yīng)用程序或者/以及含有孫應(yīng)用程序的應(yīng)用程序的處理登記。
(實(shí)施方式7構(gòu)成)圖17所示是本發(fā)明的實(shí)施方式1有關(guān)的IC卡的功能方框圖。在本實(shí)施方式中,卡管理程序具有對(duì)應(yīng)用程序的登記進(jìn)行記錄的處理登記管理裝置。
可以通過(guò)該處理登記管理裝置管理應(yīng)用程序的處理登記,例如可以用于計(jì)費(fèi)處理。
在圖17中,IC卡1700具有ROM1701,ROM1701配置有第一卡管理程序1702。
通過(guò)第一卡管理程序1702下載的子應(yīng)用程序1703是特權(quán)應(yīng)用程序,具有可以進(jìn)一步下載孫應(yīng)用程序的第二卡管理程序。
在圖14中,附帶符號(hào)1404的AP·1是通過(guò)第二卡管理程序下載的應(yīng)用程序,對(duì)于第一卡管理程序1402而言是孫應(yīng)用程序。
“第一卡管理程序”具備處理登記管理裝置1706。
“處理登記管理裝置”管理自身直接管理的應(yīng)用程序,以及管理含有孫應(yīng)用程序的應(yīng)用程序的處理登記。
所謂“自身字節(jié)管理的應(yīng)用程序”,是指通過(guò)第一卡管理程序1702被啟動(dòng)、第一卡管理程序1702支配下的某個(gè)應(yīng)用程序。這樣的應(yīng)用程序在圖17中是附帶符號(hào)1703、1705的應(yīng)用程序。
所謂“含有孫應(yīng)用程序的應(yīng)用程序”,是指通過(guò)由第一卡管理程序下載的具有特權(quán)應(yīng)用程序的卡管理程序所下載應(yīng)用程序(即孫應(yīng)用程序),以及在該孫應(yīng)用程序是特權(quán)應(yīng)用程序(被成為孫特權(quán)應(yīng)用程序)時(shí),是如通過(guò)該孫特權(quán)應(yīng)用程序進(jìn)一步下載的應(yīng)用程序這樣的、第二卡管理程序直接和間接控制的孫應(yīng)用程序的全部。
所謂“應(yīng)用程序的處理登記”,是指通過(guò)應(yīng)用程序的處理而產(chǎn)生的登記。舉例來(lái)說(shuō)就是如果應(yīng)用程序的指定函數(shù)被調(diào)用,則是顯示該函數(shù)被調(diào)用的記錄。而且,還可以解決表示對(duì)函數(shù)授予哪個(gè)自變量的記錄。
所謂“管理處理登記”,是指把處理登記更新為最新的狀態(tài),為以后可以讀出而存儲(chǔ)在IC卡1700內(nèi)。
“第二卡管理程序”(與本實(shí)施方式有關(guān)的)具有處理登記管理裝置1707,用于管理第一卡管理程序直接管理的應(yīng)用程序或者/以及含有孫應(yīng)用程序的應(yīng)用程序的處理登記。
(實(shí)施方式7應(yīng)用程序輸出處理登記的方法)在IC卡內(nèi)運(yùn)行的應(yīng)用程序,是向處理登記管理裝置1706、處理登記管理裝置1707輸出處理登記的方法的示例,IC卡1700內(nèi)備有對(duì)具備處理登記管理裝置的卡管理程序進(jìn)行登記的裝置,而且作為ROM1701內(nèi)的一般API、備有受理處理登記的函數(shù)(或方法),該函數(shù)(或方法)用于解決如向被登記的卡管理程序輸出受理的處理登記。
而且,通過(guò)可以登記使該函數(shù)(或方法)受理處理登記的應(yīng)用程序和卡管理程序的關(guān)系,特定的應(yīng)用程序的處理登記可以通過(guò)特定的卡管理程序的處理登記裝置來(lái)管理。
(實(shí)施方式7檢票等的應(yīng)用例和效果的簡(jiǎn)單說(shuō)明)根據(jù)上述實(shí)施方式,使管理應(yīng)用程序的處理登記成為可能,例如使與處理登記的內(nèi)容相應(yīng)的計(jì)費(fèi)成為可能。例如,每次通過(guò)檢票,可以記錄從哪個(gè)站的檢票機(jī)入場(chǎng)或從哪個(gè)站的檢票機(jī)出場(chǎng),可以求出應(yīng)該支付的費(fèi)用。而且,可以使應(yīng)用程序的維護(hù)費(fèi)用和支持費(fèi)用相應(yīng)于應(yīng)用程序的處理登記的內(nèi)容進(jìn)行計(jì)費(fèi),在進(jìn)行高度處理時(shí)收較高的費(fèi)用,對(duì)不是高度的處理征收較低的費(fèi)用,則可以設(shè)定適當(dāng)?shù)木S護(hù)費(fèi)用和支持費(fèi)用。而且,通過(guò)可以下載這樣管理應(yīng)用程序處理登記的應(yīng)用程序,例如管理特定的應(yīng)用程序的處理登記,或可以下載能夠把處理登記向特定的服務(wù)器傳送的應(yīng)用程序,在IC卡發(fā)行后可以變更對(duì)處理登記進(jìn)行管理的對(duì)象或處理登記的使用。
發(fā)明效果綜上所述,根據(jù)本發(fā)明,通過(guò)具有在IC卡發(fā)行后可以下載有特權(quán)的應(yīng)用程序的卡管理程序,使取得沒(méi)有特權(quán)就不能取得的信息并將運(yùn)行的應(yīng)用程序?qū)隝C卡成為可能。
而且,在IC卡發(fā)行后,即使具有其他式樣的卡管理程序被提出,也可以使具有該式樣的卡管理程序作為有特權(quán)的應(yīng)用程序,下載到本發(fā)明的IC卡中,所以對(duì)于IC卡的發(fā)行者而言,不必花費(fèi)發(fā)行新的IC卡的時(shí)間。而且,對(duì)于IC卡的使用者而言,也不必?cái)y帶多張IC卡。
而且,在訪問(wèn)特權(quán)API時(shí),確認(rèn)進(jìn)行訪問(wèn)的應(yīng)用程序是否是被許可進(jìn)行特權(quán)操作的應(yīng)用程序,所以可以防止非法操作的應(yīng)用程序進(jìn)行的特權(quán)操作,以保證機(jī)密信息等的安全性。
而且,可以對(duì)應(yīng)用程序的選擇的計(jì)數(shù)或應(yīng)用程序的處理登記進(jìn)行管理,所以可以進(jìn)行適當(dāng)?shù)挠?jì)費(fèi)處理。
權(quán)利要求
1.一種IC卡,其特征在于具有可以下載特權(quán)應(yīng)用程序的第一卡管理程序,該特權(quán)應(yīng)用程序是有特權(quán)的應(yīng)用程序。
2.根據(jù)權(quán)利要求1的IC卡,其特征在于特權(quán)是指下列情況中任意1個(gè)或2個(gè)以上的情況,即可以使用卡特權(quán)管理裝置、不能刪除自身、可以成為默認(rèn)應(yīng)用程序、可以使用用于高度響應(yīng)(response)的資源。
3.根據(jù)權(quán)利要求1或2的IC卡,其特征在于第一卡管理程序具有用于判斷應(yīng)用程序是否有特權(quán)的特權(quán)AP控制裝置。
4.根據(jù)權(quán)利要求2的IC卡,其特征在于卡特權(quán)管理裝置通過(guò)用于使下述功能發(fā)揮作用的特權(quán)API,可以具有這些功能中的任意一個(gè)或兩個(gè)以上的功能,這些功能為應(yīng)用程序的壽命周期管理功能、下載·刪除功能、下載的應(yīng)用程序的簽名檢驗(yàn)功能、應(yīng)用程序的防火墻提供功能和存儲(chǔ)器/通信控制功能。
5.根據(jù)權(quán)利要求3的IC卡,其特征在于,第一卡管理程序具有特權(quán)API使用請(qǐng)求受理部,用于受理來(lái)自應(yīng)用程序的特權(quán)API的使用請(qǐng)求即特權(quán)API使用請(qǐng)求;接口部,當(dāng)根據(jù)特權(quán)API使用請(qǐng)求,第一卡管理程序的特權(quán)AP控制裝置的判斷結(jié)果為應(yīng)用程序是特權(quán)應(yīng)用程序時(shí),使特權(quán)應(yīng)用程序可以使用特權(quán)API。
6.根據(jù)權(quán)利要求3的IC卡,其特征在于第一卡管理程序的特權(quán)AP控制裝置,當(dāng)應(yīng)用程序要直接地使用特權(quán)API時(shí),在特權(quán)AP控制裝置的判斷結(jié)果為應(yīng)用程序是特權(quán)應(yīng)用程序的情況下,使特權(quán)應(yīng)用程序可以直接使用特權(quán)API。
7.根據(jù)權(quán)利要求3的IC卡,其特征在于基于特權(quán)API的功能由多個(gè)函數(shù)構(gòu)成,特權(quán)AP控制裝置使每個(gè)特權(quán)應(yīng)用程序具有特權(quán)AP識(shí)別信息管理功能,該功能使特權(quán)應(yīng)用程序可以使用的函數(shù)和該特權(quán)應(yīng)用程序相關(guān)聯(lián)。
8.根據(jù)權(quán)利要求5的IC卡,其特征在于第一卡管理程序的接口部使應(yīng)用程序不能使用經(jīng)由特權(quán)應(yīng)用程序的接口部的特權(quán)API。
9.根據(jù)權(quán)利要求1的IC卡,其特征在于通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有第二卡管理程序的特權(quán)應(yīng)用程序,且該第二卡管理程序可以進(jìn)一步下載孫應(yīng)用程序時(shí),從第一卡管理程序可以對(duì)孫應(yīng)用程序進(jìn)行壽命周期變更、刪除。
10.根據(jù)權(quán)利要求1的IC卡,其特征在于通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有第二卡管理程序的特權(quán)應(yīng)用程序、且該第二卡管理程序可以進(jìn)一步下載孫應(yīng)用程序時(shí),第二卡管理程序可以禁止來(lái)自第一卡管理程序的孫應(yīng)用程序的壽命周期變更、刪除。
11.根據(jù)權(quán)利要求1的IC卡,其特征在于通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有第二卡管理程序的特權(quán)應(yīng)用程序、且該第二卡管理程序可以進(jìn)一步下載孫應(yīng)用程序時(shí),第二卡管理程序可以對(duì)第一卡管理程序下載的應(yīng)用程序進(jìn)行壽命周期變更、刪除。
12.根據(jù)權(quán)利要求1的IC卡,其特征在于具有選擇裝置,當(dāng)通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有第二卡管理程序的特權(quán)應(yīng)用程序、且該第二卡管理程序可以進(jìn)一步下載孫應(yīng)用程序時(shí),該選擇裝置對(duì)第一卡管理程序所具有的特權(quán)和第二卡管理程序所具有的特權(quán)的優(yōu)越性進(jìn)行選擇。
13.根據(jù)權(quán)利要求1的IC卡,其特征在于通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有第二卡管理程序的特權(quán)應(yīng)用程序、且該第二卡管理程序可以進(jìn)一步下載孫應(yīng)用程序時(shí),第一卡管理程序或/和第二管理裝置具有計(jì)數(shù)器裝置,對(duì)含有孫應(yīng)用程序的應(yīng)用程序被選擇的次數(shù)進(jìn)行計(jì)數(shù)。
14.根據(jù)權(quán)利要求1的IC卡,其特征在于通過(guò)第一卡管理程序下載的子應(yīng)用程序是具有第二卡管理程序的特權(quán)應(yīng)用程序、且該第二卡管理程序可以進(jìn)一步下載孫應(yīng)用程序時(shí),第一卡管理程序具有處理登記管理裝置,用于對(duì)自身直接管理的應(yīng)用程序以及含有孫應(yīng)用程序的應(yīng)用程序的處理登記進(jìn)行管理。第二卡管理程序具有處理登記管理裝置,用于對(duì)第一卡管理程序直接管理的應(yīng)用程序或/和含有孫應(yīng)用程序的應(yīng)用程序的處理登記進(jìn)行管理。
15.一種卡管理程序應(yīng)用程序,用于使計(jì)算機(jī)執(zhí)行下載擁有特權(quán)的應(yīng)用程序即特權(quán)應(yīng)用程序的步驟。
16.根據(jù)權(quán)利要求15的卡管理程序應(yīng)用程序,其特征在于特權(quán)是指下列情況中任意1個(gè)或2個(gè)以上的情況,即可以使用卡特權(quán)管理裝置、不能刪除自身、可以成為默認(rèn)應(yīng)用程序、可以使用用于高度響應(yīng)的資源。
17.根據(jù)權(quán)利要求15或16的卡管理程序應(yīng)用程序,其特征在于該卡管理程序應(yīng)用程序用于使計(jì)算機(jī)執(zhí)行判斷應(yīng)用程序是否有特權(quán)的特權(quán)AP控制步驟。
18.根據(jù)權(quán)利要求16的卡管理程序應(yīng)用程序,其特征在于卡特權(quán)管理程序用于使計(jì)算機(jī)執(zhí)行下述功能中的任意一個(gè)或兩個(gè)以上的功能,這些功能在卡特權(quán)管理步驟中通過(guò)使這些功能發(fā)揮作用的特權(quán)API,可以發(fā)揮其功能,這些功能為應(yīng)用程序的壽命周期管理功能、下載·刪除功能、下載的應(yīng)用程序的簽名檢驗(yàn)功能、應(yīng)用程序的防火墻提供功能和存儲(chǔ)器/通信控制功能。
全文摘要
本發(fā)明涉及可下載擁有特權(quán)的應(yīng)用程序的IC卡。存儲(chǔ)在IC卡(100)的ROM(101)中的第一卡管理程序(102),和一般的應(yīng)用程序AP.1(104)等一樣,可以下載有特權(quán)的應(yīng)用程序、即特權(quán)應(yīng)用程序(103),ROM(101)內(nèi)的特權(quán)應(yīng)用程序接(API106)也可以由下載的特權(quán)應(yīng)用程序(103)訪問(wèn)。通過(guò)特權(quán)應(yīng)用程序(103)訪問(wèn)特權(quán)應(yīng)用程序接(API106),特權(quán)應(yīng)用程序(103)可以作為卡管理程序來(lái)運(yùn)行,所以在發(fā)行IC后也可以下載卡管理程序。
文檔編號(hào)B42D15/10GK1423232SQ02155
公開(kāi)日2003年6月11日 申請(qǐng)日期2002年12月6日 優(yōu)先權(quán)日2001年12月6日
發(fā)明者田靡雅基, 佐久嵨和生, 井上和紀(jì), 菊地隆文 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社