[发明专利]一种JavaCard应用功能扩展的实现方法有效
申请号: | 201410286117.0 | 申请日: | 2014-06-24 |
公开(公告)号: | CN104102507B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/46;G06F21/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 javacard 应用 功能 扩展 实现 方法 | ||
技术领域
本发明涉及JavaCard应用领域,尤其涉及一种JavaCard应用功能扩展的实现方法。
背景技术
智能卡的存储器体系主要是由读写存储器(RAM)、只读存储器(ROM)以及可擦写编程存储器(EEPROM)组成。Java Card是可以运行Java程序代码的智能卡。保存在Java Card上EEPROM中的应用程序可以通过GlobalPlatform标准指令(简称GP指令)进行下载、安装和删除的操作。掩膜应用是存储在ROM中的无法删除的应用;非掩膜应用是存储在flash与e2p中的应用。
现有技术中,如果Java Card使用过程中发现原有应用存在功能缺失或错误,可以通过删除原应用程序,下载并安装新的应用程序来解决问题,但是该方法会导致用户使用过程中的数据丢失。同时,如果Java Card上的应用程序本身占用的空间较大,而修改的内容较小时,则整个应用程序需要在修改后重新下载,安装及个人化,因而浪费时间。对于掩摸的Java Card卡,将代码写入ROM后,无法删除,如果有缺陷整个应用将无法使用。同样,在COS(英文全称:Chip Operating System,中文全称:卡片操作系统)开发过程中,使用Java语言实现的无论是卡片管理、JCRE(英文全称:Java Card Runtime Environment,中文全称:Java Card运行环境)还是JCVM(英文全称:Java Card Virtual Machine,中文全称:Java Card虚拟机)模块,都有可能存储缺陷,一但掩摸后程序将无法修改。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种JavaCard应用功能扩展的实现方法。
本发明提供了一种JavaCard应用功能扩展的实现方法,包括注册过程和调用过程,扩展应用和主应用激活后开始工作,其中所述注册过程包括:
步骤S1:当所述扩展应用接收到运行环境派遣的注册命令时,所述扩展应用获取所述主应用生成的随机数;
步骤S2:所述扩展应用对所述随机数进行处理,并将处理结果、所述注册命令中的扩展应用标识和扩展接口编号发送给主应用;
步骤S3:所述主应用根据所述生成的随机数对接收到的所述处理结果进行验证,如验证通过则执行步骤S4,否则报错,结束;
步骤S4:所述主应用根据所述接收到的扩展应用标识判断对应的扩展应用是否已安装,是则执行步骤S5,否则报错,结束;
步骤S5:所述主应用根据所述扩展编号设置主应用的缓存区中对应的扩展点的位,获取并保存所述扩展应用的句柄,给所述扩展应用返回关联成功信息;
步骤S6:所述扩展应用注册所述扩展接口的状态,并将所述扩展接口的状态保存到所述主应用的所述缓存区中;
所述调用过程包括:
步骤S7:所述主应用接收到运行环境派遣的功能命令时,开始运行所述原程序;
步骤S8:当所述主应用检测到扩展点时,所述主应用判断所述缓存区中对应的扩展点的位是否已设置,是则执行步骤S9,否则继续运行原程序,返回步骤S8;
步骤S9:所述主应用根据所述缓存区中与所述扩展点对应的扩展接口编号所对应的扩展接口的状态判断对应的扩展接口是否可用,是则执行步骤S10,否则继续运行原程序,返回步骤S8;
步骤S10:所述主应用根据保存的所述扩展应用的句柄调用对应的扩展应用,所述扩展应用调用与所述扩展接口编号对应的扩展接口;
步骤S11:所述主应用根据所述扩展应用调用与所述扩展接口编号对应的扩展接口返回的结果判断是否继续运行原程序,是则继续运行原程序,返回步骤S8,否则给运行环境返回执行结果及信息,结束。
进一步地,在所述步骤S1之前还包括:
当扩展应用接收到运行环境派遣的认证命令时,执行步骤A1-步骤A4;
步骤A1:所述扩展应用判断安全通道实例是否已经实例化,是则执行步骤A3,否则执行步骤A2;
步骤A2:所述扩展应用获取安全通道实例并将其存储在非易失性缓存中,执行步骤A3;
步骤A3:所述扩展应用根据所述认证命令得到送往卡外的数据长度,从安全域执行所述认证命令所返回的结果中获取相应的所述数据长度的数据并将其存储在apdu缓存中;
步骤A4:所述扩展应用调用通讯接口将结果数据发送到卡外,并设置安全级别,等待接收命令。
进一步地,所述步骤A3包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410286117.0/2.html,转载请声明来源钻瓜专利网。