[发明专利]基于控制流检测的抗错误注入攻击的安全芯片设计方法无效
申请号: | 201310275412.1 | 申请日: | 2013-07-02 |
公开(公告)号: | CN103345445A | 公开(公告)日: | 2013-10-09 |
发明(设计)人: | 黄威;宋丹丹;廖望;刘恺;张亮;邓承诺;陈攀;戴葵 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 唐正玉 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 控制 检测 错误 注入 攻击 安全 芯片 设计 方法 | ||
技术领域
本发明涉及一种安全芯片设计技术,具体涉及一种基于控制流检测的抗错误注入攻击的安全芯片设计技术,以达到抵抗错误注入攻击的目的。
背景技术
在信息化时代,信息的安全问题越来越重要,作为信息安全的核心部件,以提供加密、认证、安全存储等安全服务为主要功能的安全芯片应用越来越广。与此同时,针对安全芯片的攻击技术也层出不穷,这使得研究安全芯片的防护技术成为迫切需要。
错误注入攻击是一种半入侵式攻击,其攻击原理是通过改变环境参数(芯片的电性能将随着不同的电压、温度、光、电离辐射以及周围的磁场的变化而变化),来试图在芯片的程序逻辑中引入一些错误行为,或为旁路攻击创造条件,或导致信息泄露。
在目前的安全芯片设计技术中,针对错误攻击的防护手段主要有两种:一是在芯片外围增加一层物理性防护,防止错误注入;二是增加芯片的检错机制,一旦检测到异常信息,就错误报警,芯片进入异常工作状态。但这两种防护手段都存在不足之处,首先它们都需要大量传感器电路,硬件成本巨大;其次它们都仅仅是从源头上进行防御,一旦错误注入成功,就无能为力了。
控制流检测技术应用于微处理器的可靠性设计领域。微处理器中存在一种称为单粒子翻转的硬件瞬时故障,这种单粒子翻转故障可能影响指令操作码,导致错误的程序执行流程,也可能影响到指令操作数,导致错误的程序处理结果。控制流检测技术是防止由于单粒子翻转效应而导致硬件瞬时故障的有效手段。
控制流检测技术可以分为基于软件的、硬件的及软硬件结合的三类方法。控制流检测通常是以基本块为单位,在程序正常指令流中插入一些额外指令以实现对程序的控制流的校验。一个基本块是一个依次顺序执行的指令序列,其中除最后一条指令外其他指令都不能是程序控制指令(程序控制指令能够改变程序原来执行顺序的指令,通常包括条件分支指令、无条件跳转指令、函数调用指令和函数返回指令等),除第一条指令外其他指令都不能是程序控制指令的转移目标。基于基本块,程序可以表示为由基本块以及连接基本块之间的有向边所构成的控制流图,其中的有向边表示实际的程序控制流转移。如果从基本块Bi到基本块Bj有一条边,则表示程序中存在Bi到Bj的路由,Bi记为Bj的前驱基本块,Bj记为Bi的后继基本块。
程序运行时,在执行一个指令后会转向执行另一条指令,这个过程称为一次控制流转移。基于基本块和程序控制流图,合法的控制流转移有下面两层含义:
(1)基本块内部:控制流转移发生在一个基本块内部。由于基本块内部指令顺序执行,所以除了块最后一条指令外,每个指令只有唯一的后继指令。
(2)基本块之间:控制流转移发生在基本块之间。对于基本块的最后一条指令,其后继指令也可能有多个,但都必须是控制流图中所属基本块的后继基本块的第一条指令。
除此之外的所有控制流转移都是非法的,控制流错误检测技术的目标就是要尽可能高效地检测出所有非法的控制流转移。
当前控制流检测技术通常采用基于基本块的标签分析法。基本块标签是基本块的数字标识,在预处理(如编译)时为每个基本块分配唯一的标签(成为静态标签),程序在运行过程中根据当前控制流由插入的检测指令维持一个标签(成为动态标签),然后将两个标签进行比较,匹配则说明控制流没有被破坏,否则表示控制流出现了错误。
但是,控制流检测技术目前也存在以下几个方面的问题:
(1)基本块内部跳转的错误检测:已有的控制流检测技术主要关注基本块之间的跳转是否正确性,而对于基本块内部的非跳转指令发生错误跳转并没有比较妥善的解决办法。
(2)指令序列非跳转性错误的检测:现有的控制流检测技术局限于程序跳转的错误检测,而没有考虑到由于指令本身的操作码或操作数出现错误而导致的非跳转性错误。
(3)新增控制流检测指令的自校验:实现控制流检测需要加入额外的控制流检测指令,而并没有有效的方法来检测这些新增的控制流检测指令本身是否出错。
(4)安全性和性能之间的矛盾:为了解决检测盲点,有些方法设计了一些复杂的检测指令序列。但是由于加入了过多的检测指令,对程序的性能的影响也随之增大,而且检测指令自身受到攻击而出现错误的概率也变大。
因为已有的控制流检测技术存在上述问题,必须研究检测效率更高而对程序本身性能影响较小的控制流错误检测技术,以应用与安全芯片设计。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310275412.1/2.html,转载请声明来源钻瓜专利网。