CN103914351A - Java卡系统补丁实现方法 - Google Patents
Java卡系统补丁实现方法 Download PDFInfo
- Publication number
- CN103914351A CN103914351A CN201210595907.8A CN201210595907A CN103914351A CN 103914351 A CN103914351 A CN 103914351A CN 201210595907 A CN201210595907 A CN 201210595907A CN 103914351 A CN103914351 A CN 103914351A
- Authority
- CN
- China
- Prior art keywords
- patch
- patch application
- application
- service packs
- card
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及JAVA卡系统补丁实现方法,包括补丁应用的生成,补丁应用的下载,补丁应用的安装,补丁包和补丁应用的删除,补丁的执行。本发明提供的JAVA卡系统补丁实现方法可以在保持JAVA卡原始数据不变的情况下,安全、高效的实现JAVA卡系统升级和JAVA卡系统故障恢复。
Description
技术领域
本发明涉及智能卡领域,尤其涉及一种JAVA卡系统补丁实现方法。
背景技术
随着智能卡应用场景的增多,市场上对多应用智能卡需求迫切,JAVA卡技术作为多应用智能卡的主流技术,其性能和安全都得到市场认可。JAVA卡产品在发行以后,基于安全的考虑,其系统的升级和系统故障的恢复,只能通过公共标准的平台管理接口实现,在此背景下,本发明提供了补丁分类注册表、补丁注册表和补丁应用索引的实现方法,提供了基于这些数据结构,通过公共的标准的平台管理命令实现补丁应用的下载、安装、删除和执行的方法。
发明内容
本发明的目的:在保持JAVA卡原始应用数据不变的情况下,为JAVA卡提供通过补丁应用实现系统升级和故障恢复的方法。
JAVA卡补丁执行的时机:JAVA卡在运行时,如果检测到补丁,通过补丁应用索引,定位补丁应用地址,将系统PC指针的执行流程定位补丁应用地址,执行补丁应用代码。
JAVA卡系统补丁实现的原则为:保持JAVA卡应用数据不变,仅允许通过公共标准的接口实现补丁的下载、安装、删除和执行。
为了实现上述发明目的,本方法提供的JAVA卡系统补丁实现方法包括以下步骤:
步骤一、补丁应用的生成,将补丁数据封装为JAVA卡识别的装载组件,和其他组件一起生成可以在JAVA卡上安装的装载文件;
步骤二、补丁应用的下载,使用公共标准的平台管理命令,依据下载命令中的补丁包标识符或补丁应用标识符,在卡内对补丁包或补丁应用进行注册,实现补丁包或补丁应用的下载;
步骤三、补丁应用的安装,使用公共标准的平台管理命令,解析安装命令及数据域,获取安装命令中补丁包标识符或补丁应用标识符,安装参数和应用数据,根据补丁包或补丁应用的安装参数,进行补丁包或补丁应用在卡内的安装和链接;
步骤四、补丁包和补丁应用的删除,使用公共标准的平台管理删除命令,解析删除命令中的参数和数据域,获取补丁包标识符或补丁应用标识符,依据补丁包标识符或者补丁应用标识符在卡内定位补丁包或补丁应用的位置,擦除在NVM上的补丁包、补丁应用代码;
步骤五、补丁的执行,JAVA卡虚拟机在执行期间,检测到补丁包或补丁应用的存在,通过补丁应用索引,定位补丁包或补丁应用地址,将系统指针设置到补丁包或补丁应用地址,执行补丁代码。
补丁应用索引使用2个字节表示,共16bit;通过补丁应用索引的bit0-bit2,得到补丁应用在补丁分类注册表中该补丁应用所属的补丁注册表索引,该索引项指向一个单元,单元大小为4个字节,存储补丁应用所属的补丁注册表的地址,通过补丁注册表索引得到补丁应用所属的补丁注册表基于补丁分类注册表的偏移,读取此偏移处的4个字节,得到补丁注册表的地址;通过索引bit3-bit15,得到补丁应用在补丁注册表中的索引,该索引指向一个单元,单元大小为4个字节,存储具体补丁应用的地址,通过补丁应用索引计算补丁应用基于补丁注册表的偏移,读取偏移处的4个字节,得到补丁应用的地址。
补丁数据生成后,封装成补丁应用数据组件,补丁安全校验组件,这2个组件和JAVA卡装载文件的其他组件封装在一起,生成补丁装载文件,为补丁装载使用。
补丁包和补丁应用的下载,使用公共标准的平台管理命令,在通过平台管理安全域的校验后,将包含补丁应用数据组件的补丁装载文件下载到卡上,根据补丁包标识符或者补丁应用标识符在卡内对补丁包或者补丁应用进行注册,根据其后的下载命令,得到补丁应用数据组件和补丁应用安全校验组件的数据,对补丁应用的安全性进行校验,如通过校验,将补丁包和补丁应用的信息在卡内注册。
补丁应用安装,使用公共标准的平台管理命令安装补丁应用,在安装命令中指定补丁应用标识符、属性和补丁应用数据组件,补丁应用在安装时,根据补丁应用标识符,在卡内得到补丁应用信息,包括大小和地址;使用安装命令中的参数,得到补丁应用索引,根据补丁应用索引得到补丁应用在所属的补丁注册表的地址,依据在卡内记录的补丁应用的信息,在NVM中为补丁应用分配空间,记录空间地址,将该地址记录到补丁注册表。
补丁包和补丁应用删除,使用公认标准的平台管理命令进行补丁包和补丁应用的删除,通过命令通知卡内删除补丁包或补丁应用,在命令数据域中包含删除的补丁包或补丁应用的标识符;在删除时,根据补丁包标识符或补丁应用标识符,在卡内查找补丁包和补丁应用的信息,根据查找到的信息,进行补丁包和补丁应用的删除。
补丁应用的执行,虚拟机在解释字节码流时,在方法调用时检测到补丁应用,根据补丁应用索引在补丁注册表中定位补丁应用,将系统指针设为补丁应用的地址,执行补丁应用。
附图说明
图1是本发明所涉及的补丁应用索引和补丁分类注册表和补丁注册表的示意图;
图2是本发明所涉及的JAVA卡系统补丁应用下载的基本流程图;
图3是本发明所涉及的JAVA卡系统补丁应用安装的基本流程图;
图4是本发明所涉及的JAVA卡系统补丁应用删除的基本流程图;
图5是本发明所涉及的JAVA卡系统补丁应用执行的基本流程图。
具体实施方式
以下结合实施例及其附图作进一步的详细说明。
1、补丁分类注册表的分配,在JAVA卡系统初始化时,在NVM中为补丁分类注册表(图1中1所示)分配空间,并在JAVA卡系统中记录其地址,补丁分类注册表共包含8个条目,表示8类补丁应用;每个条目占用4个字节(图1中的1所示),这4个字节的实际内容是补丁注册表的地址(图1中的5所示);通过补丁应用索引(如图1中3所示)的bit0-bit2表示不同类别补丁注册表在补丁分类注册表中注册项的索引;补丁应用在补丁注册表中的注册项,可以通过补丁应用索引的bit3-bit15表示,可以表示8192个补丁应用,每项大小为4个字节(如图1中2所示),存储补丁应用代码地址,基于补丁注册表的地址,通过索引计算补丁应用在补丁注册表中偏移,读取偏移位置的4个字节,这4个字节就是补丁应用的执行地址。
2、补丁应用下载使用公共标准的平台管理命令实现。
补丁应用下载使用公共的标准的平台管理命令实现,具体流程如图2所示,包含以下步骤:
步骤一、解析下载指令,根据命令数据域中补丁包标识符或者补丁应用标识符在卡上对补丁进行注册。
步骤二、解析下载指令,得到补丁包和补丁应用中的补丁数据组件、补丁安全校验组件及装载文件的其他组件;
步骤三、检查补丁安全校验组件,如果校验通过,在卡内注册补丁应用地址;
步骤四、如果校验失败,退出装载流程。
3、补丁应用安装使用公共标准的平台管理命令实现。
a)补丁应用的安装使用公共标准的平台管理命令;通过调用补丁应用的安装方法对补丁进行安装,在安装参数中指定补丁应用标识符和补丁应用索引。
b)在进行安装时,通过安装方法中的参数启动补丁应用的安装流程;
c)补丁应用的安装流程如图3所示,包含以下步骤:
步骤一、从安装方法的参数中获取补丁应用标识符,补丁应用索引等信息;
步骤二、判定应用是否为补丁应用,如果不是,进入普通应用安装流程,如果是,进入步骤三;
步骤三、据补丁应用标识符查找补丁应用的安装信息,包括补丁的大小、补丁应用数据的位置等信息;
步骤四、对补丁安全数据进行校验,如果校验通过进入步骤五,如果校验失败,退出安装;
步骤五、根据补丁数据大小,在NVM中为补丁应用分配空间,并记录分配的地址,将补丁数据复制到这个地址;
步骤六、根据补丁应用安装参数的补丁应用索引,通过补丁应用索引的bit0-bit2,得到补丁应用在补丁分类注册表中的索引,根据索引计算补丁应用在补丁分类注册表中的偏移,基于补丁分类注册表的基址,快速定位到相应的补丁注册表的地址;
步骤七、通过补丁应用索引的bit3-bit15,得到补丁应用在补丁注册表中的注册项的索引,根据索引得到基于补丁注册表的偏移,将步骤五中为补丁分配的地址写入偏移处的条目;
步骤八、更新补丁注册表和补丁分类注册表。
4、补丁包或补丁应用的删除使用公共标准的平台管理命令实现。
补丁应用的删除使用公共标准的平台管理命令,平台在接到删除命令之后,解析命令,解析命令数据域中的补丁包标识符或补丁应用标识符,执行删除补丁包或补丁应用的流程如图4,包含以下步骤:
步骤一、解析APDU命令,判断删除补丁包还是补丁应用;
步骤二、如果是删除补丁包,根据命令数据域中的补丁包的标识符,将补丁包删除,释放NVM空间;
步骤三、如果是删除补丁应用,根据补丁应用的标识符,、获取补丁应用索引;
步骤四、根据补丁应用索引,查找到补丁应用在补丁注册表中的注册项,读取补丁应用数据地址,根据补丁应用数据中记录的补丁长度,释放补丁应用占用的空间,释放补丁应用在补丁注册表中的注册项;
步骤五、更新补丁注册表。
5、补丁应用的执行。
虚拟机在运行时,不断解释字节码流,在调用方法时,如果是本地方法,进入本地方法执行流程,如果是预留的补丁应用,获取该补丁应用对应的补丁应用索引,根据补丁应用索引获取补丁=应用数据地址,执行补丁应用流程,具体流程如图5,包含以下步骤:
步骤一、虚拟机解释调用方法字节码;
步骤二、如果不是本地方法,进入普通的方法调用字节码解释流程,如果执行中没有异常,回到步骤一;
步骤三、如果是本地方法,进入本地方法表,根据本地方法的ID,在预留的ID中查找是否是补丁应用,如果不是补丁应用,定位本地方法地址,如果执行中没有异常,回到步骤一;
步骤四、如果是补丁应用,根据ID在预留的补丁注册表表中获取其补丁应用索引;
步骤五、根据应用安装参数的补丁应用索引,通过补丁应用索引的bit0-bit2,得到补丁应用所属的补丁应用注册表在补丁分类注册表中的索引,根据索引计算补丁应用注册表在补丁分类注册表中的偏移,基于补丁分类注册表的基址,根据偏移,得到补丁注册表补丁分类注册表中的注册项,读取注册项的值,得到补丁注册表的地址;
步骤六、通过补丁应用索引的bit3-bit15,得到补丁应用在补丁注册表中的注册项的索引,根据索引得到基于补丁注册表的偏移,获取偏移处的补丁应用在补丁注册表中的注册项,读取注册项的值,获得补丁应用执行地址,将系统PC指针指向该地址,执行补丁应用代码;
步骤七、补丁应用执行中如果没有异常发生,回到步骤一。
Claims (7)
1.JAVA卡系统补丁实现方法,JAVA卡系统包括补丁应用注册表,其特征在于补丁实现方法包括以下步骤:
a)将补丁数据封装为JAVA卡识别的装载组件,和其他组件一起生成可以在JAVA卡上安装的装载文件;
b)依据下载命令中的补丁包标识符或补丁应用标识符,在卡内对补丁包或补丁应用进行注册,实现补丁包或补丁应用的下载;
c)解析安装命令及数据域,获取安装命令中补丁包标识符或补丁应用标识符,安装参数和应用数据,根据补丁包或补丁应用的安装参数,进行补丁包或补丁应用在卡内的安装和链接;
d)解析删除命令中的参数和数据域,获取补丁包标识符或补丁应用标识符,依据补丁包标识符或者补丁应用标识符在卡内定位补丁包或补丁应用的位置,擦除在NVM上的补丁包、补丁应用代码;
e)JAVA卡虚拟机在执行期间,检测到补丁包或补丁应用的存在,通过补丁应用索引,定位补丁包或补丁应用地址,将系统指针设置到补丁包或补丁应用地址,执行补丁代码。
2.根据权利要求1所述的方法,其特征在于通过补丁应用索引得到补丁应用在补丁分类注册表中该补丁应用所属的补丁注册表索引,通过补丁注册表索引得到补丁应用所属的补丁注册表基于补丁分类注册表的偏移,得到补丁注册表的地址和补丁应用在补丁注册表中的索引,通过补丁应用在补丁注册表中的索引得到补丁应用的地址。
3.根据权利要求1所述的方法,其特征在于:补丁包或补丁应用生成后,封装成补丁应用数据组件,补丁安全校验组件,补丁应用数据组件,补丁安全校验组件和JAVA卡装载文件的其他组件封装在一起,生成补丁装载文件,为补丁装载使用。
4.根据权利要求1所述的方法,其特征在于:补丁包和补丁应用的下载通过安全校验后,将包含补丁应用数据组件的补丁装载文件下载到卡上,根据补丁包标识符或者补丁应用标识符在卡内对补丁包或者补丁应用进行注册,根据下载命令,得到补丁应用数据组件和补丁应用安全校验组件的数据,对补丁应用的安全性进行校验,如通过安全性校验,将补丁包或补丁应用的信息在卡内注册。
5.根据权利要求1所述的方法,其特征在于在安装命令中指定补丁应用标识符、属性和补丁应用数据组件,补丁应用在安装时,根据补丁应用标识符,在卡内得到补丁应用信息,包括大小和地址;使用安装命令中的参数,得到补丁应用索引,根据补丁应用索引得到补丁应用在所属的补丁注册表的地址,依据在卡内记录的补丁应用的信息,在NVM中为补丁应用分配空间,记录空间地址,将该地址记录到补丁注册表。
6.根据权利要求1所述的方法,其特征在于通过删除命令通知卡内删除补丁包或补丁应用,在命令数据域中包含删除的补丁包或补丁应用的标识符;在删除时,根据补丁包标识符或补丁应用标识符,在卡内查找补丁包和补丁应用的信息,根据查找到的信息,进行补丁包或补丁应用的删除。
7.根据权利要求1所述的方法,其特征在于JAVA卡检测到补丁应用时,根据补丁应用索引在补丁注册表中定位补丁应用,将系统指针设为补丁应用的地址,执行补丁应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210595907.8A CN103914351A (zh) | 2012-12-28 | 2012-12-28 | Java卡系统补丁实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210595907.8A CN103914351A (zh) | 2012-12-28 | 2012-12-28 | Java卡系统补丁实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103914351A true CN103914351A (zh) | 2014-07-09 |
Family
ID=51040054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210595907.8A Pending CN103914351A (zh) | 2012-12-28 | 2012-12-28 | Java卡系统补丁实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914351A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331275A (zh) * | 2014-08-26 | 2015-02-04 | 大唐微电子技术有限公司 | 一种Java卡及其应用打补丁的方法 |
CN105320686A (zh) * | 2014-07-29 | 2016-02-10 | 苏州融卡智能科技有限公司 | 一种优化java卡选择实例的方法 |
CN105631505A (zh) * | 2014-11-07 | 2016-06-01 | 北京同方微电子有限公司 | 一种支持java卡补丁函数的智能卡 |
EP4386542A1 (en) | 2022-12-15 | 2024-06-19 | Thales Dis France Sas | A method for the relink of software components installed on a device being updated |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6338435B1 (en) * | 1999-01-15 | 2002-01-15 | Todd Carper | Smart card patch manager |
CN101068416A (zh) * | 2007-06-08 | 2007-11-07 | 北京恒宝信息技术有限公司 | 一种用于多模智能卡操作系统的方法及装置 |
US20100012732A1 (en) * | 2007-01-24 | 2010-01-21 | Giesecke & Devrient Gmbh | Installing a patch in a smart card module |
CN102033771A (zh) * | 2010-12-24 | 2011-04-27 | 北京握奇数据系统有限公司 | 一种在Java Card中应用补丁程序的方法及装置 |
CN102063634A (zh) * | 2010-12-24 | 2011-05-18 | 北京握奇数据系统有限公司 | 一种掩膜智能卡的功能扩展方法及智能卡 |
-
2012
- 2012-12-28 CN CN201210595907.8A patent/CN103914351A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6338435B1 (en) * | 1999-01-15 | 2002-01-15 | Todd Carper | Smart card patch manager |
US20100012732A1 (en) * | 2007-01-24 | 2010-01-21 | Giesecke & Devrient Gmbh | Installing a patch in a smart card module |
CN101068416A (zh) * | 2007-06-08 | 2007-11-07 | 北京恒宝信息技术有限公司 | 一种用于多模智能卡操作系统的方法及装置 |
CN102033771A (zh) * | 2010-12-24 | 2011-04-27 | 北京握奇数据系统有限公司 | 一种在Java Card中应用补丁程序的方法及装置 |
CN102063634A (zh) * | 2010-12-24 | 2011-05-18 | 北京握奇数据系统有限公司 | 一种掩膜智能卡的功能扩展方法及智能卡 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320686A (zh) * | 2014-07-29 | 2016-02-10 | 苏州融卡智能科技有限公司 | 一种优化java卡选择实例的方法 |
CN104331275A (zh) * | 2014-08-26 | 2015-02-04 | 大唐微电子技术有限公司 | 一种Java卡及其应用打补丁的方法 |
CN104331275B (zh) * | 2014-08-26 | 2018-10-12 | 大唐微电子技术有限公司 | 一种Java卡及其应用打补丁的方法 |
CN105631505A (zh) * | 2014-11-07 | 2016-06-01 | 北京同方微电子有限公司 | 一种支持java卡补丁函数的智能卡 |
CN105631505B (zh) * | 2014-11-07 | 2024-01-05 | 紫光同芯微电子有限公司 | 一种支持java卡补丁函数的智能卡 |
EP4386542A1 (en) | 2022-12-15 | 2024-06-19 | Thales Dis France Sas | A method for the relink of software components installed on a device being updated |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491695B (zh) | 一种集成安卓应用的增量更新方法 | |
CN102736978B (zh) | 一种检测应用程序的安装状态的方法及装置 | |
CN103077043B (zh) | 一种快速启动及运行Linux的方法 | |
US20160378456A1 (en) | Method for offline updating virtual machine images | |
CN104346167A (zh) | 生成应用渠道包的方法及装置 | |
CN103970563B (zh) | 动态加载安卓类的方法 | |
US8762977B2 (en) | Mobile device software management method and apparatus | |
CN106648724B (zh) | 应用程序的热修复方法及终端 | |
CN104636666A (zh) | 一种用于移动终端进行安全地信息处理的方法和安全装置 | |
CN103914351A (zh) | Java卡系统补丁实现方法 | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
CN102929600A (zh) | 基于elf的监控系统版本识别方法 | |
CN102520989A (zh) | 一种基于u盘的智能集群系统部署的方法 | |
CN101719074A (zh) | 补丁实现方法及装置 | |
CN105938436A (zh) | 一种操作系统的启动控制方法及终端 | |
CN108629052B (zh) | Kettle任务调度方法、系统、计算机设备和存储介质 | |
CN103984621B (zh) | 日志分离方法和系统 | |
CN103677933A (zh) | 一种为智能卡打补丁的方法和系统 | |
CN107391028B (zh) | 一种虚拟卷权限的控制方法及装置 | |
CN112631621A (zh) | 一种依赖包管理方法、装置、服务器及存储介质 | |
CN105447382A (zh) | 一种基于沙箱的软件注册表重定向方法及系统 | |
KR20180098584A (ko) | App 프로그램 실행 방법 및 장치 | |
CN106778270B (zh) | 一种恶意应用程序的检测方法及系统 | |
CN112148597B (zh) | 一种消除iOS设备授权对话框的方法、测试方法及存储介质 | |
CN102546189B (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 | ||
CB02 | Change of applicant information |
Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building, Applicant after: Beijing CEC Huada Electronic Design Co., Ltd. Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer Applicant before: Beijing CEC Huada Electronic Design Co., Ltd. |
|
COR | Change of bibliographic data | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140709 |