一种提高安全芯片运行效率的方法、存储介质及系统技术方案

技术编号:36202673 阅读:59 留言:0更新日期:2023-01-04 11:56
本发明专利技术涉及一种提高安全芯片运行效率的方法,包括步骤:指定新建对象的类型;程序执行新建实例对象的操作;根据对象的类型将对象进行存储。本发明专利技术还提供一种存储介质及一种提高安全芯片运行效率的系统,采用本发明专利技术所述的提高安全芯片运行效率的方法、存储介质及系统可提高应用的执行速度,并且减少NVM更新次数,从而减少NVM坏损的几率,增加NVM使用寿命。增加NVM使用寿命。增加NVM使用寿命。

【技术实现步骤摘要】
一种提高安全芯片运行效率的方法、存储介质及系统


[0001]本专利技术属于芯片数据存储领域,具体涉及一种提高安全芯片运行效率的方法、存储介质及系统。

技术介绍

[0002]在芯片(包括智能卡,也称安全元件)领域中,支持动态下载应用的多应用芯片操作系统已经在金融、电信、交通等领域进行了广泛部署和应用;多应用芯片操作系统一般使用高级语言编写应用程序,通过编译器和相关转换工具编译转换成芯片操作系统支持的二进制文件格式,可下载并安装到芯片操作系统中执行。
[0003]现有的多应用芯片操作系统中实现的虚拟机,将应用新建的对象、数组、静态域存放在非易失性的存储区NVM中,即使芯片掉电,存储的数据也不会丢失,芯片在下次上电后可继续访问这些数据;更新NVM中的数据相比更新RAM中的数据要慢,而且更新数据时有可能由于断电或者硬件、固件以及软件等原因导致只更新了部分数据,这在安全应用场景中是不可接受的,因此必须额外机制来保证敏感数据更新的原子性,从而导致更新存储在NVM中持久化数据更慢,并且NVM更新次数也有擦写寿命的限制,因此对于应用不需要持久化的数据,比如中间计算结果、临时数据等最好保存在RAM,不仅访问速度快,断电、芯片复位、应用取消选择时,这些数据会被清除。
[0004]现有芯片操作系统的实现也提供了创建内容易失性的对象API,应用通过调用这些API创建的对象头存储在NVM区,对象的体(对象内容)存储在RAM区,由于内容存储在RAM区,访问对象内容不需要考虑事务,因此读写访问速度要比存放在NVM区的对象快,但目前创建内容易失性的对象API只能创建指定类型的数组,无法创建某个类的实例对象,可将其实例域存储到RAM区。

技术实现思路

[0005]针对现有技术中存在的缺陷,本专利技术的目的是提供一种提高安全芯片运行效率的方法、存储介质及系统以提高应用程序对存储空间使用的灵活性,提高应用程序的执行效率、提高NVM使用寿命以及提高应用的安全性。
[0006]为达到以上目的,本专利技术采用的技术方案是:一种提高安全芯片运行效率的方法,包括步骤:指定新建对象的类型;程序执行新建实例对象的操作;根据对象的类型将对象进行存储。
[0007]进一步,指定新建对象类型的方法包括高级编程语言方式、注解方式、应用编程接口方式及类定义方式。
[0008]进一步,所述高级语言方式需要增加关键字,虚拟机增加或者扩展新建对象指令,高级语言编译器针对新的关键字生成新的或者扩展的新建对象指令。
[0009]进一步,所述注解方式需要对实例域进行标注,类转换工具需要在标注实例域的类定义信息增加对应的标记,指定新建对象的实例域地存储位置,虚拟机新建对象时需要
先检查对应类的标记进而确定新建对象类型。
[0010]进一步,所述应用编程接口方式需要定义指定方法可以修改新建对象缺省类型,虚拟机新建对象时需要先检查对应的新建对象类型,并创建指定的新建对象类型,或者需要定义指定方法创建内容短暂对象,所述指定方法需要具有指定类的全限定名称的一个或多个输入参数。
[0011]进一步,所述类定义方式为虚拟机新建类对象实例时,检查类是否继承了特定类型的超类或者实现了特定的标记接口,依据检查结果将新建的对象实例域放置特定的位置。
[0012]进一步,存储的类型包括非易失性存储及易失性存储。
[0013]进一步,所述对象分为内容持久对象及内容短暂对象,对象包括对象头和对象体,实例对象头保存对象的安全属性、对象所属的类、类所在的包的信息,数组对象头保存数组的安全属性、数组的类型以及数组元素个数;对象体用于保存对象所有实例域或者数组全部元素,内容持久对象的对象体保存到NVM中,而内容短暂对象的对象体保存到RAM中。
[0014]本专利技术还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述提高安全芯片运行效率的方法。
[0015]本专利技术还提供一种提高安全芯片运行效率的系统,包括:对象类型指定模块,用于指定新建对象的类型;对象创建模块,用于程序执行新建对象的操作;对象访问模块,用于对象的读写访问;对象回收模块,用于垃圾对象的回收。
[0016]本专利技术的效果在于:可提高应用的执行速度,尤其对频繁更新中间结果的操作情况下,性能有明显提高,并且减少NVM更新次数,从而减少NVM坏损的几率,增加NVM使用寿命。
附图说明
[0017]图1为本专利技术一种提高安全芯片运行效率的方法的步骤流程图。
[0018]图2本
技术实现思路
短暂对象和内容持久对象存储方式图
具体实施方式
[0019]下面结合附图和具体实施方式对本专利技术作进一步描述。
[0020]如图1

2所示,本专利技术提供的一种提高安全芯片运行效率的方法,其包括步骤:
[0021]S1,指定新建对象的类型;
[0022]具体的,对象分为内容持久对象及内容短暂对象,其中,内容持久对象:资源较受限装置,如SE,实现的虚拟机,创建的对象保存在非易失性内存NVM中,SE断电后内容不会丢失,这类对象本文称为内容持久对象或者简称为对象,对象实例域的更新通常需要保证原子性,多个实例域的更新需要通过事务应用编程接口保证更新的原子性,因此实例域的读写访问慢。
[0023]内容短暂对象:对象头保存到非易失区NVM,而保存对象实例域(以及数组的元素)的对象体存放到RAM区,RAM区依据导致内容被清除的事件不同,可区分为应用取消选择时清除的内存区(DTR区)以及SE复位时清除的内存区(RTR区),相比常规的对象,更新实例域也不要原子性保证,因此访问内容短暂对象的实例域非常快,非常适合少量的临时(或者中
间结果)数据需要频繁修改,又不需要跨选择会话的使用场景。
[0024]对象通常由对象头和对象体两部分组成,实例对象头保存对象的安全属性、对象所属的类、类所在的包等信息,数组对象头保存数组对象的安全属性、数组的类型、数组元素大小等信息;对象体用于保存对象所有实例域或者数组全部元素,内容持久对象的对象体保存到NVM中,而内容短暂对象的对象体保存到RAM中。
[0025]新建对象前,可以指定新建对象的类型为内容持久对象和内容短暂对象,从而便于将对应的对象存储至对应的存储区内。
[0026]进一步地,指定新建对象类型的方法包括高级编程语言方式:增加关键字用于指定新建类对象实例或者数组时的类型;
[0027]注解方式:对类的某个实例域进行标注,指示将该类的全部实例域放置到RAM区;
[0028]应用编程接口方式:在新建对象前,调用系统提供的应用编程接口指定后续新建对象时的对象类型;或者需要定义指定方法创建内容短暂对象,所述指定方法需要具有指定类的全限定名称的一个或多个输入参数。
[0029]类定义方式:虚拟机新建类对象实例时,检查类是否继承了某个特定类型的超类或者实现了某个特定的标记接口,依据检查结果将新建的对象实例域放置特定的位置。...

【技术保护点】

【技术特征摘要】
1.一种提高安全芯片运行效率的方法,其特征在于,包括步骤:指定新建对象的类型;程序执行新建实例对象的操作;根据对象的类型将对象进行存储。2.如权利要求1所述的一种提高安全芯片运行效率的方法,其特征在于:指定新建对象类型的方法包括高级编程语言方式、注解方式、应用编程接口方式及类定义方式。3.如权利要求2所述的一种提高安全芯片运行效率的方法,其特征在于:所述高级语言方式需要增加关键字,虚拟机增加或者扩展新建对象指令,高级语言编译器针对新的关键字生成新的或者扩展的新建对象指令。4.如权利要求2所述的一种提高安全芯片运行效率的方法,其特征在于:所述注解方式需要对实例域进行标注,类转换工具需要在标注实例域的类定义信息增加对应的标记,指定新建对象的实例域的存储位置,虚拟机新建对象时需要先检查对应类的标记进而确定新建对象类型。5.如权利要求2所述的一种提高安全芯片运行效率的方法,其特征在于:所述应用编程接口方式需要定义指定方法可以修改新建对象缺省类型,虚拟机新建对象时需要先检查对应的新建对象类型,并创建指定的新建对象类型,或者需要定义指定方法创建内容短暂对象,所述指定方法需要具有指定类的全限定名称的一个或多个输入参数。6.如权利要求2所述的一种提高安全芯片运行...

【专利技术属性】
技术研发人员:石玉平徐俊江郑江东
申请(专利权)人:北京握奇数据股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1