一种提高安全芯片应用执行效率的方法及系统技术方案

技术编号:31569291 阅读:41 留言:0更新日期:2021-12-25 11:08
本发明专利技术公开了一种提高安全芯片应用执行效率的方法及系统,方法包括:S100、通过标注技术,在应用的高级语言源码中标注定义的静态域的存储位置,在生成的过程文件或过程数据中,该静态域具备相应的标注属性,该属性值中包含该静态域的存储位置,包括NVM存储区和RAM存储区,所述RAM存储区包括DTR和RTR;S200、基于过程文件或过程数据中静态域的标注属性中的存储位置,通过转换工具生成不同类型的静态域访问指令,用于获取对应静态域的存储位置进行读写操作。本发明专利技术可以提高应用程序对存储空间使用的灵活性,提高应用程序的执行效率、提高NVM存储器使用寿命以及提高应用的安全性。存储器使用寿命以及提高应用的安全性。存储器使用寿命以及提高应用的安全性。

【技术实现步骤摘要】
一种提高安全芯片应用执行效率的方法及系统


[0001]本专利技术涉及在由具有处理器的便携式或者嵌入式数据载体执行程序时,数据存储的
,具体涉及一种提高安全芯片应用执行效率的方法及系统。

技术介绍

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

技术实现思路

[0005]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种提高安全芯片应用执行效率的方法及系统,在静态域进行声明时进行标注,指定将该静态域存储位置由缺省的NVM移至RAM,读写这些标注的静态域时不需要访问NVM也不需要进行防火墙检查,访问速度快,从而提高应用执行性能。
[0006]为实现上述目的,本专利技术采用的技术方案如下:
[0007]一方面,本专利技术实施例提供一种提高安全芯片应用执行效率的方法,包括:
[0008]S100、通过标注技术,在应用中标注定义的静态域的存储位置,在生成的过程文件或过程数据中,该静态域具备相应的标注属性,该属性值中包含该静态域的存储位置,包括NVM存储区和RAM存储区,所述RAM存储区包括DTR和RTR;
[0009]S200、基于过程文件或过程数据中静态域的标注属性中的存储位置,通过转换工具生成不同类型的静态域访问指令,用于获取对应静态域的存储位置进行读写操作。
[0010]进一步,如上所述的方法,S200还包括:
[0011]若静态域中没有标注属性,则当前静态域访问指令不进行转换,表示该变量存储在所述NVM存储区;
[0012]若静态域中具备标注属性,则当前静态域访问指令根据该属性值中的存储位置,转换为对应标注类型的静态域访问指令,用于访问对应存储位置的静态域。
[0013]进一步,如上所述的方法,所述静态域访问指令按照访问存储位置分为三类指令,用于访问未加标注的静态域的指令,用于访问标注为DTR的静态域的DTR静态域访问指令以及用于访问标注为RTR的静态域的RTR静态域访问指令;
[0014]所述静态域访问指令按照读写功能分为两类指令,获取静态域的值的指令和设置静态域的值指令。
[0015]进一步,如上所述的方法,S200包括:
[0016](1)生成方法组件:在转换原来的静态域访问指令时,转换工具解析过程文件或过程数据中静态域的标注属性,依据包内声明的静态域是否被标注,以及标注类型,生成不同类型的静态域访问指令,用以分别访问不同类型的静态域镜像,其中,所述静态域访问指令包含常量池索引,指定索引的常量池项包含该静态域的存储位置;
[0017](2)生成静态域镜像:转换工具依据解析出的静态域的标注属性,将包中声明的相同标注类型的静态域放在一起,形成不同类型的静态域镜像,常量池中的静态域引用为存储对应静态域的偏移;
[0018](3)生成静态域常量池项:在转换原来的获取静态域的值的指令和设置静态域的值的指令时,向常量池添加静态域类型的常量池项,每一项会记录是否被标注过;对于包内声明的未被标注的静态域,其静态域引用包括指向NVM静态域镜像的偏移;对于包内声明的被标注的静态域,依据静态域的标注类型,形成两类新的静态域镜像以及生成两类新的静态域访问指令,即用于访问DTR静态域镜像的DTR静态域访问指令,和用于访问RTR静态域镜像的RTR静态域访问指令。
[0019]进一步,如上所述的方法,步骤(2)包括:
[0020]累计包中每个类的指定标注类型的静态域的大小,得到指定标注类型的静态域镜像的大小,为每个标注的静态域分配地址,从0开始,字节和布尔类型的大小为1字节,短整数类型为2字节,整数类型大小为4字节。
[0021]进一步,如上所述的方法,S200还包括:
[0022](4)应用安装时常量池的解析:若生成的静态域访问指令包括常量池索引,则将该指令中的常量池替换对应的静态域镜像的物理地址或者偏移。
[0023]另一方面,本专利技术实施例还提供一种提高安全芯片应用执行效率的系统,包括:
[0024]标注模块,用于通过标注技术,在应用的源码中标注定义的静态域的存储位置,在生成的过程文件或过程数据中,该静态域具备相应的标注属性,该属性值中包含该静态域的存储位置,包括NVM存储区和RAM存储区,所述RAM存储区包括DTR和RTR;
[0025]转换模块,用于基于过程文件或过程数据中静态域的标注属性中的存储位置,通过转换工具生成不同类型的静态域访问指令,用于获取对应静态域的存储位置从而进行读写操作。
[0026]进一步,如上所述的系统,所述转换模块用于:
[0027]若静态域中没有标注属性,则当前静态域访问指令不进行转换,表示该变量存储
在所述NVM存储区;
[0028]若静态域中具备标注属性,则当前静态域访问指令根据该属性值中的存储位置,转换为对应标注类型的静态域访问指令,用于访问对应存储位置的静态域。
[0029]进一步,如上所述的系统,所述静态域访问指令按照访问存储位置分为三类指令,用于访问未加标注的静态域的指令,用于访问标注为DTR的静态域的DTR静态域访问指令以及用于访问标注为RTR的静态域的RTR静态域访问指令;
[0030]所述静态域访问指令按照读写功能分为两类指令,获取静态域的值的指令和设置静态域的值指令。
[0031]进一步,如上所述的系统,所述转换模块用于:
[0032](1)生成方法组件:在转换原来的静态域访问指令时,转换工具解析过程文件或过程数据中静态域的标注属性,依据包内声明的静态域是否被标注,以及标注本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提高安全芯片应用执行效率的方法,其特征在于,包括:S100、通过标注技术,在应用的源码中标注定义的静态域的存储位置,在生成的过程文件或过程数据中,该静态域具备相应的标注属性,该属性值中包含该静态域的存储位置,包括NVM存储区和RAM存储区,所述RAM存储区包括DTR和RTR;S200、基于过程文件或过程数据中静态域的标注属性中的存储位置,通过转换工具生成不同类型的静态域访问指令,用于获取对应静态域的存储位置进行读写操作。2.根据权利要求1所述的方法,其特征在于,S200还包括:若静态域中没有标注属性,则当前静态域访问指令不进行转换,表示该变量存储在所述NVM存储区;若静态域中具备标注属性,则当前静态域访问指令根据该属性值中的存储位置,转换为对应标注类型的静态域访问指令,用于访问对应存储位置的静态域。3.根据权利要求2所述的方法,其特征在于,所述静态域访问指令按照访问存储位置分为三类指令,用于访问未加标注的静态域的指令,用于访问标注为DTR的静态域的DTR静态域访问指令以及用于访问标注为RTR的静态域的RTR静态域访问指令;所述静态域访问指令按照读写功能分为两类指令,获取静态域的值的指令和设置静态域的值指令。4.根据权利要求3所述的方法,其特征在于,S200包括:(1)生成方法组件:在转换原来的静态域访问指令时,转换工具解析过程文件或过程数据中静态域的标注属性,依据包内声明的静态域是否被标注,以及标注类型,生成不同类型的静态域访问指令,用以分别访问不同类型的静态域镜像,其中,所述静态域访问指令包含常量池索引,指定索引的常量池项包含该静态域的存储位置;(2)生成静态域镜像:转换工具依据解析出的静态域的标注属性,将包中声明的相同标注类型的静态域放在一起,形成不同类型的静态域镜像,常量池中的静态域引用为存储对应静态域的偏移;(3)生成静态域常量池项:在转换原来的获取静态域的值的指令和设置静态域的值的指令时,向常量池添加静态域类型的常量池项,每一项会记录是否被标注过;对于包内声明的未被标注的静态域,其静态域引用包括指向NVM静态域镜像的偏移;对于包内声明的被标注的静态域,依据静态域的标注类型,形成两类新的静态域镜像以及生成两类新的静态域访问指令,即用于访问DTR静态域镜像的DTR静态域访问指令,和用于访问RTR静态域镜像的RTR静态域访问指令。5.根据权利要求4所述的方法,其特征在于,步骤(2)包括:累计包中每个类的指定标注类型的静态域的大小,得到指定标注类型的静态域镜像的大小,为每个标注的静态域分配地址,从0开始,字节和布尔类型的大小为1字节,短整数类型为2字节,整数类型大小为4...

【专利技术属性】
技术研发人员:石玉平
申请(专利权)人:北京握奇智能科技有限公司
类型:发明
国别省市:

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

1