CN115720657A - 在芯片处的故障注入事件检测以及相关系统、方法和设备 - Google Patents
在芯片处的故障注入事件检测以及相关系统、方法和设备 Download PDFInfo
- Publication number
- CN115720657A CN115720657A CN202180045484.XA CN202180045484A CN115720657A CN 115720657 A CN115720657 A CN 115720657A CN 202180045484 A CN202180045484 A CN 202180045484A CN 115720657 A CN115720657 A CN 115720657A
- Authority
- CN
- China
- Prior art keywords
- fault
- fault event
- event
- detector
- response
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/57—Protection from inspection, reverse engineering or tampering
- H01L23/576—Protection from inspection, reverse engineering or tampering using active circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
- H03K3/356104—Bistable circuits using complementary field-effect transistors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明公开了一种故障事件检测器,其被配置为检测在芯片的包括易受攻击的数字电路的区域中的故障注入事件。此类故障事件检测器可包括双稳态设备,该双稳态设备至少部分地响应于在该故障事件检测器的周围区域中的故障注入事件的存在而改变状态。此类故障事件检测器可相对于易受攻击的数字电路进行布置,使得该易受攻击的数字电路基本上位于第一故障事件检测器的该周围区域内。
Description
相关事项的交叉引用
本申请根据35U.S.C.§119(e)要求2020年6月2日提交的美国临时专利申请序列号62/704,894的权益,该临时专利申请的公开内容据此全文以引用方式并入本文。
技术领域
本文所讨论的示例总体上涉及在芯片处的故障注入事件检测。
背景技术
开发故障注入技术以测试电子系统(硬件和软件)并且理解这些系统在应力下是如何表现的。然而,正如此类技术可被合法地用于提取关于系统的可用信息,故障注入技术可被非法地用于提取关于系统的秘密信息。在所谓的故障注入攻击的情况下,攻击者诱导系统以特定方式运行(通常通过经多个迭代注入故障或注入特定故障),然后通过在此类诱导之后观察其操作来获得关于系统的可用信息(例如,秘密信息)。
附图说明
为了容易地识别对任何特定元素或动作的讨论,参考标号中最重要的一个或多个数字是指首次介绍该元素的图号。
图1是描绘根据一个或多个示例的包括故障事件检测器的芯片部分的示意图。
图2A是描绘根据一个或多个示例的故障事件检测器的框图。
图2B是描绘根据一个或多个示例的另一故障事件检测器的框图。
图3是描绘根据一个或多个示例的被修改为故障事件检测电路的标准单元的数字电路的示意图。
图4是描绘根据一个或多个示例的过程的流程图。
图5是描绘根据一个或多个示例的过程的流程图。
图6是可根据一个或多个示例进行配置的电路。
具体实施方式
在以下具体实施方式中,参考了形成本公开的一部分的附图,并且在附图中以举例的方式示出了可实践本公开的特定示例。充分详细地描述了这些示例,以使本领域的普通技术人员能够实践本公开。然而,可利用本文已启用的其他示例,并且可在不脱离本公开的范围的情况下进行结构、材料和流程变化。
本文所呈现的图示并不旨在为任何特定方法、系统、设备或结构的实际视图,而仅仅是用于描述本公开的例示性示例的理想化表示。在一些情况下,为了读者的方便,各附图中的类似结构或部件可保持相同或相似的编号;然而,编号的相似性并不一定意味着结构或部件在尺寸、组成、构造或任何其他属性方面是相同的。
应当容易理解,如本文一般所述并且在附图中示出的示例的部件可被布置和设计成多种不同的配置。因此,对各种示例的以下描述并不旨在限制本公开的范围,而是仅代表各种示例。虽然示例的各个方面可在附图中呈现,但是附图未必按比例绘制,除非特别指明。
以下描述可包括示例以帮助本领域的普通技术人员实践本发明所公开的示例。术语″示例性″、″比如″和″例如″的使用意味着相关描述是说明性的,并且虽然本公开的范围旨在涵盖示例和法律等同形式,但使用此类术语并不旨在将示例或本公开的范围限制于指定的部件、步骤、特征、功能等。
因此,除非本文另有说明,否则所示出和描述的特定实施方式仅是非限制性示例,并且不应被解释为是实施本公开的唯一方式。元件、电路和功能能够以框图形式示出,以便不以不必要的细节模糊本公开。相反,所示出和描述的特定实施方式仅为示例性的,并且不应理解为实施本公开的唯一方式,除非本文另外指明。另外,块定义和各个块之间逻辑的分区是特定实施方式的示例。对于本领域的普通技术人员将显而易见的是,本公开可通过许多其他分区解决方案来实践。在大多数情况下,已省略了关于定时考虑等的细节,其中此类细节不需要获得本公开的完全理解,并且在相关领域的普通技术人员的能力范围内。
本文所述的信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,可在整个说明书中参考的数据、指令、命令、信息、信号、比特和符号可由电压、电流、电磁波、磁场或粒子、光场或粒子或者它们的任何组合来表示。为了清晰地呈现和描述,一些附图可以将信号示出为单个信号。本领域普通技术人员应当理解,信号可表示信号的总线,其中该总线可具有各种位宽度,并且本公开可在任何数量的包括单个数据信号的数据信号上实现。
结合本文所公开的示例描述的各种示例性逻辑块、模块和电路可以用通用处理器、专用处理器、数字信号处理器(DSP)、集成电路(IC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立栅极或晶体管逻辑部件、分立硬件部件或设计成实施本文所描述的功能的其任何组合来实现或实施。通用处理器(在本文还可称为″主机处理器″或简称″主机″)可以是微处理器,但在替代方案中,该处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可实现为计算设备的组合,诸如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器或任何其他此类配置。在通用计算机被配置为执行与本公开的示例相关的计算指令(例如,软件代码)时,包括处理器的通用计算机被认为是专用计算机。
本文中示例可根据被描绘为流程图、流程示意图、结构图或框图的过程来描述。虽然流程图可将操作动作描述为连续过程,但是这些动作中的许多动作可按照另一序列、并行地或基本上同时地执行。此外,可重新安排动作的顺序。本文中的过程可对应于方法、线程、函数、过程(procedure)、子例程、子程序、其他结构或它们的组合。此外,本文公开的方法可通过硬件、软件或这两者来实施。如果在软件中实现,这些函数可作为一个或多个指令或代码存储或传输到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质两者,该通信介质包括有利于将计算机程序从一个位置传递到另一个位置的任何介质。
使用诸如″第一″、″第二″等名称对本文的元件的任何引用不限制那些元件的数量或顺序,除非明确陈述此类限制。相反,这些名称可在本文中用作在两个或更多个元件或元件的实例之间进行区分的便利方法。因此,提及第一元件和第二元件并不意味着在那里只能采用两个元件,或者第一元件必须以某种方式在第二元件之前。此外,除非另外指明,一组元件可包括一个或多个元件。
本文所述的元件可包括相同元件的多个实例。这些元件可由数字指示符(例如110)一般地指示,并且由后接字母指示符的数字指示(例如,110A)或后接″短划线″在前的数字指示(例如,110-1)具体地指示。为了便于遵循该描述,在大多数情况下,元件编号指示以引入或最充分讨论元件的附图的编号开始。因此,例如,图1上的元件标识符将主要为数字格式1xx,并且图4上的元件将主要为数字格式4xx。
如本文所用,涉及给定参数、属性或条件的术语″基本上″是指并且包括在本领域的普通技术人员将会理解的给定参数、属性或条件满足小程度的方差的程度,诸如例如在可接受的制造公差内。以举例的方式,取决于基本上满足的具体参数、属性或条件,参数、属性或条件可至少满足90%、至少满足95%、或甚至至少满足99%。
如本文所用,当一个元件称为在另一个元件″上″、″连接到″另一个元件、″耦接到″另一个元件或与另一个元件″耦接″时,该元件可直接在另一元件上、与另一元件连接或与另一元件耦接,或者可存在居间元件。相比之下,当一个元件称为直接在另一个元件″上″、″直接连接到″另一个元件或与另一个元件″直接耦接″时,不存在居间元件或层。应当理解,当元件称为″连接″或″耦接″第一元件和第二元件时,则该元件连接到第一元件并且该元件连接到第二元件。
如本文所用,当元件称为″电连接到″或″电耦合至″另一个元件时,则电荷和/或信号可直接或经由居间元件(如果存在的话)在元件和另一元件之间转移。相比之下,当一个元件称为″直接电连接到″或″直接电耦合至″另一个元件时,不存在居间元件或层。应当理解,当元件称为″电连接″或″电耦合″第一元件和第二元件时,则电荷和/或信号可经由该元件(包括经由居间元件(如果存在的话))在第一元件和第二元件之间移动。应当理解,术语″电连接到″、″电连接、″电耦合至″和″电耦合″不需要转移实际电荷或信号。
施加到集成电路(IC,并且在本文中也称为″芯片″)的故障注入介质(例如但不限于,激光、辐射或温度)可在芯片处(包括在特定位置处或在特定时刻)注入故障(在本文中也称为″故障注入″)。例如,攻击者可试图通过跨裸片扫描聚焦激光束并且对准芯片的数字电路发射激光脉冲来注入故障。当易受攻击的数字电路运行(例如但不限于,执行命令和/或控制序列)时,此类激光脉冲可随机地或有目的地改变该数字电路(例如但不限于,触发器、锁存器、线网以及寄存器中的一者或多者)的状态(例如但不限于,逻辑状态)。作为非限制性示例,对于使用互补金属氧化物半导体(CMOS)技术实现的数字电路来说,故障注入介质可接通或增大在其处设置数字电路的CMOS结构的寄生器件(例如但不限于,寄生双极结型晶体管(BJT)或寄生二极管)的传导。经历寄生电流流动的数字电路可能经历临时或永久状态改变或性能改变,以及甚至损坏。
攻击者可试图观察响应于注入故障的数字电路(或更一般地芯片)的操作改变。作为非限制性示例,攻击者可观察到相对于在针对芯片的书面说明书中描述的操作的操作差异。故障注入攻击可用于从芯片中提取秘密信息,诸如从执行密码处理或密码处理的一些操作并且更一般地执行安全协议的安全芯片中提取秘密信息。
故障的非限制性示例包括在执行代码时进入假分支、改变存储器读出的数据位、改变地址位以及改变配置位和安全位的状态。这些和其他故障可能暴露的秘密信息的非限制性示例包括关于以下各项的信息:加密密钥、加密协议、密钥协商协议、密码、敏感信息的地址、定时信息以及它们的组合和子组合。
本公开的发明人已知的用于解决故障注入攻击的方法是复制数字电路的易受攻击的部分并且对来自被复制的数字电路的结果进行比较。如果结果不同,则检测到故障条件。本公开的发明人已知的此类方法的示例可使针对数字电路的易受攻击的部分的裸片大小增加超过一倍,并且因此是用于检测故障事件的代价高昂的方法。本公开的发明人已知的解决故障攻击的另一方法是包括存储器上的奇偶校验、在指令集上的奇偶校验以及跨操作的奇偶校验。本公开的发明人已知的此类方法的示例增加了设计的复杂性并且增加了裸片尺寸,此外,本公开的发明人认识到此类方法可能提供跨所有故障条件的不一致的检测(换句话讲,仅针对有限的故障事件集的可靠检测能力)。本公开的发明人已知的解决故障注入攻击的又一方法是与数字电路的易受攻击的部分一起部署模拟检测器。不利地是,本公开的发明人已知的此类模拟检测器的示例可能与易受攻击数字电路的部分单独可识别地分开,并且因此攻击者可在试图诱导故障时避免或抑制模拟检测器。
如本文中所用,″故障注入事件″是可能(但不一定必将)在芯片的数字电路内注入故障的任何事件。故障注入事件可为注入故障的特定尝试(即,故障注入攻击)或可注入故障但不是注入故障的特定尝试的事件(例如但不限于,由环境条件引起)。
如本文所用,″易受攻击的数字电路″指的是芯片易受所注入的故障影响的数字电路。
如本文所用,故障事件检测器的″周围区域″是由故障事件检测器对故障注入事件的存在可靠地响应的极限所限定的区域。故障事件检测器将不会对在周围区域之外的故障注入事件的存在可靠地响应。
故障事件检测器的周围区域可在本文中被描绘为以故障事件检测器位于中心处的基本上圆形的区域;然而,本公开不限于周围区域的任何特定形状,也不限于将故障事件检测器放置于形状的几何中心处。周围区域可对应于芯片的至少一部分,并且在某些情况下,周围区域可延伸而超过芯片的周边。
在一个或多个示例中,可为故障事件检测器选择数字电路,该数字电路对故障注入介质(例如但不限于,激光、辐射或施加的温度)表现出与要由故障事件检测器监视的易受攻击的数字电路至少基本上相同的易受影响的特性。
在一个或多个示例中,包括易受攻击的数字电路及其部分的数字电路可包括一个或多个数字逻辑块以及更具体地物理布局元件(例如但不限于,晶体管),该物理布局元件包括相应的数字逻辑块。在各种示例中,易受攻击的数字电路和相关联的故障事件检测器可对应于数字逻辑块的标准单元或其一部分,其为使用基于单元的方法(诸如在半导体设计中使用的标准单元方法)定义的功能块。
在一个或多个示例中,可至少部分地基于数字逻辑块的标准单元设计来为故障事件检测器选择数字电路、其部分以及其布置。在一个或多个示例中,故障事件检测器的数字电路可根据经设计用于实现数字逻辑块的标准单元设计的数字电路来修改,使得故障事件检测器类似于(例如但不限于,对于攻击者而言)标准单元,例如但不限于,故障事件检测器的晶体管布局类似于标准单元的数字逻辑的晶体管布局。因此,在一个或多个示例中,故障检测器可有目的地类似于标准单元的电路。在一个或多个示例中,故障事件检测器可能不会有目的地类似于标准单元的电路,例如在以下情况中:故障注入事件预计是环境条件而不是特定攻击的结果,或者故障事件检测器或芯片的数字电路的特征被遮蔽或以其他方式不能够单独地识别。
在一个或多个示例中,多个故障事件检测器可位于芯片的包括多个易受攻击的数字电路的部分中。可选择故障事件检测器的位置,使得相应的易受攻击的数字电路位于故障事件检测器中的一个或多个故障事件检测器的周围区域内。在一个或多个示例中,多个故障事件检测器可位于芯片的包括易受攻击的数字电路的部分中,并且可以选择故障事件检测器的相应的位置使得它们的相应的周围区域与芯片的包括易受攻击的数字电路的区域重叠。
图1是描绘根据一个或多个示例的被配置用于故障事件检测的芯片部分100的图。芯片部分100包括第一故障事件检测器106、第二故障事件检测器112以及被电耦合至第一故障事件检测器106和第二故障事件检测器112的处理器114。多个第一易受攻击的数字电路108(例如但不限于,如图1所描绘的一个或多个第一易受攻击的数字电路108,或第一易受攻击的数字电路108的至少一部分134)位于第一故障事件检测器106的第一周围区域104内,并且多个第二易受攻击的数字电路110(例如但不限于,如图1所描绘的一个或多个第二易受攻击的数字电路110,或第二易受攻击的数字电路110的至少一部分136)位于第二故障事件检测器112的第二周围区域102内。
第一故障事件检测器106和第二故障事件检测器112被配置为通过分别生成第一故障事件指示116和第二故障事件指示118来分别响应在第一周围区域104和第二周围区域102中发生的故障事件。在一个或多个示例中,如本文中所论述,第一故障事件检测器106可包括响应于在第一周围区域104内的第一故障注入事件120的存在而改变状态的相应的数字电路,并且如本文中所论述,第二故障事件检测器112可包括响应于在第二周围区域102内的第二故障注入事件124的存在而改变状态的相应的数字电路,并且第一故障事件检测器106和第二故障事件检测器112可通过分别生成第一故障事件指示116和第二故障事件指示118来响应在相应的数字电路处的状态改变。
值得注意的是,第一易受攻击的数字电路108和第二易受攻击的数字电路110相应的数字电路可为相同或不同类型,可响应于相同或不同类型的故障注入事件的存在而改变状态,并且可具有针对故障注入事件的相同或不同程度的灵敏度。
在芯片部分100的设想操作中,当第一故障注入事件120发生在位于第一周围区域104内的第一易受攻击的数字电路108中的一个易受攻击的数字电路处时,在第一故障事件检测器106处存在对应的第一检测到的故障注入事件122(例如但不限于,第一故障事件检测器106的数字电路的状态改变)。第一故障事件检测器106通过生成第一故障事件指示116并且向处理器114发送第一故障事件指示116来响应第一检测到的故障注入事件122。相似地,当第二故障注入事件124发生在位于第二周围区域102内的第二易受攻击的数字电路110中的一个易受攻击的数字电路处时,在第二故障事件检测器112处存在对应的第二检测到的故障注入事件126(例如但不限于,第二故障事件检测器112的数字电路的状态改变)。第二故障事件检测器112通过生成第二故障事件指示118并且向处理器114发送第二故障事件指示118来响应第二检测到的故障注入事件126。在一个或多个示例中,处理器114可被配置为响应于第一故障事件指示116或第二故障事件指示118(即,更一般地响应于第一检测到的故障注入事件122或第二检测到的故障注入事件126)来执行适当动作128。作为非限制性示例,处理器114所采取的适当动作128可包括以下各项中的一项或多项:重新执行一个或多个操作、锁定芯片部分100或包括该芯片部分的芯片、或触发警报。如本文中所论述,处理器114可被配置为经由第一复位信号130和第二复位信号132复位第一故障事件检测器106和第二故障事件检测器112。
在一些情况下,包括第一故障事件检测器106或第二故障事件检测器112的故障事件检测器可至少部分地基于故障事件的预期类型相对于易受攻击的数字电路或它们的部分来被布置。作为非限制性示例,给定一种类型的故障注入事件,可预期此类故障注入事件源相对于易受攻击的数字电路的具体位置,或者可预期芯片的要被故障注入事件影响的具体区域。
图2A是描绘根据一个或多个示例的故障事件检测器200a的框图。故障事件检测器200a是图1中的第一故障事件检测器106或第二故障事件检测器112的非限制性示例。
故障事件检测器200a通常被配置为响应于故障注入事件212生成故障事件指示208。在一个或多个示例中,故障事件检测器200a可包括双稳态设备202和可选的故障指示器206。
在一个或多个示例中,双稳态设备202是可靠地表现出两个稳定状态的电路或设备。双稳态设备202的非限制性示例包括CMOS锁存器、CMOS触发器或CMOS反相器。响应于故障注入事件212,在双稳态设备202处触发从表现出第一状态到表现出第二状态的改变。
在一个或多个示例中,故障事件检测器200a的操作模式响应于可选地外部生成的复位210的断言和去断言而改变。在一个或多个示例中,在断言复位210时,故障事件检测器200a可改变到复位操作模式,其中双稳态设备202的状态被设置或可选地被复位为已知状态,并且故障事件指示208被去断言。在断言复位210时以及在断言该复位期间,双稳态设备202的状态转变204保持去断言,而不管故障注入事件(诸如故障注入事件212)是否存在。当状态转变204被去断言时,故障事件指示208被去断言并且因此指示″未检测到故障注入事件″。在一个或多个示例中,在去断言复位210时,故障事件检测器200a可改变到正常操作模式。改变到正常操作模式不改变双稳态设备202的状态、不断言状态转变204或者不断言故障事件指示208。在去断言复位210时以及在去断言该复位期间,响应于以下情况状态转变204被断言:响应于故障注入事件212双稳态设备202从第一状态改变为第二状态。当状态转变204被断言时,故障事件指示208被断言并且指示″检测到故障注入事件″。对于外部生成的复位210来说附加地或另选地,在一个或多个示例中,故障事件检测器200a可包括用于输送内部复位210(例如但不限于,响应于瞬变事件而生成的内部信号)的高电阻路径。
故障指示器206的一个或多个示例可包括被布置成生成故障事件指示208的电路,该故障事件指示指示由故障指示器206观察到的在双稳态设备202处的状态转变204。故障事件指示208是第一故障事件指示116和第二故障事件指示118的非限制性示例。在不存在可选的故障事件指示器206时,状态转变204可被用作故障事件指示208。
图2B是描绘根据一个或多个示例的被配置为检测故障注入事件的存在的故障事件检测器200b的框图。故障事件检测器200b是第一故障事件检测器106或第二故障事件检测器112的非限制性示例。
故障事件检测器200b包括故障事件传感器226,该故障事件传感器通常被配置为感测指示故障注入事件的存在的信号。在一个或多个示例中,故障事件传感器226可包括感测元件216,该感测元件被配置为将在CMOS结构214处的增加量的寄生电流220感测为触发222。响应于故障注入事件218的存在,寄生电流220表现出大体上增大的量值,并且在不存在故障注入事件218时表现出大体上稳定或减小的量值。
作为非限制性示例,设置在CMOS结构214处的CMOS开关(图2B未示出)可被布置成始终断开(例如但不限于,如图3所描绘的)。作为非限制性示例,NMOS开关,其端子被电耦合,使得在其源极和栅极端子处的电压电平始终低于在其漏极处的电压电平;或PMOS开关,其端子被电耦合,使得在其漏极和栅极端子处的电压电平始终高于在其源极处的电压电平。此类CMOS开关具有寄生器件,并且更具体地,具有存在于设置有CMOS开关的CMOS结构214处的反向偏置寄生二极管。如本文中所用,将寄生二极管称为″反向偏置″意指在寄生二极管阴极处的电压高于在寄生二极管阳极处的电压。将故障注入事件218施加于此类CMOS开关启动或增大寄生二极管的传导,并且因此启动或增大寄生电流(本文中也称为″泄漏电流″)的量值,诸如寄生电流220。在感测到增大的寄生电流220或足够的寄生电流220量值时,生成触发222,并且感测元件216表现出响应224。
在一个或多个示例中,第一故障事件指示116和第二故障事件指示118中的一个或多个故障事件指示可为响应224,或者可至少部分地响应于响应224而被断言。
在一个或多个示例中,故障事件检测器200a(图2A)的双稳态设备202可包括故障事件传感器226或者被耦合到故障事件传感器226,并且双稳态设备202从第一状态到第二状态的改变可至少部分地响应于响应224和响应于该响应而所断言的状态转变204而被触发。在一个或多个示例中,响应224可迫使(在本文中可被称为″触发″)在双稳态设备202处从第一状态到第二状态的状态改变,从而断言状态转变204。
图3是描绘根据一个或多个示例的故障事件检测电路300的电路图。故障事件检测电路300是图2A中的故障事件检测器200a的非限制性示例,其中在双稳态设备202处的状态转变204由图2B中的故障事件传感器226触发,或者是图1中的第一故障事件检测器106和第二故障事件检测器112的非限制性示例。
在一个或多个示例中,故障事件检测电路300通常被配置为响应于检测到的故障注入事件(诸如但不限于,第一检测到的故障注入事件122或第二检测到的故障注入事件126)而断言故障事件指示信号308。
在一个或多个示例中,故障事件检测电路300可包括双稳态电路330、第一故障事件感测电路320、第二故障事件感测电路322、可选的复位电路326和可选的故障指示器电路332。在一个或多个示例中,故障事件指示信号308是故障事件指示208、第一故障事件指示116或第二故障事件指示118的非限制性示例。在一个或多个示例中,双稳态电路330是双稳态设备202的非限制性示例,故障指示器电路332是故障指示器206的非限制性示例,并且第一故障事件感测电路320和第二故障事件感测电路322中的每一个故障事件感测电路都是故障事件传感器226的非限制性示例。
在图3所描绘的故障事件检测电路300的特定非限制性示例中,复位电路326、第一故障事件感测电路320、第二故障事件感测电路322和双稳态电路330利用互补金属氧化物半导体(CMOS)开关。复位电路326包括PMOS开关(即,P沟道型金属氧化物半导体开关)MP0,MP0的栅极端子电耦合至复位信号302(其为复位210的非限制性示例),并且MP0的源极端子电耦合至供电电压Vdd。第一故障事件感测电路320包括NMOS开关(即,N沟道型金属氧化物半导体开关)MN0,并且MN0的源极端子和栅极端子电耦合至与逻辑低相关联的接地电压GND。第二故障事件感测电路322包括PMOS开关MP1,MP1的栅极端子和源极端子电耦合至与逻辑高相关联的供电电压Vdd。在一个或多个示例中,电压Vdd和GND可与故障事件检测电路300的电压轨相关联。
在一个或多个示例中,双稳态电路330是通常被配置为可靠地表现出两个稳定状态中的一个稳定状态的电路。在一个或多个示例中,双稳态电路330可被配置为锁存器、触发器或反相器,但不限于此。在图3所描绘的特定非限制性示例中,双稳态电路330被配置为锁存器,该锁存器通常被配置为保持与由复位电路326提供给双稳态电路330的最后信号的状态相对应的内部信号的状态,并且更具体地,通过由第一反相器310、第二反相器316和电阻性电路312进行的锁存将第一信号306保持在逻辑电平高,但不限于此。
双稳态电路330的状态由内部信号(第一信号306)的状态指示。由第一信号306表现出逻辑电平高或低指示双稳态电路330的状态是第一状态或第二状态。本公开不限于利用与电压轨相关联的电压电平或逻辑电平来推断双稳态电路330的状态或第一信号306的状态。
如以下所讨论的,第一故障事件感测电路320和第二故障事件感测电路322被布置用于响应于故障注入事件而触发在双稳态电路330处的状态转变,并且更具体地,通过第一信号306触发状态转变。在一个或多个示例中,第一故障事件感测电路320和第二故障事件感测电路322通常被配置为响应于故障注入事件可靠地提供足以迫使在双稳态电路330处的状态转变的触发。
在故障事件检测电路300的正常操作期间(即,其中该电路已经被复位信号302复位,并且能够在存在故障注入事件的情况下改变第一信号306的状态,如以下所讨论的),第一故障事件感测电路320和第二故障事件感测电路322的开关MN0和开关MP1分别是断开的,并且第一信号306表现为高逻辑电平。响应于故障注入事件和足够的电流流动量值,如果第一故障事件感测电路320的NMOS开关MN0的相应的寄生器件(诸如但不限于,寄生双极结晶体管(BJT)或寄生二极管)中的一个器件或两个器件导通或增加电导,则NMOS开关MN0将迫使第一信号306到低逻辑电平并且将迫使第一节点318到接地电压GND,这将通过第一反相器310将第二节点324驱动到电压Vdd。响应于故障注入事件和足够的电流流动量值,如果第二故障事件感测电路322的PMOS开关MP1的相应的寄生器件(诸如但不限于,寄生双极结晶体管(BJT)或寄生二极管)导通或增加电导,则PMOS开关MP1将迫使第二节点324到高逻辑电平(即,将朝向Vdd驱动第二节点,随后Vdd将被双稳态电路330锁存),从而将第一信号306和第一节点318设置到低逻辑电平。
在任一种情况下,迫使第一节点318到GND或到低逻辑电平或迫使第二节点324到Vdd或高逻辑电平导致在双稳态电路330处的状态转变。
在一个或多个示例中,故障事件检测电路300通过第一故障事件感测电路320和第二故障事件感测电路322中的至少一个故障事件感测电路感测的信号是在第一故障事件感测电路320和第二故障事件感测电路322处的寄生电流的量值的改变,该量值在存在故障注入事件的情况下增大。触发是实现在开关MN0或MP1处足够的寄生电流(也可被表征为寄生电流量值的足够的增大)以迫使在双稳态电路330处的状态转变。在图3所描绘的特定示例中,大于在第一反相器310处的下拉电流的在第二故障事件感测电路322处的寄生电流将足以改变双稳态电路330的状态,并且大于在第二反相器316处的上拉电流的在第一故障事件感测电路320处的寄生电流将足以改变双稳态电路330的状态。
虽然在图3所描绘的特定示例中,第一故障事件感测电路320和第二故障事件感测电路322被描绘为在故障事件检测电路300处分别具有下拉和上拉配置,但是其他配置的利用不超出本公开的范围。
在一个或多个示例中,电阻性电路312被配置为协助复位电路326或第一故障事件感测电路320(视情况而定)改变第一信号306的状态和更一般地双稳态电路330的状态(例如但不限于,逻辑低到逻辑高,并且反之亦然)。电阻性电路312被耦合于第二反相器316的输出与第一节点318之间,并且包括标记为MP2的PMOS开关以及标记为MN2的NMOS开关。PMOS开关MP2的栅极端子被电耦合至接地电压GND,并且NMOS开关MN2的栅极端子被电耦合至供电电压Vdd,因此开关MP2和开关MN2均被布置为始终接通。当开关MP2和开关MN2均接通时,电阻性电路312在第二反相器316的输出与复位电路326和第一故障事件感测电路320之间提供电阻。因此,电阻性电路312被布置用于限制第二反相器316的输出电流的量值,使得当复位电路326或第一故障事件感测电路320试图迫使第一信号306的状态改变时,第二反相器316的输出的影响在第一反相器310和第二反相器316的状态增强布置可将第一信号306锁存到新状态之前,不迫使第一信号306的状态以及更一般地双稳态电路330的状态到其先前状态。
在一个或多个示例中,故障事件检测电路300包括至少两种操作模式:正常操作模式和复位模式,在正常操作模式下,故障事件检测电路可检测故障注入事件,在复位模式下,故障事件检测电路不检测故障注入事件。其他操作模式不超出本公开的范围。在复位操作模式期间,故障事件检测电路300被配置为连续地指示″未检测到故障注入事件″,而不管第一故障事件感测电路320或第二故障事件感测电路322是否正在触发。在正常操作模式期间,故障事件检测电路300被配置为响应于第一故障事件感测电路320或第二故障事件感测电路322中的任一者触发而指示″检测到故障注入事件″,并且在第一故障事件感测电路320或第二故障事件感测电路322中的任一者触发不存在的情况下指示″未检测到故障注入事件″。
一般来讲,为了进入正常操作模式,故障事件检测电路300被配置为以已知的操作模式开始,然后转变到正常操作模式。在一个或多个示例中,复位电路326被布置用于响应于断言复位信号302而将故障事件检测电路300置于复位操作模式中,并且响应于去断言复位信号302而将故障事件检测电路300从复位操作模式转变到正常操作模式。在一个或多个示例中,断言复位信号302还可用于(例如但不限于,由处理器114)初始化故障事件检测器或者清除故障注入指示。一旦被清除,对应于后续所检测到的故障注入事件的故障事件指示可由故障事件检测电路300指示。
响应于(例如但不限于,由处理器114)断言复位信号302,复位电路326被布置用于将第一信号306设置为逻辑高。将第一信号306设置为逻辑高通过可选的第三反相器304将故障事件指示信号308设置为逻辑低(这指示″未检测到故障注入事件″)用于初始化或复位双稳态电路330和更一般地故障事件检测电路300。在图3所描绘的特定示例中,复位信号302被视为经断言的有效低(逻辑低)和经去断言的无效高(逻辑高),但其他惯例的利用不超出本公开的范围。
在复位操作模式的情况下,当复位信号302在复位电路326处被断言(被设置为逻辑低)时,PMOS开关MP0接通并且将电压Vdd施加到第一节点318(例如但不限于,当复位信号302在复位电路326处被断言时第一节点318被上拉到Vdd(逻辑高))并且从而在第一反相器310及可选的第三反相器304的相应的输入处施加Vdd,该第一反相器及该可选的第三反相器的输入被电耦合至第一节点318。可选的第三反相器304、第一反相器310和第二反相器316被配置为提供输出电压,该输出电压对应于在其输入处电压的逻辑相反(即,电压的反相版本)。当第一信号306被设置为逻辑高(这里为Vdd)时,可选的第三反相器304在其输出处提供对应于逻辑低(这里为GND)的电压,并且从而将故障事件指示信号308设置为逻辑低(这在该特定非限制性示例中对应于″未检测到故障注入事件″)。
第一反相器310和第二反相器316按串联布置,因此当在第一反相器310的输入处接收到设置为逻辑高的第一信号306时,第二反相器316将第三信号314(即,第二反相器316的输出)设置为逻辑高。如图所示,电阻性电路312被布置成只要Vdd和GND被供应,在故障事件检测电路300的操作期间就总是有效的,并且因此充当串联电阻器并且当第三信号314为逻辑高时将第一信号306设置为逻辑高。这样,第一反相器310、第二反相器316和电阻性电路312被布置用于提供充当锁存器的反馈路径,从而保持第一信号306的状态(逻辑高)。
响应于从被断言的复位信号302到被去断言的该复位信号(即,逻辑高)的改变,故障事件检测电路300的操作模式从复位操作模式改变为正常操作模式,在该正常操作模式中,该故障事件检测电路可检测故障注入事件。在正常操作模式的情况下,复位电路326的PMOS开关MP0响应于被去断言的复位信号302而断开。当故障事件检测电路300处于正常操作模式时,由于双稳态电路330的锁存器配置,第一信号306保持逻辑高。
作为故障事件检测电路300的设想操作的非限制性示例,当故障事件检测电路300的周围区域内存在故障注入事件而故障事件检测电路300处于正常操作模式时,第一故障事件感测电路320和第二故障事件感测电路322中的一者或两者检测到故障注入事件并且尝试触发在双稳态电路330处的状态改变。
就第二故障事件感测电路322而言,当电压Vdd被施加到PMOS晶体管MP1的栅极端子和源极端子时(例如但不限于,在故障事件检测电路300的正常操作期间),PMOS晶体管MP1始终断开。故障事件检测电路300的周围区域内的故障注入事件的存在将PMOS晶体管MP1中的寄生电流从电压Vdd诱导至第二节点324,该寄生电流如果足以克服第一反相器310的输出的下拉,则迫使第二节点324到电压Vdd,从而将第二信号328的状态从逻辑低改变为逻辑高。
在一个或多个示例中,可选择第一反相器310的晶体管的尺寸以限制经由第一反相器310流动的下拉电流的量值,其中下拉电流的量值的上限与晶体管的尺寸成正比。在一个或多个示例中,PMOS晶体管MP1(和NMOS晶体管MN0)的尺寸可根据第二故障事件感测电路322(和第一故障事件感测电路320)的期望灵敏度来选择,在PMOS晶体管MP1处流动的被诱导的寄生电流的量值与PMOS晶体管MP1的尺寸成正比。在一个或多个示例中,可选择PMOS晶体管MP1和第一反相器310的晶体管的相对尺寸以调谐到第一故障事件感测电路320的期望灵敏度。
响应于第二信号328的状态改变为逻辑高,第二反相器316将第三信号314的状态改变为逻辑低,然后由第一反相器310的反馈将该第三信号锁存于经改变的状态中。响应于第三信号314的状态改变为逻辑低,第一信号306将其状态改变为逻辑低,并且可选的第三反相器304将故障事件指示信号308设置为逻辑高,即设置为″检测到故障事件″状态。PMOS晶体管MP1中从电压Vdd到第二节点324的寄生电流可为瞬时的,只要其持续时间足以将第一信号306的状态改变为逻辑低,即,通过两个反相器(第一反相器310和第二反相器316)传播逻辑信号并且锁存第一信号306。作为非限制性示例,1纳秒宽的脉冲(即,第三信号314的状态改变)应足以设置故障事件指示信号308。
就第一故障事件感测电路320而言,当接地电压GND被施加到NMOS晶体管MN0的栅极端子和漏极端子时(例如但不限于,在故障事件检测电路300的正常操作期间),NMOS晶体管MN0始终断开。故障事件检测电路300的周围区域内的故障注入事件的存在将第一故障事件感测电路320的NMOS晶体管MN0中的寄生电流从第一节点318诱导至接地电源GND,从而将第一节点318拉到接地电压GND并且迫使第一信号306将状态从逻辑高改变为逻辑低。当在可选的第三反相器304的输入处接收到被设置为逻辑低的第一信号306时,可选的第三反相器304将故障事件指示信号308设置为逻辑高,这在该特定非限制性示例中对应于″检测到故障注入事件″。当在第一反相器310的输入处接收到被设置为逻辑低的第一信号306时,第二信号328被设置为逻辑高,这通过第二反相器316将第三信号314设置为逻辑低,因此将第一信号306的条件锁存为逻辑低状态,而不管第一故障事件感测电路320的操作。NMOS晶体管MN0中的寄生电流可为瞬时的,只要其持续时间足以将第三信号314的状态改变为逻辑低。
在一个或多个示例中,故障事件检测电路300可包括比图3所描绘的更多或更少的故障事件感测电路。在图3所描绘的特定非限制性示例中,故障事件检测电路300包括两个故障事件感测电路,第一故障事件感测电路320和第二故障事件感测电路322,它们被布置用于执行互补的故障事件感测,其包括两个或更多个故障事件感测电路,诸如第一故障事件感测电路320和第二故障事件感测电路322,两者均可检测故障注入事件的存在并且影响生成″检测到故障注入事件″指示。互补的故障事件感测电路(例如,包括两个或更多个故障事件感测电路,诸如第一故障事件感测电路320和第二故障事件感测电路322,两者均可检测故障注入事件并且影响生成″检测到故障注入事件″指示)可增加故障事件检测电路300的有效性(例如但不限于,减少假阴性)。
本公开不限于特定数量的故障事件传感器。作为非限制性示例,特别设想的是,所公开的故障事件检测器可利用多个故障事件传感器,这些故障事件传感器被预计单独不足以可靠地检测故障注入事件的存在,但被预计作为一组可靠地检测故障注入事件的存在。作为进一步的非限制性示例,特别设想的是,所公开的故障事件检测器可利用多个故障事件传感器,这些故障事件传感器被预计单独就足以可靠地检测故障注入事件的存在以用于冗余。
本领域的技术人员将会知道,故障事件感测电路和更一般地故障事件传感器的数量是设计选择的问题。作为非限制性示例,特别设想的是,可选择多个故障事件传感器以设置对故障注入事件的存在的期望程度的灵敏度。
本领域的技术人员将会知道,本文中所论述的故障事件检测器和故障事件检测的示例提供了许多有益效果和优点。故障事件检测器的各种示例可包括类似于用于数字逻辑块的标准单元的某些特征。作为非限制性示例,可根据用于数据锁存器的标准单元来修改故障事件检测电路300。数据锁存器是通常在芯片中使用的数字逻辑块。因此,攻击者可能发现难以(即使并非不可能)从标准单元数字逻辑来识别包括故障事件检测电路300(或包括根据标准单元修改的另一故障检测电路)的故障事件检测器,并且当试图对准芯片诱导故障时(诸如但不限于,跨芯片扫描激光时)将无法避开此类故障检测器。本发明所公开的故障事件检测电路不限于特定设计或制造技术(诸如修改标准单元的数字逻辑电路),并且其他技术的利用不超出本公开的范围。
图4是描绘根据一个或多个示例的用于控制故障事件检测器的操作的过程400的流程图。作为非限制性示例,过程400可由图1的处理器114执行。
在操作402处,过程400首先断言复位信号(例如但不限于,复位210或复位302)以将故障事件检测器(例如但不限于,第一故障事件检测器106、第二故障事件检测器112、故障事件检测器200(分别称为200a或200b)或故障事件检测电路300)的操作模式设置为复位操作模式。将故障事件检测器的操作模式设置为复位操作模式将故障事件检测器的双稳态设备(例如但不限于,双稳态设备202或双稳态电路330)的状态设置为第一状态。可选地,操作402清除所断言的故障事件指示,即,在操作期间检测到故障注入事件的存在并且故障事件指示信号308被设置为逻辑高的情况下,过程400断言复位信号以将故障事件检测器的数字电路的状态设置回到第一状态,从而将故障事件指示信号308复位为逻辑低。
在操作404处,过程400去断言复位信号以将故障事件检测器的操作模式从复位操作模式改变为正常操作模式。值得注意的是,故障事件检测器的双稳态设备的状态保持在第一状态。
在操作406处,过程400从故障事件检测器接收所断言的故障事件指示。所断言的故障事件指示可指示在故障事件传感器的周围区域中检测到的故障注入事件。
在操作408处,过程400响应于所断言的故障事件指示而采取适当动作。在一个或多个示例中,过程400所采取的适当动作可至少部分地基于故障事件检测器的周围区域中的易受攻击的电路元件。作为非限制性示例,过程400可重新执行涉及故障事件检测器的周围区域中的易受攻击的电路元件的一个或多个操作。作为另一非限制性示例,过程400可锁定芯片,因为易受攻击的电路元件影响芯片的核心过程。作为另一非限制性示例,过程400可至少部分地基于故障事件检测器的周围区域中的易受攻击的电路元件来触发针对更高级别过程的警报。
在操作410处,过程400第二断言复位信号以将故障事件检测器的操作模式设置为复位操作模式,并且从而清除所断言的故障事件指示。在操作410中在第二断言复位信号之后去断言复位信号将故障事件检测器的操作模式改变为正常操作模式。因此,在一个或多个示例中,切换复位信号(断言并且随后去断言复位信号)用来复位故障事件检测器和故障事件指示。
图5是描绘根据一个或多个示例的用于通过故障事件检测器检测故障注入事件的过程500的流程图。
在操作502处,过程500提供双稳态设备(例如但不限于,双稳态设备202或双稳态电路330)。
在操作504处,过程500提供故障事件传感器(例如但不限于,故障事件传感器226或第一故障事件感测电路320或第二故障事件感测电路322)。在一个或多个示例中,故障事件传感器可被配置为至少部分地响应于故障注入事件的存在来检测故障注入事件的存在(例如但不限于,包括NMOS开关MN0的第一故障事件感测电路320或包括PMOS开关MP1的第二故障事件感测电路322,其中这些开关被布置成始终断开并且它们的寄生器件响应于故障注入事件的存在而导通)。
在操作506处,至少部分地响应于故障事件传感器检测到(例如但不限于,接通或增大第一故障事件感测电路320的NMOS开关MN0的寄生器件的传导或接通或增大第二故障事件感测电路322的PMOS开关MP1的寄生器件的传导)故障注入事件的存在,过程500在所提供的双稳态设备处触发状态改变(例如但不限于,通过第一故障事件感测电路320或第二故障事件感测电路322迫使第一信号306的状态从第一状态改变为第二状态)。
在操作508处,至少部分地响应于双稳态设备处的状态改变,过程500断言状态指示(例如但不限于,第一故障事件指示116、第二故障事件指示118、故障事件指示208或图3的故障事件指示信号308)以指示″检测到故障注入事件″。
在操作510处,过程500复位所提供的双稳态设备的状态,并且去断言故障事件指示。
图6是示例性设备600的框图,在各种示例中,该设备可用于实现本文所公开的各种功能、操作、动作、过程和/或方法。设备600包括可操作地耦接到诸如数据存储设备(在本文中有时被称为″存储装置604″)的一个或多个装置的一个或多个处理器602(在本文中有时被称为″处理器602″),但不限于此。存储装置604包括存储在其上(例如,存储在计算机可读存储器上)的机器可执行代码606,并且处理器602包括逻辑电路608。机器可执行代码606包括描述可由逻辑电路608实施(例如,由该逻辑电路执行)的功能元件的信息。逻辑电路608被修改以实施(例如,执行)由机器可执行代码606描述的功能元件。当执行由机器可执行代码606描述的功能元件时,设备600应被视为被配置用于执行本文所公开的功能元件的专用硬件。在各种示例中,处理器602可被配置为按顺序、同时地(例如,在一个或多个不同的硬件平台上)或在一个或多个并行过程流中执行由机器可执行代码606描述的功能元件。
当由处理器602的逻辑电路608实施时,机器可执行代码606被配置为调整处理器602以执行本文所公开的示例的操作。例如,机器可执行代码606可被配置为调整处理器602以执行图4的过程400的至少一部分或全部。又如,机器可执行代码606可被配置为调整处理器602以执行针对图1的芯片部分100所讨论的操作,并且更具体地,针对处理器114所讨论的操作的至少一部分或全部。
处理器602可包括通用处理器、专用处理器、中央处理单元(CPU)、微控制器、可编程逻辑控制器(PLC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立栅极或晶体管逻辑、分立硬件部件、其他可编程设备或被设计成执行本文所公开的功能的它们的任何组合。在通用计算机被配置为执行与本公开的示例相关的计算指令(例如,软件代码)时,包括处理器的通用计算机被认为是专用计算机。需注意,通用处理器(在本文中也可被称为主机处理器或简称主机)可以是微处理器,但在替代方案中,处理器602可包括任何常规处理器、控制器、微控制器或状态机。处理器602也可被实施为计算设备的组合,诸如DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器或任何其他此类配置。
在各种示例中,存储装置604包括易失性数据存储装置(例如,随机存取存储器(RAM))、非易失性数据存储装置(例如但不限于,闪存存储器、硬盘驱动器、固态驱动器、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM))。在各种示例中,处理器602和存储装置604可被实施为单个设备(例如但不限于,半导体器件产品、片上系统(SOC))。在各种示例中,可将处理器602和存储装置604实施为单独设备。
在各种示例中,机器可执行代码606可包括计算机可读指令(例如,软件代码、固件代码)。作为非限制性示例,计算机可读指令可由存储装置604存储,由处理器602直接访问,并且由处理器602使用至少逻辑电路608来执行。同样作为非限制性示例,计算机可读指令可被存储在存储装置604上,被传输到存储器设备(未示出)以供执行,并且由处理器602使用至少逻辑电路608来执行。因此,在各种示例中,逻辑电路608包括能够以电的方式配置的逻辑电路。
在各种示例中,机器可执行代码606可描述要在逻辑电路608中实施以执行功能元件的硬件(例如,电路)。该硬件可以从低级晶体管布局到高级描述语言的各种抽象级别中的任何一种进行描述。在高级抽象下,可使用硬件描述语言(HDL),诸如电气和电子工程师协会(IEEE)标准硬件描述语言(HDL),但不限于此。作为非限制性示例,可使用Verilog、或SystemVerilog或超大规模集成(VLSI)硬件描述语言(VHDL)。
HDL描述可根据需要以多种其他抽象级别中的任一种转换成描述。作为非限制性示例,高级描述可被转换为逻辑级描述诸如寄存器传送语言(RTL)、栅极级(GL)描述、布局级描述或掩模级描述。作为非限制性示例,由逻辑电路608的硬件逻辑电路(例如但不限于,栅极、触发器、寄存器)执行的微操作可在RTL中描述并且然后通过合成工具转换成GL描述,并且GL描述可通过安置和路由工具转换成布局级描述,该布局级描述对应于可编程逻辑设备的集成电路、分立栅极或晶体管逻辑部件、分立硬件部件或它们的组合的物理布局。因此,在各种示例中,机器可执行代码606可包括HDL、RTL、GL描述、掩模级描述、其他硬件描述或它们的任何组合。
在机器可执行代码606包括硬件描述(以任何抽象级别)的示例中,系统(未示出,但包括存储装置604)可被配置为实施由机器可执行代码606描述的硬件描述。作为非限制性示例,处理器602可包括可编程逻辑设备(例如但不限于,FPGA或PLC),并且逻辑电路608可被电控制以将对应于硬件描述的电路实施到逻辑电路608中。同样作为非限制性示例,逻辑电路608可包括根据机器可执行代码606的硬件描述由制造系统(未示出,但包括存储装置604)制造的硬连线逻辑部件。
无论机器可执行代码606包括计算机可读指令还是硬件描述,逻辑电路608都被修改以在实施机器可执行代码606的功能元件时执行由机器可执行代码606描述的功能元件。需注意,虽然硬件描述可能不直接描述功能元件,但硬件描述间接描述了由硬件描述所描述的硬件元件能够执行的功能元件。
作为示例,机器可执行代码606可被配置为调整处理器602或其逻辑电路608以执行针对以下各项所讨论的操作的至少一部分或全部:图1的第一故障事件检测器106或第二故障事件检测器112;图2A的故障事件检测器200a,并且更具体地,针对双稳态设备202和故障指示器206所讨论的操作;图3的故障事件检测电路300,并且更具体地,复位电路326、第一故障事件感测电路320、第二故障事件感测电路322和双稳态电路330。作为另一非限制性示例,机器可执行代码606可被配置为调整处理器602或其逻辑电路608以执行针对过程500所论述的操作的至少一部分或全部。
本领域的技术人员将会知道,所公开的故障注入事件检测和实现该故障注入事件检测的芯片的至少一个优点是给予设计者可选地利用标准单元电路来选择多种合适布置的灵活性。
在此描述中任何将某物表征为″典型″、″常规″、″已知″等不一定意味着该物在现有技术中公开或在现有技术中了解所论述的方面。此类表征也不一定意味着在相关领域中它是众所周知的、充分理解的或常规使用的。这仅意味着本公开的发明人已知或理解。
如本公开内容所用,涉及多个元件的术语″组合″可包括所有元件的组合或某些元件的各种不同子组合中的任何一种组合。例如,短语″A、B、C、D或它们的组合″可指A、B、C或D中的任一个;A、B、C和D中的每一个的组合;以及A、B、C或D的任何子组合,诸如A、B和C;A、B和D;A、C和D;B、C和D;A和B;A和C;A和D;B和C;B和D;或C和D。
本公开且特别是所附权利要求中所用的术语(例如,所附权利要求的主体等)通常旨在作为″开放式″术语(例如,术语″包括(including)″应解释为″包括但不限于″,术语″具有″应解释为″至少具有″,术语″包括(includes)″应解释为″包括但不限于″,等等)。如本文所用,术语″各个″意指一些或全部。如本文所用,术语″每一个″是指全部。
另外,如果预期特定数量的引入的权利要求表述,则在权利要求中将明确叙述此类意图,并且在不进行此类表述的情况下,不存在此类意图。例如,作为对理解的辅助,以下所附权利要求书可包含使用引入性短语″至少一个″和″一个或多个″来引入权利要求叙述。然而,使用此类短语不应理解为暗示由不定冠词″一个″或″一种″引入的权利要求表述将包含此类引入的权利要求表述的任何特定权利要求限定于仅包含一个此类表述的示例,即使当相同的权利要求包括介绍性短语″一个或多个″或″至少一个″和不定冠词,诸如″一个″或″一种″(例如,″一个″和/或″一种″可被解释为指的是″至少一个″或″一个或多个″,但不限于此);使用定冠词来引入权利要求叙述也是如此。如本文所用,术语″每个″意指一些或全部,并且术语″每个和各个″意指全部。
另外,即使明确叙述了特定数量的所引入的权利要求叙述,本领域的技术人员也将认识到,此类叙述应被解译为旨在至少所叙述的数量(例如,无修饰的叙述″两项叙述″在没有其他修饰成分的情况下旨在至少两项叙述,或两项或更多项叙述,但不限于此)。此外,在使用类似于″A、B和C中的至少一者,但不限于此″或″A、B和C中的一者或多者,但不限于此″的惯例的那些实例情况下,此类构造一般旨在包括单独A、单独B、单独C、A和B一起、A和C一起、B和C一起或A、B和C一起,但不限于此。
此外,无论在说明书、权利要求书或附图中,呈现两个或更多个替代性术语的任何分离的词或措辞应当理解为考虑包括该术语中的一个术语、该术语中的任意一个术语或两个术语的可能性。例如,短语″A或B″应理解为包括″A″或″B″或″A和B″的可能性。
本公开的附加的非限制性实施例包括:
实施例1:芯片部分,该芯片部分包括:第一故障事件检测器,其包括第一双稳态设备,该第一双稳态设备响应于在第一故障事件检测器的第一周围区域内的故障注入事件的存在而改变状态;以及第一易受攻击的数字电路,其中第一易受攻击的数字电路的至少一部分位于第一周围区域内。
实施例2:根据实施例1所述的芯片部分,其中第一故障事件检测器被配置为至少部分地响应于第一双稳态设备改变状态而断言第一故障事件指示。
实施例3:根据实施例1和实施例2中任一项所述的芯片部分,包括处理器,其中该处理器被配置为至少部分地响应于所断言的第一故障事件指示而采取适当动作。
实施例4:根据实施例1至实施例3中任一项所述的芯片部分,包括:第二故障事件检测器,其包括第二双稳态设备,该第二双稳态设备响应于在第二周围区域内的第二故障注入事件的存在而改变状态;以及第二易受攻击的数字电路,其中该第二易受攻击的数字电路的至少一部分位于第二周围区域内。
实施例5:根据实施例1至实施例4中任一项所述的芯片部分,包括布置在第一周围区域内的一个或多个其他易受攻击的数字电路。
实施例6:根据实施例1至实施例5中任一项所述的芯片部分,其中,第一故障事件检测器包括故障事件传感器,该故障事件传感器被配置为检测在第一故障事件检测器的第一周围区域内的故障注入事件的存在。
实施例7:根据实施例1至实施例6中任一项所述的芯片部分,其中故障事件传感器被布置成至少部分地响应于在第一故障事件检测器的第一周围区域内的故障注入事件的检测到的存在而触发第一双稳态设备的状态改变。
实施例8:根据实施例1至实施例7中任一项所述的芯片部分,其中,故障事件传感器为故障事件感测电路,该故障事件感测电路包括PMO S晶体管,该PMOS晶体管被布置成始终断开并且被布置为上拉晶体管。
实施例9:根据实施例1至实施例8中任一项所述的芯片部分,其中,故障事件传感器为故障事件感测电路,该故障事件感测电路包括NMOS晶体管,该NMOS晶体管被布置成始终断开并且被布置为下拉晶体管。
实施例10:根据实施例1至实施例9中任一项所述的芯片部分,其中第一故障事件检测器包括电阻性电路,该电阻性电路被布置成协助故障事件感测电路来触发第一双稳态设备的状态改变。
实施例11:根据实施例1至实施例10中任一项所述的芯片部分,其中第一故障事件检测器包括两个故障事件传感器,每个故障事件传感器被配置为检测在第一故障事件检测器的第一周围区域内的故障注入事件的存在。
实施例12:根据实施例1至实施例11中任一项所述的芯片部分,其中第一故障事件检测器包括复位电路,该复位电路被布置成响应于复位信号的断言和去断言来设置第一故障事件检测器的操作模式。
实施例13:一种方法,该方法包括:首先断言复位信号以将故障事件检测器的操作模式设置为复位操作模式;去断言复位信号以将故障事件检测器的操作模式从复位操作模式改变为正常操作模式;从故障事件检测器接收所断言的故障事件指示;至少部分地响应于所断言的故障事件指示而采取适当动作;以及切换复位信号以复位故障事件检测器并且清除所断言的故障事件指示。
实施例14:根据实施例13所述的方法,其中采取适当动作包括重新执行一个或多个操作。
实施例15:根据实施例13和实施例14中任一项所述的方法,其中采取适当动作包括锁定芯片。
实施例16:根据实施例13至实施例15中任一项所述的方法,其中采取适当动作包括触发警报。
实施例17:根据实施例13至实施例16中任一项所述的方法,包括至少部分地响应于在故障事件检测器的周围区域中的易受攻击的数字电路而采取适当动作。
实施例18:一种方法,该方法包括:提供双稳态设备;提供故障事件传感器;至少部分地响应于故障事件传感器检测到故障注入事件的存在而触发在双稳态设备处的状态改变;至少部分地响应于在第一电路的内部信号处的状态改变而断言故障事件指示;以及复位双稳态设备的所改变的状态并且去断言故障事件指示。
实施方案19:一种计算系统,该计算系统包括:处理器;和存储器存储装置,其上具有机器可执行代码,该机器可执行代码被修改以将处理器的逻辑电路永久性地配置为包括:第一故障事件检测器,该第一故障事件检测器包括第一双稳态设备,该第一双稳态设备响应于在第一故障事件检测器的第一周围区域内的故障注入事件的存在而改变状态;以及第一易受攻击的数字电路,其中第一易受攻击的数字电路的至少一部分位于第一周围区域内。
实施例20:一种计算系统,该计算系统包括:处理器;和存储器存储装置,其上具有机器可执行代码,该机器可执行代码被修改以将处理器的逻辑电路永久性地配置为:首先断言复位信号,以将故障事件检测器的操作模式设置为复位操作模式;去断言复位信号以将故障事件检测器的操作模式从复位操作模式改变为正常操作模式;从故障事件检测器接收所断言的故障事件指示;至少部分地响应于所断言的故障事件指示而采取适当动作;以及切换复位信号以复位故障事件检测器并且清除所断言的故障事件指示。
实施例21:一种计算系统,该计算系统包括:处理器;和存储器存储装置,其上具有机器可执行代码,该机器可执行代码被修改以将处理器的逻辑电路永久性地配置为:提供双稳态设备;提供故障事件传感器;至少部分地响应于故障事件传感器检测到故障注入事件的存在而触发在双稳态设备处的状态改变;至少部分地响应于在第一电路的内部信号处的状态改变而断言故障事件指示;以及复位双稳态设备的所改变的状态并且去断言故障事件指示。
实施例22:一种装置,该装置包括:检测器,其中该检测器被配置为感测的信号为在CMOS结构处的寄生电流,该寄生电流响应于故障注入事件的存在而表现出大体上增大的量值。
实施例23:根据实施例22所述的装置,该装置包括:易受故障注入事件的存在影响的数字电路。
实施例24:根据实施例22和实施例23中任一项所述的装置,其中,数字电路被布置在检测器的周围区域内。
在不脱离本公开的范围的情况下,本文所述的各种示例的特征不是相互排斥的,并且可以各种组合和排列存在,即使本文未明确描述此类组合或排列。事实上,在不脱离本公开的范围的情况下,本领域的普通技术人员将认识到本文所述内容的变型、修改和其他具体实施。因此,本发明不应仅由前述示例性描述限定,而应仅由所附权利要求书及其法律等同物限定。
虽然本公开关于某些图示示例描述了本发明,但本领域的普通技术人员将认识到并理解本发明不受此限制。相反,在不脱离下文所要求保护的本发明的范围及其法律等同形式的情况下,可对图示示例和所述示例进行许多添加、删除和修改。此外,来自一个示例的特征可与另一个示例的特征组合,同时仍被包括在发明人所设想的本发明的范围内。
Claims (24)
1.一种芯片部分,所述芯片部分包括:
第一故障事件检测器,所述第一故障事件检测器包括第一双稳态设备,所述第一双稳态设备响应于在所述第一故障事件检测器的第一周围区域内的故障注入事件的存在而改变状态;和
第一易受攻击的数字电路,其中所述第一易受攻击的数字电路的至少一部分位于所述第一周围区域内。
2.根据权利要求1所述的芯片部分,其中所述第一故障事件检测器被配置为至少部分地响应于所述第一双稳态设备的改变的状态而断言第一故障事件指示。
3.根据权利要求2所述的芯片部分,所述芯片部分包括处理器,其中所述处理器被配置为至少部分地响应于所断言的第一故障事件指示而采取适当动作。
4.根据权利要求1所述的芯片部分,所述芯片部分包括:
第二故障事件检测器,所述第二故障事件检测器包括第二双稳态设备,所述第二双稳态设备响应于在第二周围区域内的第二故障注入事件的存在而改变状态;和
第二易受攻击的数字电路,其中所述第二易受攻击的数字电路的至少一部分位于所述第二周围区域内。
5.根据权利要求1所述的芯片部分,所述芯片部分包括布置在所述第一周围区域内的一个或多个其他易受攻击的数字电路。
6.根据权利要求1所述的芯片部分,其中所述第一故障事件检测器包括故障事件传感器,所述故障事件传感器被配置为检测在所述第一故障事件检测器的所述第一周围区域内的所述故障注入事件的存在。
7.根据权利要求6所述的芯片部分,其中所述故障事件传感器被布置成至少部分地响应于在所述第一故障事件检测器的所述第一周围区域内的所述故障注入事件的所检测到的存在而触发所述第一双稳态设备的状态改变。
8.根据权利要求6所述的芯片部分,其中所述故障事件传感器为故障事件感测电路,所述故障事件感测电路包括PMOS晶体管,所述PMOS晶体管被布置成始终断开并且被布置为上拉晶体管。
9.根据权利要求6所述的芯片部分,其中所述故障事件传感器为故障事件感测电路,所述故障事件感测电路包括NMOS晶体管,所述NMOS晶体管被布置成始终断开并且被布置为下拉晶体管。
10.根据权利要求9所述的芯片部分,其中所述第一故障事件检测器包括电阻性电路,所述电阻性电路被布置成协助所述故障事件感测电路来触发所述第一双稳态设备的所述状态改变。
11.根据权利要求1所述的芯片部分,其中所述第一故障事件检测器包括两个故障事件传感器,每个故障事件传感器被配置为检测在所述第一故障事件检测器的所述第一周围区域内的所述故障注入事件的存在。
12.根据权利要求1所述的芯片部分,其中所述第一故障事件检测器包括复位电路,所述复位电路被布置成响应于复位信号的断言和去断言来设置所述第一故障事件检测器的操作模式。
13.一种方法,所述方法包括:
首先断言复位信号以将故障事件检测器的操作模式设置为复位操作模式;
去断言所述复位信号以将所述故障事件检测器的所述操作模式从复位操作模式改变为正常操作模式;
从所述故障事件检测器接收所断言的故障事件指示;
至少部分地响应于所断言的故障事件指示而采取适当动作;以及
切换所述复位信号以复位所述故障事件检测器并且清除所断言的故障事件指示。
14.根据权利要求13所述的方法,其中所述采取所述适当动作包括重新执行一个或多个操作。
15.根据权利要求13所述的方法,其中所述采取所述适当动作包括锁定芯片。
16.根据权利要求13所述的方法,其中所述采取所述适当动作包括触发警报。
17.根据权利要求13所述的方法,所述方法包括至少部分地响应于在所述故障事件检测器的周围区域中的易受攻击的数字电路而采取所述适当动作。
18.一种方法,所述方法包括:
提供双稳态设备;
提供故障事件传感器;
至少部分地响应于所述故障事件传感器检测到故障注入事件的存在而触发在所述双稳态设备处的状态改变;
至少部分地响应于在第一电路的内部信号处的所述状态改变而断言故障事件指示;以及
复位所述双稳态设备的所改变的状态并且去断言所述故障事件指示。
19.一种计算系统,所述计算系统包括:
处理器;和
存储器存储装置,所述存储器存储装置上具有机器可执行代码,所述机器可执行代码被修改以将所述处理器的逻辑电路永久性地配置为包括:
第一故障事件检测器,所述第一故障事件检测器包括第一双稳态设备,所述第一双稳态设备响应于在所述第一故障事件检测器的第一周围区域内的故障注入事件的存在而改变状态;和
第一易受攻击的数字电路,其中所述第一易受攻击的数字电路的至少一部分位于所述第一周围区域内。
20.一种计算系统,所述计算系统包括:
处理器;和
存储器存储装置,所述存储器存储装置上具有机器可执行代码,所述机器可执行代码被修改以将所述处理器的逻辑电路永久性地配置为:
首先断言复位信号以将故障事件检测器的操作模式设置为复位操作模式;
去断言所述复位信号以将所述故障事件检测器的所述操作模式从复位操作模式改变为正常操作模式;
从所述故障事件检测器接收所断言的故障事件指示;
至少部分地响应于所断言的故障事件指示而采取适当动作;以及
切换所述复位信号以复位所述故障事件检测器并且清除所断言的故障事件指示。
21.一种计算系统,所述计算系统包括:
处理器;和
存储器存储装置,所述存储器存储装置上具有机器可执行代码,所述机器可执行代码被修改以将所述处理器的逻辑电路永久性地配置为:
提供双稳态设备;
提供故障事件传感器;
至少部分地响应于所述故障事件传感器检测到故障注入事件的存在而触发在所述双稳态设备处的状态改变;
至少部分地响应于在第一电路的内部信号处的所述状态改变而断言故障事件指示;以及
复位所述双稳态设备的所改变的状态并且去断言所述故障事件指示。
22.一种装置,所述装置包括:
检测器,其中所述检测器被配置为感测的信号为在CMOS结构处的寄生电流,所述寄生电流响应于故障注入事件的存在而表现出大体上增大的量值。
23.根据权利要求22所述的装置,所述装置包括:
易受所述故障注入事件的所述存在影响的数字电路。
24.根据权利要求23所述的装置,其中所述数字电路被布置在所述检测器的周围区域内。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062704894P | 2020-06-02 | 2020-06-02 | |
US62/704,894 | 2020-06-02 | ||
PCT/US2021/070610 WO2021248151A1 (en) | 2020-06-02 | 2021-05-26 | Fault injection event detection at a chip and related systems, method and devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115720657A true CN115720657A (zh) | 2023-02-28 |
Family
ID=76624260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180045484.XA Pending CN115720657A (zh) | 2020-06-02 | 2021-05-26 | 在芯片处的故障注入事件检测以及相关系统、方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11836278B2 (zh) |
CN (1) | CN115720657A (zh) |
DE (1) | DE112021003078T5 (zh) |
WO (1) | WO2021248151A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1993057B1 (fr) * | 2007-05-18 | 2010-10-20 | STMicroelectronics (Rousset) SAS | Détection d'une perturbation d'état d'une bascule d'un circuit électronique |
EP2369622B1 (fr) * | 2010-03-24 | 2015-10-14 | STMicroelectronics Rousset SAS | Procédé et dispositif de contremesure contre une attaque par injection d'erreur dans un microcircuit électronique |
US10013581B2 (en) * | 2014-10-07 | 2018-07-03 | Nuvoton Technology Corporation | Detection of fault injection attacks |
US10134744B1 (en) * | 2017-08-21 | 2018-11-20 | United Microelectronics Corp. | Semiconductor memory device |
EP3584737B1 (en) * | 2018-06-19 | 2022-02-23 | Secure-IC SAS | Improved detection of laser fault injection attacks on cryptographic devices |
US10741566B2 (en) * | 2018-06-26 | 2020-08-11 | Micron Technology, Inc. | Integrated arrangements of pull-up transistors and pull-down transistors, and integrated static memory |
US10680594B2 (en) | 2018-07-10 | 2020-06-09 | Nxp Usa, Inc. | Comparator circuit with feedback and method of operation |
US11366899B2 (en) * | 2020-02-18 | 2022-06-21 | Nuvoton Technology Corporation | Digital fault injection detector |
FR3112004B1 (fr) * | 2020-06-29 | 2022-07-22 | St Microelectronics Rousset | Détection d'une impulsion électromagnétique |
-
2021
- 2021-05-26 DE DE112021003078.7T patent/DE112021003078T5/de active Pending
- 2021-05-26 WO PCT/US2021/070610 patent/WO2021248151A1/en active Application Filing
- 2021-05-26 CN CN202180045484.XA patent/CN115720657A/zh active Pending
- 2021-05-26 US US17/303,326 patent/US11836278B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
DE112021003078T5 (de) | 2023-03-16 |
WO2021248151A1 (en) | 2021-12-09 |
US11836278B2 (en) | 2023-12-05 |
US20210374291A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A 373-F 2 0.21%-Native-BER EE SRAM Physically Unclonable Function With 2-D Power-Gated Bit Cells and ${V} _ {\text {SS}} $ Bias-Based Dark-Bit Detection | |
Krishna et al. | MECCA: A robust low-overhead PUF using embedded memory array | |
Liu et al. | A 0.5-V hybrid SRAM physically unclonable function using hot carrier injection burn-in for stability reinforcement | |
Guo et al. | When capacitors attack: Formal method driven design and detection of charge-domain trojans | |
Rai et al. | Security promises and vulnerabilities in emerging reconfigurable nanotechnology-based circuits | |
US7321522B2 (en) | Securing an integrated circuit | |
US9696772B2 (en) | Controlling access to a memory | |
US8334707B2 (en) | Storage circuit with fault detection and method for operating the same | |
Bastos et al. | Novel transient-fault detection circuit featuring enhanced bulk built-in current sensor with low-power sleep-mode | |
JP4759085B2 (ja) | クリプトプロセッサを有する集積回路を備えたコンポーネントおよびその設置方法 | |
US11836278B2 (en) | Fault injection event detection at a chip and related systems, method and devices | |
US20200285780A1 (en) | Cross domain voltage glitch detection circuit for enhancing chip security | |
Yang et al. | Large delay analog trojans: A silent fabrication-time attack exploiting analog modalities | |
US7742357B2 (en) | Securing an integrated circuit | |
US11879938B2 (en) | Method for detecting perturbations in a logic circuit and logic circuit for implementing this method | |
US7345943B2 (en) | Unclocked eFUSE circuit | |
US10438022B2 (en) | Logic encryption using on-chip memory cells | |
US20150194418A1 (en) | Electrostatic discharge equalizer | |
Abideen et al. | An Overview of FPGA-inspired Obfuscation Techniques | |
Alam et al. | Soft-HaT: Software-Based Silicon Reprogramming for Hardware Trojan Implementation | |
Deshpande | Hardware fault attack detection methods for secure embedded systems | |
US8384414B2 (en) | Implementing hacking detection and block function at indeterminate times with priorities and limits | |
US8848459B2 (en) | Semiconductor device | |
US11929604B2 (en) | Programmable voltage lockout protection, and related systems, methods and devices | |
Sumathi et al. | DSDPC: Delay signatures at different process corners based hardware trojan detection technique for FPGAs |
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 |