一种基于javacard的应用内部数据备份与恢复方法

文档序号:9547048阅读:459来源:国知局
一种基于java card的应用内部数据备份与恢复方法
【技术领域】
[0001]本发明涉及一种数据备份与恢复方法,特别涉及一种基于JAVACARD的应用内部数据备份与恢复方法。
【背景技术】
[0002]集成了各种App应用的智能卡为人们的生活带来了极大的便利,在这些智能卡中最重要的就是JAVA CARDo JAVA CARD有两大优点:它支持一卡多用和重复利用。其中,支持—^多用途是指JAVA CARD上可以同时存在多个不同的应用,于是一张Java Card就可以满足不同功能的需求,例如,它可以有电子钱包功能,同时也可以有身份鉴别功能;重复利用是指JAVA CARD上的应用可以根据需要进行删除或重新添加新的应用,而无需更换新的智能卡,这样大大增强智能卡应用的灵活性。但随着科技信息技术的不断发展,JAVA CARD中的应用种类越来越多,而且应用的更新速度也越来越快,或是当卡上的应用出现缺陷时,这就需要不断对JAVA CARD中的应用进行删除,添加,更新,升级等操作。在现有技术中,一般采用以下两种方法来对JAVA CARD中的应用进行上述操作:第一种为:基于重复利用的优点,删除原卡片上原有的应用,重新加载新的应用;第二种为:直接废掉旧卡,更换加载了新应用的新卡。但无论是上述哪种方法,卡片上原有的包括个性化数据在内的内部数据都无法保存,都丢失了,需要重新对卡片写入新的内部数据,这就造成了数据信息的浪费,延长了制卡过程,另外,第二种方法还造成了卡片的浪费。因此,亟待开发一种可以高效的将JAVA CARD的应用内部数据备份与恢复的方法。

【发明内容】

[0003]本发明的目的是通过以下技术方案实现的:
[0004]—种JAVA CARD中App应用内部数据的备份与恢复方法,该方法包括,开发BackUpDataApp应用,利用该BackUpDataApp应用获取App应用内部数据并对其进行备份,删除App应用包,载入new App应用包,并安装new App应用,利用new App应用获取此前已经备份在BackUpDataApp应用中的内部数据并将其写入new App对应区域,实现对JAVA CARD中App应用内部数据的备份和恢复操作JAVA CARD中App应用实现了 BackUpDatalnterface共享接口,BackUpDataApp应用的开发是依据BackUpDatalnterface共享接口开发的,在内部数据备份过程中,所述BackUpDataApp应用通过BackUpDatalnterface共享接口与App应用进行对话,JAVA CARD中App应用内部数据的备份流程包括,1)利用BackUpDataApp应用请求通过调用JAVA CARD系统中的 JCSystem.getAppletShareablelnterfaceOb ject ()访问 App 应用的共享接口;2)由于 BackUpDataApp 应用,JCRE (Java Card Runtime Environment)通过调用 App 应用的getShareablelnterfaceOb ject ()方法来要求共用App应用的可共享接口 ;3)如果App应用允许共用,BackUpDataApp应用将获得一个App应用的共享对象的引用,BackUpDataApp应用即可访问App应用,BackUpDataApp应用通过调用App应用的getDataByte ()方法获取App应用的所有内部数据,保存在自己的数据备份区,完成后数据备份操作结束;BackUpDataApp应用实现了 BackUpDatalnterface共享接口,new App应用的开发是依据BackUpDatalnterface共享接口开发的,在内部数据的恢复过程中,所述new App应用通过BackUpDatalnterface 共享接口 与 BackUpDataApp 应用进行对话,JAVA CARD 中 App 应用内部数据的恢复流程包括,l)new App应用请求通过调用系统的JCSystem.getAppletShareablelnterfaceOb ject ()方法访问 BackUpDataApp 应用的共享接口 ;2)由于 new App 应用,JCRE 通过调用 BackUpDataApp 应用的 getShareablelnterfaceOb ject ()方法来要求共用BackUpDataApp的可共享接口 ;3)如果BackUpDataApp应用允许共用,new App应用将获得一个BackUpDataApp的共享对象的引用,于是new App应用即可访问BackUpDataApp应用,new App 应用通过调用 BackUpDataApp 的 getDataByte ()方法获取 BackUpDataApp 应用中的所有备份数据,并将其写入对应的数据区,数据恢复操作完成;在对JAVA CARD中App应用内部数据进行内部数据备份与内部数据恢复操作之前,还包括认证步骤,该认证步骤包括采用密钥加解密技术做认证的步骤,认证通过则允许访问内部数据,认证失败则拒绝其访问;所述内部数据备份操作和所述内部数据恢复操作都包括通过共享接口跨应用访问方式实现内部数据的备份和恢复;内部数据备份区存在于Java Card内部,当然内部数据备份区也可以存在于其他系统或设备缓存中;其中,JAVA CARD中的App应用包括多个来自不同供应商的不同的小应用程序App应用中的每一个,且该不同的小应用程序App应用之间通过防火墙来隔离;所述JAVA CARD中的App应用是具有功能性缺陷的App应用,所述newApp是修复了功能性缺陷的App应用。
[0005]相对于现有技术,本发明具有以下优点:
[0006]本发明的JAVA CARD中App应用内部数据的备份与恢复方法无需对修复的App应用重新录入内部数据,而是直接将原有备份数据恢复,实现了对App内部数据的高效利用,此外,还添加了加密认证步骤,提高了数据备份和恢复的安全性。
[0007]说明书附图
[0008]图1:需要备份的JAVA CARD中App应用的数据结构;
[0009]图2 JAVA CARD中App应用的数据备份流程图;
[0010]图3 JAVA CARD中删除App应用包后的卡片内部数据结构;
[0011 ] 图4 JAVA CARD中新App应用的数据恢复流程图。
具体实施例
[0012]现结合说明书附图与具体实方式进一步详细说明本发明的技术方案。
[0013]本实施例的JAVA CARD中App应用内部数据的备份和恢复方法主要包括,数据的备份和数据的恢复。JAVA CARD中具有多个适用于各种应用环境的功能性的App应用,也就是说,JAVA CARD平台是一个多应用环境,同一张JAVA CARD上共存着来自不同供应商的不同的小应用程序App应用,每个小应用程序被指派给一个执行上下文,这个上下文控制到分配给它的对象的访问,一个执行上下文和另一个执行上下文之间的界限经常被称为应用程序App应用的防火墙(Applet Firewall)。Java Card防火墙创建了一个虚拟堆,这样一个对象只能访问存在于相同的防火墙内的(公共的)方法和数据。一个防火墙可能包含许多小应用程序及其他对象。一个Java Card执行上下文目前的作用域是程序包。
[0014]以JAVA CARD中App应用有功能性缺陷为例:当JAVA CARD中的App应用出现了功能性缺陷,则需要对该App应用进行修复处理,采用现有技术中的修复方法无法保存该App应用中的内部数据,需要重新录入新的内部数据,浪费数据资源。本发明的方法可以实现无需重新录入新的内部数据,通过恢复此前备份好的内部数据,实现了高效快捷的修复App应用。本发明的JAVA CARD中App应用内部数据的备份和恢复流程包括,首先加载BackUpDataApp应用,备份App应用内部数据,删除App应用包,然后重新加载修复了功能缺陷的new App应用包到JAVA CARD中,安装该new App应用,恢复此前备份好的App应用内部数据到new App应用中,最后删除BackUpDataApp应用。
[0015]首先,参照图1,需要备份App应用的JAVA CARD内部结构包括,BackUpDatalnterface共享接口,App应用主程序(需备份的内部数据AppData [],获取备份数据接口 getDataByte ())。如果要实现对App应用内部数据的备份,其前提是该App应用必须实现有为实现数据备份功能而设计的BackUpDatalnterface共享接口,该接口为外界访问App应用提供了接入通道。在对JAVA CARD中App应用内部数据进行备份之前,需要先开发为了实现App应用内部数据的备份和恢复的BackUpDataApp应用,且该BackUpDataApp应用的开发是依据BackUpDatalnterface共享接口开发的,在对App应用内部
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1