资源有限的Java卡设备的制作方法

文档序号:16807012发布日期:2019-02-10 13:08阅读:276来源:国知局
资源有限的Java卡设备的制作方法

本发明涉及一种资源有限的卡设备,特别是基于java卡技术或者native(本地)技术的卡设备,特别是芯片卡、芯片卡模块或者具有任意形状因数的壳体中的芯片卡模块。该卡设备特别是可以配备有支付交易卡的功能或者sim功能(sim=subscriberidentitymodulefürmobilfunk,移动无线电订户身份模块)。此外,本发明涉及一种用于在这种资源有限的卡设备中实现一个或多个小程序实例的方法以及加载包。



背景技术:

资源有限的卡设备包括具有在其上实现的操作系统(os)(例如javacardos(java卡os)或者nativeos(本地os))的微处理器和用于实现小程序的小程序存储器。通过在卡设备中实现的小程序来实现卡设备的功能。例如,在具有支付交易卡的功能的卡设备中实现一个或多个支付交易小程序。对于具有用于在移动无线电网络中使用具有移动无线电能力的终端设备的sim功能(sim=subscriberidentitymodule)的卡设备,在卡设备中实现一个或多个sim特定小程序。

在文献[1]globalcardplatformspecificationv2.2.1,2011中详细说明了小程序借助apdu命令到卡设备中的加载,下面该文献也以官方简称gpc_spe_034表示。根据[1]gpc_spe_034章节9、特别是章节9.3,通过利用load(加载)命令(9.3.2)将小程序的加载包加载到卡设备中,并且利用install(安装)命令(9.3.3ff.)利用加载包的内容在卡设备中安装小程序的小程序实例,在卡设备中安装小程序。根据[1]gpc_spe_034第84页章节9.3.6,在借助install命令安装小程序实例时,特别是利用借助install的促使而接着执行的open(打开)命令,确保将小程序的小程序标识符aid存储到java卡设备的注册表中。该事实在图9-2(第92页)中通过条目“installandregisterapplication(安装并注册应用程序)”示出。根据[1]gpc_spe_034章节11,描述了installapdu命令的结构。根据子章节11.5.2.3.2表格11-43,在install命令的数据字段中、即在子字段“applicationaid”中传输要安装的小程序的应用程序aid。

因此,根据[1]gpc_spe_034,每个要安装的小程序具有正好一个应用程序标识符aid。

对于容纳多个支付交易小程序并且要能够在多个国家使用和/或支持多种访问可能性(特别是以非接触/接触方式)的支付交易卡,必须针对例如小程序、国家和访问可能性的每种情况设置自己的小程序aid。因为每个小程序仅具有单个aid,因此传统上要针对例如小程序、使用国家和访问可能性的每种情况安装自己的单独的小程序实例。例如,实例1)小程序a在国家x以接触方式;2)小程序a在国家y以接触方式;3)小程序b在国家x以接触方式;4)小程序b在国家y以接触方式;5)小程序a在国家x以非接触方式;6)小程序a在国家y以非接触方式;等等。多个小程序实例需要许多存储器。而基于同一小程序、例如小程序b的所有小程序实例在功能上在很大程度上相同。在所提到的示例中,每种情况由一个或多个参数的特定参数值确定。在上面的示例中,参数是与卡的接触类型和国家。参数值是非接触和接触以及不同的国家。

在[1]gpc_spe章节11.5.2.3.7“installcommandparameters(安装命令参数)”中,公开了在包含在install命令中的install命令的加载参数(“loadparameters”)下,可选地或者有条件地可以包含称为“系统特定参数(systemspecificparameters)”的参数。这些参数是特定于系统的参数,其对于所考虑的系统是特定的,并且依据系统可以具有在一定范围内可自由选择的不同的内容。

本发明要解决的技术问题

本发明要解决的技术问题是,提供一种卡设备,其使得能够以节省存储器的方式安装要以不同的配置设置的小程序。此外,给出一种用于在这种资源有限的卡设备中实现一个或多个小程序实例的方法。



技术实现要素:

上述技术问题通过根据权利要求1的卡设备以及根据并列的权利要求的加载包和方法来解决。在从属权利要求中给出了本发明的有利的实施方式。

根据权利要求1的根据本发明的卡设备被配置为,接受小程序的加载包并且处理install命令并将其应用到加载包上,以便促使在卡设备中安装小程序的实例。install命令还被配置为,在卡设备中设置包含在加载包中的关于要安装的小程序的实例的应用程序标识符。卡设备的特征在于,install命令被配置为,一方面在考虑(关于考虑,下面给出两种替换可能性)应用程序标识符的情况下安装小程序实例,另一方面在卡设备中设置关于小程序的同一实例的至少一个另外的应用程序标识符。由此实现了借助install命令为特定的小程序创建多个标识符的可能性,该多个标识符全部与同一个小程序实例相关。不需要为每个应用程序标识符创建单独的小程序实例。特别是,可以仅利用安装在卡设备中的作为基础的一个小程序实例,为小程序的不同配置提供不同的应用程序标识符。

因此,根据权利要求1,实现了使得能够在卡设备中以节省存储器的方式安装小程序的卡设备。

根据用于设置多个应用程序标识符的第一种可能性(替换方案),应用程序标识符和至少一个另外的应用程序标识符同时包含在同一加载包中。在此,install命令被设计为,如下在考虑应用程序标识符的情况下安装小程序实例:通过处理一个install命令在卡设备中仅安装一个小程序实例,并且还在卡设备中设置应用程序标识符和至少一个另外的应用程序标识符。

根据用于设置多个应用程序标识符的第二种可能性(替换方案),要在卡设备中创建的应用程序标识符和要在卡设备中创建的至少一个另外的应用程序标识符的加载包仅包含一个应用程序标识符(aid1=aid2)。在此,如下在考虑应用程序标识符的情况下安装小程序实例:将install命令配置为,通过依次将加载包至少两次加载到卡设备中,在卡设备中设置应用程序标识符和至少一个另外的应用程序标识符,其中,在加载包的第一次加载中,在卡设备中设置小程序实例并且设置应用程序标识符,并且在加载包的每次另外的加载中设置另外的应用程序标识符,而不在卡设备中创建另外的小程序实例。也就是说,在此,卡设备在用于小程序实例的第二、第三、…install命令中识别在卡设备中已经存在安装的小程序实例。因此,在卡设备中不安装另外的小程序实例,而仅安装另外的应用程序标识符。当然,在第一次install中,也创建小程序实例。

可选地,在加载包中,在install命令中在系统特定参数中设置应用程序标识符,并且在第一替换方案中,必要时设置至少一个另外的应用程序标识符。

卡设备可选地被配置为,将应用程序标识符和至少一个另外的应用程序标识符存储在卡设备的注册表中。

卡设备例如被设计为芯片卡模块或者芯片卡或者在具有与芯片卡不同的结构形式的壳体中实现的芯片卡模块。

卡设备还包括操作系统,特别是java卡操作系统或native操作系统。

在根据本发明的针对要借助加载包在卡设备中安装的小程序的实例在卡设备中创建小程序标识符的方法中,根据第一种可能性(替换方案),包括以下步骤。1)将加载包加载到卡设备中,其中,在加载包中包括关于要安装的小程序的实例的应用程序标识符。2)通过将install命令应用于加载包,在卡设备中安装小程序的实例。3)借助install命令的促使,在卡设备中设置应用程序标识符。所述方法的特征在于,在加载包中包括关于同一个要安装的小程序的实例的至少一个另外的应用程序标识符,并且所述方法包括另外的步骤:4)在卡设备中设置至少一个另外的应用程序标识符。由此,通过install命令在卡设备中创建一个小程序实例和两个或多个小程序标识符。

在根据本发明的针对要借助加载包在卡设备中安装的小程序的实例在卡设备中创建小程序标识符的方法中,根据第二种可能性(替换方案),包括以下步骤。1)将加载包加载到卡设备中,其中,在加载包中包括关于要安装的小程序的实例的应用程序标识符。在此,优选像通常一样,加载包对于每个小程序仅包含一个小程序标识符。2)可选地,通过将install命令应用于加载包,在卡设备中安装小程序的实例。3)借助install命令的促使,在卡设备中设置应用程序标识符。所述方法的特征在于,4)依次执行至少两次加载包的加载,其中,5)在加载包的第一次加载中(或者在install命令的第一次执行中)执行小程序的实例的安装(即步骤2)中的选项“安装小程序”),并且在卡设备中设置应用程序标识符,以及6)在加载包的每一次另外的加载(或者install命令的执行)中,在卡设备中设置另外的应用程序标识符,而不在卡设备中设置小程序的另外的实例(即步骤2中的选项“不安装小程序实例”)。步骤2)中的加载是可选的,使得仅在加载包的第一次加载中或者在第一次应用install命令时在设备中安装小程序实例,而在随后的另外的加载过程或者install命令执行中不安装小程序实例。

可选地,卡设备包括注册表,并且应用程序标识符或者另外的应用程序标识符的设置包括将应用程序标识符或者另外的应用程序标识符存储在注册表中或者设置在于存储在注册表中。

根据本发明的扩展方案,对小程序分配参数。此外,对应用程序标识符和另外的应用程序标识符分配小程序的参数的不同的参数值。通过参数将小程序参数化。由此,借助参数为小程序生成小程序的配置。参数的不同的参数值产生小程序的不同的配置。由此,通过一个小程序实例和多个应用程序标识符实现了小程序的多个配置,而不需要在卡设备中安装多个小程序实例。

可选地,作为参数和参数值,设置如下参数和参数值中的一个或多个:(1)接触卡设备或者小程序的接触类型作为参数,并且接触和非接触的接触类型作为不同的参数值;(2)使用卡设备或者小程序的国家作为参数,并且不同的国家作为不同的参数值。

根据本发明的一个实施方式,对小程序(至少或者正好)分配两个参数,即接触类型和使用国家。由此可以产生小程序的不同的配置。

可选地,将移动无线电设备的(具有任意形状因数的)sim设置为卡设备,其中,在sim中设置具有与sim不同的功能的小程序,例如支付交易小程序,其中,根据本发明的应用程序标识符aid与不同的功能的小程序、例如支付交易小程序相关。

根据本发明的另外的实施方式,在卡设备中安装不同小程序的小程序实例。可选地,在卡设备中存在对两个不同的小程序的小程序实例分配的一个(或者至少一个)设置的应用程序标识符。例如,在卡设备中存在小程序a的实例、小程序b的实例以及不仅针对小程序a的实例、而且针对小程序b的实例的aid。

下面的示例示出了对于两个不同的小程序、即小程序a和小程序b具有两个小程序实例的卡设备,这两个小程序可以通过两个参数p1、p2参数化。

第一参数p1:国家;参数值:国家x(本国,例如移动无线电合约的国家),国家y,国家z(其它国家)。

第二参数p2:接触类型;可能的参数值:接触或者非接触。

小程序a:国内虚拟信用卡。

小程序b:国际虚拟信用卡。

目标:要针对性地产生第一参数p1和第二参数p2的特定组合kn,使得使用小程序a或小程序b。

目标的具体示例:

k1:在本国国家x中,要以接触模式使用针对本国设置的小程序a。

k2:在国家y,z中,要始终使用国际小程序b。

k3:在本国国家x中,还要以非接触模式使用国际小程序b。

实现:小程序a只有一个应用程序标识符aid-a。小程序b具有两个应用程序标识符aid-int-b和aid-dom-nfc-b。

aid-a:小程序a的应用程序标识符。

aid-int-b:国际小程序b的应用程序标识符。

aid-dom-nfc-b:国内小程序b非接触的应用程序标识符。

k1:利用参数p1=x、p2=接触以及应用程序标识符aid-a访问卡设备引导到小程序a。

k2:利用参数p1=y或z、p2=接触或非接触以及应用程序标识符aid-int-b访问卡设备引导到小程序b。

k3:利用参数国家p1=x、p2=非接触以及应用程序标识符aid-dom-nfc-b访问卡设备引导到小程序b。

附图说明

下面,借助实施例并且参考附图更详细地解释本发明,在附图中:

图1示出了根据本发明的实施方式的通过第一次发送加载包的小程序实例的安装;

图2示出了根据本发明的实施方式的根据图1安装的小程序实例的个性化;

图3示出了根据本发明的实施方式的具有aid1的小程序的调用和随后对命令的处理;

图4示出了根据本发明的实施方式的在不安装另外的小程序实例的情况下的另外的小程序标识符的创建;

图5示出了根据本发明的实施方式的安装的小程序实例的个性化;

图6示出了根据本发明的实施方式的具有aid2的小程序的调用和随后对命令的处理。

具体实施方式

图1示出了根据本发明的实施方式的通过第一次发送加载包的小程序实例的安装(“install”)。终端向卡设备(在此简称为卡)发送apdu命令。终端通过命令icc_on接通卡设备。通过apduselectcardmanager(选择卡管理器)调用cardmanager(卡管理器)。通过apduauthenticate(认证)执行认证。通过apdu命令installforinstall,将加载包加载到卡设备中,并且通过在那里利用“createnew(创建新项目)”创建appletinstanceobject(小程序实例对象),在卡设备中设置小程序实例appletinstanceobject1。此外,通过借助createnew(创建新项目)在卡设备的卡注册表中登记新的卡注册表项(eintrag),在卡设备中设置一起发送到install的系统特定参数(systemspecificparameter)中的小程序的小程序标识符aid1。

图2示出了根据图1安装的小程序实例appletinstanceobject1的个性化(“perso”)。通过apduselect(选择)并且给定aid1,选择小程序实例。通过apduauthenticate执行认证。通过多个连续的apdustoredata(存储数据),直至显示个性化数据结束的laststoredata(最后的存储数据),将个性化所需的数据存储到卡设备中。由此,将卡设备、更准确地说将安装的小程序实例appletinstanceobject1个性化(“perso”)。

图3示出了在根据图1安装小程序并且根据图2将小程序个性化之后,具有aid1的小程序的调用(“call”)和使用以及随后对命令的处理。通过apduselect并且给定aid1,选择小程序实例。依次从终端向卡设备发送各种小程序特定的apdu命令(“appletspecificcommands”,小程序特定命令)。更准确地说,卡管理器借助select在卡设备上选择小程序实例appletinstanceobject1,并将从终端接收到的apdus发送到appletinstanceobject。由此,小程序(更准确地说小程序实例appletinstanceobject1)在卡设备上执行其预期的活动。

图4示出了根据本发明的实施方式的在不在卡设备中安装另外的小程序实例的情况下借助新的installforinstall命令的另外的小程序标识符的创建。终端向卡设备(这里简称为卡)发送apdu命令。终端通过命令icc_on接通卡设备。通过apduselectcardmanager(选择卡管理器)调用cardmanager(卡管理器)。通过apduauthenticate执行认证。通过apdu命令installforinstall将加载包加载到卡设备中。卡设备确定已经在卡设备中设置了小程序实例appletinstanceobject1,并且没有安装另外的小程序实例。此外,识别出了通过之前在创建小程序实例时的installforinstall在install的systemspecificparameter(系统特定参数)中创建的小程序的小程序标识符aid1。此外,根据本发明,通过借助createnew(创建新项目)在卡设备的卡注册表中登记新的卡注册表项(eintrag)aid2,在卡设备中设置另一个小程序标识符aid2。现在,注册表针对同一个小程序实例appletinstanceobject1包含两个小程序标识符aid1和aid2。通过再次发送installforinstall命令,还可以创建另外的小程序标识符aidn,n=3,4,...。根据创建小程序标识符的一个替换方法,在install命令中从终端向卡设备同时发送多个小程序标识符aid1,aid2,...。图4还示出了创建用于容纳小程序标识符的systemspecificparameter(系统特定参数)的示例。installforinstall命令包括一系列加载参数,特别是packageaid(包aid)、appletclassaid(小程序类aid)、instanceaid(实例aid)、privileges(特权)、applicationspecificparameters(应用程序特定参数)、systemspecificparameters(系统特定参数)以及在[1]中列出的所有其它可能的参数。systemspecificparameter(系统特定参数)具有命令格式eflentaglenvalue(tlv格式)。对于tag(标记),根据[1]固定地赋予一些值,例如c6、c7和c8(参见[1]章节11.5.2.3.7“installcommandparameters(安装命令参数)”)。优选地,对于tag使用未固定赋予的值,例如4f。

图5示出了根据本发明的实施方式的安装的小程序实例的个性化(“perso”)。通过apduselect(选择)并且给定多个aid中的一个、在此是aid2,选择小程序实例,在此是appletinstanceobject1(不是2!)。通过apduauthenticate(认证)执行认证。通过多个连续的apdustoredata(存储数据),直至显示个性化数据结束的laststoredata(最后的存储数据),将个性化所需的数据存储到卡设备中。由此,将卡设备个性化(“perso”)。

图6示出了根据本发明的实施方式的具有另一个小程序标识符aid2的小程序的调用(“call”)和使用以及随后对命令的处理。通过apduselect(选择)并且给定另一个小程序标识符aid2,选择小程序实例。依次从终端向卡设备发送各种小程序特定的apdu命令(“appletspecificcommands”)。更准确地说,cardmanager(卡管理器)借助select(选择)在卡设备上选择appletinstanceobject1(不是2),并且将从终端接收到的apdus发送到appletinstanceobject1。由此,小程序(更准确地说小程序实例1)在卡设备上执行其通过另一个小程序标识符aid2发起的与同一个小程序实例1相关的预期的活动。

引用的现有技术

[1][gpc_spe_034]globalcardplatformspecificationv2.2.1,2011

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1