可搭载多个卡管理程序的ic卡的制作方法

xiaoxiao2020-6-26  17

专利名称:可搭载多个卡管理程序的ic卡的制作方法
技术领域
本发明涉及下载有拥有特权的应用程序的IC卡。
背景技术
现在,作为安全装置的IC卡正受人注目。为了用户的便利性以及减少欲通过IC卡提供服务的企业的参与壁垒,正在对在卡发行后可以下载应用程序的卡、即与多个应用程序对应的卡进行开发。
这里,对有关IC卡的硬件构成进行概要说明。图18是关于IC卡的硬件功能的方框图。IC卡1800具备CPU1801、ROM1802、RAM1803、EEPROM1804、I/O IF1805。CPU1801用于进行运算。ROM1802是不能被改写、只能读出的专用存储器。ROM1802中存储的内容,在制造IC卡1800时己被决定,之后不能变更。RAM1803是可读写的存储器。EEPROM1804是可读写的存储器。与RAM1803在断掉电源后内容消失相反,EEPROM1804在断掉电源后内容仍被保存。I/O IF1805负责与IC卡外部的数据的交换。CPU1801所执行的程序通常被称为“应用程序”。用于执行应用程序的代码被存储在ROM1802或EEPROM1804中。另外,在图18所示之外,IC卡1800也可具备用于密码操作的密码子处理器。
图19是说明在CPU1801被执行的应用程序的关系的图,在IC卡1900的ROM1901中有称作卡管理程序1902的应用程序、另外还有特权API1906和一般API1907。卡管理程序1902,是用于在IC卡1900中对所运行的应用程序的运行进行控制的应用程序。应用程序的运行的控制,包括应用程序的启动、结束、删除、下载等。卡管理程序1902通过IC卡的VM(虚拟计算机)和OS(操作系统)的联合、执行上述控制。特权API1906,是用于卡管理程序1902执行使用的特权操作的、应用程序接口。例如,用于实施下载、启动、结束应用程序等控制的操作是特权操作的例子。一般API1907是用于执行不需特权的操作时的应用程序接口。AP·1(1903)、AP·2(1904)、AP·3(1905)是存储在ROM1802或EEPROM1804中的、在卡管理程序的支配下执行的应用程序。这些应用程序不能实施特权操作,因此在由ROM1802提供的应用程序接口中、只能使用一般API1907。为使特权操作不能执行卡管理程序1902以外的应用程序,特权API1906只对卡管理程序1902开放,或者,即使对其他的应用程序开放,也要进行如下所述的确认,以使其他的应用程序不能进行特权操作。即,在特权API1906的内部、检查要使用特权API1906的、应用程序的标识符或程序计数器所指的存储器地址等,来确认卡管理程序1902。
上述对应多个应用程序的卡的开发中,对下载后的应用程序进行管理的卡管理程序进行各种研究,提出了各种式样的卡管理程序提案。预计其发展趋势是,随着对IC卡需求的增加,会有更好更多的卡管理程序的式样被提出。
但是,现在的IC卡上只能搭载1个卡管理程序,而且卡管理程序的代码存储在内容不能改写的ROM中。因此,不得不开发各种式样的卡管理程序,然后将其存储在ROM内、制成IC卡,从费用、工时角度考虑并不理想。另外,对于一般的用户来讲,携带好几张IC卡感觉不方便。

发明内容
为解决上述课题,本发明,提供具有能下载拥有特权的应用程序的卡管理程序的IC卡。下载拥有特权的应用程序并使其运行,通过在拥有特权的应用程序的支配下、对别的应用程序进行下载、启动、结束等,拥有特权的应用程序起到卡管理程序的作用。即使有上述各种式样的卡管理程序的提案,通过将这样的卡管理程序作为拥有特权的应用程序进行下载,使用户不必持有多张IC卡。另外,还可以进行相当于存储在ROM中的卡管理程序的版本升级的工作。
如上所述,如果可以下载拥有特权的应用程序,则需要和一般的应用程序进行区分。因此,在本发明中,存储在ROM中的卡管理程序具有特权AP(应用程序)控制装置,其用于判断下载的应用程序是否有特权。另外,使得一般的应用程序不能访问(access)特权API进行特权操作。


图1是实施方式1相关的IC卡的功能方框图。
图2是实施方式1相关的被下载的特权应用程序具有卡管理程序时的IC卡的功能方框图。
图3是实施方式2相关的IC卡的功能方框图。
图4是应用程序主体和签名的关系的图。
图5是用于判断应用程序是否有特权而使用的表的例图。
图6是使用特权AP控制装置决定是否许可应用程序的特权的处理流程图。
图7是实施方式3相关的IC卡的功能方框图。
图8是实施方式3相关的说明第一卡管理程序的运行的方框图。
图9是实施方式4相关的IC卡的功能方框图。
图10是每个特权应用程序附带关联的可以使用的函数的表的例图。
图11是实施方式5相关的IC卡的功能方框图。
图12是应用程序的堆栈的内容的例图。
图13用于应用程序使用特权API的信息流程的例图。
图14是实施方式6相关的IC卡的功能方框图。
图15是说明第二卡管理程序的运行的流程图。
图16是说明第一卡管理程序的运行的流程图。
图17是实施方式7相关的IC卡的功能方框图。
图18是IC卡的硬件构成的例图。
图19是现有IC卡相关的应用程序的关系的图。
具体实施例方式
以下,就本发明的实施方式用图加以说明。但是本发明并不限于这些实施方式,在不偏离该要旨的范围内、可以以各种方式实施。
(实施方式1)图1是与本发明实施方式1有关的IC卡的动作状态的功能的方框图的示例。本实施方式的IC卡,具有第一卡管理程序。该第一卡管理程序可以下载特权应用程序。
(实施方式1构成)“第一卡管理程序”控制IC卡内应用程序的运行。应用程序的运行的控制,包括应用程序的启动、以及执行中的控制、结束、删除、下载等。这些与现有的技术相同。
“应用程序的运行的控制”通过第一卡管理程序使用特权API和一般API来完成。
“API”是应用程序接口的简称,是可以由应用程序使用该应用程序所使用的模块的入口。
“特权API”是只能由被认可的特定权利的应用程序使用的API。该被认可的特定权利的应用程序的代表例,是本实施方式的第一卡管理程序,是特权应用程序。特权API通过存储在ROM101等存储器中的程序来实现,实现特权API的步骤称为“特权API步骤”。
“一般API”是指任何应用程序都可以使用的API。该一般API,可以由IC卡100内运行的所有应用程序使用。可以通过一般API使用的是一般程序库的功能。这里的“一般程序库”的功能,举例来说如字符串的操作(字符串的连接或对字符串中特定文字的搜索等)、数据的复制、具有结构的数据的串行及其逆操作、以及用于多倍长的整数运算等的算术运算等。
(实施方式1具有下载特权应用程序的第一卡管理程序的IC卡的详细说明)以下,用图来详细说明与本实施方式有关的IC卡,该IC卡包括特权API、以及使用一般API来下载有特权的特权应用程序的第一卡管理程序。
图1是可以下载(已经下载)应用程序的IC卡。此下载通过第一卡管理程序进行。第一卡管理程序通过程序来实现。因此,该程序可以称为卡管理程序程序,其用于使IC卡执行下载特权应用程序的步骤,该IC卡是计算机的一种。
“特权应用程序”103是指有特权的应用程序。不储存在ROM101中,而是通过第一卡管理程序102下载,并从IC卡100的外部导入。
所谓“下载”,就是从外部向IC卡输入应用程序且保存成可以使用的状态。
下载的结果,应用程序存储在可以写入的EEPROM等存储器中。在现有的IC卡中,特权API106是制造IC卡100时被存储的应用程序,例如,只能由ROM101中存储的第一卡管理程序102使用,但是对于本发明,即使是IC卡100制造后下载的特权应用程序103,也可使用特权API106。
因此,例如,在现有的IC卡中,对使用特权API106的应用程序的程序计数器的指针地址或应用程序标识符等(以下省略“标识符等”)进行研究,对只能由第一卡管理程序使用特权API106这一点尽量进行改善,使其成为以下的状况。即,第一卡管理程序102下载特权应用程序103,当启动特权应用程序103时,例如特权应用程序103作为可以使用特权的应用程序,该标识符等就会在RAM1803或EEPROM1804等登记。特权API106,对使用API的应用程序的标识符等是可以使用特权的应用程序进行确认、以使应用程序使用特权操作。
(实施方式1在发行后可以变更IC卡的设定的例子)因此,本发明中,由第一卡管理程序102下载的特权应用程序201也可以使用特权。由此,例如可以改变IC卡的设定(例如转换成省电模式等)。因此,IC卡在发行后,通过下载特权应用程序,可以改变IC卡的设定。
(实施方式1发行后的应用程序也可以访问机密信息的例子)另外,有时通过特权API106的控制,对在IC卡101中存储的信息中,特别是机密性高的信息,例如,银行帐号号码,密码,余额,IC卡的有效期限等进行访问。对于本实施方式的IC卡,在IC卡发行后、可以下载用于访问上述信息并能进行处理的应用程序。
(实施方式1IC卡发行后可以对应新协议的例子)另外,在基于新的协议进行清帐处理的场合,如果基于该新的协议、把运行的特权程序下载到本实施方式相关的IC卡中,则没必要在发行新的IC卡。
(实施方式1特权的说明)其次,对前述“特权”是可以使用卡特权管理装置、不能进行自身的删除、可以成为默认的应用程序、可以高度响应地使用资源中的一个或两个以上特权的IC卡进行说明。
在此,特权应用程序103所拥有的“特权”是指可以使用特权API106。通过使用特权应用程序,可以使用下列功能,例如,可以使用卡特权管理装置、不能进行自身的删除、可以成为默认应用程序、可以高响应地使用资源。
所谓“卡特权管理装置”是指管理应用程序的种种装置。以后将详细说明。
所谓“默认应用程序”,是指IC卡开始工作时最初被启动的应用程序(或者最初被启动的一系列应用程序)。
所谓“高度响应地使用资源”,是指为打开自动检票的门而进行处理,为了进行实时的某一处理,优先使用IC卡内的资源。
另外,也可以同时使用两个以上上述所列举的功能。
(实施方式1卡特权管理装置的说明)其次说明的是,“卡特权管理装置”具有下列功能中的任意一个或两个以上的功能的IC卡。这些通过特权API可以发挥功能的功能是,应用程序的寿命周期管理功能、下载·删除功能、下载的应用程序的签名检验功能、应用程序的防火墙提供功能和存储器/通信控制功能。
所谓“卡特权管理装置”,是指如上所述的管理应用程序的种种装置。具体来说,就是相当于应用程序的寿命周期管理功能、下载·删除功能、下载的应用程序的签名验证功能、应用程序的防火墙提供功能和存储器/通信控制功能等功能。
所谓“应用程序的寿命周期”,就是表示是否在应用程序被下载的状态、是否在应用程序被运行的可以选择的状态、或者是否是不可以选择的状态等。
所谓“应用程序的寿命周期管理功能”,是指管理应用程序的状态的功能,使应用程序的选择从可以的状态向不可以的状态转移,还可以进行逆向的转移。而且,在上述转移之外,本发明中的应用程序的寿命周期管理功能,还可以管理从应用程序的启动到结束、删除的状态。
所谓“下载·删除功能”,是下载应用程序并导入到IC卡中、使之可使用(例如安装)的功能,以及删除导入到IC卡中的应用程序、使应用程序不能使用(例如卸载)的功能。通过此功能的使用,例如,下载应用程序并安装使之可以使用,如果应用程序不被需要、则卸载使IC卡回到安装前的状态。
所谓“下载的应用程序的签名验证功能”,是指检查通过下载功能被下载到IC卡中的应用程序附带的签名是否正确的功能。此功能的具体例子,例如,验证应用程序是否被修改的功能。通过签名验证功能、验证被下载的应用程序的运行是否正确,对于IC卡而言是重要的功能,因此将其作为卡特权管理装置的功能。
所谓“应用程序的防火墙功能”,是指在IC卡内的应用程序之间、控制各种不良影响使其不相互波及的功能。
存储器/通信控制功能,是控制应用程序使用的存储器、或控制I/O IF1805的功能。
卡特权管理装置通过特权API906可以使用,并通过存储在ROM101等中的程序来实现。因此,将实现卡特权管理装置的步骤称为“卡特权管理步骤”。因此,实现本实施方式的第一卡管理程序的卡管理程序程序,通过使用特权API906而可以使用卡特权管理步骤。
(实施方式1可以导入第二、第三卡管理程序)另外,被下载的特权应用程序103,如前所述可以使用特权API,所以被下载的特权应用程序可以进行应用程序的启动、运行中的控制、结束、删除、下载等。因此,在被下载的应用程序中、可以具有作为卡管理程序的功能。
即,在预先写入IC卡ROM中的初始卡管理程序之外,可以导入第二、第三卡管理程序。因此,对于卡管理程序自身的版本升级或更新,不用更换IC卡主体就可实现。
(实施方式1被下载的特权应用程序由其他的应用程序提供特权API接口)图2所示为被下载的特权应用程序201向其他AP·1(202)、AP·2(203)等提供由特权API106和一般API107提供的功能。
因此,图1中的特权应用程序,与AP·1(202)、AP·2(203)没有关联,即使单独运行也可以,这一点和图2不同。
另一方面,在图2中,被下载的特权应用程序201为其他的应用程序AP·1(202)、AP·2(203)提供由特权API106和一般API107提供的功能,(换而言之,是说被下载的特权应用程序201有图中未图示的接口部,如果没有,则被下载的孙应用程序也可以是特权应用程序。)或者,变更这些应用程序的寿命周期、来进行控制。而且,AP·1(202)和AP·2(203),在使用一般API的功能时,不必必须使用特权应用程序201提供的一般API的功能,也可以直接使用一般API107。
(实施方式1孙应用程序成为特权应用程序,例如卡管理程序)还有,被下载的特权应用程序201下载特权应用程序,该被下载的特权应用程序通过特权应用程序201提供的特权API,可以作为卡管理程序运行。
即,作为卡管理程序运行的特权应用程序201,下载其他卡管理程序,在特权应用程序201的支配下也可以运行。也就是说,从第一卡管理程序102的角度看,如果特权应用程序201是子的应用程序(以下简称为子应用程序),则可以实现作为子应用程序的特权应用程序201所下载的应用程序(也就是说,对于第一卡管理程序来讲相当于孙应用程序,以下简称为孙应用程序)作为卡管理程序来运行。
(实施方式1通过特权应用程序可以下载而允许应用程序的不同的下载步骤)如上所述,例如,可以允许应用程序的不同的下载步骤。即,在IC卡发行后,提供以不同的步骤进行下载的必要的应用程序,通过下载与上述顺序对应的卡管理程序并使其运行,可以下载该应用程序。
(实施方式1可以通过特权应用程序的下载来应对特权API的式样的变更)另外,对应于AP·1等的请求,特权应用程序从特权API106或一般API107所处得到的结果,由特权应用程序201接收、并反馈给AP·1(202)等。结果,特权应用程序201可以提供存储在ROM101中的作为一般API107的API。因此,即使提出、采用新的特权API的式样和一般API的式样的方案,如果把该式样对应的特权应用程序下载到IC卡中,则可以与该式样对应。因此,每次变更特权API等的式样时不必再发行IC卡。
(实施方式1第一卡管理程序控制第二卡管理程序的下属应用程序)接着,对如下所述的IC卡进行说明,即在由第一卡管理程序下载的子应用程序是拥有可进一步下载孙应用程序的第二卡管理程序的特权应用程序时,可以由第一卡管理程序进行孙应用程序的寿命周期的变更、删除。
所谓“拥有第二卡管理程序的特权应用程序”是指通过第一卡管理程序被下载的特权应用程序,是有可以起到卡管理程序功能的应用程序。即,该特权应用程序下载其他的应用程序,可以变更使该应用程序运行等的应用程序的寿命周期,或可以删除该应用程序。
所谓“应用程序寿命周期的变更、删除”是指应用程序的变更或/及应用程序的删除的意思。
而且,通过这样的第一卡管理程序被下载的特权应用程序,是可以起到卡管理程序功能的应用程序,被称为“第二卡管理程序”。
(实施方式1存在多个卡管理程序时的问题)图2例示的是,在通过第一卡管理程序102被下载的子应用程序是第二卡管理程序201时,在第二卡管理程序的管理下孙应用程序(AP·1(202)等)正在运行的状态。这种时候,第一卡管理程序102和第二卡管理程序(特权管理程序201)的优越性成了问题。
所谓“优越性”,是指当考虑第一卡管理程序和第二卡管理程序的管理特权的大小或管理内容的竞争时的该管理权限的订正,例如第一卡管理程序是否可以变更或删除在第二卡管理程序下运行的应用程序的寿命周期的意思。
该优越性成为问题的例子,例举如下情况。即,第二卡管理程序在可能运行的日期时刻下载己到了期限的应用程序,并使该应用程序运行。如果在尽管过了可能运行日期时刻的期限,但第二卡管理程序未停止该应用程序时,第一卡管理程序是否可以停止此应用程序成为问题。同样,在过了期限时,第一卡管理程序为确保储存容量等,是否可以删除此应用程序也成了问题。
而且,即使过了期限,第二卡管理程序也不停止应用程序的情况的一个原因是第二卡管理程序有错误(bug)。另外,虽然第一卡管理程序和第二卡管理程序的制作者不同,但有时第二卡管理程序和第二卡管理程序下载的应用程序的制作者相同。对于第二种情况,第二卡管理程序的制作者有使下载的应用程序尽可能长时间地运行的意图,另一方面,第一卡管理程序的制作者有适当地分配IC卡的资源的意图。这时,两种意图将产生矛盾,就有必要消除此矛盾。
(实施方式1上述问题点的解决手段)但是,从技术上讲,孙应用程序在使IC卡的第一卡管理程序102实现功能的VM和0S下运行,虽然是间接的但也可以说是受第一卡管理程序102的支配。因此,第一卡管理程序102进行孙应用程序的寿命周期的变更、孙应用程序的删除等不是不可能。这样,作为优劣问题的一个解决方法,第一卡管理程序102进行孙应用程序的寿命周期的变更、孙应用程序的删除也可以。当然,与之相反,也可以是禁止这些的结构。另外,也可以使第二卡管理程序可对第一卡管理程序102下载的应用程序的寿命周期进行变更、删除。
(实施方式1详述第一卡管理程序控制第二卡管理程序的下属应用程序)以下,对第一卡管理程序102实现孙应用程序的寿命周期的变更、孙应用程序的删除的方法进行详细说明。实现它的一个方法如以下所述。即,当特权应用程序201下载孙应用程序时,特权应用程序201就对第一卡管理程序102输出下载的孙应用程序的信息,把孙应用程序被下载的区域的地址、尺寸、孙应用程序的名字等管理(例如寿命周期的变更和删除)孙应用程序所必要的信息通知给第一卡管理程序102。
另外,特权应用程序201启动孙应用程序时,把关于启动后的孙应用程序的信息通知给第一卡管理程序,例如,通知启动后的孙应用程序被分配的存储器区域和使应用程序启动的应用程序标识符等。特权应用程序201在结束孙应用程序的运行时,通知第一卡管理程序102孙应用程序已经结束。同样,特权应用程序201在删除了孙应用程序时,通知第一卡管理程序102删除了孙应用程序的信息。
据此,第一卡管理程序102可以知道特权应用程序201对应用程序的管理状况,特权应用程序201可以进行孙应用程序的寿命周期的变更和删除等的管理。因此,在由第一卡管理程序102下载的子应用程序是进一步具有可以下载孙应用程序的特权的特权应用程序201时,使从第一卡管理程序102对孙应用程序的寿命周期进行变更、删除成为可能。
而且,对于第一卡管理程序102,特权应用程序201下载孙应用程序等的信息没有必要从特权应用程序201直接地输出给第一卡管理程序102,也可以通过特权API106,从特权应用程序201间接地输出到第一卡管理程序102。
另外,对于这样的场合,特权应用程序201没有必要把第一卡管理程序102作为输出目的地明确指出。例如,也可以如下所述,在特权应用程序201使用特权API106下载孙应用程序时,在特权API106中,调查哪个卡管理程序实施了下载,当判断第二卡管理程序进行了下载时,就输出被下载到第一卡管理程序102的信息。另外,应用程序的管理也可以如下所述,通过IC卡的VM和OS来实施,第一卡管理程序得到所有用于管理应用程序的信息,根据得到的信息可以实施应用程序的管理。
(实施方式1第一卡管理程序不能控制第二卡管理程序的下属应用程序)另外,对如下所述的IC卡进行说明,即第二卡管理程序禁止来自第一卡管理程序的孙应用程序的寿命周期的变更、删除。
(实施方式1详细说明第一卡管理程序不能控制第二卡管理程序的下属应用程序)即,与以上所述相反,第二卡管理程序可以禁止第一卡管理程序变更、删除孙应用程序。实现的一个方法如下所述。也就是说,即使特权应用程序201进行孙应用程序的下载或启动、结束、删除,也不向第一卡管理程序102输出任何信息,或作成如下所述的特权API106来实现,即通过特权API106的使用,各应用程序在哪个卡管理程序的支配下的信息被存储在IC卡100内,不能变更其他卡管理程序支配下的应用程序的寿命周期。
(实施方式1第二卡管理程序可以控制第一卡管理程序的下属应用程序的情况)也可以使第二卡管理程序可以变更、删除第一卡管理程序下载的应用程序的寿命周期。
(实施方式1第二卡管理程序可以控制第一卡管理程序的下属应用程序的实现方法)实现的一个方法是当第一卡管理程序下载应用程序时,第一卡管理程序将用于管理该被下载的应用程序的信息通知给第二卡管理程序。
另外,也可以在将IC卡中被下载的所有应用程序的寿命周期等用于管理应用程序的必要的信息保持在IC卡的VM和OS中时,进行如下的管理。即,第二卡管理程序读出在VM和OS中保持的信息,基于此信息,第一卡管理程序进行变更、删除下载了的应用程序的寿命周期。如果使用此种方法,则第二卡管理程序不仅可以管理通过第一卡管理程序所下载的应用程序,还可以进行IC卡中运行的所有的应用程序的寿命周期的变更和删除等的应用程序的管理。
(实施方式1具有用于优越性的选择的选择手段的方式)另外,在由第一卡管理程序所下载的子应用程序是特权应用程序201、且该特权应用程序201拥有进一步可以下载孙应用程序的第二卡管理程序时,也可以配置选择装置,用于选择第一卡管理程序102所具有的特权和第二卡管理程序所具有的特权的优越性。
为了实现如上所述的选择装置,也可以让对用于选择来自I/OIF1805的优越性的信号进行受理的应用程序在IC卡内运行,或者,也可以在IC卡内配置装有选择装置的专用硬件。特权API106、一般API107、第一卡管理程序、特权应用程序201参照根据该选择装置的选择结果,可以根据被选择的优越性实施运行。
(实施方式1第一卡管理程序和第二卡管理程序的关系在其他卡管理程序之间也成立)以上虽然说明了第一卡管理程序、以及其子应用程序的拥有第二卡管理程序的特权应用程序之间的关系,但是并不仅限于上述场合。例如,第二卡管理程序进一步下载拥有特权的应用程序(称作孙特权应用程序),在该孙特权应用程序具有第三卡管理程序时,第三卡管理程序和第一卡管理程序的关系,或者第三卡管理程序和第二卡管理程序的关系,再者和第四卡管理程序、第五卡管理程序等的关系也可以适用。
(实施方式1效果的简单说明)在以上说明的实施方式中,第一卡管理程序102可以下载拥有特权的应用程序即特权应用程序。据此,在IC卡发行后下载实行IC卡设定的特权应用程序以进行设定的变更,或者可以下载对没有特权就不能得到的数据进行操作的应用程序。其结果是,例如可以适应新的交易协议。另外,这样的特权应用程序可以作为卡管理程序运行,所以可以吸收应用程序下载步骤的不同,或者可以提供新规格的接口给孙应用程序。即,如果把特权应用程序下载到IC卡中即可,所以就没有必要发行新的IC卡。
另外,第一卡管理程序可以变更、删除第二卡管理程序所下载的孙应用程序的寿命周期,例如在过了孙应用程序的运行期限时,通过第一卡管理程序使该应用程序的运行结束,或者可以删除。另外,第二卡管理程序通过禁止第一卡管理程序变更、删除孙应用程序的寿命周期,第二卡管理程序比第一卡管理程序优先。因此,可以使用第二卡管理程序代替第一卡管理程序,可以实现相当于卡管理程序的版本升级或更新的功能。
(实施方式2)接着,对如下所述的IC卡进行说明,也就是说,第一卡管理程序具有用于判断应用程序是否有特权的特权AP控制装置。
(实施方式2构成)图3是与本发明的实施方式2有关的IC卡的功能方框图。本实施方式在与实施方式1的图1的功能方框图中追加了特权AP控制装置301。在本实施方式中,第一卡管理程序102具有特权AP控制装置301。特权AP控制装置301是用于判断应用程序是否有特权的装置。
(实施方式2判断应用程序是否有特权的方法)判断应用程序是否有特权的一个方法,是在应用程序中作为该应用程序的属性来附加是否有特权的方法。即,在下载应用程序时,调查应用程序的属性,对于具有特权的属性的应用程序确认特权。
但是这样,则在非法运行的应用程序中可以容易地增加具有特权的属性,所以对于非法运行的应用程序也很可能确认特权。
(实施方式2判断的方法=签名)一个防止方法是在应用程序中附加签名的方法。图4表示应用程序主体和签名的关系。所谓“应用程序主体”是指运行应用程序的必要信息。例如应用程序的运行代码,将传递的参数等存储在应用程序中的应用程序管理信息等。图4所示是由应用程序主体401求出散列(hush)值然后将其密码化以得到签名402。所谓“散列值”是指找出使输出值一致的两个不同的数据根据计算量困难的函数得出的输出值。关于这样的函数已知的有SHA-1(Secure Hash Standard-1)、MD5(Message Digest 5)等,SHA-1使输入的数据与160比特的散列值相对应,MD5与128比特的散列值相对应。
签名是将上述散列函数的输出值密码化的值。在密码是使用公钥密码化方式时,保证应用程序运行的人,用秘钥将散列值密码化的值作为签名。而且,密码化使用的秘钥是保证应用程序运行的人的,另外有时还是应用程序的制作者或应用程序的发行者等的秘钥。通过知道由谁的秘钥进行密码化,就能知道应用程序的出处等。通过验证这样生成的签名,可以确认应用程序主本是否被非法运行。例如,IC卡100的第一卡管理程序102下载应用程序主体401和签名402,根据生成签名402的公钥解码,另一方面,在应用程序主体401中适用生成签名时使用的散列函数来得到散列值,由解码的结果和散列值是否相等,可以判断是否是保证了应用程序主体的运行。
(实施方式2验证有无特权和签名是否正确的结果的管理)特权AP控制装置301,也可以根据图5所示的表对第一卡管理程序102下载的应用程序有无特权以及签名是否正确的结果进行管理。在图5的表中,左列是第一卡管理程序102下载的应用程序的标识符(例如名字等),左列表示是否许可通过应用程序使用特权。例如,是“○”时对应用程序许可使用特权,是“×”时表示不许可使用特权。而且,签名的验证在下载应用程序时进行,而且存储应用程序和其签名,也可以在应用程序启动时或在应用程序要使用特权API106时,进行签名的验证。
特权API106在应用程序访问时,参照图5的表,调查是否是被许可使用特权的应用程序访问,如果是被许可使用特权的应用程序访问,进行被期待的运行,如果不是这样,则返回错误(error)。
(实施方式2特权AP控制装置的处理流程)图6是说明与本实施方式有关的第一卡管理程序102的运行流程图。步骤S601将特权应用程序和签名一起下载。步骤S602验证签名。如果可以验证签名,则步骤S603许可下载的特权应用程序的特权。而且,签名的验证没有必要在下载特权应用程序时实施,到特权应用程序访问特权API106为止都可以实施。例如,特权应用程序在最初访问特权API106时验证签名也可以。
特权AP控制装置301通过实现第一卡管理程序的卡管理程序程序实现。因此,在卡管理程序程序之中实现特权AP控制装置的步骤称为“特权AP控制步骤”。
(实施方式2特权应用程序与可以使用的函数相关联)接着,对如下所述的IC卡进行说明,即基于特权API的功能由多个函数组成,特权AP控制装置使每个特权应用程序具有特权AP标识信息管理功能,该特权AP标识信息管理功能是特权应用程序使可以使用的函数和该特权应用程序相互关联的功能。
所谓“基于特权API106的功能”是指通过访问特权API106可以实现的功能。
所谓“基于特权API的功能由多个函数组成”,意思是通过访问特权API106可以实现的功能由多个函数(或者方法)提供。
所谓“特权AP标识信息管理功能”是指对每个特权应用程序而言,特权应用程序使可以使用的函数和该特权应用程序相关联的功能。该功能,例如,可以通过名为“应用程序”的列和名为“可以使用的函数”的列构成的图10所示的表实现。在名为“应用程序”的列中,存储用于标识特权应用程序的信息,在名为“可以使用的函数”的列中,存储标识各特权应用程序可以使用的函数的信息。在特权API106被访问时,确认进行访问的应用程序是被许可使用特权的应用程序,而且通过调查图10中的表,确认应用程序要使用的函数被存储在名为“可以使用的函数”的列中。
(实施方式2可以使用的函数的块单位)而且,把访问通过特权API106提供可以实现的功能的函数划分为几个集合即块,在图10的表的名为“可以使用的函数”的列中,存放识别所述块的信息即可。这样一来,则当某一应用程序可以使用的函数存在多个时,如果存储识别块的信息即可,所以可以减少存储的信息量。因此,如上所述的方法,特别适合对存储区域的容量苛刻的IC卡。
(实施方式2效果的简单说明)本实施方式的IC卡,具有含有特权AP控制装置的第一卡管理程序,该特权AP控制装置判断被下载来的应用程序是否具有特权,所以,例如不会对非法运行的应用程序许可特权。而且,对于每个下载的应用程序,通过函数级别或函数的集合即块级别,可以对特权操作的许可进行控制。
(实施方式3)接着,对如下所述的IC卡进行说明,其第一卡管理程序,具有对来自应用程序的特权API的使用请求即特权API使用请求进行受理的特权API使用请求受理部,当根据特权API使用请求,第一卡管理程序的特权AP控制装置的判断结果为判定应用程序是特权应用程序的判断结果的情况下,特权应用程序具有可以使用特权API的接口部。
(实施方式3构成)图7所示是本发明的实施方式3相关的IC卡的功能的方框图。本实施方式相关的IC卡700具有ROM701,在ROM701中存在第一卡管理程序702、特权API706、一般API708和卡特权管理装置707。第一卡管理程序702、特权API706、一般API708和卡特权管理装置707,相当于第1和第2实施方式的第一卡管理程序102、特权API106、一般API107和卡特权管理装置(未图示出)。
本实施方式的特征在于,第一卡管理程序702具有特权AP控制装置709、特权API使用请求受理部710和接口部711。
(实施方式3与实施方式2的不同点)与本实施方式对应的图7和与实施方式2对应的图3的不同点在于,本实施方式在应用程序要使用特权API时,对该应用程序是否许可使用特权的判断方法更加详细。
(实施方式3假设的IC卡)而且,本实施方式,主要假设为所谓JavaCard型的IC卡,适用于具有如下的软件·结构的IC卡,即具有IC卡的OS和VM的构成。
(实施方式3构成)“特权AP控制装置”709,判断应用程序是否具有特权。即与实施方式2的特权AP控制装置301同样运行,例如,对图5所示的每个应用程序管理是否许可使用特权的表。
“特权API使用请求受理部”710,受理来自应用程序的特权API的使用的请求即特权API使用请求。因此,在应用程序使用特权API706时,并不直接地访问特权API706,而是变为对特权API使用请求受理部710输出特权API使用请求。
“接口部”711当根据特权API使用请求,第一卡管理程序的特权AP控制装置709的判断结果,为应用程序是特权应用程序的判断结果时,使特权应用程序可以使用特权API706。
所谓“基于特权API使用请求的第一卡管理程序的特权AP控制装置709的判断结果”,是指向特权API使用请求受理部710输出了特权API使用请求的应用程序是否被许可使用特权,通过特权API控制装置709进行判断的结果。
在根据该判断结果判断为被许可使用特权的场合,接口部使输出特权API使用请求的应用程序可以使用特权API706。例如,把在特权API使用请求受理部710被受理的特权API使用请求,通过接口部向特权API706传送。或者把认可使用特权API706的入场券(许可证),发给向特权API使用请求受理部710输出特权API使用请求的应用程序,应用程序对特权API706提示由接口部发给的入场券来进行特权操作的使用即可。
(实施方式3以第一卡管理程序的特权AP控制装置的判断结果为基础的IC卡的处理流程)图8是说明第一卡管理程序709的运行的流程图。在步骤S801中,特权API使用请求受理部710受理特权API使用请求。在步骤S802中,确定输出了特权API使用请求的应用程序。在步骤S803中,通过特权AP控制装置709判断是否许可被确定的应用程序的特权使用。如果在特权使用被许可时,在步骤S804中,使特权API使用请求被受理的应用程序使用特权API706。在特权使用未被许可时,不能使用特权API706。
(实施方式3效果的简单说明)根据如上所述的实施方式,在特权API706通过接口部706被应用程序访问时,特权API706只能从第一卡管理程序被访问,所以已有的IC卡的特权API可以照样使用。而且,在发给通过接口部706使用特权API706的入场券时,只有收到入场券的应用程序才可以使用特权API706,所以通过特权AP控制装置709未被许可使用特权的应用程序不能进行特权操作,可以确保安全性。
(实施方式4)接着,对如下所述的IC卡进行说明,即第一卡管理程序的特权AP控制装置,在应用程序要直接使用特权API时,在特权AP控制装置的判断结果为应用程序是特权应用程序的判断结果时,特权应用程序可以直接使用特权API。
(实施方式4构成)图9所示是本发明的实施方式4相关的IC卡的功能的方框图。图9的IC卡900具有ROM901,在ROM901中存在第一卡管理程序902、特权API906、一般API908和卡特权管理装置907。第一卡管理程序902、特权API906、一般API908和卡特权管理装置907,相当于第1和第2实施方式的第一卡管理程序102、特权API106、一般API107和卡特权管理装置(未图示出)。
本实施方式的特征在于,第一卡管理程序902具有特权AP控制装置909,在特权API906被访问时,通过特权AP控制装置909,判断是否许可对特权API906进行了访问的应用程序使用特权。本实施方式,主要假设为所谓Native型的IC卡,适用于在OS和应用程序之间不设置VM、具有如下构成的软件·结构的IC卡,即应用程序可以直接访问OS的构成。
“特权AP控制装置909”判断应用程序是否具有特权。即与实施方式2的特权AP控制装置301同样运行,例如,对图5所示的每个应用程序管理是否许可使用特权的表。而且,在本实施方式中,特权AP控制装置909在应用程序要直接使用特权API906时,当特权AP控制装置909的判断结果为应用程序是特权应用程序时,特权应用程序可以直接使用API909。
所谓“应用程序直接使用特权API906”如图9所示,是指特权应用程序903与图7所示的情况不同,可以直接访问存储在ROM901中的特权API906。
所谓“特权AP控制装置909的判断结果”,是指与访问过特权API906的应用程序是否被许可使用特权有关的、特权AP控制装置909的判断结果。
所谓“特权应用程序可以直接使用特权API909”,是指特权AP控制装置909许可如下所述的特权应用程序可以直接使用特权API909,该特权应用程序是通过特权AP控制装置909被许可使用特权的应用程序。
因此,在本实施方式中,在特权API906从应用程序直接进行访问时,特权API906使特权AP控制装置909判断进行了访问的应用程序是否被许可使用特权。在特权AP控制装置909判断为是被许可使用特权的应用程序时,对特权API906输出进行了访问的应用程序可以使用特权API的信号。
(实施方式4效果的简单说明)根据如上所述的实施方式,只有被许可使用特权的应用程序可以使用特权API906,保持了安全性。而且变为应用程序可以直接使用特权API906,在中途通过其他接口使用API906可以避免溢出(overhead),可以有效地使用特权API906。
(实施方式5)其次,其次对如下所述的IC卡进行说明,即第一卡管理程序的接口部使应用程序通过特权应用程序的接口不能使用特权API(特权API用的接口禁止借用)。
(实施方式5构成)图11是用于说明本发明的实施方式5的IC卡的功能方框图。图11和说明实施方式3所使用的图7大致相同,IC卡1100与IC卡700、ROM1101与ROM701、第一卡管理程序1102与第一卡管理程序702、特权应用程序1103与特权应用程序703、特权API1105与特权API706、卡特权管理装置1107与卡特权管理装置707、一般API1106与一般API708、特权AP控制装置与特权AP控制装置709、特权API使用请求受理部1109与特权API使用请求受理部710、以及接口部1110与接口部711相对应。
在图11中,特权应用程序1103向AP·1(1104)提供作为第二卡管理程序的功能,在AP·1(1104)使用第二卡管理程序的功能时,访问特权应用程序1103所具有的接口部1111。
在该场合,AP·1(1104)访问接口部1111请求特权操作,如果接口部1111把该要求作为特权API使用请求原样向特权使用请求受理部1109输出,则会产生不是特权应用程序,AP·1(1104)通过特权应用程序1103错误地进行特权操作的问题。
本实施方式为解决上述问题,第一卡管理程序1102的接口部1110使应用程序通过特权应用程序1103的接口部1111不能使用特权AP11105。
也就是说,接口部1110对特权应用程序以外的应用程序经由特权应用程序1103的接口部1111要访问特权API1105进行检测,如果检测出要访问,则不可进行对特权API1105的访问。
(实施方式5判断经由接口部的次数)实现上述功能的方法是通过对到特权API1105为止的经由接口部的次数进行检查的方法。例如,假设当经由接口部2次以上时不可访问特权API1105。使用图11进行如下举例。如果应用程序直接经由特权API使用请求受理部1109使用接口1110,则由于只经由接口部1110一次,所以不会因使用接口部二次以上而不能对特权API1105进行访问(但是有时会因为应用程序会不是特权应用程序而不可以访问)。
与上述相对应,如果特权应用程序经由特权应用程序1103所设置的接口部1111,之后当再经由接口部1110使用特权API1105时,接口部1110因是从特权应用程序1103被使用,所以许可访问。但是,此时因经由2个接口部、即接口部1111和接口部1110,所以不能访问特权API1105。
(实施方式5根据堆栈的内容进行判断)而且,接口部1110还有调查应用程序的堆栈的内容、控制访问特权API1105的方法。
所谓“堆栈”是指用于应用程序运行的暂时区域,如果函数被调用,则在该函数结束时记录应返回的地址(函数的返回地址),或用于保存在函数内部使用的局部变量的值的“后入先出”的区域。所谓“后入先出”,是指例如A、B顺序进入的数据,取出数据时按与进入的顺序相反即B、A的顺序。
图12所示是AP·1(1104)的堆栈的一例。附带符号1201的部分是存储与AP·1(1104)的执行部分相关的函数的返回地址或局部变量的值的部分。AP·1(1104)访问接口部1111,如果在接口部1111进行处理,则在堆栈中存储附带符号为1202的部分。在该部分存储随接口部1111处理的返回地址或局部变量的值。
接口部1111访问特权API使用请求受理部1109,如果进行特权API使用请求受理部1109的处理,则附带符号1203的部分被存储。在该部分存储随特权API使用请求受理部1109处理的函数的返回地址或局部变量的值。接口部1110通过调查如上所述的堆栈的内容,可以判断AP·1(1104)通过特权应用程序1103的接口部1111是否要使用特权API1105。在调查堆栈的内容进行上述判断时,例如,如果调试使用调查堆栈的内容进行的不返回(backless)的技术即可。
(实施方式5信息通过的使用)而且,还有下述情况的安装例(信息通过的安装例),即在AP·1(1104)请求访问特权应用程序1103的接口部1111时,或在特权应用程序1103向特权API使用请求受理部1109输出特权API使用请求时,把该访问的请求或特权API使用请求作为信息传送。在上述情况下,在上述的信息附加经由何处的信息,接口部1110通过该被附加的信息,也可以判断请求经由何路径传送。
图13所例示的是在信息中附加经由何处的信息向接口部1111输出访问请求,而且向特权API使用请求受理部1109输出特权API使用请求。AP·1(1104)在对特权应用程序1103传送请求信息1301时,在请求信息1301中附加表示信息出处的信息。特权应用程序1103把请求信息1301作为特权API使用请求向第一卡管理程序1103传送时,在请求信息1301中附加了经由过特权应用程序1103的信息生成并传送信息1302。接口部1110对如上所述送来的信息的内容进行检查,可以检测出来自不是特权应用程序的应用程序AP·1(1104)的信息是否经由了特权应用程序1103被送来。
(实施方式5效果的简单说明)通过如上所述的实施方式,可以防止不是特权应用程序的应用程序通过特权应用程序进行特权操作,可以提高安全性。
(实施方式6)接着,对如下所述的IC卡进行说明,即在通过第一卡管理程序下载来的子应用程序是具有可以进一步下载孙应用程序的第二卡管理程序的特权应用程序时,第一卡管理程序或者/以及第二卡管理程序具有计数器装置,该计数器装置用于计数含有孙应用程序的应用程序被选择的次数。
在本实施方式中,可以列举下列方式,即第一卡管理程序具有计数器装置、第二卡管理程序没有计数器装置的方式,和第一卡管理程序没有计数器装置、只有第二卡管理程序具有计数器装置的方式,以及第一卡管理程序和第二卡管理程序都具有计数器装置的方式。以下,首先对只有第一卡管理程序具有计数器装置的方式进行说明。
(实施方式6只有第一卡管理程序具有计数器装置的方式的构成)
图14所示是本发明的实施方式6相关的IC卡的功能方框图。如图所示,在本实施方式中,第一卡管理程序1402具有记录应用程序被选择的次数的计数器装置1406。
“计数器装置”1406如下构成,在内部设置有计数器,该计数器的值可以进行增加1的操作,以及可以读出计数器的值。
本实施方式通过计数器装置,基于应用程序被选择的次数,例如可以对应用程序的使用进行计费。
在图14中,IC卡1400具有ROM1401,ROM1402设有第一卡管理程序1402。通过第一卡管理程序1402所下载的子应用程序1403是特权应用程序,其具有可以进一步下载孙应用程序的第二卡管理程序。
附带符号1404的AP·1,是通过第二卡管理程序所下载的应用程序,对第一卡管理程序1402而言是孙应用程序。
“第一卡管理程序”具有计数器装置1406。该计数器装置对含有孙应用程序的应用程序被选择的次数进行计数。
所谓“含有孙应用程序的应用程序”,不仅仅指第一卡管理程序直接管理的子应用程序,还包括通过具有特权应用程序的卡管理程序所下载的应用程序(即孙应用程序),更包括它们的子孙,且上述特权应用程序是第一卡管理程序所下载的子应用程序。
也就是说,在该孙应用程序是特权应用程序(称为孙特权应用程序)时,如通过该孙特权应用程序进一步下载的应用程序(既曾孙应用程序)等,是第二卡管理程序的直接和间接的支配的全部应用程序。
所谓“应用程序被选择的次数”,是指应用程序被启动的次数,还有,在“被选择的次数”中,也包括应用程序从停止状态转移到运行状态的次数。
(实施方式6从其他卡管理程序向第一卡管理程序传送应用程序的启动信息时的处理流程)
图16是第一卡管理程序1402的运行的示例的流程图,在该流程图中,把“应用程序被选择的次数”作为应用程序被启动的次数。在步骤S1601,直到接受到通过其他卡管理程序启动了应用程序的信息为止一直等待。当通过其他卡管理程序接受到应用程序启动了的信息时,就向步骤S1602转移,计数器装置1406的计数器增加1。在步骤S1602,判断是应该结束计数,还是应该结束第一卡管理程序1402的运行,如果没有结束则向步骤S1601转移。
而且,在第一卡管理程序1402启动应用程序时,计数器装置1406的计数器增加1。
(实施方式6第一卡管理程序以外的处理流程)图15是第一卡管理程序以外的卡管理程序(例如第二卡管理程序,以下称为其他卡管理程序)的运行的示例的流程图。
在步骤S1501中,卡管理程序启动应用程序。
在步骤S1502中,向第一卡管理程序1402传送应用程序已经启动的情况。而且,在第一卡管理程序没有来自其他卡管理程序的传达,也可以得知由其他卡管理程序进行的应用程序的启动时,例如在通过特权API把应用程序被启动的情况向第一卡管理程序1402传信的情况下,第二卡管理程序不必向第一卡管理程序传达的操作。
通过在第一卡管理程序1402和第二卡管理程序进行上述动作,在第一卡管理程序1402的计数器装置1406中,计算第一卡管理程序1402自身直接管理的应用程序或包含孙应用程序的应用程序被选择的次数。
(实施方式6只有第二卡管理程序具有计算器装置的方式)而且,如上所述还具有下述方式,既第一卡管理程序1402不具备计算器装置1406,第二卡管理程序1403具备计算器装置。在这种方式中,图15的流程图的处理由第二卡管理程序以外的卡管理程序进行(但是在步骤S1502中,把“第一卡管理程序”替换读成“第二卡管理程序”)。而且,图16的流程图的处理也可以由第二卡管理程序进行。而且,在第二卡管理程序启动了应用程序时,计算器装置的计算器增加1。
(实施方式6第一卡管理程序和第二卡管理程序二者都具备计算器装置的方式)另外,也可以使第一卡管理程序1402和第二卡管理程序1403二者都具备计算器装置。
(实施方式6成为第一卡管理程序的计算器装置的计数对象的应用程序)并且,在第一卡管理程序1402具备计算器装置时,通过该计算器装置被计数的对象,既可以是IC卡1400内的全部应用程序被选择的次数,也可以是部分应用程序被选择的次数。例如,在下列情况都可以使计算器增加1是第一卡应用程序的子应用程序被选择的次数的情况,或是具有特定的标识符的应用程序被选择的情况,或是通过特定的卡管理程序(例如第二卡管理程序)被选择了的应用程序的情况,或是对特定的卡管理程序(例如第二卡管理程序)而言是子应用程序被选择的情况,以及对该特定的卡管理程序而言是含有孙应用程序的子孙的应用程序被选择的情况。
(实施方式6成为第一卡管理程序的计算器装置的计数对象的应用程序)同样,在第二卡管理程序1403具备计算器装置的场合,用该计算器装置进行计数的对象,既可以是IC卡1400内的全部应用程序被选择的次数,也可以是部分应用程序被选择的次数。
(实施方式6第一卡管理程序和第二卡管理程序二者都具备计数器装置时的计数对象)而且,第一卡管理程序1402和第二卡管理程序1403二者都具备计数器装置时,通过二者的计数器装置被计数的对象,即可以相同,也可以不同。不同时,被计数的对象即可以有共通的部分,也可以没有共通的部分。
(实施方式6计数对象没有共通部分时的示例)作为在被计数的对象中没有共通部分的示例,第一卡管理程序1402,计算自身(第一卡管理程序1402)直接管理的应用程序(例如相当于子应用程序。而且在孙应用程序被第一卡管理程序直接管理时,相当于孙应用程序。)被选择的次数。另一方面,第二卡管理程序1403的计数器装置可以对下列应用程序被选择的次数进行计数,即对第二卡管理程序1403而言的子应用程序、第二卡管理程序1403直接管理的应用程序、以及对第二卡管理程序而言含有孙应用程序等的子孙的应用程序。
(实施方式6通过第二卡管理程序的特权使第一卡管理程序不进行计数)而且,第二卡管理程序1403可以使第一卡管理程序1402的计数器装置具有不对第二卡管理程序1403的子孙选择次数进行计数的特权。而且,也可以选择是否使第一卡管理程序1402的计数器装置对第二卡管理程序1403的子孙选择次数进行计数。
(实施方式6第一卡管理程序、第二卡管理程序以外的卡管理程序也可以具备计数器装置)而且,还可以在第一卡管理程序、第二卡管理程序以外,可以使第二卡管理程序下载的第三卡管理程序等具有计数器装置。
(实施方式6用于检票等的应用例和效果的简单说明)而且,根据如上所述的实施方式,可以使管理应用程序被选择的次数成为可能,使相应被选择的次数进行计费成为可能。例如,可以每次通过检票都对被启动的应用程序的启动次数进行计数,当费用是定额制时,可以求出应该支付的费用。而且,也使根据应用程序被选择的次数计算应用程序的维护费用和支持费用成为可能,可以设定适当的应用程序的维护费用和支持费用。而且,如上所述,通过下载对应用程序被选择的次数进行计数的应用程序,例如,对特定的应用程序被选择的次数进行计数,或可以下载可使被计数的次数向指定服务器发送的应用程序,可以在IC卡发行后,对计数的对象和计数的结果进行变更。
(实施方式7)以下,对如下所述的IC卡进行说明,即在通过第一卡管理程序下载的子应用程序是具有可以进一步下载孙应用程序的第二卡管理程序的特权应用程序的场合,第一卡管理程序具有处理登记管理装置,用于管理自身直接管理的应用程序以及含有孙应用程序的应用程序的处理登记,第二卡管理程序具有处理登记管理装置,用于管理自身直接管理的应用程序或者/以及含有孙应用程序的应用程序的处理登记。
(实施方式7构成)图17所示是本发明的实施方式1有关的IC卡的功能方框图。在本实施方式中,卡管理程序具有对应用程序的登记进行记录的处理登记管理装置。
可以通过该处理登记管理装置管理应用程序的处理登记,例如可以用于计费处理。
在图17中,IC卡1700具有ROM1701,ROM1701配置有第一卡管理程序1702。
通过第一卡管理程序1702下载的子应用程序1703是特权应用程序,具有可以进一步下载孙应用程序的第二卡管理程序。
在图14中,附带符号1404的AP·1是通过第二卡管理程序下载的应用程序,对于第一卡管理程序1402而言是孙应用程序。
“第一卡管理程序”具备处理登记管理装置1706。
“处理登记管理装置”管理自身直接管理的应用程序,以及管理含有孙应用程序的应用程序的处理登记。
所谓“自身字节管理的应用程序”,是指通过第一卡管理程序1702被启动、第一卡管理程序1702支配下的某个应用程序。这样的应用程序在图17中是附带符号1703、1705的应用程序。
所谓“含有孙应用程序的应用程序”,是指通过由第一卡管理程序下载的具有特权应用程序的卡管理程序所下载应用程序(即孙应用程序),以及在该孙应用程序是特权应用程序(被成为孙特权应用程序)时,是如通过该孙特权应用程序进一步下载的应用程序这样的、第二卡管理程序直接和间接控制的孙应用程序的全部。
所谓“应用程序的处理登记”,是指通过应用程序的处理而产生的登记。举例来说就是如果应用程序的指定函数被调用,则是显示该函数被调用的记录。而且,还可以解决表示对函数授予哪个自变量的记录。
所谓“管理处理登记”,是指把处理登记更新为最新的状态,为以后可以读出而存储在IC卡1700内。
“第二卡管理程序”(与本实施方式有关的)具有处理登记管理装置1707,用于管理第一卡管理程序直接管理的应用程序或者/以及含有孙应用程序的应用程序的处理登记。
(实施方式7应用程序输出处理登记的方法)在IC卡内运行的应用程序,是向处理登记管理装置1706、处理登记管理装置1707输出处理登记的方法的示例,IC卡1700内备有对具备处理登记管理装置的卡管理程序进行登记的装置,而且作为ROM1701内的一般API、备有受理处理登记的函数(或方法),该函数(或方法)用于解决如向被登记的卡管理程序输出受理的处理登记。
而且,通过可以登记使该函数(或方法)受理处理登记的应用程序和卡管理程序的关系,特定的应用程序的处理登记可以通过特定的卡管理程序的处理登记装置来管理。
(实施方式7检票等的应用例和效果的简单说明)根据上述实施方式,使管理应用程序的处理登记成为可能,例如使与处理登记的内容相应的计费成为可能。例如,每次通过检票,可以记录从哪个站的检票机入场或从哪个站的检票机出场,可以求出应该支付的费用。而且,可以使应用程序的维护费用和支持费用相应于应用程序的处理登记的内容进行计费,在进行高度处理时收较高的费用,对不是高度的处理征收较低的费用,则可以设定适当的维护费用和支持费用。而且,通过可以下载这样管理应用程序处理登记的应用程序,例如管理特定的应用程序的处理登记,或可以下载能够把处理登记向特定的服务器传送的应用程序,在IC卡发行后可以变更对处理登记进行管理的对象或处理登记的使用。
发明效果综上所述,根据本发明,通过具有在IC卡发行后可以下载有特权的应用程序的卡管理程序,使取得没有特权就不能取得的信息并将运行的应用程序导入IC卡成为可能。
而且,在IC卡发行后,即使具有其他式样的卡管理程序被提出,也可以使具有该式样的卡管理程序作为有特权的应用程序,下载到本发明的IC卡中,所以对于IC卡的发行者而言,不必花费发行新的IC卡的时间。而且,对于IC卡的使用者而言,也不必携带多张IC卡。
而且,在访问特权API时,确认进行访问的应用程序是否是被许可进行特权操作的应用程序,所以可以防止非法操作的应用程序进行的特权操作,以保证机密信息等的安全性。
而且,可以对应用程序的选择的计数或应用程序的处理登记进行管理,所以可以进行适当的计费处理。
权利要求
1.一种IC卡,其特征在于具有可以下载特权应用程序的第一卡管理程序,该特权应用程序是有特权的应用程序。
2.根据权利要求1的IC卡,其特征在于特权是指下列情况中任意1个或2个以上的情况,即可以使用卡特权管理装置、不能删除自身、可以成为默认应用程序、可以使用用于高度响应(response)的资源。
3.根据权利要求1或2的IC卡,其特征在于第一卡管理程序具有用于判断应用程序是否有特权的特权AP控制装置。
4.根据权利要求2的IC卡,其特征在于卡特权管理装置通过用于使下述功能发挥作用的特权API,可以具有这些功能中的任意一个或两个以上的功能,这些功能为应用程序的寿命周期管理功能、下载·删除功能、下载的应用程序的签名检验功能、应用程序的防火墙提供功能和存储器/通信控制功能。
5.根据权利要求3的IC卡,其特征在于,第一卡管理程序具有特权API使用请求受理部,用于受理来自应用程序的特权API的使用请求即特权API使用请求;接口部,当根据特权API使用请求,第一卡管理程序的特权AP控制装置的判断结果为应用程序是特权应用程序时,使特权应用程序可以使用特权API。
6.根据权利要求3的IC卡,其特征在于第一卡管理程序的特权AP控制装置,当应用程序要直接地使用特权API时,在特权AP控制装置的判断结果为应用程序是特权应用程序的情况下,使特权应用程序可以直接使用特权API。
7.根据权利要求3的IC卡,其特征在于基于特权API的功能由多个函数构成,特权AP控制装置使每个特权应用程序具有特权AP识别信息管理功能,该功能使特权应用程序可以使用的函数和该特权应用程序相关联。
8.根据权利要求5的IC卡,其特征在于第一卡管理程序的接口部使应用程序不能使用经由特权应用程序的接口部的特权API。
9.根据权利要求1的IC卡,其特征在于通过第一卡管理程序下载的子应用程序是具有第二卡管理程序的特权应用程序,且该第二卡管理程序可以进一步下载孙应用程序时,从第一卡管理程序可以对孙应用程序进行寿命周期变更、删除。
10.根据权利要求1的IC卡,其特征在于通过第一卡管理程序下载的子应用程序是具有第二卡管理程序的特权应用程序、且该第二卡管理程序可以进一步下载孙应用程序时,第二卡管理程序可以禁止来自第一卡管理程序的孙应用程序的寿命周期变更、删除。
11.根据权利要求1的IC卡,其特征在于通过第一卡管理程序下载的子应用程序是具有第二卡管理程序的特权应用程序、且该第二卡管理程序可以进一步下载孙应用程序时,第二卡管理程序可以对第一卡管理程序下载的应用程序进行寿命周期变更、删除。
12.根据权利要求1的IC卡,其特征在于具有选择装置,当通过第一卡管理程序下载的子应用程序是具有第二卡管理程序的特权应用程序、且该第二卡管理程序可以进一步下载孙应用程序时,该选择装置对第一卡管理程序所具有的特权和第二卡管理程序所具有的特权的优越性进行选择。
13.根据权利要求1的IC卡,其特征在于通过第一卡管理程序下载的子应用程序是具有第二卡管理程序的特权应用程序、且该第二卡管理程序可以进一步下载孙应用程序时,第一卡管理程序或/和第二管理装置具有计数器装置,对含有孙应用程序的应用程序被选择的次数进行计数。
14.根据权利要求1的IC卡,其特征在于通过第一卡管理程序下载的子应用程序是具有第二卡管理程序的特权应用程序、且该第二卡管理程序可以进一步下载孙应用程序时,第一卡管理程序具有处理登记管理装置,用于对自身直接管理的应用程序以及含有孙应用程序的应用程序的处理登记进行管理。第二卡管理程序具有处理登记管理装置,用于对第一卡管理程序直接管理的应用程序或/和含有孙应用程序的应用程序的处理登记进行管理。
15.一种卡管理程序应用程序,用于使计算机执行下载拥有特权的应用程序即特权应用程序的步骤。
16.根据权利要求15的卡管理程序应用程序,其特征在于特权是指下列情况中任意1个或2个以上的情况,即可以使用卡特权管理装置、不能删除自身、可以成为默认应用程序、可以使用用于高度响应的资源。
17.根据权利要求15或16的卡管理程序应用程序,其特征在于该卡管理程序应用程序用于使计算机执行判断应用程序是否有特权的特权AP控制步骤。
18.根据权利要求16的卡管理程序应用程序,其特征在于卡特权管理程序用于使计算机执行下述功能中的任意一个或两个以上的功能,这些功能在卡特权管理步骤中通过使这些功能发挥作用的特权API,可以发挥其功能,这些功能为应用程序的寿命周期管理功能、下载·删除功能、下载的应用程序的签名检验功能、应用程序的防火墙提供功能和存储器/通信控制功能。
全文摘要
本发明涉及可下载拥有特权的应用程序的IC卡。存储在IC卡(100)的ROM(101)中的第一卡管理程序(102),和一般的应用程序AP.1(104)等一样,可以下载有特权的应用程序、即特权应用程序(103),ROM(101)内的特权应用程序接(API106)也可以由下载的特权应用程序(103)访问。通过特权应用程序(103)访问特权应用程序接(API106),特权应用程序(103)可以作为卡管理程序来运行,所以在发行IC后也可以下载卡管理程序。
文档编号B42D15/10GK1423232SQ02155
公开日2003年6月11日 申请日期2002年12月6日 优先权日2001年12月6日
发明者田靡雅基, 佐久嵨和生, 井上和纪, 菊地隆文 申请人:松下电器产业株式会社

最新回复(0)