[发明专利]一种Java卡标准API安全性测试方法在审
申请号: | 201910312220.0 | 申请日: | 2019-04-18 |
公开(公告)号: | CN110008134A | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 左捷;蔡立志;杨亚萍;胡芸;吴建华;李嘉;荣志文;何焕明;牛江兰 | 申请(专利权)人: | 上海计算机软件技术开发中心 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 杜阳阳 |
地址: | 201100 上海市闵行*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 标准API 安全性测试 测试 结果确定 全面检测 有效信息 校验 合法性 下载 漏洞 | ||
本发明公开一种Java卡标准API安全性测试方法。该测试包括:针对待测试的API,获取编写的测试Applet;对所述测试Applet的Cap文件进行修改;将修改后的Cap文件下载到Java卡中;试图获取所述Java卡的有效信息从而根据获取结果确定Java卡标准API的安全性。本发明的Java卡标准API安全性测试方法,通过对标准API的入参对象的合法性进行校验,全面检测Java卡标准API可能存在的漏洞。
技术领域
本发明涉及Java软件平台测试领域,特别是涉及一种Java卡标准API安全性测试方法。
背景技术
Java卡将标准应用程序编程接口(Application Programming Interface,API)的定义引入了嵌入式开发,这带来了平台和应用开发的分离,使得Java卡软件平台更为通用与开放,开发应用更为便利。但是,这样的通用与开放也带来了一定的隐患,攻击者可通过使用标准API来编写自己的Java编程语言的小应用程序(Applet)并下载到智能卡中的方式,尝试非法获取当前卡中其他Applet的信息。特别是当智能卡中有金融应用时,金融应用在卡中存储的持卡人验证方法(Cardholder Verification Method,CVM)信息(例如:PIN值)、签名用私钥信息等都存在被非法获取的风险,这就使得Java卡标准API的安全性显得尤为重要。
目前对于Java卡标准API的测试主要集中在对各个API接口的功能测试上,最常用也是行业通用的是Oracle公司的TCK(JavaCardTM Technology Compatibility Kit)测试套件。但是,若只仅仅通过TCK的功能测试,是不足以防范未来多应用智能卡可能受到的安全攻击的。
发明内容
本发明的目的是提供一种Java卡标准API安全性测试方法,通过对标准API的入参对象的合法性进行校验,全面检测Java卡标准API可能存在的漏洞。
一种Java卡标准API安全性测试方法,包括:
针对待测试的API,获取编写的测试Applet;
对所述测试Applet的Cap文件进行修改;
将修改后的Cap文件下载到Java卡中;
试图获取所述Java卡的有效信息从而根据获取结果确定Java卡标准API的安全性。
可选的,所述待测试的API为带有入参的API。
可选的,所述测试Applet的编写方法为:
定义一个全局static对象并初始化;
编写以所述全局static对象作为入参的调用所述待测试的API的语句;
对所述语句进行编译,得到编译结果;
若所述编译结果表示编译失败,则返回步骤“编写以所述全局static对象作为入参的调用所述待测试的API的语句”;
若所述编译结果表示编译成功,则生成Cap文件。
可选的,所述对所述测试Applet的Cap文件进行修改,具体包括:
对所述Cap文件进行解析,得到解析出的12个组件;所述12个组件包括:Header组件、Directory组件、Applet组件、Import组件、Constant pool组件、Reference Location组件、Export组件、Debug组件、Class组件、Method组件、StaticField组件和Descriptor组件;
修改所述Method组件;
修改所述Reference Location组件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海计算机软件技术开发中心,未经上海计算机软件技术开发中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910312220.0/2.html,转载请声明来源钻瓜专利网。