[发明专利]一种JAVA卡字节码引用访问测试方法在审

专利信息
申请号: 201611074995.1 申请日: 2016-11-30
公开(公告)号: CN106649009A 公开(公告)日: 2017-05-10
发明(设计)人: 仲倩黎;曾林 申请(专利权)人: 北京中电华大电子设计有限责任公司
主分类号: G06F11/22 分类号: G06F11/22;G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 102209 北京市昌平区北七家未*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 java 字节 引用 访问 测试 方法
【说明书】:

技术领域

发明涉及智能卡技术领域,尤其涉及一种JAVA卡字节码引用访问测试方法。

背景技术

Java卡技术因其开放性使得java卡在金融卡、电信卡的市场上被广泛使用。但是其开放性带来的安全问题,也逐渐被人关注。一些后下载应用会构造虚假引用来非法读取卡上存储内容,对这一安全威胁的防范能力成为java卡平台的关键质量指标之一。

由于java卡应用通过字节码在java卡平台上执行相应的操作,因此需要测试字节码访问引用的功能是否正确。对于不存在或受限的引用,应不予访问并抛出异常。

目前对字节码的引用访问测试仅限于applet能构造出来的对象引用,比如测试应用内的全局变量和局部变量,共享接口传递的其它上下文中的数组引用。常规Java Card Applet无法构造虚假引用,也就无法测试字节码访问虚假引用的情况。

发明内容

针对上述技术缺陷,本发明提出一种JAVA卡字节码引用访问测试方法。

为了解决上述技术问题,本发明的技术方案如下:

一种JAVA卡字节码引用访问测试方法,包括如下步骤:

1)构建java语言编写的测试用源程序;

2)在所述java源程序的基础上,添加一个带有short类型入参的测试方法,通过编译、转换得到CAP文件;

3)在所述CAP文件中的测试方法中,找到待测试字节码的位置,然后向前,定位到将其访问的引用压栈的字节码;

4)将所述压栈字节码替换为“XX”;所述“XX”为将测试方法short类型参数值压栈的字节码。

进一步的,所述的测试用源程序,其特征在于,创建并初始化一个对象或数组类型的全局变量,用于一次性建立一个引用,代替在测试方法中建立数组。避免在测试过程中,反复调用测试方法,反复建立数组,消耗E方空间,影响测试流程。

进一步的,在所述java源程序的基础上,添加的一个带有short类型入参的测试方法,该测试方法包括且仅包括以下内容:

带有一个short类型的参数。。

创建一个对象或数组类型的局部变量,将其值初始化为所述的一个对象或数组类型的全局变量。

编写一个语句,该语句调用待测试字节码,并使其访问所述的一个对象或数组类型的局部变量。

进一步的,所述的“XX”,其特征在于,是将测试方法short类型参数值压栈的字节码,替换前的字节码作用是将一个引用压入到栈中,该引用指向的对象是实际存在的。替换后的字节码作用是将一个short数值压入到栈中,待测试字节码从栈中取得这个数据,仍将它作为引用来进行访问。因此替换字节码动作实现了构造虚假引用的目的。

进一步的,所述的一个对象或数组类型的全局变量,其特征在于,其类型与待测试字节码要访问的对象类型一致,即如果字节码要访问byte类型数组,则全局变量定义为一个byte类型数组,如果字节码要访问一个对象,则全局变量定义为同一个类的对象。

进一步的,所述的带有一个short类型的参数,其特征在于,该参数值会从卡外,通过APDU命令传入到所述CAP文件在卡上安装的测试应用,通过测试应用传入到所述测试方法,通过测试方法传入到栈中字节码要读取引用的位置。测试人员在卡外设置该short类型参数的值,决定测试字节码要访问的引种值。从而达到测试字节码引用访问功能的目的。

进一步的,所述的一个对象或数组类型的局部变量,其特征在于,其类型与所述一个对象或数组类型的全局变量的类型一致。

进一步的,所述的一个对象或数组类型的局部变量,其特征在于,使用局部变量作为字节码访问的初始引用,可以简化测试流程,并使得测试流程可控,如果使用全局变量作为字节码访问的初始引用,则将全局变量引用压栈的字节码可能在cap下载时被修改操作数,使得下载到卡上的应用不能做期望的操作,达不到测试目的。

本发明的有益效果在于:本发明在字节码层面对JavaCard CAP文件进行修改,生成的特殊Java Card Applet可用于构造虚假引用,并将其提交给字节码进行测试,解决了常规Java Card Applet无法构造虚假引用,也就无法测试字节码访问虚假引用的情况的问题。

附图说明

图1是用于baload字节码测试的java源程序基本结构图;

图2是引用压栈字节码在cap文件中的定位;

图3是用于baload字节码测试的流程;

具体实施方式

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中电华大电子设计有限责任公司,未经北京中电华大电子设计有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611074995.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top