[发明专利]一种Java卡标准API安全性测试方法在审
申请号: | 201910312220.0 | 申请日: | 2019-04-18 |
公开(公告)号: | CN110008134A | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 左捷;蔡立志;杨亚萍;胡芸;吴建华;李嘉;荣志文;何焕明;牛江兰 | 申请(专利权)人: | 上海计算机软件技术开发中心 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 杜阳阳 |
地址: | 201100 上海市闵行*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 标准API 安全性测试 测试 结果确定 全面检测 有效信息 校验 合法性 下载 漏洞 | ||
1.一种Java卡标准API安全性测试方法,其特征在于,包括:
针对待测试的API,获取编写的测试Applet;
对所述测试Applet的Cap文件进行修改;
将修改后的Cap文件下载到Java卡中;
试图获取所述Java卡的有效信息从而根据获取结果确定Java卡标准API的安全性。
2.根据权利要求1所述的Java卡标准API安全性测试方法,其特征在于,所述待测试的API为带有入参的API。
3.根据权利要求1所述的Java卡标准API安全性测试方法,其特征在于,所述测试Applet的编写方法为:
定义一个全局static对象并初始化;
编写以所述全局static对象作为入参的调用所述待测试的API的语句;
对所述语句进行编译,得到编译结果;
若所述编译结果表示编译失败,则返回步骤“编写以所述全局static对象作为入参的调用所述待测试的API的语句”;
若所述编译结果表示编译成功,则生成Cap文件。
4.根据权利要求1所述的Java卡标准API安全性测试方法,其特征在于,所述对所述测试Applet的Cap文件进行修改,具体包括:
对所述Cap文件进行解析,得到解析出的12个组件;所述12个组件包括:Header组件、Directory组件、Applet组件、Import组件、Constant pool组件、Reference Location组件、Export组件、Debug组件、Class组件、Method组件、StaticField组件和Descriptor组件;
修改所述Method组件;
修改所述Reference Location组件。
5.根据权利要求4所述的Java卡标准API安全性测试方法,其特征在于,所述修改所述Method组件,具体包括:
将所述全局static对象对应的Java卡虚拟机指令修改为Java卡虚拟机压栈指令;
将所述全局static对象对应的索引依次修改为0到最大索引值之间的值,得到多个索引。
6.根据权利要求5所述的Java卡标准API安全性测试方法,其特征在于,所述修改所述Reference Location组件,具体包括:
删除与所述Method组件中的所述全局static对象对应的索引偏移。
7.根据权利要求6所述的Java卡标准API安全性测试方法,其特征在于,所述将修改后的Cap文件下载到Java卡中,具体包括:
将每个索引所对应的Cap文件依次下载到所述Java卡中。
8.根据权利要求7所述的Java卡标准API安全性测试方法,其特征在于,所述试图获取所述Java卡的有效信息从而根据获取结果确定Java卡标准API的安全性,具体包括:
在任意一个索引所对应的Cap文件下载到所述Java卡中之后,通过APDU指令运行所述待测试的API,得到运行结果;
若所述运行结果表示有数据读出,则记录当前Cap文件对应的索引值和读出的数据并将下载到所述Java卡中的Cap文件删除;
若所述运行结果表示无数据读出且引起死卡,则记录当前Cap文件对应的索引值,并将下载到所述Java卡中的Cap文件删除;
若所述运行结果表示无数据读取且未引起死卡,则将下载到所述Java卡中的Cap文件删除;
若所述运行结果表示无数据读取且所述Java卡无响应,则将下载到所述Java卡中的Cap文件删除;
根据记录的索引值和读出的数据确定安全性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海计算机软件技术开发中心,未经上海计算机软件技术开发中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910312220.0/1.html,转载请声明来源钻瓜专利网。