一种基于电压检测和频率检测的芯片抗攻击方法

文档序号:6334546阅读:1022来源:国知局
专利名称:一种基于电压检测和频率检测的芯片抗攻击方法
技术领域
本发明涉及SOC集成电路设计领域,尤其是一种基于电压检测和频率检测的芯片 抗攻击方法。
背景技术
在信息的价值越来越被人们重视的情况下,信息安全已经成为了业界讨论的热点 话题。随着攻击技术的不断发展,安全系统的解决方案逐渐从软件向硬件尤其是集成电路 转移。其原因在于硬件相比于软件拥有更加高的安全级别。然而,随着测量技术和分析技术的不断进步,出现了许多破解加密集成电路的攻 击方法。非破坏性攻击方法由于保持芯片的物理封装,攻击技术门槛及成本都较低,在芯片 攻击中普遍使用。针对电源的攻击和针对时钟频率的攻击是非物理攻击的两种常见攻击手 段。针对电源的攻击手段和针对时钟频率的攻击手段的思路是增加或降低芯片的输 入电源或时钟频率,使芯片的工作电源或时钟频率偏离其正常工作范围,芯片工作发生紊 乱,从而获得异常的访问途径。目前,国内专利CN2840135对基于电源和频率的抗攻击手段的原理有所讲述,但 是并未揭示针对此两类攻击的基于IC设计层面的抗攻击方法。

发明内容
本发明的目的就是要解决上述现有技术的缺点,提供一种基于电压检测和频率检 测的芯片抗攻击方法。本发明解决其技术问题采用的技术方案这种基于电压检测和频率检测的芯片抗 攻击方法,芯片系统包括CPU主控单元、频率检测单元、电压检测单元、抗攻击单元以及非 易失性存储器单元,在非易失性存储器内存放芯片系统正常工作的核心数据;通过频率检 测单元对外部的时钟输入进行监测,一旦输入的时钟频率发生异常,频率检测单元对该异 常发生反应,并将反应结果传给CPU主控单元;通过电压检测单元对外部的供电电压进行 监测,一旦输入电压值与正常值偏离较大,电压检测模块对该电压偏移发生反应,并将反应 结果传给CPU主控单元,电压检测单元为模拟模块,接受芯片外部的供电电压,产生过高或 过低电压信号,由CPU主控单元控制选择输出复位或中断;CPU主控单元接收到频率检测单 元和电压检测单元的异常反应后,通过抗攻击单元对整个芯片系统进行控制,实施对芯片 内部的核心数据的保护。作为优选,所述频率检测单元中,环振产生频率检测的基准时钟f\,环振为模拟模 块,将环振Disable,基准时钟经分频器后时钟频率降为f2,该时钟作为频率计的基准时 钟,对外部输入时钟进行频率计计数,计数结果进入比较器,与CPU主控单元预设的芯片可 接受高低极限频率进行比较,依据比较结果产生频率检测的输出,该输出为复位或中断,送 入CPU主控单元。
3
作为优选,抗攻击单元采取的保护方式有三种。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)环振产生频率检测的基准时钟,环振为模拟模块,为降低功耗CPU主控单元可以 将环振Disable。基准时钟经分频器后时钟频率降为f2,该时钟作为频率计的基准时钟,
4对外部输入时钟进行频率计计数,计数结果进入比较器,与CPU主控单元预设的芯片可接 受高低极限频率进行比较。依据比较结果产生频率检测的输出,该输出为复位(fcLreset) 或中断(fd_isr),送入CPU主控单元。所述电压检测单元(104)对外部的供电电压进行监测,一旦输入电压值与正常值 偏离较大,电压检测模块对该电压偏移发生反应,并将反应结果传给CPU主控单元。电压检 测单元为模拟模块,接受芯片外部的供电电压,产生过高或过低电压信号,由CPU主控单元 控制选择输出复位(vd_reset)或中断(vd_isr)。所述非易失性存储器(105)存放芯片系统正常工作的核心数据,通常有ROM、 FLASH等。芯片的BOOT数据和程序数据通常存放在非易失性存储器中,当改变BOOT数据 后,芯片将无法再次正常启动。而程序数据是芯片的敏感数据,通常是不希望竞争对手得到 的,在芯片设计过程中其安全性需要重点保护。所述抗攻击单元(103)是CPU主控单元的抗攻击核心部件,CPU接收到频率检测 单元和电压检测单元的异常反应后,通过抗攻击单元对整个芯片系统进行控制,实施对芯 片内部的关键数据的保护。实施例1抗攻击单元接收电压检测单元和频率检测单元的复位输出(fcLreset或vd_ reset),直接对整个芯片复位,切断非易失性存储区的敏感数据的读通道。该方法要求敏感 数据区的最大地址空间是固定的,在应用过程中敏感数据不应超过此最大存储空间。如图3所示,VPP为芯片的供电电源,Clk为芯片的时钟源,正常情况下芯片由上 电复位(POR)对系统复位。频率检测(FD)和电源检测(VR)分别检测输入的时钟频率和电 源,频率过高或过低以Fhout或Flout输出,电压过高或高低以Vhout或Vlout输出,防攻 击单元检测到Fhout、Flout或Vhout、Vlout任一有效后,产程复位信号Rst_Fd_Vr,该信号 与上电复位的复位输出Rst_P0r_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。该中断信号与系统内其他中 断源(IsrO,Isrn)经过中断控制后产生一个中断信号,通过人机交互控制触发芯片外 部的中断服务程序。中断服务程序通过内核逻辑Disable通过总线向非易失性存储器的读 操作,保护存储器内数据被窃取。此实施例对用第二种抗攻击方法。实施例3抗攻击单元接收到电压检测单元或频率检测单元的复位或中断输出后,启动硬件
5保护电路,通过总线向非易失性存储器发送写或插除命令,将芯片内部的非易失性存储区 的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:电压检测P0R:上电复位PDR:下电复位OTP 一次可编程 ROM非物理攻击不破坏芯片的物理封装的攻击技术,利用温度、电压、频率等异常使 芯片工作发生紊乱,以窃取芯片内数据的一类攻击方法。除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形 成的技术方案,均落在本发明要求的保护范围。
权利要求
一种基于电压检测和频率检测的芯片抗攻击方法,其特征在于芯片系统包括CPU主控单元、频率检测单元、电压检测单元、抗攻击单元以及非易失性存储器单元,在非易失性存储器内存放芯片系统正常工作的核心数据;通过频率检测单元对外部的时钟输入进行监测,一旦输入的时钟频率发生异常,频率检测单元对该异常发生反应,并将反应结果传给CPU主控单元;通过电压检测单元对外部的供电电压进行监测,一旦输入电压值与正常值偏离较大,电压检测模块对该电压偏移发生反应,并将反应结果传给CPU主控单元,电压检测单元为模拟模块,接受芯片外部的供电电压,产生过高或过低电压信号,由CPU主控单元控制选择输出复位或中断;CPU主控单元接收到频率检测单元和电压检测单元的异常反应后,通过抗攻击单元对整个芯片系统进行控制,实施对芯片内部的核心数据的保护。
2.根据权利要求1所述的基于电压检测和频率检测的芯片抗攻击方法,其特征在于 所述频率检测单元中,环振产生频率检测的基准时钟fi,环振为模拟模块,将环振Disable, 基准时钟经分频器后时钟频率降为f2,该时钟作为频率计的基准时钟,对外部输入时钟 进行频率计计数,计数结果进入比较器,与CPU主控单元预设的芯片可接受高低极限频率 进行比较,依据比较结果产生频率检测的输出,该输出为复位或中断,送入CPU主控单元。
3.根据权利要求1所述的基于电压检测和频率检测的芯片抗攻击方法,其特征在于 抗攻击单元接收电压检测单元和频率检测单元的复位输出,直接对整个芯片复位,切断非 易失性存储区的核心数据的读通道。
4.根据权利要求1所述的基于电压检测和频率检测的芯片抗攻击方法,其特征在于 抗攻击单元接收电压检测单元和频率检测单元的中断输出,启动中断,由中断服务程序对 芯片内的核心数据实施保护,切断CPU到非易失性存储器的核心数据区的读操作。
5.根据权利要求1所述的基于电压检测和频率检测的芯片抗攻击方法,其特征在于 抗攻击单元接收到电压检测单元或频率检测单元的复位或中断输出后,启动硬件保护电 路,通过总线向非易失性存储器发送写或插除命令,将芯片内部的非易失性存储区的核心 数据改写或插除。
全文摘要
本发明涉及一种基于电压检测和频率检测的芯片抗攻击方法,芯片包括CPU主控单元、频率检测单元、电压检测单元、抗攻击单元以及非易失性存储器单元,在非易失性存储器内存放芯片正常工作的核心数据;通过频率检测单元对外部的时钟输入进行监测,一旦输入的时钟频率发生异常,频率检测单元对该异常发生反应,并将反应结果传给CPU主控单元;CPU主控单元接收到频率检测单元和电压检测单元的异常反应后,通过抗攻击单元对整个芯片进行控制,实施对芯片内部的核心数据的保护。本发明有益的效果是主要是从IC设计的层面,设计电压检测模块和频率检测模块,从芯片内部对输入芯片的异常电源和时钟频率作出反应,启动芯片内部的抗攻击单元,使芯片免受攻击。
文档编号G06F21/00GK101968840SQ20101052197
公开日2011年2月9日 申请日期2010年10月26日 优先权日2010年10月26日
发明者夏军虎, 徐功益, 钱志恒 申请人:杭州晟元芯片技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1