[发明专利]一种面向分支预测攻击的微体系结构级安全防护方法在审
| 申请号: | 201510468229.2 | 申请日: | 2015-07-31 |
| 公开(公告)号: | CN105005737A | 公开(公告)日: | 2015-10-28 |
| 发明(设计)人: | 魏继增;谭雅;郭炜 | 申请(专利权)人: | 天津大学 |
| 主分类号: | G06F21/55 | 分类号: | G06F21/55;G06F21/57 |
| 代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 李素兰 |
| 地址: | 300072*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 分支 预测 攻击 体系结构 安全 防护 方法 | ||
技术领域
本发明涉及属于微处理器设计及信息安全领域,特别是涉及一种微体系结构级安全防护方法。
背景技术
在日常生活中,我们广泛使用现代通用计算机,进行支付、购物等相关业务,但传统的密码系统只是从数学算法的角度来评估密码系统的安全性,例如,在1024-bit下的RSA、256-bit下的ECC或者对称密码算法中的AES、DES等。然而,随着集成电路发展水平的迅猛发展,目前对于密码算法的攻击,不仅是对密码算法本身提出破解,也会在密码算法执行的过程中,通过一定手段抽取出有效的信息,破解密钥。后者一般称作侧信道攻击(Side-Channel Attack)。攻击者往往不从密码算法的本身进行攻击,而是从密码系统运行时,所泄露出来的侧信道信息如功耗差异、加密时间差异和电磁差异等,来进行相关的信息分析,得出与加密过程中密钥的关系,通过一定处理,恢复出密钥,达到破解目的。
目前,侧信道攻击基于不同的攻击方式可以分为:错误攻击(FaultAttacks,FA)、时间攻击(TimingAttacks,TA)、能量攻击(PowerAnalysis attacks,PA)、电磁攻击(ElectromagneticAttacks,EMA)以及其他的基于辐射、频率、声音等攻击。但在早期,大多数人认为侧信道攻击一般只针对于简单的体系结构下的特定芯片,如智能卡,而不能攻击复杂的通用处理器(intel,AMD等)。原因在于在实施攻击时,需要分辨或者采样系统的某些侧信道信息,如功耗,执行时间等,但在复杂的通用计算机系统中,由于多线程、超线程等技术的存在,使得这些侧信道信息存在很多噪声,很难准确抓取。直到2005年,D.Brumle等人提出很大程度上区别于传统意义上的侧信道攻击,Timing Attack(时间攻击)并成功攻击了一个Web服务器。此种攻击并不需要对目标机(受攻击方)进行干涉或者实地测量侧信道信息,所以更具有威胁性。后来通过越来越多研究人员发现,Timing Attack可以通过网络有效获取远程服务器上的敏感信息。逐渐发展出近几年一种新型的侧信道攻击方式——微体系结构分析攻击(MA,Micro-Architecture Analysis Attack),并对现代的通用计算机产生了安全威胁。其主要攻击原理是在通用处理器中利用进程间共享的体系结构中的公共模块如D-cache、I-cache和分支预测单元(Branch predator Unit,BPU)等,通过“合理”的方式巧妙的设计攻击流程,控制公共模块占用情况,并通过侧信道信息的抓取,分析,得出密钥达到攻击目的。其中,Onur Aclicmez等人提出的分支预测分析攻击,能够有效的针对现代通用器中必不可少的分支预测单元,通过注入间谍进程,分析出分支预测单元中的重要组成部分BTB(Branch Target Buffer,分支地址缓存)的使用情况,从而破除有密钥依赖分支语句的密码算法,如RSA,ECC等。
近年来针对微体系结构分析攻击,特别是分支预测分析攻击,也提出了一些相应的防护方法。例如Giovanni Agosta等人提出了对应的软件的防护策略:避免在密码程序中使用和密钥相关的分支语句或者将与密钥相关的分支语句用间接跳转替换,从而达到抗攻击的目的,但此策略只能以损失程序的性能为代价。再如Onur Aclicmez等人通过分支预测分析成功攻破了二进制下的欧几里得求逆算法,极大地扩展了分支预测分析攻击的范围,从而基本所有使用扩展欧几里得算法求逆的密码算法,都很有可能受到分支预测分析攻击的威胁,所以他们建议不使用此算法,来避免受到攻击。目前的抗分支预测分析攻击主要都是基于软件的方法,通过修改密码程序流程达到防护目的,但这样的方法存在一些问题:首先,增加程序员编程的要求。程序设计人员需要很好理解分支预测攻击以及其软件防护策略才能设计出抵抗分支预测分析攻击的程序;其次,降低了程序性能。软件防护策略需要通过避免条件分支的方法,如间接跳转,来达到保护目的,这往往会牺牲程序的性能,同时,有的复杂分支语句不容易使用替代方法消除;最后,增加了程序维护成本,大量没有进行防护的程序需要重构以达到防攻击的目的。
发明内容
基于上述现有技术存在的问题,本发明提出了一种面向分支预测攻击的微体系结构级安全防护方法,首次提出微体系结构的硬件防护方法来有效抵御此种攻击。在防护过程中,将使用记录表动态识别系统运行中的间谍进程,并立即激活对应的防护策略;在BTB中,最近访问的关键分支语句将被强行加锁,阻止间谍进行对其进行替换,破坏攻击条件,达到有效防护的目的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510468229.2/2.html,转载请声明来源钻瓜专利网。





