公开/公告号CN101968840A
专利类型发明专利
公开/公告日2011-02-09
原文格式PDF
申请/专利权人 杭州晟元芯片技术有限公司;
申请/专利号CN201010521977.X
申请日2010-10-26
分类号G06F21/00(20060101);G06F11/00(20060101);
代理机构33101 杭州九洲专利事务所有限公司;
代理人陈继亮
地址 310012 浙江省杭州市西湖区天目山路176号17幢203室
入库时间 2023-12-18 01:48:00
法律状态公告日
法律状态信息
法律状态
2015-11-18
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F21/00 变更前: 变更后: 申请日:20101026
专利权人的姓名或者名称、地址的变更
2013-07-24
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F21/00 变更前: 变更后: 申请日:20101026
专利权人的姓名或者名称、地址的变更
2012-09-26
授权
授权
2011-03-23
实质审查的生效 IPC(主分类):G06F21/00 申请日:20101026
实质审查的生效
2011-02-09
公开
公开
技术领域
本发明涉及SOC集成电路设计领域,尤其是一种基于电压检测和频率检测的芯片抗攻击方法。
背景技术
在信息的价值越来越被人们重视的情况下,信息安全已经成为了业界讨论的热点话题。随着攻击技术的不断发展,安全系统的解决方案逐渐从软件向硬件尤其是集成电路转移。其原因在于硬件相比于软件拥有更加高的安全级别。
然而,随着测量技术和分析技术的不断进步,出现了许多破解加密集成电路的攻击方法。非破坏性攻击方法由于保持芯片的物理封装,攻击技术门槛及成本都较低,在芯片攻击中普遍使用。针对电源的攻击和针对时钟频率的攻击是非物理攻击的两种常见攻击手段。
针对电源的攻击手段和针对时钟频率的攻击手段的思路是增加或降低芯片的输入电源或时钟频率,使芯片的工作电源或时钟频率偏离其正常工作范围,芯片工作发生紊乱,从而获得异常的访问途径。
目前,国内专利CN2840135对基于电源和频率的抗攻击手段的原理有所讲述,但是并未揭示针对此两类攻击的基于IC设计层面的抗攻击方法。
发明内容
本发明的目的就是要解决上述现有技术的缺点,提供一种基于电压检测和频率检测的芯片抗攻击方法。
本发明解决其技术问题采用的技术方案:这种基于电压检测和频率检测的芯片抗攻击方法,芯片系统包括CPU主控单元、频率检测单元、电压检测单元、抗攻击单元以及非易失性存储器单元,在非易失性存储器内存放芯片系统正常工作的核心数据;通过频率检测单元对外部的时钟输入进行监测,一旦输入的时钟频率发生异常,频率检测单元对该异常发生反应,并将反应结果传给CPU主控单元;通过电压检测单元对外部的供电电压进行监测,一旦输入电压值与正常值偏离较大,电压检测模块对该电压偏移发生反应,并将反应结果传给CPU主控单元,电压检测单元为模拟模块,接受芯片外部的供电电压,产生过高或过低电压信号,由CPU主控单元控制选择输出复位或中断;CPU主控单元接收到频率检测单元和电压检测单元的异常反应后,通过抗攻击单元对整个芯片系统进行控制,实施对芯片内部的核心数据的保护。
作为优选,所述频率检测单元中,环振产生频率检测的基准时钟f1,环振为模拟模块,将环振Disable,基准时钟f1经分频器后时钟频率降为f2,该时钟作为频率计的基准时钟,对外部输入时钟进行频率计计数,计数结果进入比较器,与CPU主控单元预设的芯片可接受高低极限频率进行比较,依据比较结果产生频率检测的输出,该输出为复位或中断,送入CPU主控单元。
作为优选,抗攻击单元采取的保护方式有三种。
1、抗攻击单元接收电压检测单元和频率检测单元的复位输出,直接对整个芯片复位,切断非易失性存储区的核心数据的读通道。
2、抗攻击单元接收电压检测单元和频率检测单元的中断输出,启动中断,由中断服务程序对芯片内的核心数据实施保护,切断CPU到非易失性存储器的核心数据区的读操作。
3、抗攻击单元接收到电压检测单元或频率检测单元的复位或中断输出后,启动硬件保护电路,通过总线向非易失性存储器发送写或插除命令,将芯片内部的非易失性存储区的核心数据改写或插除。
前两种抗攻击单元采取的抗攻击方式是一种弱保护的方法,当芯片遭受异常电压或频率攻击时,芯片切断芯片内部敏感数据区的读通道,芯片重新上电后,BOOT数据和程序数据依然保留,并且读通道回复正常,芯片可以正常工作。第三种抗攻击单元采取的抗攻击方法是一种强保护的方法,当芯片遭受异常电压或频率攻击时,芯片内部非易失性存储器的的BOOT数据和程序数据已经被改写或插除,当芯片重新上电后,BOOT数据读出错,读程序数据也发生错误,芯片无法再重新工作。抗攻击单元对抗攻击地方时的选择受CPU主控单元的控制,CPU主控单元可以Disable任何一种抗攻击方式。第三种抗攻击方法对芯片的破坏性大,只在高安全性场合采用。
本发明有益的效果是:本发明主要是从IC设计的层面,设计电压检测模块和频率检测模块,从芯片内部对输入芯片的异常电源和时钟频率作出反应,启动芯片内部的抗攻击单元,使芯片免受攻击。
附图说明
图1是本发明的系统方框结构示意图;
图2是本发明的频率检测单元的方框结构示意图;
图3是本发明的抗攻击单元的一种实施例1示意图;
图4是本发明的抗攻击单元的一种实施例2示意图;
图5是本发明的抗攻击单元的一种实施例3示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,本发明一种基于电压检测和频率检测芯片抗攻击方法,包括:CPU主控单元、频率检测单元、电压检测单元、抗攻击单元以及非易失性存储器单元。
所述CPU主控单元(101)是芯片的工作核心,为各种应用开发,包括抗攻击控制提供硬件平台,一般包括CPU内核以及存储资源,如RAM、ROM等。
所述频率检测单元(102)对外部的时钟输入进行监测,一旦输入的时钟频率发生异常,频率检测单元对该异常发生反应,并将反应结果传给CPU主控单元,其实现框图为(图2):
环振产生频率检测的基准时钟f1,环振为模拟模块,为降低功耗CPU主控单元可以将环振Disable。基准时钟f1经分频器后时钟频率降为f2,该时钟作为频率计的基准时钟,对外部输入时钟进行频率计计数,计数结果进入比较器,与CPU主控单元预设的芯片可接受高低极限频率进行比较。依据比较结果产生频率检测的输出,该输出为复位(fd_reset)或中断(fd_isr),送入CPU主控单元。
所述电压检测单元(104)对外部的供电电压进行监测,一旦输入电压值与正常值偏离较大,电压检测模块对该电压偏移发生反应,并将反应结果传给CPU主控单元。电压检测单元为模拟模块,接受芯片外部的供电电压,产生过高或过低电压信号,由CPU主控单元控制选择输出复位(vd_reset)或中断(vd_isr)。
所述非易失性存储器(105)存放芯片系统正常工作的核心数据,通常有ROM、FLASH等。芯片的BOOT数据和程序数据通常存放在非易失性存储器中,当改变BOOT数据后,芯片将无法再次正常启动。而程序数据是芯片的敏感数据,通常是不希望竞争对手得到的,在芯片设计过程中其安全性需要重点保护。
所述抗攻击单元(103)是CPU主控单元的抗攻击核心部件,CPU接收到频率检测单元和电压检测单元的异常反应后,通过抗攻击单元对整个芯片系统进行控制,实施对芯片内部的关键数据的保护。
实施例1
抗攻击单元接收电压检测单元和频率检测单元的复位输出(fd_reset或vd_reset),直接对整个芯片复位,切断非易失性存储区的敏感数据的读通道。该方法要求敏感数据区的最大地址空间是固定的,在应用过程中敏感数据不应超过此最大存储空间。
如图3所示,VPP为芯片的供电电源,Clk为芯片的时钟源,正常情况下芯片由上电复位(POR)对系统复位。频率检测(FD)和电源检测(VR)分别检测输入的时钟频率和电源,频率过高或过低以Fhout或Flout输出,电压过高或高低以Vhout或Vlout输出,防攻击单元检测到Fhout、Flout或Vhout、Vlout任一有效后,产程复位信号Rst_Fd_Vr,该信号与上电复位的复位输出Rst_Por_Pdr作组合逻辑操作,作为芯片的系统复位。组合逻辑单元实现Rst_Fd_Vr和Rst_Por_Pdr任一有效,系统即复位。此实施例对用第一种抗攻击方法。
实施例2
抗攻击单元接收电压检测单元和频率检测单元的中断输出(fd_isr或vd_isr),启动中断,由中断服务程序对芯片内的敏感数据实施保护,如切断CPU到非易失性存储器的敏感数据区的读操作。该方法对敏感数据区的要求比较灵活,用户可以依据所使用的敏感数据的大小对相应的敏感数据区实施保护。
如图4所示,VPP为芯片的供电电源,Clk为芯片的时钟源,芯片的系统复位由POR产生。频率检测(FD)和电源检测(VR)分别检测输入的时钟频率和电源,频率过高或过低以Fhout或Flout输出,电压过高或高低以Vhout或Vlout输出,防攻击单元检测到Fhout、Flout或Vhout、Vlout任一有效后,产程中断信号Isr_Fd_Vr。该中断信号与系统内其他中断源(Isr0,...,Isrn)经过中断控制后产生一个中断信号,通过人机交互控制触发芯片外部的中断服务程序。中断服务程序通过内核逻辑Disable通过总线向非易失性存储器的读操作,保护存储器内数据被窃取。此实施例对用第二种抗攻击方法。
实施例3
抗攻击单元接收到电压检测单元或频率检测单元的复位或中断输出后,启动硬件保护电路,通过总线向非易失性存储器发送写或插除命令,将芯片内部的非易失性存储区的BOOT数据或敏感数据改写或插除。
如图5所示,系统上电后,FD和VR进入default模式,此时启动FLASH的trim读操作,trim读操作是从FLASH的trim数据区执行读命令,读取FD和VR的trim数据,trim读操作不受CPU控制。当FD、VR接收到正确的trim值后,FD和VR进入active模式,频率检测和电压检测正常工作,输入频率和时钟正常时,CPU通过FLASH控制器与FLASH交互。一旦有异常频率输入或输入电压偏移过大时,CPU启动抗攻击单元,向FLASH的trim数据区执行写操作,改变FD和VR正常工作的trim值,同时将芯片复位,对FLASH和其他非易失性存储器内的敏感数据进行保护。
由于FLASH内trim值在Clk或Vpp异常时由CPU启动抗攻击单元被改写,因此芯片再次上电后,通过trim操作送到FD和VR的trim值不能使FD和VR正常工作,芯片无法进入正常工作模式。
此抗攻击方式的关键是:一旦探测到基于电压或频率的攻击行为,芯片就自动执行自毁,对芯片的破坏性大,在安全性要求不是太高的场合不建议使用。此实例为第三种控攻击方法。
术语解释
FD:频率检测
VR:电压检测
POR:上电复位
PDR:下电复位
OTP:一次可编程ROM
非物理攻击:不破坏芯片的物理封装的攻击技术,利用温度、电压、频率等异常使芯片工作发生紊乱,以窃取芯片内数据的一类攻击方法。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
机译: 基于一站式网络的随机故障抗攻击方法
机译: 基于模块化指数密码学的电子组件抗物理攻击方法
机译: 一种基于INS网络的随机感染反故障攻击方法