CN114846763A - 用于检测逻辑电路中扰动的方法以及用于实现此方法的逻辑电路 - Google Patents

用于检测逻辑电路中扰动的方法以及用于实现此方法的逻辑电路 Download PDF

Info

Publication number
CN114846763A
CN114846763A CN202080089068.5A CN202080089068A CN114846763A CN 114846763 A CN114846763 A CN 114846763A CN 202080089068 A CN202080089068 A CN 202080089068A CN 114846763 A CN114846763 A CN 114846763A
Authority
CN
China
Prior art keywords
data path
test circuit
circuit
logic circuit
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080089068.5A
Other languages
English (en)
Inventor
J-M·马丁
R·奥捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nagra Imaging Co ltd
Original Assignee
Nagra Imaging Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagra Imaging Co ltd filed Critical Nagra Imaging Co ltd
Publication of CN114846763A publication Critical patent/CN114846763A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31721Power aspects, e.g. power supplies for test circuits, power saving during test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31719Security aspects, e.g. preventing unauthorised access during test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明提供了一种用于检测逻辑电路中扰动的方法,该逻辑电路包括由时钟信号协调的多个数据路径和至少一个测试电路(21),该测试电路具有用于改变测试传播延迟的可编程长度数据路径(22),所述测试电路还包括输入(X,Y)、输出(N)和错误发生器(26),该错误发生器用于在该输出(N)不同于所述输入的预期输出(R1,R2)的情况下提供错误(E),所述测试电路具有校准模式,该校准模式包括:‑通过改变该可编程长度数据路径(22)来确定临界传播延迟,直到该错误发生器(26)输出错误(E),‑调整该可编程长度数据路径(22)以在其中包括容许延迟,‑切换到检测模式,该检测模式被配置为在该错误发生器输出错误(E)的情况下沿着该可编程长度数据路径(22)检测该逻辑电路中的扰动。

Description

用于检测逻辑电路中扰动的方法以及用于实现此方法的逻辑 电路
技术领域
本公开涉及电子电路领域,特别是集成电路,其中存在对监测数字信号诸如数字电源的关注,以检测可能由侧信道攻击引起的扰动。
背景技术
侧信道攻击基于从算法的实质性执行获得的信号,例如功率消耗、时序数据或电磁泄漏,而不是依赖于算法本身的缺点。在计算机安全中,它们提高了存在欺诈性检索秘密信息的显著风险,尤其是因为它们通常是非侵入性且不可检测的。在这方面,甚至最强的密码学算法都从外部受到谨慎的分析和识别。
此类侧信道攻击明显依赖于功率分析,包括研究硬件设备的功率消耗,其实现包括用于“简单功率分析”(直观解释功率跟踪)的SPA和用于“差分功率分析”的DPA(利用所收集数据的统计分析)。
许多硬件和数字解决方案已经开发了多年,用于防止那些攻击或使它们不成功。其中一些基于与关键操作相关的释放信号强度的尽可能减少。尽管能够减少显著相关风险,但是适当的装置需要专用的实质性实施方式,这可能是昂贵且复杂的,并且无法完全防止信号泄漏。
其他解决方案基于有意生成可感知信号中的噪声,以便对黑客遮蔽有意义的反向分析信息,这尤其可以通过随机地引入时序修改(时钟域、抖动)、振幅修改(滤波器、噪声引擎)或通过动态重新配置来完成。
然而,这些解决方案可能导致实质性执行故障,特别是由于短时脉冲干扰,即短暂的系统故障,这通常比例如软件错误更难以排除。这些可能尤其包括时间违规。
文档XP032620090,名称为“电源短时脉冲干扰攻击:检测电路的设计和评估(Power supply glitch attacks:Design and evaluation of detection circuits)”(Gomina Kamil等人)的非专利文献涉及针对电源短时脉冲干扰攻击开发的检测电路的设计和评估。本文档提供了关于同步电路中的时序路径和逻辑门针对功率短时脉冲干扰的灵敏度的背景。它定义了适当检测的必要限制,并基于模拟结果提出三个检测方法和比较。
文档XP002799000,名称为“用于动态变化容差的45nm弹性微处理器核心(A 45nmResilient Microprocessor Core for Dynamic Variation Tolerance)”(KeithA.Bowman等人)的另一篇非专利文献公开了一种对弹性错误检测和恢复电路进行积分以减轻动态参数变化的时钟频率保护带以提高吞吐量和能量效率的微处理器核心。
文档US 2015/137864 A1公开了一种电路延迟监测装置,其包括环形振荡器,该环形振荡器具有多个延迟元件和一系列采样点,提供的该一系列采样点中的一个采样点与延迟元件中的每个延迟元件的输出相关联,其中那些采样点为采样电路内的相关联的触发器提供输入。
文档US 2017/030954 A1涉及一种用于检测谐振频率的装置和方法,从而在电力传送网络中产生阻抗峰。
因此,需要改进用于防止逻辑电路中的侧信道攻击的方法和系统,以便至少部分地克服上述问题和缺点。
发明内容
为了解决这个问题,本公开建议一种用于检测逻辑电路中的扰动的方法作为第一方面,该逻辑电路被配置用于沿着由时钟信号协调的多个数据路径处理数据操作,并且其中至少一个数据路径具有操作传播延迟。该逻辑电路还包括至少一个测试电路,该测试电路具有用于改变测试传播延迟的可编程长度数据路径。该测试电路还包括输入,其待处理以根据可编程长度数据路径瞬时提供输出;以及错误发生器,其用于在输出由于不适当的可编程长度数据路径设置或逻辑电路中的扰动而不同于所述输入的预期输出的情况下提供错误。此外,此测试电路被配置为以两种模式操作,即校准模式和检测模式,以便在这两种模式之间重复切换。
校准模式包括:
-通过改变可编程长度数据路径来确定临界传播延迟,直到错误发生器输出错误,
-调整可编程长度数据路径以在其中包括容许延迟,以及
-切换到检测模式。
检测模式包括:
-在错误发生器输出错误的情况下,检测沿着可编程长度数据路径的逻辑电路中的扰动。
由于本解决方案,可以有效地检测将在逻辑电路的数字信号上有意引入的任何扰动,例如短时脉冲干扰。此外,这种检测无论过程的变化、电压的变化和逻辑电路的温度的变化都保持有效。作为另外的显著优点,此电路可以限制为包括全数字部件,因此至少根据大小、功率消耗、开发和成本价格提供益处。在更实际的方式中,本解决方案对于智能卡具有显著的兴趣,例如,其中用于实施防篡改解决方案或改进此类解决方案的空间尤其受到限制。
根据具体实施方案,逻辑电路还包括第二测试电路,该第二测试电路具有与第一测试电路(即,另一测试电路)至少相同的能力。此外,当一个测试电路处于一个模式(即校准或检测模式)时,另一个处于另一个模式。
根据优选实施方案,在此临界传播延迟低于用于在没有扰动或干扰的情况下处理数据操作所需的最小延迟之前,停止改变测试电路的可编程长度数据路径以确定临界传播延迟。
根据另一个优选实施方案,该方法包括用于随时间推移迭代校准模式和检测模式的迭代,即用于随时间推移迭代确定、调整、切换和检测步骤。
优选地,测试电路的可编程长度数据路径由待包括在一个时钟周期内的多个元件形成。还优选地,在第一次迭代期间根据恒定数量包括这些元件,然后增加要在下一次迭代包括的元件的数量。
在一个实施方案中,一旦校准模式完成,就执行从校准模式到检测模式的切换。
根据优选实施方案,测试电路的输入在每个时钟周期交换或改变,以便在两个连续时钟周期之间获得不同输出。
优选地,通过对协调产生该操作传播延迟的数据路径的时钟分支施加有用偏斜来调整数据路径内的操作传播延迟。
根据第二方面,本公开还涉及一种逻辑电路,其用于实施根据其中公开的实施方案或变体中的任一者的方法,同时沿着由时钟信号协调的多个数据路径处理数据操作。该逻辑电路包括至少一个测试电路,并且所述测试电路包括用于将校准模式切换到检测模式并且用于将检测模式切换到校准模式的装置。
更具体地,前述测试电路被配置为根据校准模式和检测模式操作,该校准模式被设计成通过数据路径中的至少一个数据路径确定数字信号的临界传播延迟,并且该检测模式被设计成检测逻辑电路中的扰动。此外,测试电路包括:
-第一寄存器,该第一寄存器被配置为加载有输入,
-逻辑单元,该逻辑单元存储函数,该函数被配置为从输入提供输出,
-第二寄存器,该第二寄存器用于存储由上述输入的函数提供的预期输出,
-比较器,该比较器被配置为验证输出是否等于预期输出中的一个预期输出,
-错误发生器,该错误发生器用于在比较器提供负面事件的情况下输出错误,
-可编程长度数据路径,该可编程长度数据路径用于改变数字信号的传播延迟,从而允许从输入获得输出,以及
-切换单元,该切换单元用于将校准模式切换到检测模式并且用于将检测模式切换到校准模式。
根据优选实施方案,逻辑电路还包括第二测试电路,这两个测试电路具有至少类似的能力以执行至少相同的任务。此外,这些测试电路被配置用于在校准模式和检测模式中的一者中同时工作,使得当这些测试电路中的一个测试电路在一个模式下工作时,另一个测试电路在另一个模式下工作。
还优选地,可编程长度数据路径包括多个可选延迟单元。
根据另一个优选实施方案,逻辑电路被限制为包括全数字部件。
下文将在详细描述中公开其他实施方案和优点。
附图的简要说明
本公开中提出的解决方案和实施方案应被视为非限制性示例,并且参考附图将被更好地理解,其中:
图1示意性地描绘了短时脉冲干扰攻击中通常已知的不同类型的短时脉冲干扰。
图2示出了对同步逻辑电路的短时脉冲干扰作用的示例。
图3是逻辑电路的一部分的图,
图4是通过图3的逻辑电路与时钟信号相关联的数字信号的传播的表示,
图5是示出图3的逻辑电路在不同场景,尤其是PVT模型变化下的时序裕量的变化的图,
图6是类似于图5的图,其示出了根据本解决方案中建议的方法工作的逻辑电路的时间裕量,
图7是示出校准和检测模式交换的示意图,并且
图8和图9示出如何根据两个不同架构实现本解决方案。
图1示出了不同种类的短时脉冲干扰1的一些示例,其在本说明书中呈现为扰动或干扰的示例,这些扰动或干扰可以由黑客在侧信道攻击中使用,尤其是在所谓的短时脉冲干扰攻击中使用。短时脉冲干扰1可以例如在由DC电源供电的集成电路的电源(VDD)上发生,如图1的上部图所示,或在接地(GND)上发生,如此图的下部图中所示。短时脉冲干扰1可以指单个尖峰1a,或者可以在一系列连续尖峰1b中发生,该一系列连续尖峰不一定具有相同的振幅。如图1所示,短时脉冲干扰1可为正1'或负1”。
短时脉冲干扰1不应与电信号中可能发生的噪声混淆。电信号的小变化例如标称值或电压的±10%由于这种小变化可能在逻辑电路上具有的不明显影响而应被视为噪声。除了分配到噪声的承认范围之外,变化可以被认为是短时脉冲干扰或常见的短时脉冲干扰。类似地,短时脉冲干扰可以具有最小宽度,以便通过电信号具有足够的冲击。该最小宽度可以被认为是例如2ns-3ns的量级。
短时脉冲干扰的影响例如在逻辑电路的电源上的影响可以根据逻辑电路的元件的类型而不同。就这一点而言,应在顺序逻辑与组合逻辑之间进行区分。在组合逻辑中,给定时刻的输出的状态仅取决于电路并且取决于在该瞬时的输入的值。相比之下,在顺序逻辑中,在给定瞬时的电路的输出的状态取决于该瞬时的输入的值和在之前的瞬间的输出值。换句话讲,顺序逻辑使用存储存储器的概念,而组合逻辑不具有这种概念。通过触发器在顺序逻辑中获得此类概念,而组合逻辑的基本元件是逻辑门,例如与门、或门、异或门或非门。
另外,触发器有两个主要类别:一些相对于时钟信号是异步的,并且被称为锁存器,而其他主要类别相对于时钟信号同步并且简单地称为触发器。如今,几乎所有顺序逻辑都是时钟式或同步逻辑。这是为什么本说明书将特别涉及同步电路的原因,即其元件在正常条件下与时钟信号同步改变其状态的电路。
已经评估了短时脉冲干扰对顺序元件具有有限的影响,尤其是在同步顺序元件上,因为触发器仅可能在时钟边缘事件附近受到影响。由于这种敏感的瞬时对应于时钟信号的上升沿或下降沿,因此与时钟信号的周期相反,其在时间上非常有限。
相反,短时脉冲干扰对组合元件例如逻辑门具有更多影响,因为由于延迟单元的变化,它们可以改变布尔运算的结果。发生在组合元件的电源上的短时脉冲干扰的效应非常复杂。然而,它们可以总结如下:
当正短时脉冲干扰1'发生在电源VDD上或在接地GND上发生负短时脉冲干扰1"时,以这种方式提供的逻辑元件的延迟加快。
当负短时脉冲干扰1"发生在电源VDD上或在接地GND上发生正短时脉冲干扰1'时,以这种方式提供的逻辑元件的延迟减慢。
以举例的方式,图2示出了短时脉冲干扰1对同步设计的影响。图2的上部示出了在包括触发器的同步电路的电源上出现的单个短时脉冲干扰1a和一系列短时脉冲干扰1b。与此上部一致,图2的下部示出沿着上部的时间轴线t的数字信号2的时钟信号4Clk和数据路径Dta。布尔结果N-1、N和N1连续提供在连续触发器的输出处。计算布尔结果N的操作生成数字信号2,该数字信号由Z字形线表示,并且通常从第一时钟脉冲P1开始并且在正常延迟d的结束时结束。
可以看出,当第二时钟脉冲P2上升时,布尔结果N完成并且稳定。这通过布尔结果N与第二时钟脉冲P2之间的安全裕量Mg设置示出。然而,一旦短时脉冲干扰1a、1b发生,它们就会减慢两个连续触发器之间的组合逻辑,如用于提供布尔结果N+1所需的异常较长延迟d+Δt所示。因此,当第三时钟脉冲P3上升以根据同步设计捕获布尔结果时,结果在其操作正确结束之前被捕获。它会产生时间违规,这可能会造成电路故障或电路内部的局部亚稳态。对于数字电子电路来说,亚稳态可以被视为由于它仍然无法决定如何处理其输入信号的事实而在不稳定平衡中持续未知持续时间的能力。
参考图3,其示出了逻辑电路10内的多个数据路径5。两个上部数据路径5各自由连续阶梯状形状线表示,而在此图3的中央部分中示出的数据路径5属于逻辑电路10的更详细部分11。因此,逻辑电路10由围绕前述部分11和数据路径5的虚线表示。此部分11通常可以用作本解决方案的方法或逻辑电路中的示例性电路。由于这个原因,该部分也称为示例性电路11。尽管图3中描绘的逻辑电路10包括示例性电路11,但是应当理解,任何其他逻辑电路10可以包括不同的电路,即,不需要任何其他逻辑电路10来包括图3所示的示例性电路11。
尽管可能更复杂,但图3的示例中建议的示例性电路11非常简单,因为它包括两个寄存器6a、6b,每个寄存器可以包括操作数A或B。示例性电路11还包括函数F,该函数F被配置为使用操作数A和操作数B执行计算。此函数涉及或多或少复杂的计算。优选地,函数F被配置为使得F(A,B)的结果与F(B,A)提供的结果不同。换句话讲,当操作数交换时,函数F优选地提供两个不同的结果。
优选地,示例性电路还包括最后一个寄存器7,以将布尔结果N从函数F写入。考虑到示例性电路与时钟信号4同步工作,应注意以下时间标记。在时间t0,操作数A和B加载于寄存器6a、6b中。在时间t1,这些操作数从寄存器6a、6b释放。释放操作数通常发生在时钟周期T的开始处,通常在时钟的上升沿,例如在脉冲P1(图2)。在时间t2,函数F已经使用两个操作数A、B计算布尔结果N作为由寄存器6a、6b提供的输入。布尔结果N可以被视为由示例性电路11提供的输出。在时间t3,该输出在最后一个寄存器7中写入,或者由此最后一个寄存器7捕获。因此,写入此结果N是在时钟周期T的结束时完成的,即在此类同步设计中的时钟的下一个上升沿,对应于脉冲P2(图2)。在示例性电路11内的时钟周期T期间由数字信号行进的数据路径5由图3中的水平卷曲支架5示出。
现在参考图4,后者示出了数字信号2通过逻辑电路的传播,更具体地讲是通过图3的示例性电路11的传播。此数字信号传播以与时钟信号4相关联的方式示出,符合同步示例性电路,其中触发器与时钟信号同步改变其状态(在正常条件下)。在图4中,其示出数字信号2在时钟信号4的上升沿处开始(即,在时间t1处),并且其在时钟周期T结束之前更具体地讲在时间t2之前被稳定。这意味着在时间t2处,布尔结果N完成,并且等待在时钟的下一个上升沿处即时间t3处的最后寄存器7中写入。t2和t1之间的时间间隔对应于通过示例性电路11的数据路径5的数字信号2的传播延迟2',并且可以将时间t3和t2之间的时间间隔视为容许延迟3'、裕量或空时间裕量。
如果在数字信号2稳定之前发生扰动1诸如短时脉冲干扰1”,即在布尔结果N完成之前,传播延迟2'将增加另外的时间Δt,如结合图2所解释的。然而,如果该额外时间Δt小于容许延迟3',则示例性电路将不会受到扰动1的影响,因为数字信号在时钟周期T结束之前达到稳定状态。类似地,如果扰动1在容许延迟3'期间发生,则示例性电路11保持不受这种扰动影响。因此,示例性电路11可以包含“阴影区域”,其使此类电路在以可靠的方式检测扰动上效率低下。
容许延迟3'(图4)或裕量Mg(图2)通常根据逻辑电路的最坏情形(WCS)和给定时钟频率来定义。WCS主要取决于所谓的过程-电压-温度(PVT)工作条件,这些工作条件对分配给逻辑电路的数据路径的时序具有影响。
在PVT首字母缩略词中,过程P对在其上制造给定功能电路的小块半导体材料(诸如集成电路、芯片或微芯片)的时序影响建模。这种影响与集成电路的制造过程有关,并且可以根据制造过程条件而变化。PVT首字母缩写的电压V是指施加到半导体的电源的小电压变化。实际上,电压越高,电流越高,减少了触发器的延迟,因此加速了逻辑操作的计算。环境温度T也是对半导体的时序具有影响的参数。
为了确保逻辑电路(例如,示例性电路)将能够执行相关操作(逻辑电路正是为这些操作而设计)的计算,设计者必须考虑此电路的部件的WCS,以确保电路所需的操作传播延迟小于时钟周期T,从而避免任何时间违规。
图5是示出在不同情况下,尤其是在PVT模型变化下图3所示的示例性电路的时序裕量Mg的变化的图。在此图中,时间t在x轴上表示,并且PVT值在y轴上在最小PVT值与最大PVT值之间表示。时间轴在所谓的典型PVT值处穿过y轴,这可以被视为PVT参数的中值共同值。最小PVT值可以映射到最佳情形(BCS),而最大PVT值可以映射到最坏情形(WCS)。参考示例性电路11,此曲线图的曲线可以被视为示出传播延迟2'沿着时间的变化。因此,曲线2'和最大PVT限值之间的图5所示的时序裕量Mg可以被视为容许延迟3'。需注意,时序裕量Mg在最大裕量MMg与最小裕量MMg之间变化。为了避免任何时间违规,示出示例性电路内数字信号2的传播延迟2'的曲线不超过最大PVT限值(WCS)。
通过曲线2',图5示出了时序裕量Mg(即空时间裕量或容许延迟3')不是恒定的,而是取决于PVT参数。这意味着如果侧信道攻击发生在时间tM的附近,则存在扰动1出现在时序裕量Mg重要的时间间隔中的显著风险,其结果是示例性电路11将不会受到此类攻击的影响。鉴于曲线2'的变化随时间推移保持不可预测,因此可以理解非常难以有效地防止侧信道攻击。另外,由于温度是PVT的参数之一,因此恶意人员可以自愿作用于逻辑电路的环境温度,以便将此类电路放置在更好的条件下,以在其优势条件执行侧信道攻击。
为了解决这种棘手问题,本解决方案基于在图6中示意性地示出的新方法。代替位于最大PVT限值处的恒定或静态裕量水平,本解决方案建议提供遵循图6所示曲线2’的动态裕量。由于此动态裕量,时序裕量Mg或容许延迟3'在时间t上保持恒定或几乎恒定,并且可以设置为等于或接近最小裕量mMg的值。在此类条件下,用于检测扰动的逻辑电路的相关部分变得更敏感,并且对于例如检测短时脉冲干扰攻击有效得多。
如图6所示,本解决方案的目的之一是提供能够遵循PVT参数的变化以及时钟频率的自适应或动态检测装置。使设计用于检测扰动的电路内的数字信号的传播延迟2'可变,以便达到对应于或接近时钟信号4的周期T的临界限值。换句话讲,本解决方案的目标之一是以动态方式最小化空时间裕量或容许延迟3',以便在任何当前PVT参数的最小值下维持该容许延迟3'。
为此,修改示例性电路11以便具有长度可编程的数据路径5。因此,使得通过这种数据路径行进的数字信号2的传播延迟2'是可调的。在另外的描述中,由此修改的示例性电路被称为测试电路21、21',并且在图8和图9中示意性地描绘。
另外,此测试电路21、21'旨在以两种模式操作,即校准模式Mc和检测模式Md,如图7中所示。校准模式Mc是操作模式,其中测试电路21、21'在校准阶段中切换,以便根据当前PVT参数修改其可变容许延迟3'。在本公开中,这优选地通过调整数据路径的长度来实现,使得容许延迟3'保持尽可能接近恒定最小裕量mMg。检测模式Md是第二操作模式,其中测试电路21、21'主要用于检测任何侧信道攻击。测试电路21、21'在图7中使用围绕校准和检测模式的虚线示意性地表示,该校准和检测模式沿着时间轴线t连续交换。
图8和图9示出如何根据这里作为示例给出的两个不同架构实现本解决方案。
参考前述附图,本解决方案的第一方面涉及用于检测逻辑电路10中的扰动1以沿着由时钟信号4协调的多个数据路径5处理数据操作的方法。至少一个数据路径5具有操作传播延迟。逻辑电路可以包括逻辑门,诸如触发器或锁存器,并且由数字元件限定的数据路径还可包括寄存器和总线。更具体地,逻辑电路10还包括至少一个测试电路21、21'(图7至图8),该至少一个测试电路具有用于改变传播延迟2'的可编程长度数据路径22。由于此传播延迟涉及测试电路21、21',因此其还被称为测试传播延迟2'。如图7和图8中所示,可编程长度数据路径22可以从多个元件23获得,诸如延迟单元,其数量可以被选择以便改变数据路径的长度,即延伸或缩短属于测试电路21、21'数据路径的长度。
测试电路21、21'还包括待处理的至少两个输入X、Y,以根据可编程长度数据路径22更具体地根据该数据路径表示的长度或持续时间瞬时提供输出N。就这一点而言,应当指出的是,图8至图9的输出N与图3的结果N之间没有特定关系,即使它们可能显得类似。输入X、Y可以被视为加载在至少两个寄存器12a、12b中的操作数。输出N对应于使用上述输入X、Y作为函数F的计算中的操作数的此函数F提供的结果。此函数可以在专用逻辑单元24中存储和运行。测试电路21、21'被设置为使用至少两个预期结果R1、R2,这些预期结果可以存储在适当的寄存器12c、12d中。优选地,已经基于输入X、Y和函数F提前确定了这些预期结果R1、R2。更具体地,预期结果R1对应于由函数F(X,Y)提供的结果,该函数按第一顺序使用输入,而预期结果R2对应于由函数F(Y,X)即相同函数F但以第二顺序使用输入提供的结果。因此,函数优选地不涉及可交换操作,使得如果操作数X、Y被交换,则函数F提供的结果N也变化。此外,函数F可以或多或少复杂,使得预期结果R1、R2通常可能难以预期。
如图7至图8中所示,测试电路21、21'还包括比较器25和错误发生器26,该错误发生器在输出N不同于输入X、Y的预期输出R1、R2的情况下提供错误E(即错误信号或值)。比较器25通常可以确定输出N由于逻辑电路10中的扰动或不适当的可编程长度数据路径设置(即由于导致时间违规的可编程长度数据路径设置)而不同于预期输出R1、R2(即确定N≠R1或N≠R2)。这可以例如在该数据路径的长度太长或太短时而无法及时提供输出N的情况下发生。因此,比较器25包括用于验证结果N(例如F(X,Y)的结果)是否等于预期结果R1的测试功能。在正事件的情况下(通过二进制输出1示出),方法继续,而在负事件的情况下(二进制输出0),该过程被配置为在错误发生器26的输出处提供错误E。
如上文结合图7所述,测试电路21、21'被配置为以两种模式操作,即根据校准模式Mc和检测模式Md,以便在这些模式Mc、Md之间反复切换,从而允许借助或基于校准模式Mc频繁更新检测模式Md(即,此模式的设置)。因此,可以获得保持恒定或基本上恒定的动态裕量,如图6所示。此动态裕量对应于输出N的递送与时钟信号4的下一个时钟脉冲之间的时间间隔,特别是时钟信号4的下一个上升沿。校准模式Mc包括以下步骤:
-通过改变可编程长度数据路径22直到错误发生器26输出误差E,确定临界传播延迟,以及
-调整可编程长度数据路径22以在其中包括容许延迟3'。
因此,应当指出的是,长度数据路径的变化用于确定(即,通过调查找到或发现)临界传播延迟,并且只要错误发生器不输出错误,可编程长度数据路径继续变化。此外,前述裕量不仅是动态的,而且还被最小化,使得其可以被称为恒定最小裕量。
另一方面,检测模式Md包括用于在错误发生器26输出错误E的情况下沿着可编程长度数据路径22检测逻辑电路10中的扰动1的步骤。
应当指出的是,两种操作模式Mc、Md涉及测试电路21、21'的正常操作模式(或工作模式)。因此,这些模式中没有任何模式应被视为例如出于维护或维修目的而执行的特殊模式。
在了解应优选地维持时钟周期T内的容许延迟3'(其为图6中所示的恒定最小裕量mMg)的情况下,临界传播延迟可以被视为该周期T可以包括的最长测试传播延迟2’。当错误发生器26在校准模式期间输出误差E时,达到临界传播延迟。实际上,如果可编程长度数据路径22在校准模式期间逐步延长,则存在该数据路径对于给时钟周期T太长的点,从而导致时间违规(如图2所示)。如果知道发生时间违规的临界点在哪里,就可以以一定方式调整测试电路21、21’的可编程长度数据路径22,使测试传播延迟2’加上容许延迟3’可以对应于时钟周期T,或者可以接近该时钟周期而不超过它。
一旦如上已经调整了可编程长度数据路径22,校准模式Mc结束,并且测试电路21、21'可切换到其检测模式Md。在检测模式Md中,测试电路21、21’在校准模式Mc结束时以校准状态运行。因此,测试电路变得对任何扰动1(除噪声或抖动外)特别敏感,该扰动可能是例如由黑客在逻辑电路10的电源VDD上故意引起的。在经过特定时间之后,可以将测试电路21、21'再次切换到其校准模式Mc,并且可以根据需要尽可能长地重复这两种操作模式之间的切换。图7中示出了校准和检测模式交换。可以预先确定测试电路在其检测模式Md中工作期间的时间流失,或者该时间流失可以取决于另一参数。
优选地,一旦校准模式Mc完成,就执行从校准模式Mc切换(或交换)到检测模式Md。
上述方法适合使用单个测试电路21、21’。然而,当该测试电路在检测模式Md期间监听干扰1时,存在该测试电路的校准过期的风险,尤其是如果恶意人员故意对PVT参数(例如温度T)进行操作,以延长容许延迟3',从而使测试电路再次未校准。还存在在测试电路的校准模式期间发生侧信道攻击的风险。在这种模式下,由于测试电路暂时忙于校准阶段,因此无法检测到任何扰动。
为了克服这个缺点,本解决方案建议了逻辑电路10还包括第二测试电路21'的实施方案,如图7中示意性地描绘的。优选地,该第二测试电路21'与第一测试电路21类似或相同,仍优选地,第二测试电路21'具有至少与第一测试电路21相同的能力和/或功能。通常,第一测试电路21和第二测试电路21'二者具有至少相似的能力来执行至少相同的任务,并且优选地被配置为同时工作。更具体地,当一个测试电路处于一个模式时,另一个测试电路处于另一个模式。因此,测试电路21和测试电路21'同时工作但具有时滞,即当考虑校准模式Mc或检测模式Md时,具有相对于彼此的时间延迟或时间差。实际上,如图7所示,当第一测试电路21处于检测模式Md时,第二测试电路21'处于校准模式。换句话讲,测试电路21、21'优选地从不以相同的操作模式工作。由于这种实施方案,始终存在一个在检测模式下工作的测试电路21、21'。因此,逻辑电路10被永久性地保护以防止侧信道攻击,因为在任何时候都有一个测试电路在检测模式下工作,用于检测任何扰动或干扰。
应当指出的是,临界传播延迟也可被视为在数据路径诸如测试电路的数据路径中正确执行所需数据操作的最小延迟。因此,在另一个实施方案中,在此临界传播延迟低于用于在没有扰动的情况下处理数据操作的最小延迟之前,停止改变可编程长度数据路径22以确定临界传播延迟。实际上,如果存在临界传播延迟,超过该延迟,数字信号2太长,因此在时钟周期T结束时不稳定(从而导致时间违规),则测试电路还需要一个最小延迟,以便从输入X、Y正确计算结果N。该最小延迟是测试电路21、21'所需的缩短延迟,用于在正常条件下处理操作。因此,如果可编程长度数据路径22必须在校准模式期间逐步缩短,则此类缩短在达到前述最小延迟之前停止。由于此预防措施,测试电路21、21'将始终在两个适当的延迟之间操作,即,在前述最小的延迟之间,其可以例如是半时钟周期,并且临界传播延迟通常接近时钟周期T。从前述内容可以注意到,时间违规主要由不适当的可编程长度数据路径设置引起。
然而,应当指出的是,上述最后一个实施方案如上所公开在测试电路21、21'的可编程长度数据路径22至少与逻辑电路10的最长数据路径5一样长的情况下操作(假设时钟信号对于整个逻辑电路10具有相同的频率)。最长的数据路径是包括在逻辑电路10(诸如图3上部中示意性地示出的数据路径5)中的数据路径中运行时间最长的数据路径。在数据路径22的最短长度(其取决于测试电路正确计算结果N所需的最小延迟)比上述最长数据路径短的情况下,存在逻辑电路10将不会正确操作的风险。因此,为了避免此类问题,可能适合于首先确定包含在逻辑电路10中的最长数据路径5,以便获得下限,低于该下限可编程长度数据路径22不能运行。此类下限可以替换测试电路所需的上述最小延迟以适当地计算结果N,或者更简单地说,此类下限可以被视为该最小延迟。此类限值和/或最小延迟可以例如被提前定义为设置参数。
可以注意到,确定临界传播延迟可被视为旨在从标称长度扫描可编程长度数据路径22的整个范围的操作,该可编程长度数据路径可从最小长度到最大长度变化。标称长度可以位于数据路径22的最小长度与最大长度之间的任何位置。可以例如从预定值或从先前值定义此标称长度。从该标称长度开始,如果错误发生器没有输出错误,例如,尽管达到了最小长度而没有输出错误,该过程可被配置为自动搜索朝向反向长度的临界传播延迟,即本示例中的最大长度。数据路径22的长度必须至少能覆盖数据路径5对于时钟周期的延迟范围,这在BCS条件下(最快条件)则必须覆盖所有范围内变化的操作情况。
根据另外的优选实施方案,上述方法包括迭代i,该迭代用于随时间推移迭代校准模式和检测模式。换句话讲,这些迭代允许随时间推移迭代确定、调整、切换和检测这些操作模式的步骤。图7示意性地示出了一些迭代i,尤其是在检测模式Md期间进行的迭代i1、i2、…in。为了更好地区分两个连续操作模式,在此图中已省略了校准模式Mc中存在的迭代。由于这些迭代,只要测试电路21、21’在相同的操作模式下工作,则重复旨在验证(在每轮)是否从错误发生器26输出错误E的过程。此类重复不仅针对检测模式Md进行,而且也针对校准模式Mc进行。另外,应当指出的是,用于一个模式的连续迭代i的数量不一定与另一模式相同。其还意味着用于完成一次迭代的速度可以在模式之间有所不同。优选地并且根据上述公开的方法,校准模式Mc可以被视为主模式,而检测模式Md可以被视为仅在测试电路21、21'中的一个测试电路的校准模式完成之后运行的从模式。在存在单个测试电路21的情况下,可以在可以设置为设置参数的预定或有限时间间隔期间执行检测模式。
根据一个实施方案,可编程长度数据路径22由待包括在一个时钟周期内(即在时钟信号4的一个周期T内)的多个元件23形成。如图8中示意性地描绘,这些元件23通常可能是延迟单元。如果由比较器25进行的测试为正并且示出可编程长度数据路径22可以进一步延长,则提供给结果寄存器27的值将为正。此正结果被传输到被配置为管理所谓的修整寄存器29的控制器28。修整寄存器负责选择适当数量的元件23,以在时钟周期内更好地调整可编程长度数据路径22。这种调整可以包括根据剩余空时间裕量或裕量的当前大小添加或撤出延迟单元,如图4中的时间t3和t2之间所示。
该调整在迭代i期间逐步执行。例如,如果迭代i处的可编程长度数据路径22仍然太短,则处于其校准模式Mc的测试电路21、21’的比较器25将在结果寄存器27中提供正结果“1”。因此,通过修整寄存器29,控制器28将进一步延长可编程长度数据路径22,例如通过将至少一个元件23添加到测试电路21、21'的数据路径。在下个迭代i+1,比较器25将确认新扩展的数据路径是否足够长。如果可编程长度数据路径22导致时间违规,则意味着它太长。因此,错误发生器26将提供错误E。此类信息可以被传输到控制器28,尤其是在测试电路处于其校准模式Mc的情况下。因此,控制器28知道必须去除可编程长度数据路径的最后调整步骤(即,本示例中的最后一次延长)以便检索先前迭代(i)的数据路径,这因此将对应于测试电路的所谓的临界传播延迟。因此,控制器将相应地调整可编程长度数据路径22,这将具有在其中包括容许延迟3'的效果。应当指出的是,检索先前迭代的数据路径可以使用存储器(例如,临时存储单元)来执行,该存储器用于存储可编程长度数据路径22的先前配置(例如,元件23的数目)。
根据一个实施方案,在第一次迭代期间根据恒定数量包括可编程长度数据路径22的元件23,然后增加要在下一次迭代包括的元件的数量。例如,在第一个十次迭代i1、i2、…、i10期间,可以将单个元件23添加到可编程长度数据路径22以尝试达到临界传播延迟。如果仍未达到此临界传播延迟,则控制器28可以增加在每次后续迭代处添加到数据路径的元件的数量。例如,控制器28可以命令在迭代i11处添加两个元素、在迭代i12处添加三个元素、在迭代i13处添加四个元素,依此类推,直到达到临界传播延迟。因此,在特定数量的迭代中,元件数量的增加变化并且优选地更不再是线性的,但是可以是指数的。有利地,此实施方案允许更快地执行校准阶段,尤其是在第一次迭代时空时间裕量显著的情况下。
根据图9所示的一个实施方案,通过将所谓的有用偏斜施加到时钟分支4'来调整测试传播延迟,该时钟分支与生成测试传播延迟的数据路径协调。逻辑电路10的一些部分可以通过从主时钟信号4导出的至少一个时钟信号同步,而非通过单个时钟信号4同步。因此,时钟树可以例如使用若干时钟分支4'来将时钟信号分发到逻辑电路10的部分。在图9的实施方案中,通过时钟分支4'提供时钟信号4,以便协调测试电路21、21',特别是该测试电路的可编程长度数据路径22。
有用偏斜的目的是延迟瞬时t1,其中输入或操作数X、Y从寄存器12a、12b释放。在图4的底部示出了此类情况,其中该瞬时已经从时间t1偏移到时间t1'。因此,由于起始时间t1'在时钟周期T开始时相对于时钟信号4的上升沿延迟,因此数字信号2的结束将朝着时钟周期的结束移动。因此,在时间t3和t2之间的空时间裕量或容许延迟3’将更小。可以调整这个时间间隔(t3-t2),直到其等于或接近图6中已经描绘的最小裕量mMg。图4中所示的时间间隔介于t1'和t1之间,对应于所谓的有用偏斜。
可以根据图9所示的架构调整有用偏斜,其中可编程长度数据路径22被施加到时钟分支4',以便延迟此时钟分支中的时钟信号4的上升沿。因此,操作数X、Y将在稍后的时间t1'释放,而用于通过专用逻辑单元24中的函数F执行操作的测试传播延迟保持不变。可以用与图8的架构相同的方式来执行在图9的架构中对可编程长度数据路径22的调整。
根据图8和图9中所示出的另一个实施方案,测试电路21、21'的输入X、Y优选地交换或改变,以便在两个连续输出之间获得不同的输出N。这可以通过分别属于测试电路21和测试电路21'的复用器12、12'示出。因此,操作数X、Y的顺序可以如通过交叉箭头所描绘的交换,使得函数F可以是F(X,Y)或F(Y,X)。由于此特征,由单元24计算的函数F发出的结果N对于每次迭代i将是不同的,因此确保在每次迭代时测试电路21、21'中存在数字信号2。
尽管参考图8和图9已经公开了两个输入X和Y,并且因此公开了两个预期结果R1和R2,但是应注意,这个数目不限于两个。另外,除了两个输入之外,应当注意的是,预期结果的数目不一定与输入的数目相同,而由于应进行的不同组合,甚至使用有限数目的输入,可能大于此数目。
根据第二方面,本解决方案还涉及用于实施根据其实施方案中的任一个实施方案或这些实施方案的任何组合的方法的逻辑电路10。为此,该逻辑电路10包括至少一个测试电路21、21'。此测试电路包括装置,诸如切换单元,其用于将校准模式Mc切换到检测模式Md并且用于将检测模式Md切换到校准模式Mc。前述切换单元可以是专用于切换操作的特定单元,或者可以是图8和图9上示出的控制器28。
更具体地,逻辑电路10包括至少一个测试电路21、21',该至少一个测试电路被配置为根据校准模式Mc和检测模式Md操作,校准模式Mc被设计成通过数据路径5中的至少一个数据路径确定数字信号2的临界传播延迟,并且检测模式Md被设计成检测逻辑电路10中的扰动1。
此外,前述测试电路21、21'包括:
-第一寄存器12a、12b,该第一寄存器被配置为加载有输入X、Y,
-逻辑单元24,该逻辑单元存储函数F,该函数被配置为从输入X、Y提供输出N,
-第二寄存器12c、12d,该第二寄存器用于存储由函数F针对输入X、Y提供的预期输出R1、R2,
-比较器25,该比较器被配置为验证输出N是否等于预期输出R1、R2中的一个预期输出,
-错误发生器26,该错误发生器用于在比较器25提供负事件的情况下输出错误E,
-可编程长度数据路径22,该可编程长度数据路径用于改变数字信号2的传播延迟2',从而允许从输入X、Y获得输出N,以及
-切换单元,该切换单元用于将校准模式Mc切换到检测模式Md并且用于将检测模式Md切换到校准模式Mc。
如结合相关方法所解释的,通过数据路径5确定数字信号2的临界传播延迟通常可以通过改变可编程长度数据路径22来实现,直到错误发生器26输出错误E。
根据优选实施方案,逻辑电路10还包括第二测试电路21',其被配置为实现与第一测试电路21的那些任务至少相同的任务。换句话讲,测试电路21和测试电路21'具有至少相似的能力,以使二者执行至少相同的任务。优选地,第二测试电路21'具有至少与其他测试电路21'(即第一测试电路21)相同的能力和/或功能。此外,测试电路21、21'优选地被配置用于在校准模式Mc和检测模式Md中的一者中同时工作,如图7中示意性地示出。测试电路21和测试电路21'相对于彼此工作的方式不与已经结合本发明解决方案的第一方面解释的不同。此外,相对于第一测试电路21的特性和/或任务也适用于第二测试电路21'。
根据优选实施方案,可编程长度数据路径22包括多个延迟单元,尤其是多个可选延迟单元。这些延迟单元是用于改变测试电路数据路径的长度的元件23的部分。根据一个实施方案,用于此目的的所有元件23是相同的。另选地,这些元件23的一部分可以与其他的不同。例如,一些元件23可以指提供第一延迟的延迟单元,而其他元件可以指具有与第一延迟不同的第二延迟的延迟单元。应当指出的是,延迟单元被视为非限制性示例,使得具有类似效果的其他类型的逻辑部件也可以被认为是元件23。另外,对于逐个选择元件23不存在限制。因此,可以同时选择若干元件23以改变可编程长度数据路径22。此外,应当理解,改变可编程长度数据路径不限于延伸测试电路的数据路径,而且旨在缩短此数据路径。因此,控制器28经由修整寄存器29执行的选择可以包括从可编程长度数据路径22移除至少一个元件23,以缩短测试传播延迟。
根据另一个实施方案,逻辑电路10限于全数字部件。换句话讲,它意味着逻辑电路10仅包括数字部件。通过消除任何模拟部件,本解决方案具有建议非常紧凑的设计的优点,该设计尤其适于在微小空间中实施,诸如智能卡。另外,这种全数字解决方案在生产成本和电力消耗两方面也特别经济。
根据另一个实施方案,前述全数字部件限于测试电路21、21'。因此,可以容易地将防止侧信道攻击的解决方案添加到现有的模拟或部分模拟逻辑电路10中。
还应注意,结合逻辑电路建议的任何实施方案或变体也可以应用于先前公开的方法。
最终考虑因素
尽管已经参考特定示例性实施方案描述了本发明主题的概述,但是在不脱离本发明实施方案的更广泛实质和范围的情况下,可以对这些实施方案进行各种修改和改变。例如,可以通过本领域普通技术人员将其特征的各种实施方案混合和匹配或使其成为可选的。因此,具体实施方式不应被视为进行限制,并且各种实施方案的范围仅由所附权利要求书以及被授予此权利要求书权利的等效物的全部范围限定。

Claims (13)

1.一种用于检测用于沿着由时钟信号(4)协调的多个数据路径(5)处理数据操作的逻辑电路(10)中的扰动(1)的方法,至少一个数据路径(5)具有操作传播延迟,
所述逻辑电路(10)还包括具有用于改变测试传播延迟(2')的可编程长度数据路径(22)的至少一个测试电路(21,21'),
所述测试电路(21,21')包括输入(X,Y),所述输入待处理以根据所述可编程长度数据路径(22)瞬时提供输出(N);以及错误发生器(26),所述错误发生器用于在所述输出(N)不同于所述输入(X,Y)的预期输出(R1,R2)的情况下提供错误(E),
所述测试电路(21,21’)被配置为在两种模式下操作,校准模式(Mc)和检测模式(Md),以便在所述模式(Mc,Md)之间重复切换,所述校准模式(Mc)包括:
-通过改变该可编程长度数据路径(22)直到该错误发生器(26)输出错误(E),来确定临界传播延迟,
-调整所述可编程长度数据路径(22)以在其中包括容许延迟(3'),
-切换到检测模式(Md),
所述检测模式(Md)包括:
-在所述错误发生器(26)输出错误(E)的情况下,检测沿着所述可编程长度数据路径(22)的所述逻辑电路(10)中的扰动(1)。
2.根据权利要求1所述的方法,其中所述逻辑电路(10)还包括第二测试电路(21’),所述第二测试电路(21')具有至少与所述第一测试电路(21)相同的能力,并且其中当一个测试电路(21,21’)处于一个模式(Mc,Md)时,另一个测试电路处于另一个模式。
3.根据权利要求1或2所述的方法,其中在所述临界传播延迟低于用于在没有扰动(1)的情况下处理所述数据操作的最小延迟之前,停止改变所述可编程长度数据路径(22)以确定所述临界传播延迟。
4.根据前述权利要求中任一项所述的方法,其中所述方法包括迭代(i),所述迭代(i)用于随时间推移迭代所述确定、所述调整、所述切换以及所述检测。
5.根据前述权利要求中任一项所述的方法,其中所述可编程长度数据路径(22)由待包括在一个时钟周期(T)内的多个元件(23)形成。
6.根据权利要求5所述的方法,其中在第一次迭代期间根据恒定数量包括所述元件,然后增加要在下一次迭代包括的所述元件的数量。
7.根据前述权利要求中任一项所述的方法,其中一旦完成所述校准模式(Mc),就执行从所述校准模式(Mc)到所述检测模式(Md)的切换。
8.根据前述权利要求中任一项所述的方法,其中所述测试电路(21,21’)的所述输入(X,Y)被交换或改变,以便在两个连续输出之间获得不同的输出(N)。
9.根据前述权利要求中任一项所述的方法,其中通过向协调产生所述测试传播延迟(2')的所述数据路径(5)的时钟分支(4’)施加有用偏斜(t1'-t1)来调整所述测试传播延迟(2')。
10.一种用于实施根据权利要求1至9中任一项所述的方法同时沿着由时钟信号(4)协调的多个数据路径(5)处理数据操作的逻辑电路(10),所述逻辑电路包括被配置为根据校准模式(Mc)和检测模式(Md)操作的至少一个测试电路(21,21’),所述校准模式(Mc)被设计成通过所述数据路径(5)中的至少一个数据路径确定数字信号(2)的临界传播延迟,并且所述检测模式(Md)被设计成检测所述逻辑电路(10)中的扰动(1),所述测试电路(21,21')包括:
-第一寄存器(12a,12b),所述第一寄存器被配置为加载有输入(X,Y),
-逻辑单元(24),所述逻辑单元存储函数(F),所述函数被配置为从所述输入(X,Y)提供输出(N),
-第二寄存器(12c,12d),所述第二寄存器用于存储由所述函数(F)针对所述输入(X,Y)提供的预期输出(R1,R2),
-比较器(25),所述比较器被配置为验证所述输出(N)是否等于所述预期输出(R1,R2)中的一个预期输出,
-错误发生器(26),所述错误发生器用于在所述比较器(25)提供负事件的情况下输出错误(E),
-可编程长度数据路径(22),所述可编程长度数据路径用于改变所述数字信号(2)的传播延迟(2'),从而允许从所述输入(X,Y)获得所述输出(N),以及
-切换单元,所述切换单元用于将校准模式(Mc)切换到检测模式(Md)并且用于将检测模式(Md)切换到校准模式(Mc)。
11.根据权利要求10所述的逻辑电路(10),所述逻辑电路还包括第二测试电路(21’),所述第二测试电路(21')具有与所述第一测试电路(21)至少相同的能力,并且被配置用于在所述校准模式(Mc)和所述检测模式(Md)中的一者中同时工作。
12.根据权利要求10或11所述的逻辑电路(10),其中所述可编程长度数据路径(22)包括多个可选延迟单元(23)。
13.根据权利要求10至12中任一项所述的逻辑电路(10),其中所述逻辑电路限于全数字部件。
CN202080089068.5A 2019-12-23 2020-12-21 用于检测逻辑电路中扰动的方法以及用于实现此方法的逻辑电路 Pending CN114846763A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19219480.1A EP3843317A1 (en) 2019-12-23 2019-12-23 Method for detecting perturbations in a logic circuit and logic circuit for implementing this method
EP19219480.1 2019-12-23
PCT/EP2020/087397 WO2021130153A1 (en) 2019-12-23 2020-12-21 Method for detecting perturbations in a logic circuit and logic circuit for implementing this method

Publications (1)

Publication Number Publication Date
CN114846763A true CN114846763A (zh) 2022-08-02

Family

ID=69024118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080089068.5A Pending CN114846763A (zh) 2019-12-23 2020-12-21 用于检测逻辑电路中扰动的方法以及用于实现此方法的逻辑电路

Country Status (5)

Country Link
US (1) US11879938B2 (zh)
EP (2) EP3843317A1 (zh)
KR (1) KR20220119614A (zh)
CN (1) CN114846763A (zh)
WO (1) WO2021130153A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117907812A (zh) * 2024-03-20 2024-04-19 英诺达(成都)电子科技有限公司 电路检测方法及装置、电子设备、存储介质、程序产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432009B2 (en) * 2013-11-15 2016-08-30 Arm Limited Circuit delay monitoring apparatus and method
GB2540812B (en) * 2015-07-30 2019-01-30 Advanced Risc Mach Ltd An apparatus and method for detecting a resonant frequency giving rise to an impedance peak in a power delivery network
US10019571B2 (en) * 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
EP3415937A1 (en) 2017-06-15 2018-12-19 Nagravision S.A. Method for detecting at least one glitch in an electrical signal and device for implementing this method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117907812A (zh) * 2024-03-20 2024-04-19 英诺达(成都)电子科技有限公司 电路检测方法及装置、电子设备、存储介质、程序产品

Also Published As

Publication number Publication date
KR20220119614A (ko) 2022-08-30
US20230027416A1 (en) 2023-01-26
WO2021130153A1 (en) 2021-07-01
EP4082152A1 (en) 2022-11-02
US11879938B2 (en) 2024-01-23
EP3843317A1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
US11355457B2 (en) Fully digital glitch detection mechanism with process and temperature compensation
Wang et al. Sequential hardware trojan: Side-channel aware design and placement
KR101681219B1 (ko) 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증
US7849428B2 (en) Formally deriving a minimal clock-gating scheme
KR20140002638A (ko) 개선된 시동 작동을 갖는 물리적 복제 불가 기능부
JPH09184874A (ja) 非同期回路の試験方法
CN103403719A (zh) 使用基于样本的静态时序基础结构的同步多角静态时序分析
CN113835012A (zh) 定时错误检测和校正电路
JP6968234B2 (ja) 相対遅延を伴うフリップフロップを用いてデータサンプリング完全性チェックを行う電子デバイスおよびその方法
CN111027270A (zh) 一种用于集成电路设计流程可信设计的方法及电路
Bayrak et al. An EDA-friendly protection scheme against side-channel attacks
US7620868B2 (en) Method for detecting a malfunction in a state machine
Bongiovanni et al. Design and validation through a frequency-based metric of a new countermeasure to protect nanometer ICs from side-channel attacks
CN114846763A (zh) 用于检测逻辑电路中扰动的方法以及用于实现此方法的逻辑电路
US9203415B2 (en) Modulated clock synchronizer
Xue et al. Hardware Trojan detection by timing measurement: Theory and implementation
CN110945372B (zh) 用于检测电信号中的至少一个毛刺的方法和用于实施该方法的装置
US20220276303A1 (en) A hardware component and a method for implementing a camouflage of current traces generated by a digital system
Zhang et al. Red team: Design of intelligent hardware trojans with known defense schemes
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
Kumar et al. Pragmatic Formal Verification Methodology for Clock Domain Crossing (CDC)
EP1620829A1 (en) Electronic circuit device for cryptographic applications
Li et al. Temperature-triggered behavioral IPs HW Trojan detection method with FPGAs
Freijedo et al. Exploiting parametric power supply and/or temperature variations to improve fault tolerance in digital circuits
Li et al. Fault-Tolerant Circuits

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination