CN102033771A - 一种在Java Card中应用补丁程序的方法及装置 - Google Patents
一种在Java Card中应用补丁程序的方法及装置 Download PDFInfo
- Publication number
- CN102033771A CN102033771A CN2010106059585A CN201010605958A CN102033771A CN 102033771 A CN102033771 A CN 102033771A CN 2010106059585 A CN2010106059585 A CN 2010106059585A CN 201010605958 A CN201010605958 A CN 201010605958A CN 102033771 A CN102033771 A CN 102033771A
- Authority
- CN
- China
- Prior art keywords
- patch
- state
- unique identification
- java card
- activation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种Java Card中应用补丁程序的方法及装置,以避免更新应用程序所造成的用户数据丢失,提高开发效率。该方法为:判断Java Card应用程序的补丁程序的状态是否为激活状态,若确定补丁程序的状态为激活状态,则获取所述补丁程序的唯一标识,并根据所述补丁程序的唯一标识获取相应的补丁程序并运行,若确定补丁程序的状态为未激活状态,则运行所述原应用程序。该方法能够有效地避免更新应用程序所造成的用户数据丢失,提高开发效率。本发明同时公开了一种Java Card中应用补丁程序的装置。
Description
技术领域
本发明涉及智能卡领域,尤其涉及一种在Java Card中应用补丁程序的方法及装置。
背景技术
智能卡的存储器体系主要是由读写存储器(RAM)、只读存储器(ROM)以及可擦写编程存储器(EEPROM)组成。Java Card是可以运行Java程序代码的智能卡。保存在Java Card上EEPROM中的应用程序可以通过GlobalPlatform标准指令(简称GP指令)进行下载、安装和删除的操作。
现有技术中,如果在Java Card使用过程中发现原应用程序存在缺陷,可以通过删除原应用程序,下载并安装新的应用程序来解决问题。但是,该方法会导致用户使用过程中的数据丢失。同时,如果Java Card上的应用程序本身占用的空间较大,但是需要对其所进行的修改较少,则整个应用程序需要在修改后重新下载,这就需要占用较长的时间,从而降低了发卡效率。
综上所述,需要寻求一种替换Java Card应用程序的方法,能够避免更新应用程序所造成得用户数据丢失,并提高发卡效率。
发明内容
本发明提供一种在Java Card中应用补丁程序的方法及装置,以避免更新应用程序所造成的用户数据丢失,并提高发卡效率。
本发明实施例提供的具体技术方案如下:
一种在Java Card中应用补丁程序的方法,包括:
判断Java Card应用程序的补丁程序的状态是否为激活状态;
若确定补丁程序的状态为激活状态,则获取所述补丁程序的唯一标识,并根据所述补丁程序的唯一标识获取相应的补丁程序并运行;
若确定补丁程序的状态为未激活状态,则运行所述原应用程序。
一种在Java Card中应用补丁程序的装置,包括:
第一处理单元,用于判断Java Card应用程序的补丁程序的状态是否为激活状态;
第二处理单元,用于确定补丁程序的状态为激活状态时,获取所述补丁程序的唯一标识,并根据所述补丁程序的唯一标识获取相应的补丁程序并运行;
第三处理单元,用于确定补丁程序的状态为未激活状态时,运行所述原应用程序。
基于上述技术方案,本发明实施例中,通过判断Java Card应用程序的补丁程序的状态是否为激活状态,在确定补丁程序的状态为激活状态时,获取补丁程序的唯一标识,并根据补丁程序的唯一标识获取相应的补丁程序并运行。从而无需更新Java Card原应用程序,采用运行补丁程序的方式,实现对原应用程序的修复或补充,避免了更新原应用程序造成的用户数据丢失,并且提高了发卡效率。同时,通过设置补丁程序唯一标识,保证了安全性。
附图说明
图1为本发明实施例中在Java Card中应用补丁程序的系统架构图;
图2为本发明实施例Java Card上应用补丁程序的装置结构图;
图3为本发明实施例中在Java Card中应用补丁程序的方法流程图。
具体实施方式
为了避免更新应用程序所造成的用户数据丢失,并提高开发效率,本发明实施例提供了一种在Java Card中应用补丁程序的方法及装置,能够有效地避免更新应用程序所造成的用户数据丢失,并提高发卡效率。该方法为:判断Java Card应用程序的补丁程序的状态是否为激活状态,若确定补丁程序的状态为激活状态,则获取补丁程序的唯一标识,并根据补丁程序的唯一标识获取相应的补丁程序并运行,若确定补丁程序的状态为未激活状态,则运行原应用程序。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅附图1所示,本发明实施例中,在Java Card中应用补丁程序的系统主要包括卡片接受设备10和Java Card设备11,其中,
卡片接受设备10,用于向Java Card设备11下发相应的应用程序协议数据单元(APDU)命令,以将补丁程序下载至Java card设备11,以及设置补丁程序的激活密钥和唯一标识;
Java Card设备11,用于判断Java Card应用程序的补丁程序的状态是否为激活状态,若确定补丁程序的状态为激活状态,则获取该补丁程序的唯一标识,并根据补丁程序的唯一标识获取相应的补丁程序并运行,若确定补丁程序的状态为未激活状态,则运行原应用程序。
参阅附图2所示,本发明实施例中,Java Card设备11,即Java Card设备上应用补丁程序的装置主要包括以下处理单元:
第一处理单元111,用于判断Java Card应用程序的补丁程序的状态是否为激活状态;
第二处理单元112,用于确定补丁程序的状态为激活状态时,获取补丁程序的唯一标识,并根据上述补丁程序的唯一标识获取相应的补丁程序并运行;
第三处理单元113,用于确定补丁程序的状态为未激活状态时,运行原应用程序。
基于上述系统架构,参阅附图3所示,本发明实施例中,在Java Card中应用补丁程序的详细方法流程如下:
步骤301:判断Java Card应用程序的补丁程序的状态是否为激活状态。
其中,判断Java Card应用程序(Applet)的补丁程序的状态是否为激活状态之前,设置补丁程序的激活密钥,并设置补丁程序的唯一标识。较佳地,在 原应用程序的起始部分设置补丁程序的激活密钥,并设置补丁程序的唯一标识。
补丁程序的激活密钥可以是任意形式的密钥。例如,对称密钥和非对称密钥。
本发明实施例中,设置补丁程序的唯一标识时,可以将包含指定长度字节的随机数设置为上述补丁程序的唯一标识;或者,将Java Card芯片的唯一标识与任意随机数进行运算,并将运算结果中指定长度字节设置为补丁程序的唯一标识。上述指定长度字节的随机数是指随机数需要符合Java Card规范要求的长度,例如,5至16字节长度为Java Card规范要求的长度。补丁程序的唯一标识设置方法包括但不限于以上两种,实际应用中,若存在其他设置方法,本发明也将其包含在内。
例如,将Java Card芯片唯一标识与任意随机数进行异或运算后,截取其中的前10个字节作为补丁程序的唯一标识。
其中,在判断补丁程序的状态是否为激活状态时,首先判断与补丁程序的唯一标识相匹配的补丁程序是否已下载至Java Card,若已下载至上述JavaCard,则采用补丁程序的激活密钥进行认证,若认证通过,则确定补丁程序为激活状态,若认证未通过,则确定补丁程序的状态为未激活状态;若未下载至上述Java Card,则确定补丁程序的状态为未激活状态。
卡片接受设备10通过下发相应的应用程序协议数据单元(ApplicationProtocol Data Unit,APDU)命令将补丁程序下载至Java Card,以及设置补丁程序的激活密钥和补丁程序的唯一标识。
步骤302:若确定补丁程序的状态为激活状态,则获取上述补丁程序的唯一标识,并根据该补丁程序的唯一标识获取相应的补丁程序并运行。
其中,根据补丁程序的唯一标识获取相应的补丁程序并运行,具体为:根据上述补丁程序的唯一标识,通过防火墙共享接口获取相应的补丁程序,并运行该补丁程序,本发明实施例中,在补丁程序中通过Java Card规范提供的API 实现防火墙共享接口,原应用程序通过该防火墙共享接口调用补丁应用程序。
本发明实施例中,原应用程序和补丁程序相对独立,可以分开进行维护,两者通过Java Card运行环境提供的防火墙机制进行安全通信。
步骤303:若确定补丁程序的状态为未激活状态,则运行原应用程序。
本发明实施例中,可以在设置补丁程序激活密钥的同时设置去活密钥,该去活密钥用于在补丁程序运行结束或无需使用该补丁程序时,采用去活密钥对接收到的用于指示将补丁程序设置为未激活状态的APDU命令进行认证,并在认证通过后,根据该APDU命令将补丁程序设置为未激活状态,以保证安全性。该去活密钥可以是与激活密钥相对应,也可以是任意约定密钥。除了去活密钥的方式屏蔽补丁程序,也可以采用在运行结束后根据相应的APDU命令将补丁程序删除的方法。例如,Java Card在接收到相应的APDU命令后,采用约定的去活密钥,对该APDU命令进行认证,并在认证通过后,将补丁程序设置为未激活状态。
基于上述实施例,通过APDU命令将补丁程序下载至Java Card上,该补丁程序本身为符合Java Card规范的应用程序,可以采用通用方式进行管理,并在Java Card中设置补丁程序的激活密钥以及补丁程序的唯一标识,在判断补丁程序是否为激活状态时,通过唯一标识判断与原应用程序相匹配的补丁程序是否下载至Java Card,以及在确定补丁程序已下载至Java Card后,进一步采用激活密钥进行认证,以确定补丁程序的状态是否为激活状态,若是则运行补丁程序,否则,则执行原应用程序。这样,需要补丁程序的唯一标识和激活密钥共同满足条件时,才能够激活并运行补丁程序,从而保证了运行补丁程序的安全性。本发明实施例中,补丁程序和原应用程序是相对独立的,两者可以分开维护,原应用程序接收到APDU指令后,若判断补丁程序为激活状态,只需通过防火墙接口调用补丁程序,由补丁程序处理APDU指令后返回,即可实现补丁程序的功能,实现简单,并且,由于补丁程序和原应用程序的独立性,补丁程序的安装和卸载,并不影响原应用程序;补丁程序不仅可以提供替换原 始程序的旧功能,而且完全可以作为一个新的应用承担其他的功能。再者,补丁程序的下载和激活不局限于Java Card的开发阶段,通过激活补丁程序对原应用程序的功能进行修复或补充,无需更新原应用程序,避免了更新原应用程序所造成的用户数据丢失。并且,补丁程序本身是符合Java Card规范的Apple应用程序,具有平台无关性,可以在不同平台上运行,提高了开发效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种在Java Card中应用补丁程序的方法,其特征在于,包括:
判断Java Card应用程序的补丁程序的状态是否为激活状态;
若确定补丁程序的状态为激活状态,则获取所述补丁程序的唯一标识,并根据所述补丁程序的唯一标识获取相应的补丁程序并运行;
若确定补丁程序的状态为未激活状态,则运行所述原应用程序。
2.如权利要求1所述的方法,其特征在于,在判断Java Card应用程序的补丁程序的状态是否为激活状态之前,包括:
设置补丁程序的激活密钥,并设置补丁程序的唯一标识。
3.如权利要求2所述的方法,其特征在于,设置所述补丁程序的唯一标识时,包括:
将包含指定长度字节的随机数设置为所述补丁程序的唯一标识;
或者,
将Java Card芯片的唯一标识与任意随机数进行运算,并将运算结果中指定长度字节设置为所述补丁程序的唯一标识。
4.如权利要求1所述的方法,其特征在于,在运行所述补丁程序之前,包括:对所述补丁程序进行认证。
5.如权利要求2、3或4所述的方法,其特征在于,判断Java Card应用程序的补丁程序的状态是否为激活状态,包括:
判断与所述补丁程序的唯一标识相匹配的补丁程序是否已下载至所述Java Card;
若已下载至所述Java Card,则采用所述补丁程序的激活密钥进行认证,若认证通过,则确定所述补丁程序为激活状态;若认证未通过,则确定所述补丁程序的状态为未激活状态;
若未下载至所述Java Card,则确定所述补丁程序的状态为未激活状态。
6.如权利要求1所述的方法,其特征在于,根据所述补丁程序的唯一标识获取相应的补丁程序并运行,包括:
根据所述补丁程序的唯一标识,通过防火墙共享接口获取相应的补丁程序,并运行该补丁程序。
7.一种在Java Card中应用补丁程序的装置,其特征在于,包括:
第一处理单元,用于判断Java Card应用程序的补丁程序的状态是否为激活状态;
第二处理单元,用于在确定补丁程序的状态为激活状态时,获取所述补丁程序的唯一标识,并根据所述补丁程序的唯一标识获取相应的补丁程序并运行;
第三处理单元,用于在确定补丁程序的状态为未激活状态时,运行所述原应用程序。
8.如权利要求7所述的装置,其特征在于,所述第一处理单元在执判断Java Card应用程序的补丁程序的状态是否为激活状态之前,设置补丁程序的激活密钥,并设置补丁程序的唯一标识。
9.如权利要求8所述的装置,其特征在于,所述第一处理单元设置所述补丁程序的唯一标识时,将包含指定长度字节的随机数设置为所述补丁程序的唯一标识;或者,将Java Card芯片的唯一标识与任意随机数进行运算,并将运算结果中指定长度字节设置为所述补丁程序的唯一标识。
10.如权利要求7所述的装置,其特征在于,所述第二处理单元在运行所述补丁程序之前,对所述补丁程序进行认证。
11.如权利要求8、9或10所述的装置,其特征在于,所述第一处理单元判断Java Card应用程序的补丁程序的状态是否为激活状态时,判断与所述补丁程序的唯一标识相匹配的补丁程序是否已下载至所述Java Card;
若已下载至所述Java Card,则采用所述补丁程序的激活密钥进行认证,若认证通过,则确定所述预设的补丁程序为激活状态;若认证未通过,则确定所述补丁程序的状态为未激活状态;
若未下载至所述Java Card,则确定所述补丁程序的状态为未激活状态。
12.如权利要求7所述的装置,其特征在于,所述第二处理单元根据所述补丁程序的唯一标识获取相应的补丁程序并运行,具体为:
根据所述补丁程序的唯一标识,通过防火墙共享接口获取相应的补丁程序,并运行该补丁程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010605958 CN102033771B (zh) | 2010-12-24 | 2010-12-24 | 一种在Java Card中应用补丁程序的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010605958 CN102033771B (zh) | 2010-12-24 | 2010-12-24 | 一种在Java Card中应用补丁程序的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033771A true CN102033771A (zh) | 2011-04-27 |
CN102033771B CN102033771B (zh) | 2013-09-25 |
Family
ID=43886705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010605958 Expired - Fee Related CN102033771B (zh) | 2010-12-24 | 2010-12-24 | 一种在Java Card中应用补丁程序的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033771B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914351A (zh) * | 2012-12-28 | 2014-07-09 | 北京中电华大电子设计有限责任公司 | Java卡系统补丁实现方法 |
CN104007985A (zh) * | 2013-02-25 | 2014-08-27 | 北京南瑞智芯微电子科技有限公司 | 一种智能卡apdu命令修正方法和装置 |
CN104657185A (zh) * | 2015-03-12 | 2015-05-27 | 东港股份有限公司 | 一种Java卡的Java代码补丁方法 |
CN105630516A (zh) * | 2014-10-28 | 2016-06-01 | 苏州融卡智能科技有限公司 | 适用于java卡上应用软件的补丁升级方法 |
CN107315602A (zh) * | 2017-05-12 | 2017-11-03 | 广东网金控股股份有限公司 | 一种应用程序的升级方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068416A (zh) * | 2007-06-08 | 2007-11-07 | 北京恒宝信息技术有限公司 | 一种用于多模智能卡操作系统的方法及装置 |
CN101231597A (zh) * | 2008-02-01 | 2008-07-30 | 东信和平智能卡股份有限公司 | 智能卡中java程序指令的执行方法 |
CN101630373A (zh) * | 2009-08-18 | 2010-01-20 | 北京握奇数据系统有限公司 | 一种实现智能卡多应用的方法及装置 |
-
2010
- 2010-12-24 CN CN 201010605958 patent/CN102033771B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068416A (zh) * | 2007-06-08 | 2007-11-07 | 北京恒宝信息技术有限公司 | 一种用于多模智能卡操作系统的方法及装置 |
CN101231597A (zh) * | 2008-02-01 | 2008-07-30 | 东信和平智能卡股份有限公司 | 智能卡中java程序指令的执行方法 |
CN101630373A (zh) * | 2009-08-18 | 2010-01-20 | 北京握奇数据系统有限公司 | 一种实现智能卡多应用的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914351A (zh) * | 2012-12-28 | 2014-07-09 | 北京中电华大电子设计有限责任公司 | Java卡系统补丁实现方法 |
CN104007985A (zh) * | 2013-02-25 | 2014-08-27 | 北京南瑞智芯微电子科技有限公司 | 一种智能卡apdu命令修正方法和装置 |
CN105630516A (zh) * | 2014-10-28 | 2016-06-01 | 苏州融卡智能科技有限公司 | 适用于java卡上应用软件的补丁升级方法 |
CN104657185A (zh) * | 2015-03-12 | 2015-05-27 | 东港股份有限公司 | 一种Java卡的Java代码补丁方法 |
CN104657185B (zh) * | 2015-03-12 | 2017-08-11 | 东港股份有限公司 | 一种Java卡的Java代码补丁方法 |
CN107315602A (zh) * | 2017-05-12 | 2017-11-03 | 广东网金控股股份有限公司 | 一种应用程序的升级方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN102033771B (zh) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2988470B1 (en) | Automatic purposed-application creation | |
EP2421216B1 (en) | Enhanced near field communication terminal, smart card and communication method thereof | |
CN102033771B (zh) | 一种在Java Card中应用补丁程序的方法及装置 | |
CN101819696B (zh) | 一种应用下载的系统和方法 | |
CN103455349B (zh) | 应用程序访问智能卡的方法和装置 | |
US9390259B2 (en) | Method for activating an operating system in a security module | |
JP2017513123A (ja) | セキュアエレメント管理方法及び端末 | |
CN105704332A (zh) | 移动支付方法和装置 | |
CN103810416A (zh) | 一种软件安装或卸载方法及装置 | |
CN105701427B (zh) | 一种智能卡写入数据的方法及装置 | |
CN106126203A (zh) | 一种ota开机加速方法及系统 | |
KR20190084110A (ko) | 임베디드 가입자 식별 모듈에서의 프로파일의 설치 | |
CN112020055B (zh) | 虚拟卡码号管理系统和方法、终端设备以及存储介质 | |
CN105700918A (zh) | 一种系统升级方法及装置 | |
CN101742478A (zh) | 智能卡从安全域密钥更新分发方法、系统及移动终端 | |
US20180300120A1 (en) | Method for updating a package | |
CN103119600A (zh) | 信息处理装置、信息处理装置控制方法、信息处理装置控制程序以及记录了信息处理装置控制程序的计算机可读取的记录介质 | |
CN104348616A (zh) | 一种访问终端安全组件的方法、装置及系统 | |
CN102088694B (zh) | 移动终端以及用户身份识别卡应用的下载方法 | |
WO2022165771A1 (zh) | 虚拟电子卡管理方法、系统及安全芯片、终端和存储介质 | |
CN103914712A (zh) | 一种非接触式智能卡多应用实现方法及系统 | |
CN103309758B (zh) | 一种卡应用下载的方法、系统和装置 | |
KR100890251B1 (ko) | 애플릿 패치 시스템 및 애플릿 패치 방법 | |
WO2017076258A1 (zh) | 智能卡及其下载应用的方法 | |
CN110389791B (zh) | 组件调度方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: BEIJING WATCHDATA Co.,Ltd. Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130925 Termination date: 20211224 |