CN110287695A - 一种Java卡及其临时对象的管理方法 - Google Patents
一种Java卡及其临时对象的管理方法 Download PDFInfo
- Publication number
- CN110287695A CN110287695A CN201910556060.4A CN201910556060A CN110287695A CN 110287695 A CN110287695 A CN 110287695A CN 201910556060 A CN201910556060 A CN 201910556060A CN 110287695 A CN110287695 A CN 110287695A
- Authority
- CN
- China
- Prior art keywords
- temporary
- address
- temporary object
- java card
- space
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Abstract
本申请涉及Java卡临时对象的管理方法,包括:在应用级指令处理过程中,响应于接收到对象创建指令,设置临时对象分配标志;依据临时对象分配标志,执行Java创建对象的“new”字节码,为临时对象在RAM空间的临时对象地址区分配地址空间;将临时对象的对象头和对象内容写入在RAM空间的临时对象地址区中分配的地址空间;根据临时对象的起始地址,计算并分配出该临时对象对应的对象引用,并将对象引用和分配的起始地址写入存储于RAM空间的引用管理表地址区的对象管理表;待应用级指令处理结束后,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址。本申请的Java卡临时对象的管理方法提高了的存储速度和安全性。
Description
技术领域
本申请涉及安全信息领域,尤其涉及一种Java卡及其临时对象的管理方法。
背景技术
在Java卡规范中,对象一般由对象头和对象内容两部分组成。其中,对象头管理对象的“元信息”,如上下文,归属的包类信息,对象类型等;对象内容可划分为持久化对象和临时化对象。持久化对象指对象内容存储在具备持久化特性的存储器(例如:EEPROM、Flash等)中,其特点是掉电后,对象内容未发生变化;临时对象指对象内容创建在SRAM/RAM中,对象头创建在具备持久化特性的存储器中,其特点是掉电或者重新选择后,对象头信息未发生变化,但是对象内容已被重新初始化(清空)。
Java卡中,临时化对象指的是对象内容是临时的,并不是对象本身是临时的,因此临时化对象的对象头会写至具有持久化特性的存储器,临时化对象的对象内容会写至SRAM/RAM中(如图1所示)。无论持久化对象或者临时对象在创建过程中都会涉及到向具有持久化特性的存储器写数据,而向具有持久化特性的存储器写数据,一般都是按照“页写”方式,还需考虑原子性、事物机制等,并且即使创建一个若干字节的对象头会导致若干次页面的擦写,导致性能低下,从而向持久化特性的存储器写数据相对于向SRAM/RAM写数据会消耗几十倍甚至百倍、千倍的时间。
另外,还由于创建对象会将对象头(一些敏感数据)写入具有持久化特性的存储器,因此可能导致用户关键敏感的信息无法及时回收,造成信息泄露风险。
以金融卡交易过程举例,在金融卡交易过程中,进行算法运算时创建算法对象,绑定算法密钥,进行交易密文的安全运算,但是由于算法对象都是创建在具有持久化特性的存储器中,因此运算完成后算法对象本身和算法对象与密钥对象的绑定关系得不到释放,所以攻击者可以获得算法对象,通过算法对象和算法密钥的绑定关系有可能获得密钥对象的存贮位置,导致卡片密钥信息泄露,从而影响金融卡的安全性。
因此,如何提高Java卡的存储速度和安全性,是本领域技术人员目前急需解决的技术问题。
发明内容
本申请提供了一种Java卡及其临时对象的管理方法,以提高Java卡的存储速度和安全性。
为解决上述技术问题,本申请提供如下技术方案:
一种Java卡临时对象的管理方法,包括如下步骤:在应用级指令处理过程中,响应于接收到对象创建指令,设置临时对象分配标志;依据临时对象分配标志,执行Java创建对象的“new”字节码,为临时对象在RAM空间的临时对象地址区分配地址空间;将临时对象的对象头和对象内容写入在RAM空间的临时对象地址区中分配的地址空间;根据临时对象的起始地址,计算并分配出该临时对象对应的对象引用,并将对象引用和分配的起始地址写入存储于RAM空间的引用管理表地址区的对象管理表;待应用级指令处理结束后,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址。
如上所述的Java卡临时对象的管理方法,其中,优选的是,在RAM空间的临时对象地址区分配地址空间,包括如下子步骤:按照临时对象的数据结构计算临时对象的大小;根据临时对象的大小,检查RAM空间的临时对象地址区可用空间是否足够容纳待写入的临时对象;如果能够容纳待写入的临时对象,则查找容纳于RAM空间的引用管理表地址区的对象管理表,依据对象管理表中的记录,为本次临时对象分配起始地址;按照对象头的大小和对象内容的大小之和,在RAM空间的临时对象地址区,从分配的起始地址起划分出容纳对象头和对象内容的地址空间。
如上所述的Java卡临时对象管理方法,其中,优选的是,若对象管理表中有临时对象的分配记录,则获取上一次为临时对象分配的空间的结束地址,作为本次临时对象分配的起始地址。
如上所述的Java卡临时对象的管理方法,其中,优选的是,对象头在RAM空间中存储的结束地址和对象内容在RAM空间中存储的起始地址相同。
如上所述的Java卡临时对象的管理方法,其中,优选的是,临时对象地址区和引用管理表地址,是在代码编写时,在Java卡的RAM区中预先划分出的物理空间。
如上所述的Java卡临时对象管理方法,其中,优选的是,除写临时对象的操作以外,临时对象地址区和引用管理表地址区,不会被其他操作覆盖。
如上所述的Java卡临时对象管理方法,其中,优选的是,在对象引用和初始地址写入对象管理表后,将对象引用通过函数返回值返回到当前Java方法栈中,以供后续访问使用。
如上所述的Java卡临时对象管理方法,其中,优选的是,根据Java方法栈中的对象引用查询对象管理表获得临时对象的初始地址;通过初始地址直接映射RAM中临时对象地址区,以访问存储于临时对象地址区中的临时对象。
如上所述的Java卡临时对象管理方法,其中,优选的是,响应于调用的process方法退出Java方法栈,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址;其中,process方法是为处理应用级指令从Java方法栈中调用的。
一种Java卡,所述Java卡执行上述任一项所述的Java卡临时对象的管理方法。
相对上述背景技术,本发明所提供的Java卡临时对象的管理方法及Java卡由于临时对象在运行过程中根据字节码指令临时创建的,并在运行过程中销毁,并未被保存到持久存储器中,所以该临时对象销毁后,对象数据自动回收,与临时对象之间的关联关系也自动解除绑定,提升了程序的安全性。如相关安全算法对象和密钥对象,由于对象每次创建和销毁的临时性,攻击者无法通过反复尝试等攻击方式获得算法或者密钥对象引用,提升了Java卡平台的安全性;还由于临时对象完全创建在RAM中,对象关联的引用也存在于RAM中的对象管理表中,因此对临时对象所有的读写访问,都在RAM中进行,可大幅提升运行性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是现有技术中临时对象的创建示意图;
图2是本申请实施例提供的Java卡临时对象的管理方法流程图;
图3是本申请实施例提供的Java卡在RAM空间的临时对象地址区分配地址空间的流程图;
图4是本申请实施例提供的Java卡中存储的临时对象的数据结构示意图;
图5是本申请实施例提供的Java卡中RAM空间的示意图;
图6是本申请实施例提供的Java卡中对象管理表与临时对象的映射关系示意图;
图7是本申请实施例提供的Java卡临时对象的访问流程图;
图8是本申请实施例提供的Java卡获得临时对象的初始地址的流程图;
图9是本申请实施例提供的Java卡临时对象回收的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图2所示,本申请实施例提供了一种Java卡临时对象的管理方法,包括如下步骤:
步骤S210、在应用级指令处理过程中,响应于接收到对象创建指令,设置临时对象分配标志;
Java卡接收应用级指令,应用级指令是指运行于Java卡上的应用发出的操作指令,或者是来自Java卡外部的操作指令,例如:付款交易指令、还款交易指令等。
根据应用级指令,在Rutime环境下Java卡的cos系统调用Java方法栈中的process方法进入应用级指令的处理阶段。
具体的,进行数据的收集、组织、执行敏感操作等以进行对应用级指令的处理,在此过程中,当需要执行一些敏感操作(例如:在付款交易指令执行的过程中,需要签名操作)时,此时Java卡的cos系统接收到对象创建指令,调用beginTransientAllocate()函数(即:开始过渡分配函数),设置临时对象分配标志(即将当前分配全局变量标记设置为RAM分配模式)。
步骤S220、依据临时对象分配标志,执行Java创建对象的“new”字节码为临时对象在RAM空间的临时对象地址区分配地址空间;
在beginTransientAllocate()函数中设置临时对象分配标志后,依据设置的临时对象分配标志,执行Java创建对象的“new”字节码,进入临时对象地址空间分配阶段。
具体的,为临时对象分配地址空间,如图3所示,包括如下子步骤:
步骤S221、按照临时对象的数据结构计算临时对象的大小;
本申请实施例中,临时对象的对象头和对象内容空间连续分布,即对象头在RAM空间中存储的结束地址和对象内容在RAM空间中存储的起始地址相同。具体的,如图4所示,对象头a1的结束地址和相应的对象内容b1的起始地址相同,并且对象内容b1的基本类型成员和引用类型成员依次排序,例如,基本类型成员1、基本类型成员2……基本类型成员n,以及引用类型成员1、引用类型成员2……引用类型成员n依次排序。其中,对象内容b1的引用类型成员可以映射其他的临时对象,例如:第一个临时对象的对象内容b1的引用类型成员1映射第二个临时对象的对象头a2,第二个临时对象的对象内容b2的引用类型成员1映射第三个临时对象的对象头a3,依次类推。在访问临时对象时,由于临时对象的对象头和对象内容空间连续分布,因此在获得对象头地址后,可通过固定的对象头偏移,直接访问对象内容,无须在查找到对象头信息后再次查找对象内容,从而提高了访问速度。
可以理解的,临时对象的对象头和对象内容也可以空间不连续分布,以充分利用Java卡的RAM空间。
步骤S222、根据临时对象的大小,检查RAM空间的临时对象地址区可用空间是否足够容纳待写入的临时对象;
如图5所示,在代码编写时,在Java卡的RAM区中预先划分出一段专用物理空间作为RAM空间的临时对象地址区,用于存储临时对象;并且还预先划分出一段专用RAM物理空间作为引用管理表地址区,用于存储对象管理表,区别于存储在永久存储区具有快速高效的特点。另外,在Java卡的RAM地址空间中还划分有C栈空间、Java栈空间、用户空间等区间。其中,RAM空间的临时对象地址区和RAM空间的引用管理表地址区的大小可根据需求进行配置,可以预定义其空间大小,也可以根据需求在实际使用中进行配置。
并且,Java卡的cos系统通过访问控制模块保证除了写临时对象的操作以外,其他操作不会覆盖预先划分出的RAM空间的临时对象地址区和RAM空间的引用管理表地址区,保证这两个区域的独立性。
根据临时对象的大小,检查RAM空间的临时对象地址区可用空间是否足够容纳待写入的临时对象;如果能够容纳待写入的临时对象,则继续执行下一步,否则Java卡的cos系统向外部报空间不足异常退出。
步骤S223、如果能够容纳待写入的临时对象,则查找容纳于RAM空间的引用管理表地址区的对象管理表,依据对象管理表中的记录,为本次临时对象分配起始地址;
具体的,若存储于RAM空间的引用管理表地址区的对象管理表中空白,则可以分配临时对象地址区的任意地址作为该临时对象的起始地址,优选的,分配临时对象地址区的起始地址作为该临时对象的起始地址。
若对象管理表中有临时对象的分配记录(即对象管理表中记录有对象引用和与对象引用相对应的起始地址),则获得上一次为临时对象分配的空间的结束地址,即根据对象管理表中记录的上一次为临时对象分配的起始地址和临时对象的大小计算出上一次为临时对象分配的结束地址,将上一次为临时对象分配的结束地址作为本次临时对象分配的起始地址。
步骤S224、按照对象头的大小和对象内容的大小之和,在RAM空间的临时对象地址区,从分配的起始地址起划分出容纳对象头和对象内容的地址空间;
步骤S230、将临时对象的对象头和对象内容写入在RAM空间的临时对象地址区中分配的地址空间;
在这之前,当为本次临时对象分配好地址空间后,为了保证存储内容的准确性,还要初始化分配好的地址空间,以便将临时对象的对象头和对象内容写入空白的地址空间。
另外,在将对象头和对象内容写入刚分配好的地址空间时,为了与持久对象访问统一,还可以保证临时对象字节对齐。
步骤S240、根据临时对象的起始地址,计算并分配出该临时对象对应的对象引用,并将对象引用和分配的起始地址写入存储于RAM空间的引用管理表地址区的对象管理表;
如图6所示,将计算或分配的对象引用和初始地址写入对象管理表,其中,对象引用可以占用2字节,对象内容可以占用4个字节,当然对象引用和对象内容也可以是其他的大小。将对象引用和初始地址写入对象管理表后,将对象引用通过函数返回值返回到当前Java方法栈中,具体的返回当前Java方法栈的本地变量区或者参数区中,以供后续访问使用。
接着,调用endTransientAllocate()函数(结束分配函数),结束临时对象地址空间分配阶段,临时对象分配成功,结束退出。
待临时对象分配成功后,可以对存储于RAM空间的临时对象地址区中临时对象进行访问,如图7所示,具体的包括如下步骤:
步骤T710、根据Java方法栈中的对象引用查询对象管理表获得临时对象的初始地址;
具体的,如图8所示,包括如下子步骤:
步骤T711、获取Java方法栈中的对象引用;
调用对象访问函数,在解析执行字节码指令时,在Java方法栈的本地变量区或者参数区中获得对象引用;
步骤T712、遍历对象管理表查询获得的对象引用;
在此之前,还可以检查该对象引用的类型,如果该对象引用对应的对象是临时对象,则执行步骤T212,遍历对象管理表查询获得的对象引用,如果该对象引用对应的对象不是临时对象,也就是该对象引用对应的对象是普通对象,则按照现有的方式对普通对象进行访问。
步骤T713、若对象管理表中记录有该对象引用,则获取对象管理表中记录的与该对象引用对应的初始地址;
获取了对象引用对应的初始地址后,将初始地址返回到对象访问函数;若对象管理表中没有记录该对象引用,返回空指针,指示异常。
步骤T720、通过初始地址直接映射RAM中临时对象地址区,以访问存储于临时对象地址区中的临时对象;
具体的,获取对象管理表中对象引用对应的初始地址后,将该初始地址返回到对象访问函数,字节码解析器获得对象初始地址后,按照后续不同字节码指令执行相应的操作,如获取或者修改临时对象内容,或者获取对象头信息如对象长度等等。
步骤S250、待应用级指令处理结束后,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址;
具体的,当应用级指令结束后,在Runtime环境下,Java卡的cos系统调用的process方法退出Java方法栈,进入临时对象回收阶段,也就是响应于process方法退出Java方法栈,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址。
如图9所示,临时对象回收,具体包括如下子步骤:
步骤S251、检查对象管理表是否存在对象引用;
由于对象管理表中记录的均是临时对象对应的对象引用,那么对象管理表中存在对象引用,则说明Java卡的RAM中的临时对象地址区中创建有临时对象,反之对象管理表中没有存在对象引用,则说明Java卡的RAM中的临时对象地址区中没有临时对象。
步骤S252、如果存在对象引用,则按照对象管理表中对象引用顺序,得到初始地址,释放该初始地址中记录的数据,并释放对象管理表相应的对象引用和初始地址;
具体的,根据初始地址访问相应的对象头,根据对象头信息中存储的对象空间长度,删除该空间地址中的数据,释放临时对象,并且释放对象管理表中相应的对象引用和初始地址两项数据,直至所有对象引用、初始地址及临时对象均删除完毕。
步骤S253、待数据释放完毕后,结束退出。
对应于上述的Java卡临时对象的管理方法,本申请实施例还提供了一种Java卡,该Java卡执行上述实施例中提供的Java卡临时对象的管理方法。
本申请实施例中,由于临时对象在运行过程中根据字节码指令临时创建的,并在运行过程中销毁,并未被保存到持久存储器中,所以该临时对象销毁后,对象数据自动回收,与临时对象之间的关联关系也自动解除绑定,提升了程序的安全性。如相关安全算法对象和密钥对象,由于对象每次创建和销毁的临时性,攻击者无法通过反复尝试等攻击方式获得算法或者密钥对象引用,提升了Java卡平台的安全性。
另外,还由于临时对象完全创建在RAM中,对象关联的引用也存在于RAM中的对象管理表中,因此对临时对象所有的读写访问,都在RAM中进行,可大幅提升运行性能。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种Java卡临时对象的管理方法,其特征在于,包括如下步骤:
在应用级指令处理过程中,响应于接收到对象创建指令,设置临时对象分配标志;
依据临时对象分配标志,执行Java创建对象的“new”字节码,为临时对象在RAM空间的临时对象地址区分配地址空间;
将临时对象的对象头和对象内容写入在RAM空间的临时对象地址区中分配的地址空间;
根据临时对象的起始地址,计算并分配出该临时对象对应的对象引用,并将对象引用和分配的起始地址写入存储于RAM空间的引用管理表地址区的对象管理表;
待应用级指令处理结束后,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址。
2.根据权利要求1所述的Java卡临时对象的管理方法,其特征在于,在RAM空间的临时对象地址区分配地址空间,包括如下子步骤:
按照临时对象的数据结构计算临时对象的大小;
根据临时对象的大小,检查RAM空间的临时对象地址区可用空间是否足够容纳待写入的临时对象;
如果能够容纳待写入的临时对象,则查找容纳于RAM空间的引用管理表地址区的对象管理表,依据对象管理表中的记录,为本次临时对象分配起始地址;
按照对象头的大小和对象内容的大小之和,在RAM空间的临时对象地址区,从分配的起始地址起划分出容纳对象头和对象内容的地址空间。
3.根据权利要求2所述的Java卡临时对象管理方法,其特征在于,若对象管理表中有临时对象的分配记录,则获取上一次为临时对象分配的空间的结束地址,作为本次临时对象分配的起始地址。
4.根据权利要求1-3任一项所述的Java卡临时对象的管理方法,其特征在于,对象头在RAM空间中存储的结束地址和对象内容在RAM空间中存储的起始地址相同。
5.根据权利要求1-3任一项所述的Java卡临时对象的管理方法,其特征在于,临时对象地址区和引用管理表地址,是在代码编写时,在Java卡的RAM区中预先划分出的物理空间。
6.根据权利要求5所述的Java卡临时对象管理方法,其特征在于,除写临时对象的操作以外,临时对象地址区和引用管理表地址区,不会被其他操作覆盖。
7.根据权利要求1-3任一项所述的Java卡临时对象管理方法,其特征在于,在对象引用和初始地址写入对象管理表后,将对象引用通过函数返回值返回到当前Java方法栈中,以供后续访问使用。
8.根据权利要求7所述的Java卡临时对象管理方法,其特征在于,根据Java方法栈中的对象引用查询对象管理表获得临时对象的初始地址;通过初始地址直接映射RAM中临时对象地址区,以访问存储于临时对象地址区中的临时对象。
9.根据权利要求1-3任一项所述的Java卡临时对象管理方法,其特征在于,响应于调用的process方法退出Java方法栈,从临时对象地址区中释放对象管理表中记录的临时对象,并释放对象管理表中记录的对象引用和初始地址;
其中,process方法是为处理应用级指令从Java方法栈中调用的。
10.一种Java卡,其特征在于,所述Java卡执行上述权利要求1-9任一项所述的Java卡临时对象的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910556060.4A CN110287695B (zh) | 2019-06-25 | 2019-06-25 | 一种Java卡及其临时对象的管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910556060.4A CN110287695B (zh) | 2019-06-25 | 2019-06-25 | 一种Java卡及其临时对象的管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287695A true CN110287695A (zh) | 2019-09-27 |
CN110287695B CN110287695B (zh) | 2020-12-25 |
Family
ID=68005707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910556060.4A Active CN110287695B (zh) | 2019-06-25 | 2019-06-25 | 一种Java卡及其临时对象的管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287695B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061508A (zh) * | 2019-12-12 | 2020-04-24 | 恒宝股份有限公司 | 一种Java卡及其性能优化方法 |
CN111177021A (zh) * | 2019-12-04 | 2020-05-19 | 东信和平科技股份有限公司 | Java卡碎片管理方法及其存储装置 |
CN115562572A (zh) * | 2022-08-30 | 2023-01-03 | 北京握奇数据股份有限公司 | 一种提高安全芯片运行效率的方法、存储介质及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116518A (zh) * | 2013-01-28 | 2013-05-22 | 飞天诚信科技股份有限公司 | 一种基于java卡虚拟机中对象管理的方法 |
CN103778067A (zh) * | 2014-02-11 | 2014-05-07 | 珠海市金邦达保密卡有限公司 | Java卡的对象处理方法、装置和Java卡 |
CN105045597A (zh) * | 2015-08-07 | 2015-11-11 | 中国联合网络通信集团有限公司 | 一种java卡对象调用方法及装置 |
CN105786623A (zh) * | 2016-03-04 | 2016-07-20 | 东港股份有限公司 | 一种Java卡多通道临时对象管理方法 |
WO2018032653A1 (zh) * | 2016-08-18 | 2018-02-22 | 北京智芯微电子科技有限公司 | 一种Java卡应用的功能实现方法及装置 |
-
2019
- 2019-06-25 CN CN201910556060.4A patent/CN110287695B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116518A (zh) * | 2013-01-28 | 2013-05-22 | 飞天诚信科技股份有限公司 | 一种基于java卡虚拟机中对象管理的方法 |
CN103778067A (zh) * | 2014-02-11 | 2014-05-07 | 珠海市金邦达保密卡有限公司 | Java卡的对象处理方法、装置和Java卡 |
CN105045597A (zh) * | 2015-08-07 | 2015-11-11 | 中国联合网络通信集团有限公司 | 一种java卡对象调用方法及装置 |
CN105786623A (zh) * | 2016-03-04 | 2016-07-20 | 东港股份有限公司 | 一种Java卡多通道临时对象管理方法 |
WO2018032653A1 (zh) * | 2016-08-18 | 2018-02-22 | 北京智芯微电子科技有限公司 | 一种Java卡应用的功能实现方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177021A (zh) * | 2019-12-04 | 2020-05-19 | 东信和平科技股份有限公司 | Java卡碎片管理方法及其存储装置 |
CN111061508A (zh) * | 2019-12-12 | 2020-04-24 | 恒宝股份有限公司 | 一种Java卡及其性能优化方法 |
CN111061508B (zh) * | 2019-12-12 | 2022-05-20 | 恒宝股份有限公司 | 一种Java卡及其性能优化方法 |
CN115562572A (zh) * | 2022-08-30 | 2023-01-03 | 北京握奇数据股份有限公司 | 一种提高安全芯片运行效率的方法、存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287695B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6612490B1 (en) | Extended card file system | |
US8738845B2 (en) | Transaction-safe fat file system improvements | |
US8156165B2 (en) | Transaction-safe FAT files system | |
CN100487658C (zh) | 一种检测内存访问越界的方法 | |
CN110287695A (zh) | 一种Java卡及其临时对象的管理方法 | |
US8234423B2 (en) | Multi-reader multi-writer circular buffer memory | |
CN113785275B (zh) | Flash数据掉电保护方法及设备 | |
CN1996258A (zh) | 一种动态内存池的实现方法 | |
CN102693283A (zh) | 一种嵌入式系统的数据分区存储方法及系统引导启动方法 | |
JP3445304B2 (ja) | ファイル管理装置 | |
CN106445398A (zh) | 一种基于新型存储器的嵌入式文件系统及其实现方法 | |
US7058785B1 (en) | Addressing objects in a large persistent storage address space | |
CN104424030A (zh) | 多进程操作共享内存的方法和装置 | |
US4897780A (en) | Document manager system for allocating storage locations and generating corresponding control blocks for active documents in response to requests from active tasks | |
CN106528443B (zh) | 适用于星载数据管理的flash管理系统及方法 | |
US7526617B2 (en) | System and method for memory management using memory windows | |
CN101303667B (zh) | 建立磁盘空簇表及查找磁盘空簇的方法和装置 | |
SK176698A3 (en) | Portable, secure transaction system for programmable, intelligent devices | |
CN109388616A (zh) | 一种智能卡文件系统的管理方法 | |
CN106775501A (zh) | 基于非易失内存设备的数据去冗余方法及系统 | |
CN116225332A (zh) | 存储管理方法、存储装置及嵌入式芯片 | |
CN113760193B (zh) | 用于资源受限制装置的数据读写方法、装置及指令集 | |
CN110471626B (zh) | 应用于Java Card的Nor Flash管理层及方法 | |
US6092092A (en) | Gap-based style-run array mechanism | |
CN115202862A (zh) | 一种Linux系统内存分配的精确统计方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |