用于检测时钟窜改的设备和方法技术领域
本发明大体上涉及检测关于处理器的时钟和/或供应电压的窜改。
背景技术
计算系统的密码编译计算可由于引起时钟和/或供应电压上的临时尖峰(或短脉冲干
扰)而受到攻击,从而将故障引入到计算结果中。并且,攻击可增加时钟频率以充分缩短
计算时段,以使得不完全计算的错误值被取样于计算系统的寄存器中。另外,攻击可减
缓计算系统的总线以更容易攻击系统。
因此需要一种用于以高效且具成本效益的方式来检测关于处理器的时钟和/或供应
电压的窜改的技术。
发明内容
本发明的方面可驻留在一种用于检测时钟窜改的方法中。在所述方法中,提供多个
可重设延迟线段。在与最小延迟时间相关联的可重设延迟线段和与最大延迟时间相关联
的可重设延迟线段之间的可重设延迟线段各自与离散地增加的延迟时间相关联。在与时
钟相关联的时钟评估时段期间提供单调信号。使用所述多个可重设延迟线段中的每一者
来延迟所述单调信号以产生相应多个经延迟的单调信号。使用所述时钟来触发评估电
路,所述评估电路使用所述多个经延迟的单调信号来检测时钟故障。
在本发明的更详细方面中,所述方法可进一步包含在重设时段期间重设所述可重设
延迟线段。重设时段可在时钟评估时段之前。使用所述时钟来触发所述评估电路可在时
钟评估时段完结时使用时钟边沿来触发评估电路。
在本发明的其它更详细方面中,所述多个经延迟的单调信号中的每一者可为1或者
0。评估电路可确定所述多个经延迟的单调信号中的1的数目是否与水位数目相差超过
预定阈值。可基于来自一或多个先前时钟评估时间的经延迟的单调信号来确定所述水位
数目。所述多个可重设延迟线段可包括沿延迟线的分接头。替代地,所述多个可重设延
迟线段包括并联延迟线。
本发明的另一方面可驻留在一种用于检测时钟窜改的设备中,所述设备包括:用于
在与时钟相关联的时钟评估时段期间提供单调信号的装置;用于使用多个可重设延迟线
段来延迟所述单调信号以产生相应多个经延迟的单调信号的装置,所述相应多个经延迟
的单调信号具有在最小延迟时间与最大延迟时间之间的离散地增加的延迟时间;以及用
于使用所述时钟来触发评估电路的装置,所述评估电路使用所述多个经延迟的单调信号
来检测时钟故障。
本发明的另一方面可驻留在一种用于检测时钟窜改的设备中,所述设备包括提供单
调信号的电路、多个可重设延迟线段和评估电路。所述电路在与时钟相关联的时钟评估
时段期间提供单调信号。所述多个可重设延迟线段延迟所述单调信号以产生相应多个经
延迟的单调信号。在与最小延迟时间相关联的可重设延迟线段和与最大延迟时间相关联
的可重设延迟线段之间的可重设延迟线段各自与离散地增加的延迟时间相关联。评估电
路是由所述时钟触发并使用所述多个经延迟的单调信号来检测时钟故障。
本发明的另一方面可驻留在一种用于检测时钟窜改的设备中,所述设备包括:第一
电路、第一多个可重设延迟线段;第二电路;第二多个可重设延迟线段;以及评估电路。
第一电路在与时钟相关联的第一时钟评估时段期间提供第一单调信号。第一多个可重设
延迟线段各自延迟第一单调信号以产生相应第一多个经延迟的单调信号。在与最小延迟
时间相关联的可重设延迟线段和与最大延迟时间相关联的可重设延迟线段之间的可重
设延迟线段各自与离散地增加的延迟时间相关联。第二电路在与所述时钟相关联的第二
时钟评估时段期间提供第二单调信号。所述第二时钟评估时段涵盖不同于第一时钟评估
时段的时间。所述第二多个可重设延迟线段各自延迟第一单调信号以产生相应第二多个
经延迟的单调信号。在与最小延迟时间相关联的可重设延迟线段和与最大延迟时间相关
联的可重设延迟线段之间的可重设延迟线段各自与离散地增加的延迟时间相关联。评估
电路是由所述时钟触发,并使用所述第一多个经延迟的单调信号或所述第二多个经延迟
的单调信号来检测时钟故障。
本发明的方面可驻留在一种用于检测电压窜改的方法中。在所述方法中,提供多个
可重设延迟线段。在与最小延迟时间相关联的可重设延迟线段和与最大延迟时间相关联
的可重设延迟线段之间的可重设延迟线段各自与离散地增加的延迟时间相关联。在评估
时段期间提供单调信号。使用所述多个可重设延迟线段中的每一者来延迟所述单调信号
以产生相应多个经延迟的单调信号。使用时钟来触发评估电路,所述评估电路使用所述
多个经延迟的单调信号来检测电压故障。
在本发明的更详细方面中,所述方法可进一步包含在重设时段期间重设所述可重设
延迟线段。重设时段可在评估时段之前。使用所述时钟来触发评估电路可在评估时段完
结时使用时钟边沿来触发评估电路。
在本发明的其它更详细方面中,所述多个经延迟的单调信号中的每一者包括1或者
0。评估电路可确定所述多个经延迟的单调信号中的1的数目是否与水位数目相差超过
预定阈值。可基于来自一或多个先前评估时间的经延迟的单调信号来确定所述水位数
目。所述多个可重设延迟线段可包括沿延迟线的分接头。替代地,所述多个可重设延迟
线段包括并联延迟线。
本发明的另一方面可驻留在一种用于检测电压窜改的设备中,所述设备包括:用于
在评估时间期间提供单调信号的装置;用于使用多个可重设延迟线段来延迟所述单调信
号以产生相应多个经延迟的单调信号的装置,所述相应多个经延迟的单调信号具有在最
小延迟时间与最大延迟时间之间的离散地增加的延迟时间;以及用于使用所述时钟来触
发评估电路的装置,所述评估电路使用所述多个经延迟的单调信号来检测电压故障。
本发明的另一方面可驻留在一种用于检测电压窜改的设备中,所述设备包括提供单
调信号的电路、多个可重设延迟线段以及评估电路。所述电路在评估时段期间提供单调
信号。所述多个可重设延迟线段延迟所述单调信号以产生相应多个经延迟的单调信号。
在与最小延迟时间相关联的可重设延迟线段和与最大延迟时间相关联的可重设延迟线
段之间的可重设延迟线段各自与离散地增加的延迟时间相关联。评估电路是由时钟触
发,并使用所述多个经延迟的单调信号来检测电压故障。
附图说明
图1是根据本发明的用于检测时钟窜改的方法的流程图。
图2是用于检测时钟窜改或电压窜改的设备的框图。
图3是时钟信号和重设信号的示意图。
图4是并联延迟线段的示意图。
图5是串联延迟线段的示意图。
图6是评估电路中的检测电路的示意图。
图7是具有双重延迟线的电路的示意图,所述双重延迟线用于检测具有不均匀占空
比的时钟。
图8是根据本发明的用于检测电压窜改的方法的流程图。
具体实施方式
词语“示例性”在本文中用于意指“充当实例、例子或说明”。本文中描述为“示
例性”的任何实施例未必应被理解为比其它实施例优选或有利。
参考图1、2和3,本发明的方面可驻留在一种用于检测时钟窜改的方法100中。在
所述方法中,提供多个可重设延迟线段210(步骤110)。在与最小延迟时间相关联的可
重设延迟线段210-1和与最大延迟时间相关联的可重设延迟线段210-N之间的可重设延
迟线段各自与离散地增加的延迟时间相关联。在与时钟CLK相关联的时钟评估时段310
期间提供单调信号220(步骤120)。使用所述多个可重设延迟线段中的每一者来延迟单
调信号以产生相应多个经延迟的单调信号230(步骤130)。使用所述时钟来触发评估电
路240(步骤140),所述评估电路240使用所述多个经延迟的单调信号来检测时钟故障。
在本发明的更详细方面中,方法100可进一步包含在重设时段320期间使用重设信
号RST来重设可重设延迟线段210。重设时段可在时钟评估时段310之前。使用时钟
CLK来触发评估电路240可在时钟评估时段完结时使用时钟边沿来触发评估电路。
在本发明的其它更详细方面中,所述多个经延迟的单调信号230中的每一者可为1
或者0。评估电路240可确定所述多个经延迟的单调信号中的1的数目是否与水位数目
相差超过预定阈值。可基于来自一或多个先前时钟评估时间310的经延迟的单调信号来
确定所述水位数目。
参考图4,多个可重设延迟线段210可包括并联分段式延迟线。一个延迟线段可仅
具有产生最小经延迟的单调信号的一个延迟元件。另一延迟线段可具有产生最大经延迟
的单调信号230-N的N个延迟元件。延迟线中的“与”门可各自具有重设输入端RST,
以重设延迟元件之间的线从而将延迟线设定到初始已知状态。
参考图5,多个可重设延迟线段310可包括沿延迟线的分接头。分段式延迟线可具
有沿线的分接头以产生相应经延迟的单调信号230。评估信号EVAL可使用延迟元件之
间的“与”门来重设线段。评估信号可由时钟信号CLK形成(例如,时钟信号的二分之
一)。
参考图6,评估电路可使用检测电路,所述检测电路各自具有一个触发器或一对触
发器以响应于时钟来锁存每一可重设延迟线段的相应经延迟的单调信号230-N。
可通过引入重设运算符来达成单调0到1转变。每一重设运算符可独立于任何设置
违规在重设阶段期间将感测电路的相应延迟线重设到已知状态,同时电路在评估阶段期
间进行感测。在没有重设运算符的情况下,检测速度慢于预期频率的感测电路可处于未
知状态。实施重设运算符有几种方式。如图4和5中所示,可将“与”门插入于(一或多
个)延迟线中。可通过单调0到1信号来驱动“与”门的一个输入端,并且可通过否定重
设信号来驱动另一个输入端。每一“与”门允许在重设期内重设其的一部分延迟线,同
时在评估期期间传播单调0到1信号。
本发明的技术的检测速度可快于和慢于预期时钟频率。其也可检测单调信号的设置
时间违规,从而以快于预期频率或短脉冲干扰的速度进行感测。可检测设置时间违规的
数目的实质性变化,以提供自适应性环境不敏感传感器。归因于例如温度等标准环境变
化的较小差异将在预定检测阈值内。归因于窜改(频率和/或电压)的较大违规差异将超出
预定检测阈值的范围。
当触发具有最长传播延迟的电路时,可检测到无时钟存在条件。这种触发可由异步
电路用来立刻作出反应,或可设定系统的状态位,以稍候在时钟恢复时作出反应。
极高稳态频率检测取决于最短延迟线的重设运算符之间的延迟。重设这个延迟线所
需的时间越短,实际上分派用于重设延迟线的时间可能越短。其它感测电路的重设运算
符之间的延迟可不大迫切并且可由最高可接受的操作频率来确定。
可使用几种技术来检测变化的设置违规的数目是否相当大。一种方式是使每一检测
电路的状态与电路的先前状态进行异或运算并将‘1’的数目与阈值相比较。另一种方
式是使用STA(静态时序分析)或在校准阶段期间确定与预期频率对应的特定检测电路。
这个特定电路充当水位:与更短延迟线相关联的电路将测量‘0’,而与更长延迟线相关
联的电路将测量‘1’。高水位标记和低水位标记可充当触发器。
应注意,可以容易实施几个变化。作为实例,检测/感测电路可取决于单调1到0
转变,并且电路可重设到1。作为另一实例,电路可插入单调1到0和0到1转变。作
为另一实例,可用MUX来实施重设运算符,所述MUX基于单调信号与重设值之间的
重设信号选定。作为另一实例,延迟线可由缓冲器、成对逆变器或保证单调信号转变的
任何电路组成。作为另一实例,可省略无时钟检测。作为另一实例,可在重设阶段结束
时取样‘快速’线(或任何其它线)以证实电路已被完全重设。作为另一实例,检测电路
可减少到仅具有2个延迟线段,其中一个延迟线段对应于高水位标记,另一延迟线段对
应于低水位标记。
本发明的另一方面可驻留在一种用于检测时钟窜改的设备中,所述设备包括:用于
在与时钟CLK相关联的时钟评估时段310期间提供单调信号220的装置250;用于使用
多个可重设延迟线段来延迟所述单调信号以产生相应多个经延迟的单调信号230的装置
210,所述相应多个经延迟的单调信号230具有在最小延迟时间与最大延迟时间之间的
离散地增加的延迟时间;以及用于使用时钟CLK来触发评估电路240的装置240,所述
评估电路240使用所述多个经延迟的单调信号来检测时钟故障。
本发明的另一方面可驻留在一种用于检测时钟窜改的设备中,所述设备包括:提供
单调信号220的电路250;多个可重设延迟线段210;以及评估电路240。电路250在与
时钟CLK相关联的时钟评估时段310期间提供单调信号。所述多个可重设延迟线段延
迟所述单调信号以产生相应多个经延迟的单调信号230。在与最小延迟时间相关联的可
重设延迟线段210-1和与最大延迟时间相关联的可重设延迟线段210-N之间的可重设延
迟线段各自与离散地增加的延迟时间相关联。评估电路240是由时钟CLK触发,并使
用所述多个经延迟的单调信号来检测时钟故障。
可通过使用双重电路来检测具有不均匀占空比的时钟信号:一个电路由时钟信号驱
动,并且另一个电路由否定时钟信号驱动。在没有双重电路的情况下,可通过增加重设
期但使评估期保持不变来减缓频率而无法觉察到。在双重电路方法的情况下,将保证一
个电路在这个长时间间隔期间处于评估阶段中。
进一步参考图7,本发明的另一方面可驻留在一种用于检测时钟窜改的设备中,所
述设备包括:第一电路750A、第一多个可重设延迟线段710、第二电路750B、第二多
个可重设延迟线段720以及评估电路240。第一电路在与时钟相关联的第一时钟评估时
段期间提供第一单调信号。第一多个可重设延迟线段各自延迟第一单调信号以产生相应
第一多个经延迟的单调信号。在与最小延迟时间相关联的可重设延迟线段和与最大延迟
时间相关联的可重设延迟线段之间的可重设延迟线段各自与离散地增加的延迟时间相
关联。第二电路在与时钟相关联的第二时钟评估时段期间提供第二单调信号。第二时钟
评估时段涵盖不同于第一时钟评估时段的时间,如可由逆变器730推行。第二多个可重
设延迟线段各自延迟第一单调信号以产生相应第二多个经延迟的单调信号。在与最小延
迟时间相关联的可重设延迟线段和与最大延迟时间相关联的可重设延迟线段之间的可
重设延迟线段各自与离散地增加的延迟时间相关联。评估电路是由时钟(例如,EVAL)
触发,并使用第一多个经延迟的单调信号或第二多个经延迟的单调信号来检测时钟故
障。多路复用器760可选择第一或第二多个经延迟的单调信号中的哪一者是有源的以被
提供到评估电路。
可使用静态CMOS基于组合逻辑来实施本发明的技术,所述静态CMOS基于处理
器的现有电路集成而相对具有成本效益。可通过采用延迟线的数目和多频规划支持来达
成对延迟线的过程、电压和温度变化的检测补偿。可检测故障发作中所使用的电压尖峰。
这些电压尖峰可减少电压,减缓电路和导致不完全计算被取样于寄存器中。替代地,电
压的增加可加快电路从而导致出人意料的计算或结果被取样于寄存器中。
参考图2、3和8,本发明的另一方面可驻留在一种用于检测电压窜改的方法800中。
在所述方法中,提供多个可重设延迟线段210(步骤810)。在与最小延迟时间相关联的
可重设延迟线段210-1和与最大延迟时间相关联的可重设延迟线段210-N之间的可重设
延迟线段各自与离散地增加的延迟时间相关联。在评估时段310期间提供单调信号220
(步骤820)。使用所述多个可重设延迟线段中的每一者来延迟单调信号以产生相应多个
经延迟的单调信号230(步骤830)。使用时钟来触发评估电路240,所述评估电路240使
用所述多个经延迟的单调信号来检测电压故障(步骤840)。
在本发明的更详细方面中,方法800可进一步包含在重设时段320期间使用重设信
号RST来重设可重设延迟线段210。重设时段可在评估时段310之前。使用时钟CLK
来触发评估电路220可在评估时段完结时使用时钟边沿来触发评估电路。
在本发明的其它更详细方面中,所述多个经延迟的单调信号230中的每一者可包括
1或者0。评估电路240可确定所述多个经延迟的单调信号中的1的数目是否与水位数
目相差超过预定阈值。可基于来自一或多个先前评估时间310的经延迟的单调信号来确
定水位数目。所述多个可重设延迟线段可包括沿延迟线的分接头。替代地,所述多个可
重设延迟线段包括并联延迟线。
本发明的另一方面可驻留在一种用于检测电压窜改的设备中,所述设备包括:用于
在评估时间310期间提供单调信号220的装置250;用于使用多个可重设延迟线段来延
迟所述单调信号以产生相应多个经延迟的单调信号230的装置210,所述相应多个经延
迟的单调信号230具有在最小延迟时间与最大延迟时间之间的离散地增加的延迟时间;
以及用于使用所述时钟来触发评估电路240的装置240,所述评估电路240使用所述多
个经延迟的单调信号来检测电压故障。
本发明的另一方面可驻留在一种用于检测电压窜改的设备中,所述设备包括:提供
单调信号220的电路250、多个可重设延迟线段210以及评估电路240。电路250在评
估时段310期间提供单调信号。所述多个可重设延迟线段延迟所述单调信号以产生相应
多个经延迟的单调信号230。在与最小延迟时间相关联的可重设延迟线段210-1和与最
大延迟时间相关联的可重设延迟线段210-N之间的可重设延迟线段各自与离散地增加的
延迟时间相关联。评估电路240是由时钟CLK触发,并使用所述多个经延迟的单调信
号来检测电压故障。
贯穿以上描述所揭示的电路可包含于计算系统(例如,桌上型或膝上型计算机、平板
计算机、移动装置、蜂窝式电话等)中。所属领域的技术人员将进一步了解,关于本文中
所揭示的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、
或硬件与计算机软件的组合。此类功能性是实施为硬件还是软件取决于特定应用及外加
于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述
的功能性,但此些实施方案决策不应被解释为会导致脱离本发明的范围。
结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块和电路可与通用处理
器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计
以执行本文所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件
或其任何组合集成。通用处理器可以为微处理器,但在替代例中,处理器可为任何常规
的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP
与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此
类配置。
结合本文中所揭示的实施例而描述的方法或算法的步骤可直接体现于硬件中或硬
件与由处理器执行的软件模块的组合中。软件模块可驻留在RAM存储器、快闪存储器、
ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可卸除式磁盘、CD-ROM
或所属领域中已知的任何其它形式的存储媒体中。示例性存储媒体耦合到处理器,使得
处理器可以从存储媒体读取信息及将信息写入到存储媒体。在替代例中,存储媒体可与
处理器集成。处理器和存储媒体可驻留在ASIC中。ASIC可驻留在用户终端中。在替代
例中,处理器和存储媒体可作为离散组件驻留在计算系统/用户终端中。
提供所揭示实施例的先前描述以使得任何所属领域的技术人员能够制作或使用本
发明。所属领域的技术人员将容易显而易见对这些实施例的各种修改,且可在不脱离本
发明的精神或范围的情况下将本文定义的一般原理应用到其它实施例。因此,本发明并
不既定限于本文所示的方面,而应被赋予与本文所揭示的原理和新颖特征相一致的最广
泛范围。