用于在应用的两个实例之间传送用户数据的方法_2

文档序号:9620926阅读:来源:国知局
户数据UD可以包括卡持有者姓名的姓名、卡密钥、卡证书以及卡余额。实例A1使用其自身的存储格式来存储可应用数据。每个项可以被单独地存储在特定的字段中。在图1处示出四个字段。例如,每个项可以被单独地存储在单个文件的记录中。替换地,实例A1可以使用单独地存储每个项的多个文件。
[0026]安全元件SE包括同一应用的另一包P2以及包P2的实例A2。包P2与包P1的升级版本对应。在通过通信信道C0的数据传送之后,在图1处示出实例A2的可应用数据。在该示例中,实例A2使用五个字段来存储可应用数据。配置项CF1和CF2、密钥K1以及用户数据UD被存储在三个不同的字段中。此外,实例A2将第三配置项CF3和第二密钥K2存储在两个附加字段中。假设实例A2被意图表现为像实例A1那样(除了修复的缺陷(bug)之外),这两个附加字段包含不由实例A1 (以及包P1)管理并且为此原因在实例A2中保持禁用的数据。换言之,由包P2提供的新特征对于实例A2而言并非是激活的。
[0027]可应用数据可以包括出自于安全元件的用户的值、出自于提供应用的实体的值以及反映服务使用的历史的值。
[0028]图2示出根据本发明一个方面的用于传送可应用数据的流程图的第一示例。
[0029]基于如下的假设而描述以下示例:安全元件SE包括Java卡虚拟机,并且包P1和包P2以及关联的实例A1和A2符合Java卡要求。虽然在Java卡技术的情况下提供示例,但本发明也应用于以其它面向对象的语言(如C++语言)和非面向对象的语言(如C语言)开发的包和实例。
[0030]在图2的步骤S1之前,假设已经执行若干步骤。首先,应用包P1被安装到安全元件SE中,并且实例A1被从包P1创建而进到安全元件SE中。部分地取决于安全元件的用户来利用可应用要素来个性化实例。例如,这些可应用要素可以包括卡持有者信息。实例A1允许用户可以获得与应用对应的服务。然后,开发第二包P2。与第一包P1相比,包P2提供一些附加特征。(或某缺陷修复)。
[0031]在图2的步骤S1,包P2被加载到安全元件SE中。可以通过0ΤΑ机制来执行这种加载。在步骤S2,在安全元件SE中从包P2创建实例A2。这种创建可以由远程服务器经由专用命令来请求或由任何特定事件来启动。实例A2被意图用来替代实例A1。
[0032]在步骤S3,实例A1与A2之间的可应用数据的迀移要么在创建实例A2之后自动地被触发,要么关于由安全元件SE所接收到的请求而被触发。
[0033]然后,在步骤S4,实例A1和A2这两者建立通信信道C0。该通信信道C0在不经过安全元件SE的外部的情况下连接实例A1和A2这两者。例如,实例A1和A2可以使用如在Java卡技术中定义的可共享接口,以用于建立通信信道C0。
[0034]在步骤S5,实例A2请求实例A1准备并且传送可应用数据。替换地,实例A1可以采取主动以准备并且发送可应用数据。
[0035]在步骤S6,实例A1将自身设置在其中其拒绝除了与实例A2的通信之外的所有进一步的服务请求的锁定状态下。该特定状态又被命名为“用于迁移而被锁定” 确保实例A1不再针对提供可应用服务而进行运行。这避免当运行应用时所使用的可应用数据的值与传送到新实例A2的可应用数据的值之间的冲突。实例A1生成要被使用预设的传送格式来传送的可应用数据的集合PA (又被命名为封包PA)。例如,传送格式可以基于EMVCo CPS (Common Personlizat1n Specificat1n,通用个性化规范)DGI (Data GroupIdentifier,数据组标识符)。从属于实例A1的可应用数据来生成可应用数据的集合PA。然后,实例A1通过连接C0将所生成的集合PA发送到实例A2。
[0036]在步骤S7,实例A2接收数据集合,解释可应用数据值,并且使用其自身的存储格式来存储可应用数据。通过参照图1,实例A2可以例如在五个不同的字段中存储可应用数据。
[0037]在步骤S8,删除实例A1,并且实例A2变成用于应用的当前实例。换言之,实例A2已经替代实例A1。
[0038]在步骤S9,执行检查以检测仍链接到包P1的其它实例。如果不存在从包P1创建的余留实例,则删除包P1,否则,针对余留实例再次执行步骤S2至S8。
[0039]图3示出根据本发明一个方面的用于传送可应用数据的流程图的第二示例。
[0040]该流程图关于图2的流程图包括若干附加的步骤。这些附加的步骤不一定彼此相关,并且提供各种改进。
[0041]可以在运行步骤S2之前执行步骤S1A。步骤S1A与检查当前所部署的包P1的所链接的现有实例对应。在我们的示例中,步骤S1A的检查检测实例A1的存在。因此,在步骤S2,可以利用与实例A1不同的标识符来创建实例A2。在Java卡实例的示例中,这些标识符被称为用于应用标识符的AID,并且符合预设的格式。
[0042]有利地,可以在步骤S7之后执行步骤S9A。步骤S9A与在实例A1和A2的各标识符之间创建别名对应,从而对实例A1的调用现在被路由到实例A2。因此,使得对实例进行替代对于系统的其余部分来说是透明的。
[0043]有利地,可以在安全元件SE中创建与第二包P2的升级版本对应的第三包的新实例。该新实例具有其自身的标识符。另一步骤(图3未示出)可以与把别名从实例A1的标识符传送到从第三包创建的新实例的标识符对应。这种别名传送(而非别名创建)的处理将因此使得能够在保持没有对被意图使用安全元件的设备的影响的同时将用户数据传送重复多于一次。
[0044]可以在运行步骤S4之前执行步骤S3A。步骤S3A目标在于允许实例A1和A2检查它们是否被授权一起进行通信。例如,它们可以基于机密密钥K1而运行相互鉴权。相互鉴权可以基于在智能卡领域熟知的方案。在此情况下,只在相互鉴权成功时,建立连接C0(步骤 S4)。
[0045]此外,可以在传送可应用数据之前执行检查实例A1与A2之间的兼容性的步骤S4A。例如,实例A2可以检查实例A1与包P2兼容。可以通过得到由实例A1提供的版本号或允许检查实例属于同一应用的不同版本的应用的标识符来执行这种检查。
[0046]图4示出根据本发明的示例的安全元件SE的示图。
[0047]安全元件SE包括应用的两个包P1和P2。包P2被假设为包P1的升级版本。包P1和包P2包含管理相互鉴权所需要的机密密钥K1。安全元件SE包含从包P1创建的实例Alo实例A1存储可应用数据(如机密密钥K1和用户数据UD)。在该示例中,安全元件是包括被配置为根据IS07816标准来与外部交换数据的通信接口 IN的智能卡。
[0048]安全元件包括Java虚拟机VM以及四个装置Ml、M2、M3和M4。第一装置Ml被配置为在两个实例的各标识符之间创建别名。第二装置M2被配置为当实例的可应用数据已经被传送到另一实例时删除该实例。第三装置M3被配置为检查从给定的包创建的(S卩,链接到给定的包的)余留实例的存在性。第四装置M4能够删除包。
[0049]图5示出根据本发明的两个包及它们的所链接的实例的另一示例。
[0050]已经从包P1创建了两个不同的实例A1和B1。已经从包P2创建了三个不同的实例A2、B2和C。实例A2被假设为替代进到安全元件中的实例A1。相似地,实例B2被假设为替代实例B1。实例A1 (相应地,实例B1)的可应用数据根据本发明而被传送到实例A2(相应地,实例B2)。然后,对于实例A1 (相应地,实例B1)的进一步的调用被重定向到实例A2 (相应地,实例B2)。在图5处通过双线箭头示出这种重定向。
[0051]通过参照图1处详述的实例,仅使用由先前的实例管理的可应用数据的部分来创建新实例A2和B2:如果假设这些新实例表现为如先前的实例那样,则配置项CF3和密钥K2可以保持禁用(不使用)而进
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1