[发明专利]防止故障攻击的Javacard虚拟机字节码执行保护有效
申请号: | 201080064982.0 | 申请日: | 2010-12-28 |
公开(公告)号: | CN102782693A | 公开(公告)日: | 2012-11-14 |
发明(设计)人: | M.克里兹尼基 | 申请(专利权)人: | 金雅拓股份有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 吕晓章 |
地址: | 法国*** | 国省代码: | 法国;FR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 防止 故障 攻击 javacard 虚拟机 字节 执行 保护 | ||
技术领域
本发明涉及保护装载到计算设备,尤其安全令牌(security token)中的小应用程序(applet)免遭故障攻击。
背景技术
故障攻击包含引起计算设备中的物理扰动。攻击者通常希望在极精确定义的时间上(以便在攻击时知道计算设备正在做什么以及,例如,能够针对特定功能),在计算设备的一个部件的极精确定义区域(例如,存储某些感兴趣数据的EEPROM存储器芯片的一部分)中产生扰动。存在许多产生这样扰动的不同技术。例如,可以:
·变更电源(例如,可能在极短时间内,将电压Vcc从预期值,例如,5V改变成错误值,例如,像50V那样高得多的值,以便产生尖峰脉冲(glitch));
·修改时钟(例如,超频(overclocking),即,在攻击者希望产生故障的时间上,大幅提高时钟频率);
·修改温度(例如,将计算设备的芯片或芯片的一些部分从环境温度加热到,例如,100°C);
·让计算设备的芯片受到激光束照射,或像X-射线辐射、UV(紫外线)辐射、光辐射、或任何形式的电磁辐射那样的辐射;
·让计算设备受到震动;或
·将化工产品施加在芯片的一些部分上。
故障攻击的目的尤其可能是破解(crack)加密算法和恢复加密密钥,或规避计算设备实现的某些保护。例如,当调用对抗措施时,故障攻击可能阻止对抗措施正常工作。
下面针对左侧示出java源代码,而右侧示出相应java字节码的一个非常简单小应用程序例示一种特别有效的故障攻击。
在这个简单小应用程序中,如果在代码解释期间跳过invokespecial字节码(例如,由于故障攻击将invokespecial字节码变换成无害(innocuous)字节码),则不会调用方法checkSecurity,而小应用程序的其余部分被正常执行。
安全令牌通常是既轻又小以便用户容易携带(容易装在口袋中)的电子设备。它大多是个人的。一般说来,安全令牌是资源有限设备,因为如下的至少一种是真的:它的处理器不是很强大;它只有很小的存储器;它既没有电源(例如,电池等)也没有用户接口,即,为了与安全令牌交互,用户通常需要将安全令牌(接触或非接触模式)与终端连接,由终端提供一定电力以及将数据输入安全令牌中和/或向用户显示或要不然传送安全令牌发送的某种信息的部件(例如,声卡、LED、蜂鸣器、振动器等)。更精心制作的安全令牌可能嵌入了电池,和/或具有像小密码键盘或小LCD那样的输入/输出能力。
安全令牌的最普遍例子或许是智能卡。数十亿张的智能卡在世界各地使用,使持卡人(携带智能卡的人)可以,例如,向金融机构(例如,当用银行卡支付时),向电信运营商(例如,当用配有SIM卡的GSM电话打电话时),或向政府机构(例如,当用医保智能卡、ID智能卡或电子护照验证时)验明正身。还存在许多其他类型的安全令牌,例如,USB钥匙、并口加密狗(parallel port dongle)、OTP令牌(OTP代表一次性密码)、TPM(可信平台模块,其由可信计算工作组规定,和通常允许通过特别核实硬件组件未被修改,和运行的任何软件具有良好的版本和已经经过适当签名来保护计算设备)等。
在过去的十年中,嵌入虚拟机的安全令牌的数量已显著增加,尤其随着JavaCard、Multos卡以及最近,.NET卡的到来。这样的安全令牌是有利的,因为它们可以通过将小应用程序装入它们中(例如,Java小应用程序、.NET小应用程序等)容易地编程。由于安全令牌一般是资源有限的的事实,所以必须采用适当的标准(例如,Java或.NET)(对于智能卡,变成JavaCard,以及对于.NET,必须实现.NET的精简版本),以保证小应用程序能够运行在安全令牌上)。例如,一些“复杂”运算(像浮点运算那样)有时支持不了。
JavaCard平台主要通过如下三种规范来定义:
·JavaCardTM平台的虚拟机规范;
·JavaCardTM平台的应用编程接口;以及
·JavaCardTM平台的运行时环境(Runtime Environment,JCRE)规范。
JavaCard的最普遍版本大概是2.1版本,但2.2.1版本或许很快就会成为最普遍的版本。同时预期2.2.2版本将成为主导版本。3版最近已经发布,但还没有得到广泛采用,或许稍晚一点才会发生这样情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金雅拓股份有限公司,未经金雅拓股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080064982.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提高睡眠质量的口服液
- 下一篇:服务器系统及服务器切换方法