[发明专利]Java Card虚拟机栈的防错误注入方法及系统有效
申请号: | 201710339064.8 | 申请日: | 2017-05-15 |
公开(公告)号: | CN107169348B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 李祖猛 | 申请(专利权)人: | 东信和平科技股份有限公司 |
主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 519060 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java card 虚拟机 错误 注入 方法 系统 | ||
本发明公开了一种Java Card虚拟机栈的防错误注入方法及系统,包括在启动Java Card虚拟机之前产生随机数;依据随机数计算出Java Card虚拟机栈的内存地址;启动Java Card虚拟机,并将内存地址确定为Java Card虚拟机栈的实际内存地址,以防止攻击者找到Java Card虚拟机栈的实际内存地址后进行错误注入。本发明通过动态随机调整Java Card虚拟机栈的实际内存地址,使攻击者较难找到Java Card虚拟机栈的实际内存地址,进一步增加攻击者对Java Card虚拟机栈进行错误注入的难度。本发明在一定程度上防止了对Java Card虚拟机栈的错误注入,提高了Java Card虚拟机栈的安全性。
技术领域
本发明涉及Java Card虚拟机栈防护技术领域,特别是涉及一种Java Card虚拟机栈的防错误注入方法及系统。
背景技术
Java Card支持很多应用,并且具有非常高的安全性。近年来,Java Card在金融、移动支付等行业中的应用越来越广范,与此同时,针对Java Card的攻击手段也越来越多,目前非常重要的攻击手段是针对Java Card虚拟机栈的错误注入,而现有技术中还没有针对这种攻击手段的防护方法,使Java Card虚拟机栈的安全性降低。
因此,如何提供一种解决上述技术问题的Java Card虚拟机栈的防错误注入方法及系统成为本领域的技术人员需要解决的问题。
发明内容
本发明的目的是提供一种Java Card虚拟机栈的防错误注入方法和系统,在使用过程中增加攻击者对Java Card虚拟机栈进行错误注入的难度,并在一定程度上防止了对Java Card虚拟机栈的错误注入,提高了Java Card虚拟机栈的安全性。
为解决上述技术问题,本发明提供了一种Java Card虚拟机栈的防错误注入方法,包括:
在启动Java Card虚拟机之前产生随机数;
依据所述随机数计算出Java Card虚拟机栈的内存地址;
启动Java Card虚拟机,并将所述内存地址确定为所述Java Card虚拟机栈的实际内存地址,以防止攻击者找到Java Card虚拟机栈的实际内存地址后进行错误注入。
可选的,所述依据所述随机数计算出Java Card虚拟机栈的内存地址的过程具体为:
依据所述随机数对所述Java Card虚拟机栈的内存空间的起始地址和结束地址进行调整,得到调整后的起始地址和结束地址,并依据所述调整后的起始地址和结束地址确定出所述Java Card虚拟机栈的内存地址。
可选的,所述方法还包括:
对待进栈的第一数据进行按位取反操作,得到相应的第二数据;
将所述第一数据与所述第二数据进行结合得到第三数据,并将所述第三数据压入栈;
对待出栈的数据进行反向验证,以判断待出栈的数据是否为所述第一数据,如果是,则所述第一数据正常,并进行所述第一数据的返回;否则,所述第一数据受到错误注入,并进入安全异常处理流程。
可选的,所述将所述第一数据与所述第二数据进行结合得到第三数据的过程具体为:
将所述第二数据的尾部与所述第一数据的首部相接后得到第三数据;
则,所述对待出栈的数据进行反向验证,以判断待出栈的数据是否为所述第一数据的过程具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东信和平科技股份有限公司,未经东信和平科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710339064.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种灵芝菊花茶及其制作方法
- 下一篇:一种小米咖啡及其制作方法