CN1687862A - 智能卡安全环境的控制方法 - Google Patents

智能卡安全环境的控制方法 Download PDF

Info

Publication number
CN1687862A
CN1687862A CN 200510077161 CN200510077161A CN1687862A CN 1687862 A CN1687862 A CN 1687862A CN 200510077161 CN200510077161 CN 200510077161 CN 200510077161 A CN200510077161 A CN 200510077161A CN 1687862 A CN1687862 A CN 1687862A
Authority
CN
China
Prior art keywords
card
type
virtual machine
verification
smart 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.)
Granted
Application number
CN 200510077161
Other languages
English (en)
Other versions
CN100462890C (zh
Inventor
杨东凯
张其善
姚黎明
吴鑫山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Beijing University of Aeronautics and Astronautics
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CNB2005100771611A priority Critical patent/CN100462890C/zh
Publication of CN1687862A publication Critical patent/CN1687862A/zh
Application granted granted Critical
Publication of CN100462890C publication Critical patent/CN100462890C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种智能卡安全环境的控制方法,下载至智能卡中的应用程序经过编译和转换后生成Java卡虚拟机指令集的字节码序列,所述字节码序列通过Java卡虚拟机来运行;所述Java卡虚拟机有卡内虚拟机和卡外虚拟机,卡外虚拟机实现对编译后的文件进行转换,生成CAP文件;卡内虚拟机实现执行CAP文件中的所述字节码序列;在卡内安全环境的控制中首先将由卡外虚拟机的转换器输出的所述字节码序列进行类型划界,得到第一校验类型和第二校验类型;然后采用校验规则对所述校验类型进行安全校验。本发明的智能卡安全环境控制方法,在Java卡卡内、卡外虚拟机结构的基础上,设计并实现了椭圆曲线数字签名以及卡外代码证书的生成法和卡上字节码序列的安全校验。

Description

智能卡安全环境的控制方法
技术领域
本发明涉及一种对智能卡安全环境进行控制的方法,具体地说,是指一种Java智能卡的安全环境管理系统的控制方法。
背景技术
随着Java智能卡的广泛应用,对于Java智能卡技术的研究也逐步展开。如何通过Java智能卡来提供一个安全计算环境,这包括代码安全性校验、下载过程的安全保证等多方面的问题。
Java智能卡技术是Java虚拟机技术向有限资源设备平台的移植。Java智能卡的Applet经过编译和转换后生成虚拟机指令集的字节码程序。这些字节码再由卡上虚拟机来运行。Java虚拟机早期的运行技术主要是解释执行机制,即将字节码通过解释程序翻译为相应的本地执行代码来运行,它适合于在资源较少的设备中使用。而后,为了提高字节码的执行速度,又相继提出了编译为本地代码执行、动态编译和JIT编译执行、HotSpot技术及直接的专用硬件结构执行等运行技术。编译为本地代码的方法虽然显著地提高了速度,但却一定程度地影响了Java语言的安全机制和可移植性,这在高安全性要求的智能卡应用中显然并不适合。动态编译、JIT编译技术和HotSpot技术是在运行时将字节码编译为本地代码,这需要大量的运行时的存储资源,这在通常只有2K左右RAM的智能卡中也不具可行性。
为了通过Java智能卡来提供一个安全计算环境,必须解决代码安全性校验、运行环境中的应用防火墙机制、下载过程的安全保证等多方面的问题。Java智能卡中的Applet经过编译和转换后生成Java智能卡虚拟机能够识别的字节码指令,而后再通过读写器下载到智能卡上。为了防止恶意Applet下载到Java卡上运行,必须对生成的字节码指令进行安全性校验。这主要包括防止Applet运行过程中出现栈溢出、非法的跳转指令以及非法的类型转换如:将整数转换为对象引用、不兼容的对象引用间的转换等。这一过程必须在对Java卡指令类型系统形式化描述的基础上,结合Java卡虚拟机的特点,采用卡外生成代码证书卡内校验的方法来执行。
发明内容
本发明的目的是提供一种智能卡安全环境的管理方法,该管理方法为了给有限计算资源环境下的智能卡平台提供一个安全的计算环境,在Java卡卡内、卡外虚拟机结构的基础上,设计并实现了椭圆曲线数字签名的方法,卡外代码证书(CodeCertificate)的生成法和卡上字节码的安全校验法。
本发明的一种智能卡安全环境的控制方法,所述智能卡包括有智能卡硬件系统以及硬件系统相关的本地方法集、Java卡虚拟机、Java卡运行环境、Java卡类库和Java卡应用管理组件组成,下载至智能卡中的应用程序经过编译和转换后生成Java卡虚拟机指令集的字节码序列,所述字节码序列通过Java卡虚拟机来运行;所述Java卡虚拟机有卡内虚拟机和卡外虚拟机,卡外虚拟机实现对编译后的文件进行转换,生成CAP文件;卡内虚拟机实现执行CAP文件中的所述字节码序列;在卡内安全环境的控制中首先将由卡外虚拟机的转换器输出的所述字节码序列进行类型划界,得到第一校验类型和第二校验类型;然后采用校验规则对所述校验类型进行安全校验。
所述的智能卡安全环境的控制方法,其类型划界包括第一校验类型和第二校验类型。相对于校验类型的校验规则有第一校验规则和第二校验规则。
本发明的优点:(一)加快了类型校验的速度,因为避免了指令分支交汇处的类型推断和反复叠代。(二)降低了对存储资源的要求。因为代码证书为只读信息,可存储在卡内容量较大的EEPROM中,校验完成后可删除。从而避免了在RAM中存储大量的需进行读写操作的类型推断的中间过程。(三)由于增加了卡内校验部分,所以提高了系统的安全性,避免了卡外校验采用签名加密机制所存在的单点安全失败问题(签名密钥泄漏)。
附图说明
图1是Java智能卡的内部结构示意图。
图2是Java智能卡虚拟机的结构框图。
图3是基于proof-carrying机制的字节码安全校验结构。
图4是字节码安全校验的流程图。
图5是Java Card类型偏序集哈斯结构图。
具体实施方式
下面将结合附图对本发明作进一步的详细说明。
Java智能卡中的Applet(应用程序)经过编译和转换后生成Java智能卡虚拟机能够识别的字节码指令,而后再通过读写器下载到智能卡上。为了防止恶意Applet下载到Java卡上运行,必须对生成的字节码指令进行安全性校验。
本发明的一种智能卡安全环境的控制方法,所述智能卡包括有智能卡硬件系统以及硬件系统相关的本地方法集、Java卡虚拟机、Java卡运行环境、Java卡类库和Java卡应用管理组件组成,下载至智能卡中的应用程序经过编译和转换后生成Java卡虚拟机指令集的字节码序列,所述字节码序列通过Java卡虚拟机来运行;所述Java卡虚拟机有卡内虚拟机和卡外虚拟机,卡外虚拟机实现对编译后的文件进行转换,生成CAP文件;卡内虚拟机实现执行CAP文件中的所述字节码序列;在卡内安全环境的控制中首先将由卡外虚拟机的转换器输出的所述字节码序列进行类型划界,得到第一校验类型和第二校验类型;然后采用校验规则对所述校验类型进行安全校验。根据对字节码序列的类型划界得到第一校验类型和第二校验类型,对于校验类型的校验规则有第一校验规则和第二校验规则。
本发明中的第一校验类型为实现所述CAP文件中的下载组件的结构化校验;第二校验类型为实现所述卡外虚拟机输出的字节码序列的类型校验。第一校验规则,对所述第一校验类型中的下载组件进行椭圆曲线数字签名,所述签名后的下载组件中含有基于椭圆曲线机制的数字签名信息,智能卡卡内的结构化校验器将对所述数字签名信息进行验证;第二校验规则,对所述第二校验类型中的字节码序列采用基于proof-carrying机制的字节码序列安全校验方法。
在本发明中,Java卡上的字节码安全校验可分为两个过程:第一个过程为下载组件的结构化校验过程,即第一校验类型。第二个过程为字节码的类型校验过程,即第二校验类型。
对于第一校验类型过程而言,主要是用于校验下载组件的完整性和一致性。为了保证下载过程的安全,本发明中采取了对组件进行椭圆曲线数字签名的方法,在下载组件中含有基于椭圆曲线机制的数字签名信息,卡上结构化校验器会验证此签名信息,以防止下载过程中对组件的篡改。此外,第一校验类型还包括对于各个组件长度、格式、组成元素定义一致性的检查,以保证组件结构的正确性。
由于智能卡内有限的计算资源(2K RAM),因此在目前的硬件平台上无法完成全部的字节码安全校验过程,尤其是在类型偏序集合上的类型推断计算,因此我们结合Java智能卡卡内、卡外虚拟机的结构特点,采取了嵌入式设备上得到广泛应用的基于proof-carrying机制的字节码安全校验算法。即在卡外生成用于卡内校验使用的代码证书(Certificate),作为定制组件同字节码一起下载到卡内虚拟机。卡内虚拟机的字节码类型校验器使用证书作为辅助信息进行第二类型的校验,以加快整个卡内虚拟机的校验速度。
将JCVM程序P定义为方法的集合{m1,m2,…mn}。其中mi为对应于每个方法的唯一方法引用。我们使用H来代表JCVM中的堆,其中用于存放实例化对象,因此H可表示为实例化对象引用到实例化对象存储结构的映射,即H={...,objref
Figure A20051007716100071
<context,fieldToken=val,...>,...}。其中objref代表对象引用,fieldToken代表对象域,context代表对象上下文。将Java栈结构中的局部变量区定义为L={i
Figure A20051007716100072
vali,0≤i<n},并且定义L[k val]等于L,除了其中的k映射到val。我们将Java栈结构中的操作数栈定义为列表S={val0,val1...,valn-1},并且用S+val表示将值val压入栈S中。局部变量和操作数栈中的元素均为一个字(short类型的宽度)宽。使用J来表示JCVM中的Java栈。J中存储的帧表示为属性组(context,L,S,rpc),其中context表示当前的执行上下文,L表示局部变量区,S表示操作数栈,rpc表示当前方法执行结束后的返回地址。我们将运行状态表示为R=(bc,pc,J,L,S,H)。其中bc表示当前的异常处理状态,它只含有两个值throw和notThrow,分别表示已抛出异常和未抛出异常。程序P的执行可表示为一系列的运行状态R的转换。
此外,定义用于类型推断系统的类型信息,其定义如下:
类类型                   cls=…类类型…
接口类型                 interface=…接口类型…
引用为空类型             Null=空引用
引用类型                 ref=cls|interface|Null
基本类型                 prim=byte|short|boolean
字节数组类型             byteArray=字节或布尔数组类型
短整型数组类型           shortArray=短整型数组类型
布尔数组类型             booleanArray=布尔数组类型
引用数组类型             refArray=引用数组类型
基本类型数组类型         primArray=byteArray|shortArray|booleanArray
数组类型                 array=primArray|refArray
returnAddress类型        returnAddress=返回地址类型
不可用类型               unusable
同时,在Java智能卡字节码指令类型集合上定义了一个自反、反对称、传递的关系≤:对于 &alpha; , &beta; &Element; { cls n &OverBar; } , 如果α≤β,则α扩展了(extends)β。若 &alpha; &Element; { array n &OverBar; } , β为object类,则α≤β。若β为unusable,则α≤β。则在≤关系的定义下,JavaCard语言类型集合构成了一个偏序集,其哈斯图结构如图5所示。图中类型下的数字为相应类型的编码,这种编码规则主要用于加速偏序集上运算的速度。在类型推断系统中,经常需计算两种类型的最小上界LUB(α,β)。在此编码规则下,最小上界的运算可转换为相应类型编码的与(Λ)操作。
为了有效地表示字节码指令的形式化规范,我们引入了一些辅助类型的定义:
接口类型集合 int ers = { int erface n &OverBar; } ( n > 0 )
空类型                      void
数据类型                    ty=ref|prim
数据类型或空类型            tyOrVoid=ty|void
未初始化的对象类型          raw=unin(pc,cls)|init(pc,cls)
引用或数组类型              refOrArray=ref|array
引用或未初始化对象类型      refOrRaw=ref|raw
引用、数组或未初始化对象类型
         refOrAyyayOrRaw=ref|raw|array
引用、未初始化对象、返回地址类型
         refOrRawOrAds=ref|raw|returnAddress
引用、数组、未初始化对象、返回地址类型
         refOrArrayOrRawOrAds=ref|raw|returnAddress
可用类型     usuable=ty|raw|returnAddress
任意类型     any=usuable|unusable
字节码安全校验算法的一个主要任务就是推断(在编译时)局部变量区和操作数栈中的运行时数据类型从而保证在运行时指令不会使用错误的数据类型。为此首先给出局部变量区类型表LT的形式化描述为LT={i
Figure A20051007716100082
anyi|0≤i<max_local},其中max_local为当前方法中局部变量的个数。并且定义LT[k
Figure A20051007716100083
any]等于LT,除了其中的k映射到any。此外,定义操作数栈类型表为ST=[usable0,usable1,...,usabletop],若使用max_stack表示当前方法中操作数栈的最大长度,则索引top<max_local。为了构建类型推断系统,我们将运行时的状态类型定义为∏=(LT,ST,Contour),其中Contour为一集合。并且将关系≤的定义扩展到运行时的状态类型集合上:
若LT={i anyi|0≤i<max_local},LT`={i any`i|0≤i<max_local},如果下式成立 any max _ local - 1 &le; any max _ local - 1 &prime; &OverBar; , 则LT≤LT`。
ST = [ usable n &OverBar; ] , S T &prime; = [ usable &prime; n &OverBar; ] , 如果下式成立 usable n &le; usable &prime; n &OverBar; , 则ST≤ST`。
若∏=(ST,LT,Contour),∏`=(ST`,LT`,Contour`),如果下列条件成立ST≤ST`,LT≤LT`,ContourContour`,则∏≤∏`。∏≤∏`意味着对于所有可应用于状态类型∏`的指令均适用于状态类型∏。
对于类型推断系统,我们使用pc⊥∏来表示在地址pc处所具有的编译时状态类型∏。由于pc地址处的状态类型不仅依赖于指令本身,而且还依赖于到达pc处的指令执行路径,即对于一个pc地址会存在多个状态类型,因此我们使用pc⊥∏来表示其中的一种状态类型,这表示pc处所有可应用于状态类型∏`的指令均适用于状态类型∏。
在本发明中引入基于proof-carrying机制的字节码安全校验算法前,我们首先介绍传统的字节码校验算法。通常,卡内类型校验器采用数据流分析(Data FlowAnalysis)方法来进行字节码安全性校验。整个分析过程以单个方法为单位进行,相当于一个类型层面上的抽象解释器。方法入口处的类型信息由字节码所携带的证书来提供,并使用这些信息来初始化函数入口处的局部变量区类型。对于方法中的每条指令,设置标志位“Changed”,在一个新的方法校验开始时,只有第一条指令的标志位为1。接下来进入数据流分析的主循环过程:
步骤一:查找到一条标志位为1的字节码指令,并置标志位为0。如果不存在标志位为1的指令,则方法校验过程成功结束,退出主循环过程。
步骤二:依据当前指令的类型规则(在上一节中已定义)来执行指令,如果当前指令不能满足类型规则,则指令执行失败,方法校验过程失败,退出主循环过程。
步骤三:确定当前指令的后续指令,可为如下的任一指令:
a.如果当前指令为非跳转指令、返回指令和抛出异常指令,则为当前指令的下一条指令。如果超出了当前方法的指令地址空间,则指令执行失败,方法校验过程失败,退出主循环过程。
b.如果当前指令为跳转指令,则为跳转指令目的地址处的字节码指令。
c.当前指令所对应的异常处理句柄。
步骤四:合并当前指令执行结束后的类型状态到后续指令中:
a.如果后续指令未被访问过,则将当前指令执行结束后的类型状态作为后续指令的前续类型状态,置后续指令的标志位为1。
b.如果后续指令已被访问过,则合并当前的类型状态和已有的后续指令的前续类型状态,如果类型状态发生改变,则置后续指令的标志位为1。
c.类型信息合并的过程即为求两个类型LUB的过程,对于操作数栈,合并后不能存在unusable类型,并且合并的操作数栈必须具有相同的高度。否则方法校验过程失败,退出主循环过程。
d.对于通过jsr调用的子过程(Subroutine)我们另行考虑,在下文中有更详细的讨论。
步骤五:跳转到步骤一。
由于子过程的调用相对比较复杂,存在多条执行路径同时到达的问题,并且会存在在同一局部变量中存储不同数据类型而不能进行类型合并的问题。因此,为了正确地描述子过程的处理,在参考Sun提供的Java卡开发工具的方法中,本发明采用在类型推断系统中引入了Contour,其定义如下:
pc⊥∏[ST,LT,Contour]
Figure A20051007716100101
在子过程中进行类型推断时,具有不同Contour的指令不进行类型合并,即来自不同执行路径的指令的类型信息之间互不影响,并且会将不同路径的类型信息在子过程结束后正确地带给后续指令。
如果上述主循环过程成功结束,则表示当前方法的字节码通过了安全性校验,否则表示校验失败。如果当前包中全部的方法均通过校验,则表示当前包是安全可用的,否则拒绝执行当前包中的程序。
在上述的主循环校验过程中可见,其中的第四步骤必须按照4.c中的规则进行类型偏序集合上的类型推断计算,并且如果发生了类型信息的改变,必须执行4.b进行新一轮的叠代。这对于存储资源和执行速度都提出了较高的要求,因此,为了避免这一问题,基于proof-carrying机制的字节码安全校验算法对程序分支交汇地址处的类型信息进行判断,如果发生类型推断过程(求两个类型信息的LUB),则首先通过卡外的校验过程生成此信息,存储在代码证书(Certificate)中,并将证书作为用户定制组件(Custom component),同其他组件一起下载到智能卡上。为了节约存储空间,在证书中只存储相应的需进行类型推断并发生了改变的元素信息和方法入口处的元素信息,证书的数据结构定义如下:
Figure A20051007716100102
其中pc为程序分支的交汇地址(或方法入口地址),LT用于存储局部变量区中的变化类型信息(或方法入口的局部变量类型信息),ST用于存储操作数栈中的变化类型信息。因此,校验过程中的第四步骤改写为:
4.a:如果后续指令未被访问过且在证书中存在后续指令的pc地址,则将当前指令执行结束后的类型∏c同证书中的类型∏δ相比较,如果∏c≤∏δ,则采用∏δ作为合并后的类型状态,置后续指令的标志位为1。否则校验失败,退出主循环过程。如果后续指令未被访问过且在证书中不存在后续指令的pc地址,则将当前指令执行结束后的类型状态作为后续指令的前续类型状态,置后续指令的标志位为1。
4.b:如果后续指令已被访问过,则将当前指令执行结束后的类型∏c同证书中后续指令pc处的类型∏δ相比较,如果∏c≤∏δ,跳转到步骤5。否则校验失败,退出主循环过程。
4.c:此步骤取消。
4.d:此步骤不变。
这一算法具有如下的三个优点:
(1)加快了类型校验的速度,因为避免了指令分支交汇处的类型推断和反复叠代。
(2)降低了对存储资源的要求。因为代码证书为只读信息,可存储在卡内容量较大的EEPROM中,校验完成后可删除。从而避免了在RAM中存储大量的需进行读写操作的类型推断的中间过程。
(3)由于增加了卡内校验部分,所以提高了系统的安全性,避免了卡外校验采用签名加密机制所存在的单点安全失败问题(签名密钥泄漏)。

Claims (6)

1.一种智能卡安全环境的控制方法,所述智能卡包括有智能卡硬件系统以及硬件系统相关的本地方法集,其特征在于:还包括有Java卡虚拟机、Java卡运行环境、Java卡类库和Java卡应用管理组件组成,下载至智能卡中的应用程序经过编译和转换后生成Java卡虚拟机指令集的字节码序列,所述字节码序列通过Java卡虚拟机来运行;所述Java卡虚拟机有卡内虚拟机和卡外虚拟机,卡外虚拟机实现对编译后的文件进行转换,生成CAP文件;卡内虚拟机实现执行CAP文件中的所述字节码序列;在卡内安全环境的控制中首先将由卡外虚拟机的转换器输出的所述字节码序列进行类型划界,得到第一校验类型和第二校验类型;然后采用校验规则对所述校验类型进行安全校验。
2.根据权利要求1所述的智能卡安全环境的控制方法,其特征在于:
第一校验类型为实现所述CAP文件中的下载组件的结构化校验;
第二校验类型为实现所述卡外虚拟机输出的字节码序列的类型校验。
3.根据权利要求1所述的智能卡安全环境的控制方法,其特征在于:
第一校验规则,对所述第一校验类型中的下载组件进行椭圆曲线数字签名,所述签名后的下载组件中含有基于椭圆曲线机制的数字签名信息,智能卡卡内的结构化校验器将对所述数字签名信息进行验证;
第二校验规则,对所述第二校验类型中的字节码序列采用基于proof-carrying机制的字节码序列安全校验方法。
4.根据权利要求1所述的智能卡安全环境的控制方法,其特征在于:在第二校验规则中对所述第二校验类型依照基于proof-carrying机制的字节码安全校验方法是对程序分支交汇地址处的元素信息进行判断,对所述智能卡的类型推断进行卡外校验生成所述卡外校验信息,并存储在代码证书(Certificate)中;对所述代码证书制定成用户定制组件(Custom component),并对所述用户定制组件与所述下载组件一并下载到智能卡上。
5.根据权利要求4所述的智能卡安全环境的控制方法,其特征在于:基于proof-carrying机制的字节码安全校验方法中数据流分析的主循环过程为:
步骤一:查找到一条标志位为1的字节码指令,并置标志位为O。如果不存在标志位为1的指令,则方法校验过程成功结束,退出主循环过程;
步骤二:依据当前指令的类型规则来执行指令,如果当前指令不能满足类型规则,则指令执行失败,方法校验过程失败,退出主循环过程;
步骤三:确定当前指令的后续指令;
步骤四:合并当前指令执行结束后的类型状态到后续指令中;
步骤五:跳转到步骤一。
6.根据权利要求4所述的智能卡安全环境的控制方法,其特征在于:所述代码证书中存储的所述卡外校验信息为进行所述类型推断改变后的元素信息和所述程序分支交汇地址处的元素信息。
CNB2005100771611A 2005-06-16 2005-06-16 智能卡安全环境的控制方法 Expired - Fee Related CN100462890C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100771611A CN100462890C (zh) 2005-06-16 2005-06-16 智能卡安全环境的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100771611A CN100462890C (zh) 2005-06-16 2005-06-16 智能卡安全环境的控制方法

Publications (2)

Publication Number Publication Date
CN1687862A true CN1687862A (zh) 2005-10-26
CN100462890C CN100462890C (zh) 2009-02-18

Family

ID=35305904

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100771611A Expired - Fee Related CN100462890C (zh) 2005-06-16 2005-06-16 智能卡安全环境的控制方法

Country Status (1)

Country Link
CN (1) CN100462890C (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023885A (zh) * 2010-12-17 2011-04-20 北京握奇数据系统有限公司 一种存储Java卡运行时环境字节码的方法及系统
CN101382892B (zh) * 2008-09-24 2012-04-18 飞天诚信科技股份有限公司 下载.Net程序的方法和装置
CN101754447B (zh) * 2008-12-08 2012-07-04 爱思开电讯投资(中国)有限公司 一种智能卡
CN101013379B (zh) * 2006-01-09 2013-03-20 太阳微系统有限公司 在智能卡上的多线程运行时间环境中支持传统应用程序的方法
CN103154960A (zh) * 2010-10-19 2013-06-12 惠普发展公司,有限责任合伙企业 用于生成授权虚拟设备的系统和方法
CN101308547B (zh) * 2007-05-17 2013-07-17 因卡特有限公司 控制用于ic卡的小应用程序运行的方法
CN105224863A (zh) * 2015-10-28 2016-01-06 广州杰赛科技股份有限公司 数据处理方法、用户端、智能卡端及终端设备
CN106096408A (zh) * 2016-06-03 2016-11-09 成都信息工程大学 一种Java卡越界访问静态变量漏洞的检测方法和装置
WO2019184687A1 (zh) * 2018-03-29 2019-10-03 网易(杭州)网络有限公司 代码热更新方法和装置、存储介质、处理器及终端
CN111079187A (zh) * 2019-12-23 2020-04-28 江苏恒宝智能系统技术有限公司 一种智能卡及其文件管理方法
CN111641659A (zh) * 2020-06-09 2020-09-08 北京东土军悦科技有限公司 一种交换机的中央处理器防攻击的方法、装置、设备及存储介质
CN111880806A (zh) * 2020-07-23 2020-11-03 深圳融卡智能科技有限公司 应用执行方法与应用执行系统
CN111966443A (zh) * 2019-05-20 2020-11-20 恒宝股份有限公司 一种智能卡及其工作方法
CN113434247A (zh) * 2021-06-16 2021-09-24 武汉天喻信息产业股份有限公司 一种java卡虚拟机的安全防护方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200842B1 (en) * 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices
FR2809200B1 (fr) * 2000-05-17 2003-01-24 Bull Cp8 Procede de securisation d'un langage du type a donnees typees, notamment dans un systeme embarque et systeme embarque de mise en oeuvre du procede

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013379B (zh) * 2006-01-09 2013-03-20 太阳微系统有限公司 在智能卡上的多线程运行时间环境中支持传统应用程序的方法
CN101308547B (zh) * 2007-05-17 2013-07-17 因卡特有限公司 控制用于ic卡的小应用程序运行的方法
CN101382892B (zh) * 2008-09-24 2012-04-18 飞天诚信科技股份有限公司 下载.Net程序的方法和装置
CN101754447B (zh) * 2008-12-08 2012-07-04 爱思开电讯投资(中国)有限公司 一种智能卡
CN103154960A (zh) * 2010-10-19 2013-06-12 惠普发展公司,有限责任合伙企业 用于生成授权虚拟设备的系统和方法
CN102023885A (zh) * 2010-12-17 2011-04-20 北京握奇数据系统有限公司 一种存储Java卡运行时环境字节码的方法及系统
CN105224863A (zh) * 2015-10-28 2016-01-06 广州杰赛科技股份有限公司 数据处理方法、用户端、智能卡端及终端设备
CN106096408A (zh) * 2016-06-03 2016-11-09 成都信息工程大学 一种Java卡越界访问静态变量漏洞的检测方法和装置
WO2019184687A1 (zh) * 2018-03-29 2019-10-03 网易(杭州)网络有限公司 代码热更新方法和装置、存储介质、处理器及终端
US11720344B2 (en) 2018-03-29 2023-08-08 Netease (Hangzhou) Network Co., Ltd. Code hot-update method and device, storage medium, processor, and terminal
CN111966443A (zh) * 2019-05-20 2020-11-20 恒宝股份有限公司 一种智能卡及其工作方法
CN111966443B (zh) * 2019-05-20 2024-02-23 恒宝股份有限公司 一种智能卡及其工作方法
CN111079187A (zh) * 2019-12-23 2020-04-28 江苏恒宝智能系统技术有限公司 一种智能卡及其文件管理方法
CN111641659A (zh) * 2020-06-09 2020-09-08 北京东土军悦科技有限公司 一种交换机的中央处理器防攻击的方法、装置、设备及存储介质
CN111880806A (zh) * 2020-07-23 2020-11-03 深圳融卡智能科技有限公司 应用执行方法与应用执行系统
CN111880806B (zh) * 2020-07-23 2023-11-21 无锡融卡科技有限公司 应用执行方法与应用执行系统
CN113434247A (zh) * 2021-06-16 2021-09-24 武汉天喻信息产业股份有限公司 一种java卡虚拟机的安全防护方法
CN113434247B (zh) * 2021-06-16 2023-12-26 武汉天喻信息产业股份有限公司 一种java卡虚拟机的安全防护方法

Also Published As

Publication number Publication date
CN100462890C (zh) 2009-02-18

Similar Documents

Publication Publication Date Title
CN1687862A (zh) 智能卡安全环境的控制方法
CN1149470C (zh) 一种分析面向对象的程序的执行的方法和设备
Chambers et al. Efficient multiple and predicated dispatching
Whaley Joeq: A virtual machine and compiler infrastructure
Gough Stacking them up: a Comparison of Virtual Machines
Steffen et al. The fixpoint-analysis machine
CN1922574A (zh) 无需额外的代码分析来进行链接时代码优化的方法和系统
CN1238500A (zh) 用于进行静态初始化的方法和系统
Sheard et al. DSL implementation using staging and monads
CN103718159A (zh) 图像处理软件开发方法、图像处理软件开发装置和图像处理软件开发程序
Batchelder et al. Obfuscating Java: The most pain for the least gain
Rockenbach et al. stream processing on multi-cores with GPUs: parallel programming models' challenges
Serrano et al. Storage use analysis and its applications
MacKenzie et al. Camelot and Grail: resource-aware functional programming for the JVM.
Ghiglio et al. Improving performance of SYCL applications on CPU architectures using LLVM-directed compilation flow
Gustafsson Worst case execution time analysis of object-oriented programs
Martin et al. Creating high confidence in a separation kernel
US20030163505A1 (en) Reducing the memory footprint of applications executed in a virtual machine
CN110851140A (zh) 一种实现单片机动态库的系统及方法
Sonntag et al. Efficient compilation strategy for object‐oriented languages under the closed‐world assumption
Dybdal et al. Low-level functional gpu programming for parallel algorithms
Wimmer Automatic object inlining in a Java virtual machine
CN100555224C (zh) 一种可执行的动态连接库car构件的构造和执行方法
CN111966443B (zh) 一种智能卡及其工作方法
Bernardeschi et al. Using control dependencies for space-aware bytecode verification

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218

Termination date: 20100616