掌桥专利:专业的专利平台
掌桥专利
首页

用于集成电路的物理安全保护

文献发布时间:2024-04-18 20:01:55


用于集成电路的物理安全保护

技术领域

本发明涉及集成电路(IC),更具体地,涉及提供可以帮助防止对这样的装置的某些部件的未经授权的访问的措施。

背景技术

随着IC变得越来越复杂和强大,已越来越多得注意到对某些部件(例如,包括敏感数据或软件的部件,或可以用于行使合并有集成电路的装置的未经授权的控制的部件)的未经授权访问所造成的风险。因此,制造商现在常规采取措施以阻止或防止黑客这样的访问。

近年来,黑客已开始通过将能量(例如,通过电磁脉冲(EMP)或激光攻击)注入电路来篡改正在运行的数字电路。这样的攻击可能会因触发器值的改变、逻辑网络上的尖峰或逻辑中的时序变化而引起错误行为。触发器的错误切换特别值得关注,因为尖峰可能会诸如通过EMP脉冲而被注入到时钟网中,这可以导致大量的触发器错误地改变状态。

另一种攻击类型是例如通过使用背面激光的对单独的临界触发器的针对性攻击。这些临界触发器可以例如保护对调试端口的访问。因此,临界触发器攻击可能允许读取资产或通过仍然存在于装置中的资产而再利用电路。因此,尽管针对性的攻击是成本更高的攻击,但它可能更严重。

申请人已认识到EMP攻击对集成电路造成安全威胁,并且因此需要检测措施。通常,如果在设计期间确定了临界触发器,则它们由影子触发器单独地保护。影子触发器捕获临界触发器值。然后,XNOR(同或)门可以取临界触发器值和影子触发器值,并且如果其中任何一个触发器因能量注入事件(诸如EMP攻击)而改变值,则错误可能被触发。然而,该设计仅保护与影子触发器连接的单个临界触发器。

更典型的攻击是使用EMP探测器对裸片(die)的一部分进行的定向攻击。在这种情况下,强电磁场被注入到裸片表面的一部分,以干扰裸片的触发器内容。这些攻击通常只切换裸片的一部分上的组件。因此,如果EMP攻击发生在没有被影子触发器单独保护的裸片的一部分上,则攻击将不会触发错误,允许其不被检测到。

发明内容

本发明旨在至少部分地解决上述问题,并且从第一个方面来看,提供了集成电路,该集成电路包括用于检测对该集成电路的电磁脉冲(EMP)攻击的检测电路部分,该检测电路部分包括:

影子触发器,包括时钟输入端;

时钟网,连接到所述时钟输入端;

时钟门,连接到时钟网,其中,时钟门由使能信号控制,以选择性地处于打开状态或关闭状态,在打开状态中时钟门将时钟信号传递给时钟网,在关闭状态中时钟门不将时钟信号传递给时钟网;以及

错误电路部分;

其中,错误电路部分被设置为在影子触发器被来自时钟网的信号定时并且时钟门处于关闭状态的情况下选择性输出错误信号。

因此,本领域技术人员将理解,本发明提供了用于检测对集成电路的EMP攻击的检测电路部分。EMP攻击将通常导致时钟网切换,并且因此影子触发器接收来自时钟网的时钟脉冲。如果在时钟门未被使能信号打开时发生这种情况,则由影子触发器接收到的时钟信号将被标记为错误。根据本发明的检测电路部分可以只需要公共电路元件,并且因此可以与正常的设计流程完全兼容,从而可以在任何正常的数字逻辑电路中实现。由于即使时钟门没有被使能信号打开时钟网也通常会被EMP攻击切换,因此时钟网可以作为能量探测器。检测电路部分优选是完全无源的,使得时钟门的关闭意味着检测电路部分没有有功功耗,并且只产生最小的泄漏电流。

在一组实施例中,集成电路还包括临界电路部分。影子触发器可以被设置为保护临界电路部分。临界电路部分可以接收时钟信号作为输入并输出临界信号。然后可以将临界信号输入到检测电路部分。错误电路部分可以被设置为比较临界信号和影子触发器的输出,并且如果这两个输入相同,则选择性地输出错误信号。当时钟门关闭时,如果影子触发器被来自时钟网的信号定时,则临界信号和影子触发器信号可能是相同的,因为这可能指示时钟网中的脉冲来自EMP攻击。在一组实施例中,临界电路部分包括临界触发器。

在一组实施例中,使能信号仅在对受保护的临界电路部分进行有效更新时(诸如,软件将代码写入给定寄存器时)使能时钟信号通过时钟门到时钟网。因此,在这样的实施例中,影子触发器仅在临界电路部分捕获临界值时被定时。

如上所述,在一组实施例中,错误电路部分被设置为比较临界信号和影子触发器的输出,如果值相同,则选择性地输出误差信号。这可能表明影子触发器已经接收到一个或多个未预期的时钟边缘,而没有进行有效的更新,导致影子触发器捕获与临界电路部分相同(未改变)的值。在一组实施例中,检测电路部分还包括XOR(异或)门。XOR门可以被设置为具有是使能信号的第一输入和是临界信号的第二输入。本领域技术人员将理解,如果第一输入和第二输入相同则XOR门将输出逻辑0,而如果第一输入和第二输入不同则输出逻辑1。

在一组实施例中,错误电路部分包括XNOR门,XNOR门包括是临界信号的第一输入和是影子触发器输出端的信号的第二输入。本领域技术人员将理解,如果其第一输入和第二输入不同,则XNOR门将输出逻辑0,而如果其第一输入和第二输入相同,则输出逻辑1。因此,如果临界电路部分输出和影子触发器输出相同,则错误信号仅由XNOR门输出。

在这样的实施例中,检测电路部分中的影子触发器应仅在使能信号打开时钟门以便将时钟信号输入到影子触发器时才被定时以加载临界值。如果对由检测电路部分保护的临界电路部分进行后续有效更新(即,提供新的临界值),则使能信号将再次打开时钟门。因此,时钟门将使时钟信号以沿时钟网传播到影子触发器。使能信号也是XOR门的输入和被有效写入的临界电路部分的输出。因此,XOR门将输出反相的临界值作为影子触发器的输入。因此,影子触发器将对所保护的临界电路部分的输出具有不同的输出,并且错误电路部分中的XNOR门将不会输出错误信号,因为临界信号和影子触发器的值将不同。

因此,将理解,根据优选实施例,当临界电路部分未被有效写入时,使能信号关闭时钟门,因此只有在时钟网附近存在能量注入时,影子触发器值才会意外地切换。这将导致影子触发器输出和临界电路部分输出具有相同的值,并且因此错误电路部分的XNOR门将输出错误信号,这可以向IC的另一部分提供电路上有EMP攻击的警告。

在一组实施例中,集成电路响应由错误电路部分输出的错误信号而停止或暂停操作,以便防止攻击者访问由临界电路部分保护的任何资产。

在一组实施例中,时钟网分布在集成电路周围。申请人已经意识到,由于影子触发器只需要在使能信号在有效更新的情况下打开时钟门时进行定时,时钟网不需要遵守正常的定时规则,并且因此可以沿着其路径在任何其他自定义逻辑的附近分隔。时钟网的一部分可以物理地位于一个或多个临界电路部分的附近;其他部分可以与这些临界电路部分隔开。以这种方式,即使攻击点远离端点影子触发器,时钟网很可能被时钟网路由附近的任何地方的能量注入事件所切换。因此,即使影子触发器不直接在攻击线上,电路也能够检测到定向EMP攻击的存在,这与现有技术设计不同,现有技术设计使用单个影子触发器保护单个临界触发器。

在一组实施例中,时钟网包括反相器链。如果时钟网络中任何反相器中的PMOS或NMOS因能量注入而改变其静态行为,这将产生脉冲,该脉冲将沿着时钟网传播,直到到达影子触发器为止。

在一组实施例中,集成电路还包括提供时钟信号的时钟。时钟可以包括被设置为输出周期性时钟信号的电子振荡器(诸如晶体振荡器)。时钟信号可以用于集成电路中的定时目的。

为了保护集成电路各部分中甚至更多的临界电路部分,在一组实施例中,集成电路包括多个检测电路部分,每个检测电路部分连接到不同的临界电路部分。来自多个检测器电路部分中的每一个检测器电路部分的时钟网可以物理地分布在集成电路周围,这将对集成电路中任何位置的任何能量注入事件提供强大的保护。

在适当的情况下,本文描述的任何方面或实施例的特征可以应用于本文描述的任何其他方面或实施例。当参考不同实施例时,应理解这些不一定是不同的,而可以重叠。

附图说明

现在将仅通过示例的方式并参考附图来描述本发明的实施例,其中:

图1示出了现有技术的影子检测器电路的电路图;

图2示出了保护单个临界触发器的现有技术的影子触发器的简化电路图;

图3示出了对图2的电路的EMP攻击;

图4是根据本发明的具有检测电路部分的集成电路的示意性框图;

图5示出了根据本发明的具有检测电路部分以检测EMP攻击的集成电路的电路图;

图6示出了说明使用检测电路部分以保护多个临界触发器的简化电路图。

具体实施方式

图1示出了集成电路32中的现有技术的影子检测器电路2的电路图,用于保护在设计期间已被确定的临界触发器8。影子检测器电路2包括NOT(非)门12、多路复用器14、影子触发器6和XNOR门18。

临界触发器8由时钟信号10(例如,来自晶体振荡器)进行定时,晶体振荡器也用于对影子触发器6进行定时。临界触发器8输出端还连接到NOT门12,NOT门12进一步连接为多路复用器14的输入端。多路复用器14具有来自影子触发器6的输出端的第二输入,以及由捕获信号16提供的选择器输入。多路复用器14输出端向影子触发器6提供输入。XNOR门18接收影子触发器6输出和临界触发器输出19。

使能信号16向多路复用器14提供选择器输入。使能信号16只有在发生对临界触发器8的有效更新时(诸如,当软件被用于向给定寄存器写入时)才为高。

如下图所示,如果影子触发器6或临界触发器8(影子触发器6被设置为保护临界触发器8)在使能信号16为低时因能量注入事件而改变值,则影子检测器电路2被设置为输出错误信号4。

为了实现这一点,NOT门12向多路复用器14提供反转版本的临界触发器输出。因此,如果使能信号16为高,则影子触发器6和临界触发器8的输出将不同,并且错误信号4将由XNOR门18触发。

如果影子触发器6或临界触发器8的输出(Q)被改变使得影子触发器6和临界触发器8具有相同的值,则错误信号4将由XNOR门18输出。由于使能信号16在临界触发器8没有被写入时为低,如果临界触发器8或影子触发器6改变值(这被解释为潜在的攻击),因此接下来错误信号4将被触发。

图2示出了在这种布置下,影子触发器6可以只保护单个临界触发器8D。然而,如可以看到,示例性同步电路20包括连接到由反相器21组成的时钟树22的四个临界触发器8A、8B、8C、8D。

由于影子触发器6被配置为只保护临界触发器中的一个临界触发器8D,因此只有切换触发器8D的直接EMP攻击可以被检测。然而,更可能的攻击是使用EMP探测器对设置有电路30返裸片的一部分进行的定向攻击。该类型的攻击将强电磁场注入到裸片表面的一部分,以便干扰触发器内容。通常,这些攻击将只切换时钟树22的一部分。

图3示出了对图2的电路20的EMP攻击23。触发器8A和8B受到EMP攻击的影响,但触发器8C和8D不受影响。因此,影子触发器6在图3所示的攻击中不会给予保护。虽然可以提供多个影子触发器,但这当然会增加芯片面积,从而增加成本和功耗。

即使EMP攻击23确实针对包括影子触发器6的时钟树22的分支,只有当触发器8D或影子触发器6实际改变值时才会提供错误信号4。此外,对时钟树22的更上游的攻击可能会切换临界触发器8D和影子触发器6,在这种情况下不会输出错误信号4。因此,图1-3所示的解决方案不能为其他触发器8A、8B、8C给予保护,并且甚至不能为“受保护的”触发器8D给予全面保护,因为它不能检测能量注入事件,除非它们导致一对触发器6、8D中的仅一个的切换。

图4是根据本发明的集成电路132的示意性框图。集成电路132包括:“临界”触发器108(例如,控制对集成电路的安全部分的访问的触发器108)以及下面参考图5更详细地描述的检测电路部分102。时钟136向临界触发器108和检测电路部分102提供周期性时钟信号110。检测电路部分102接收来自临界触发器108的输出信号119。检测电路部分102具有第二输入端,当对临界触发器108进行有效更新时,该第二输入端接收例如来自中央处理单元(CPU)(未示出)的“使能信号”116。

图5更详细地示出了检测电路部分102。检测电路部分102包括:触发器形式的时钟门124、包括反相器链128的(线性)时钟网126、影子触发器106、XOR门130和错误电路部分117。时钟门124连接到时钟网126的根,因此时钟门124的输出沿时钟网126传播到影子触发器106的时钟输入端。错误电路部分117包括XNOR门118,其输出端提供错误信号104。时钟网126物理上分布在集成电路132周围,并位于其路径上的其他自定义逻辑附近,稍后将解释。

时钟信号110被提供给时钟门124以及被提供给临界触发器108。使能信号116连接到时钟门124和XOR门130的输入端。

XOR门130接收第二输入,该第二输入是被称为临界信号119的临界触发器108的输出信号。XOR门130的输出端向影子触发器106提供第二输入。

影子触发器106的输出被输入到错误电路部分117的XNOR门118。临界触发器108的输出信号119向错误电路部分117的XNOR门118提供第二输入。XNOR门118的输出提供错误信号104。

现在将描述检测电路部分102的操作。时钟门124由使能信号116控制为处于打开或关闭状态,以便有选择地将时钟信号110传递给时钟网126,从而传递给影子触发器106。

由CPU(未显示)提供的使能信号116仅在发生对临界触发器108的有效更新时(例如,当软件被用于向给定寄存器写入代码时)将时钟门124切换到打开状态。在这种情况下,XOR门130将临界信号119的反相值发送到影子触发器106。由于使能信号116将时钟门124切换到打开状态,因此时钟门124将时钟信号110传递给时钟网126。然后,时钟信号110沿着时钟网126传播并对影子触发器106进行定时。

由于影子触发器106接收时钟信号110和临界信号119的反相值作为输入,因此其输出临界信号119的反相值。因此,错误电路部分117的XNOR门118将临界信号119和来自影子触发器106的临界触发器输出的反相值作为输入,即,XNOR门118的输入是不同的。因此,由错误电路部分117的XNOR门118输出的错误信号104为低。因此,使能信号116允许时钟信号110在临界触发器108被有效写入时传递到影子触发器106。

然而,当没有对临界触发器108进行有效更新时,使能信号116不允许时钟信号110通过时钟门124传递到时钟网126。因此,当没有对临界触发器108进行有效更新时,影子触发器106不应接收任何输入时钟信号。因此,错误信号104将保持为低。

然而,在能量注入事件的情况下,诸如时钟网126路由附近的EMP攻击,包括时钟网126的反相器链中的任何反相器128中的PMOS或NMOS因能量注入而改变其静态行为,产生沿时钟网126传播到影子触发器106的脉冲。这导致影子触发器106改变状态以匹配临界触发器108的状态。因此,错误部分117的XNOR门118的两个输入是相同的,从而将错误信号104触发为高。在这种状态下,时钟网因此作为能量探测器。

图6示出了图5所示的检测电路部分102如何保护集成电路132中的多个临界触发器108A、108B、108C、108D的简化电路图。临界触发器108A、108B、108C、108D连接到由反相器121组成的时钟树122。可以看出,错误检测电路102的时钟网126物理地分布在IC 132周围,使得其反相器128与各种元件相邻(诸如,时钟树122的反相器121和临界触发器108D中的一个)。由于时钟网126只切换一次以加载影子触发器106,其不需要遵守正常的时序规则,因此其不会受到物理上分布在集成电路132周围的不利影响。

该后果是增加了EMP攻击123发生在时钟网126中的一个反相器128附近的机会。因此,与图1至图3所示的现有技术的影子检测器相比,检测器102对电路任何部分的攻击更敏感。当没有使能信号时,时钟网126的任何意外切换将导致错误信号104。

为了保护更多的多个临界触发器,可以在电路周围分布与多个检测器电路相关联的多个时钟网126

如果错误信号104为高,CPU可能会采取预防措施,诸如重启或暂停操作。

本领域技术人员将理解,本文描述的检测电路部分102不依赖于任何不常见的结构;其还完全兼容正常的设计流程,并可以在任何正常的数字逻辑电路实现。此外,由于所示的检测电路部分102是一个完全无源电路,它以非常低的增加成本或泄漏提供对临界触发器的保护,并且没有有功功耗。

本领域技术人员将理解,本发明已通过描述其一个或更多个具体实施例来说明,但不限于这些实施例;在所附权利要求书的范围内,可以有许多变化和修改。

技术分类

06120116571761