被配置为监视敏感有效载荷的电路的制作方法

文档序号:25181787发布日期:2021-05-25 14:57阅读:82来源:国知局
被配置为监视敏感有效载荷的电路的制作方法

本发明一般地涉及计算机安全,并且更特别地,涉及用于监视电路的方法和系统。



背景技术:

多年来,计算机安全已经代表了现代计算机化系统、设备或数字电路的主要挑战。这样的系统或设备不断受到越来越多复杂的攻击的威胁。这已经导致计算机安全的复杂性不断增加。同时,计算机科学的应用继续扩展,例如,在物联网领域,这种应用涉及设备之间的新交互并且引入漏洞。

集成电路(例如,智能卡、微处理器、asic(专用集成电路的缩写)或fpga(现场可编程门阵列的缩写))对攻击特别地敏感。电路可以包括被称为“有效载荷”的一个或多个敏感部分(块、ip等),其需要被保护或者包括敏感数据。电路有效载荷可以实施一个或多个密码机制以确保数据的安全、认证、保护和/或隐私。愿意从电路有效载荷访问敏感资产的攻击者可以使用各种类型的攻击,这些攻击在成功时可能导致诸如密钥的敏感资产的公开、导致一个或多个敏感功能的失败、或者导致访问控制策略的失败,访问控制策略的失败可能导致在没有正确凭证的情况下准许访问。

存在各种保护电路的解决方案。然而,这样的解决方案要么专用于对被认为是整体的电路执行的给定类型的攻击,要么只能使得能够后验检测攻击,即在攻击已经被执行之后检测攻击。特别地,它们不能够充分提前监视敏感电路有效载荷以防止攻击。

因此,需要改进的方法和系统来监视敏感电路有效载荷。



技术实现要素:

提供了一种用于监视电路有效载荷的电路,包括:

-多个传感器,多个传感器分布在所述电路中,靠近预定义电路有效载荷,传感器被配置为提供与电路的环境相关的测量;一个或多个存储器单元,一个或多个存储器单元与一个或多个传感器相关联,一个或多个存储器单元被配置为每p个时钟周期存储由一个或多个相关联的传感器进行的传感器测量;其中,电路被配置为读取存储在存储器单元中的至少一些中的传感器测量。

实施例包括:

-数字传感器或者与数字转换器耦合的模拟传感器的使用;和/或

-fifo类型存储器单元的使用、存储器单元的深度的调整;和/或

-被配置为使电路每p个时钟周期或者在p个周期中的q个周期期间读取传感器测量的有限状态机的使用;和/或

-数据混淆和/或减少模块的使用;和/或

-签名电路的使用;和/或

-被配置为根据传感器测量确定一个或多个攻击的电路的使用。

本发明的实施例在各种技术领域中呈现各种优点,这些优点包括但不限于:隐私,情报,金融(交易、贸易等),政府应用(例如,护照、id卡、驾驶执照等),军事应用(例如,无人机、远程传感器等),运输和物流,能源、公共事业、油气中的关键网络的保护,交通规则(例如,飞机、火车、汽车等),医疗应用,通信(例如,物联网、机器对机器、数据或语音通信),安全(例如,建筑物或区域访问)。

本发明的实施例可以有利地用于广泛的通信和数据处理应用中,例如,用于汽车工业应用中以确保防盗保护,用于服务提供商系统中以保护访问卡,用于rfid标签和电子钥匙中,用于移动电话设备中以认证对电池和附件的控制和访问,用于嵌入式设备和装置的制造中以提供硬件和软件算法的保护以防止克隆,用于银行工业中以保护银行账户和金融交易,等等。

附图说明

被并入本说明书中并且构成本说明的一部分的附图示出了本发明的各种实施例,并且与上面给出的本发明的一般描述和下面给出的实施例的具体实施方式一起用于解释本发明的实施例。

图1示出了根据本发明的不同实施例的被监视的电路的一般架构。

图2示出了监视有效载荷的传感器的示例性分布。

图3至图6示出了记录的p和q周期的示例。

具体实施方式

为了便于理解下面对一些实施例的描述,下面对本文所使用的一些术语进行了定义。

“传感器”(或“感测单元”)可以是与数字转换器耦合的模拟传感器和/或“数字传感器”。在一些实施例中,可以仅使用模拟传感器(沿着模数转换器)。在替代实施例中,可以仅使用数字传感器。在其他实施例中,可以使用模拟传感器和数字传感器两者。

在一些实施例中,至少一个“传感器”还可以是“逻辑传感器”。这样的逻辑单元/逻辑传感器可以等待在操作系统(os)内部或外部的安全监督模块(软件和/或硬件)发出一些安全事件(例如,记录在gnu/linuxos下的“/var/log/dmesg”中的那些)。

在实施例中,“传感器”可以包括与模拟/数字转换器耦合的模拟传感器。因此,可以使用市场上可获得的传感器。例如,可以使用照明激光传感器。在另一示例中,可以使用磁传感器。

在实施例中,传感器可以是“被动”传感器。传感器的被动特性指示从环境中进行测量,但是在测量之前没有与该环境的交互以建立特定条件。相反,其他类型的传感器可能需要与环境的主动交互。这种主动传感器的示例是:在ram-puf的情况下关断电源然后接通电源,或者在相机传感器的情况下关断灯,或者在线性加速器传感器的情况下从一个物理位置移动到另一物理位置。被动特性使得传感器能够在任何时间进行测量而没有任何外部约束。

在实施例中,传感器甚至可以不需要请求传达其测量。在实施例中,传感器“连续地”输出其测量。在实施例中,传感器“间歇地”输出环境的一个或多个测量。

传感器可以模制在监测或监视下的目标电路中,与监测或监视下的目标电路集成,耦合到监测或监视下的目标电路,附接到监测或监视下的目标电路,与监测或监视下的目标电路相关联,胶合到监测或监视下的目标电路路,释放到或不释放到监测或监视下的目标电路。

在实施例中,“感测单元”可以包括一组“数字传感器”,一组“数字传感器”包括至少两个传感器,传感器被并行布置,每个“数字传感器”提供具有二进制值的数字化的位输出,“感测单元”被配置为递送包括多位值的至少一个二进制向量,多位值包括由一组数字传感器提供的至少两个位输出。

在实施例中,“数字传感器”可以包括通过组合单元互连的一个或多个存储器元件。存储器元件可以被配置为存储输入值、中间值和/或输出值。组合标准单元被配置为计算要存储在下一个存储器元件中的值,将存储在前一个存储器元件中的信号作为输入值。组合标准单元可以包括无记忆逻辑门,其可以实施布尔函数,例如反相器、或、与、异或。其他组合标准单元可以包括缓冲器,其功能是放大和/或延迟一些数据路径。

如本文所使用的,“数字传感器”可以包括并行布置的一组n个二进制数字传感器,并且提供包括一组位的多位输出(多变量输出)。

“数字传感器”可以包括数字电路,数字电路具有用于存储参考数据的输入存储器元件、用于传播参考数据的数据路径、以及用于存储通过数据路径传播的数据的输出存储器元件。如果参考数据在被采样的时间中(即,在小于一个时钟周期内)从输入存储器元件正确地到达输出存储器元件,则可以认为计算成功。这种数字传感器可以检测异常操作条件或者超出规范的操作条件。例如,如果温度增加到高于给定阈值,则数字传感器数据路径中的组合门的传播延迟将增加到其中数据在时钟上升沿之后抵达输出存储器元件的点。这样的迟的到达可能引起输出存储器元件相对于参考信号的故障状态。这个故障状态可以通过比较进一步用于生成警报的存储器元件中的值来检测。

这种数字传感器架构有利地解决了建立时间的违犯。建立时间的违犯是数字电路中故障计算的常见源,并且是攻击者用于执行故障注入的常见技术之一。由于数据路径中的传播延迟太长以至于修改不能足够早地在时钟上升沿之前传播和稳定,所以可能出现建立时间违反。

数字传感器警报阈值可以在设计阶段期间静态地确定。替代地,数字传感器警报阈值可以在运行时由软件和/或硬件动态地选择。在一些实施例中,校准设备可以校准数字传感器,数字传感器被配置为通过依据与时钟周期及最佳警报阈值相关的触发条件触发警报来保护由具有时钟周期的时钟信号馈送的有效载荷或目标数字电路,最佳警报阈值通过使取决于误报的发生概率和漏报的发生概率的量最小化来确定。在实施例中,可以根据目标数字电路的关键路径传播延迟的概率密度和警报阈值的概率密度来确定漏报的概率。

“存储器”(或存储器单元)可以是不同类型的。存储器单元可以是易失性的,或者甚至可以组合使用易失性存储器单元和非易失性存储器单元两者。易失性存储器可以使用ram、dram(例如,ddrsdram)、sram、t-ram和z-ram中的一个或多个。使用易失性存储器一般地呈现改进的读取/写入性能的优点,并且与非易失性可写入存储器相比具有更低的成本/占用面积。在实施例中,一个或多个存储器单元可以使用3dxpoint、cbram、sonos、rram、赛道(racetrack)存储器、nram、千足虫(millipede)存储器、fjgram。

存储器单元可以是分布式的,或者可以采取(宏观)“共享存储器”的形式。

在一个实施例中,存储器单元是“先进先出(fifo)”类型的。fifo指定了用于组织和操纵数据缓冲器的方法,其中,首先处理队列的最旧(第一)条目或者“头部”。它与处理具有先到先服务fcfs行为的队列类似。物理地,有限状态机(fsm)可以模拟fifo机制。在其硬件形式中,fifo主要包括一组读取和写入指针、储存器和控制逻辑。储存器可以是静态随机存取存储器(sram)、触发器、锁存器或者任何其他合适形式的储存器。可以使用双端口sram,其中,一个端口专用于写入,并且另一端口专用于读取。在一些实施例中,可以使用同步fifo(它是其中相同时钟用于读取和写入两者的fifo)。在一些实施例中,可以使用异步fifo(用于读取和写入的不同时钟)。例如,异步fifo可以使用格雷码(或者任何单位距离码)作为读取和写入指针,以确保可靠的标志生成(指针算术或漏桶方法)。fifo状态标志的示例包括:满、空、几乎满、几乎空等。然而,在一些实施例中,可以使用fifo以外的其他排队系统。例如,可以使用“优先级排队”。

如本文所使用的,“电路”或“模块”是硬件电路或子电路。任何硬件都可以用软件编码,并且反之亦然。硬件实施例的优点包括电路不太易于被拦截和攻击的事实,因为它们都是“内部的”。软件的优点包括它们能够降低硅表面(在软件中编码)并且它们可以在制造之后升级的事实。

“签名”是可以用作秘密(未存储,但可检索、可重放)的id。

如本文所使用的,“有效载荷”(或者“目标数字电路”)指定“敏感的”或者以其他方式要保护的电路或者电路的一部分(例如,例如电路块或电路ip)。例如,有效载荷可以包括加密单元或密码(例如,aes)、存储器、总线、给定微电子部件等。有效载荷的粒度可以从“原子”硬件到在代工厂设计和销售的宏块而变化。有效载荷特别地可以是“密码加速器”(例如,整个密码部件)或者用于专用加密操作的计算单元。有效载荷可以是存储敏感数据的存储器,敏感数据例如加密密钥、访问id、证书、金额等。在安全系统的上下文中,有效载荷可以是来自特定传感器的输入的或者到处理人类安全或工业昂贵货物的特定激活器的输出。有效载荷可以指定操纵和/或并入秘密数据和/或要求完整性级别的任何嵌入式设备或系统,例如智能卡、安全设备、多媒体播放器、记录器或者如存储器卡和硬盘的移动存储设备。电路有效载荷可以实施一个或多个密码机制以确保数据的安全、认证、保护和/或隐私。更一般地,有效载荷可以指定需要保护以免受窥探或更改的任何货物。

如本文所使用的,缩写为fsm的术语“有限状态机”指定用于设计计算机程序(即,软件)和时序逻辑电路(即,硬件)两者的计算的数学模型。本发明的实施例可以专门在软件中、或者专门在硬件中、或者组合软件和硬件实施例两者。在数字电路中,fsm可以使用可编程逻辑器件、可编程逻辑控制器、逻辑门和触发器或继电器来构建。根据实施例,fsm可以是摩尔(moore)机或者米利(mealy)机。在摩尔机中,fsm仅使用入口动作,即输出仅取决于状态。摩尔模型的优点是简化了fsm的行为。在实施例中,fsm可以是米利机。在米利机中,fsm仅使用输入动作,即输出取决于输入和状态。米利fsm的使用往往导致状态数量的减少。在实施例中,fsm可以是uml(统一建模语言的缩写)机。有限状态机fsm可以处于有限数量的状态之一中。有限状态机fsm一次只能处于一个状态中。在任何给定时间中,其所处的状态被称为“当前”状态。在由触发事件或条件启动时,有限状态机f.s.m可以从一个状态改变为另一状态(“转变”)。特定的有限状态机fsm由其状态的列表并且由用于每个转变的触发条件来定义。状态机可以由状态转变表格或列表或图来表示,为每个状态示出了对应的新状态或“输出状态”。它还可以由被称为状态示图的有向图表示。每个状态可以由节点(圆)表示,而边(箭头)可以示出从一种状态到另一状态的转变。更一般地,在本说明书中,表述“有限状态机”或“有限状态机fsm”可以由“控制器”代替。

“存储器”可以由fsm修改为fifo类型的存储器。“存储器”还可以被命名为“寄存器”。

标记为tclk的“时钟周期”或者标记为fclk的“时钟速率”的表述是指可能集成到较大环境(例如,1333mhz)中的正被监视的电路的时钟。标记为tclk的“时钟周期”是基本或原子时间步长的持续时间。时钟周期和时钟速率通过以下关系式联系:fclk=1/tclk。时钟速率通常是指电路运行的频率。其一般地以每秒时钟周期或其等效物,以赫兹(hz)、千赫兹(khz)、兆赫兹(mhz)或千兆赫兹(ghz)为单位来测量。

参考图1,示出了用于监视电路有效载荷的电路100,包括:多个传感器101、102、103,多个传感器101、102、103分布在电路中,靠近预定义电路有效载荷1、2;与一个或多个传感器相关联的一个或多个存储器单元(111、112、113),一个或多个存储器单元(111、112、113)被配置为每p个时钟周期存储由所述一个或多个相关联的传感器进行的传感器测量。该电路被配置为读取存储在存储器单元中的传感器测量。

如本文所使用的,表述“靠近”(或“接近”)涵盖这样的布置,其中传感器可以位于电路有效载荷中、电路有效载荷上、电路有效载荷上方、电路有效载荷下、电路有效载荷内、与电路有效载荷相邻、邻近电路有效载荷或者在电路有效载荷附近。

在一个实施例中,传感器(101、102、103)可以是数字传感器或者与数字转换器耦合的模拟传感器。

在一个实施例中,存储器单元可以是fifo类型的。

在一些实施例中,一个或多个存储器单元可以是fifo(先进先出)存储器单元。在其他实施例中,可以使用其他“优先级排队”机制(假设源自传感器的测量是时间戳的)。

存储器单元的深度m可以是在被监视的电路有效载荷中执行的预定义计算操作的函数。在一些实施例中,存储器深度可以作为要执行的敏感计算操作的类型的函数来调整。在实施例中,存储器单元的深度m可以是可配置的。深度中的每一个、或全部或一些可以是可配置的,而其他深度可以是预定义的。在一些实施例中,一个或多个深度可以是可配置的(可以使用有限状态机)。当代硬件可以将不变电路与可重新编程电路混合(asic/fpga)。因此,还可以配置根据本发明的监视电路的不同存储器单元部分。

在一些实施例中,存储器单元的相应深度可以是预定义的(例如,通过专门技能,操作者可以将存储器单元的深度的特定值放置为贴近于已知为特定类型的有效载荷);换句话说,一旦设计,一般地可以设置存储器单元的深度。然而,在一些其他实施例中,一个或多个深度可以是可配置的(并且实际上例如经由ram设置、循环深度等来配置)。

在一些实施例中,所有存储器单元可以具有相同深度m。在一些实施例中,每个存储器单元可以在深度/尺寸上进行调整,例如,作为给定有效载荷的执行的持续时间的函数。尺寸调整可以允许最小或最佳的存储器量,以降低asic上的门成本或者fpga上的存储器块分配。在一些实施例中,存储器单元可以具有不同的预定义深度(即m1、m2……mn;例如,深度1处的15个存储器单元、深度10处的3个存储器单元及深度99处的一个存储器单元)。

在一个实施例中,该电路还可以包括有限状态机或fsm,有限状态机或fsm被配置为使电路100每p个时钟周期读取传感器的测量。

在一个实施例中,传感器可以在其相关联的存储器单元中写入,并且另一电路(例如,签名块)可以读取该存储器单元的内容。这可以由指定软件和/或硬件实施例的fsm来引导。在实施例中,fsm可以是硬件电路。在另一实施例中,fsm可以是软编码的。在又一个实施例中,可以使用软件和硬件两者。

在一些实施例中,该电路还可以包括另一有限状态机或fsm,另一有限状态机或fsm被配置为使电路130在p个周期中的q个周期期间读取传感器的测量。

更一般地,一个或多个fsm可以应用传感器数据检索的预定义时间模式。例如,序列可以是:

[1,0,0,5,0,0,0,0,0,80]:[1个周期期间采集,2个周期期间什么也不采集,5个周期期间采集,5个周期期间什么也不采集,80个周期期间采集]。

在一个实施例中,p和/或q可以是可配置的。

可以根据不同标准来选择p和q数量。例如,可以选择p和q,以便在实现全分辨率监视的同时节约能量。例如,因为aes加密针对aes128位执行10个时钟周期,所以要求传感器的反应快速(例如,p=1,q>=10)。

一般地,数据新鲜度迅速降低,并且一般地对长期存储传感器数据没有兴趣。通过调整n、m、p和q,所描述的监视系统可以有利地或多或少地覆盖空间中的有效载荷(传感器数量),可以是反应性的或者主动性的(取决于操作或者是预先计划的,等等)。

在实施例中,传感器和存储器单元的空间中的布置被配置为优化电路布局规划的门数量水平。

在实施例中,一个或多个传感器和/或一个或多个存储器单元通过单个总线或多个本地总线互连。

所有传感器可以在拓扑中与总线(单个故障点)互连。在一个实施例中,每个(一个)传感器可以与其自己的(一个)存储器单元相关联。在一个实施例中,传感器可以与一个或多个存储器单元相关联。在另一实施例中,一个或多个传感器可以与一个存储器单元相关联。在一个实施例中,一个或多个传感器可以与一个存储器单元相关联。

在一些实施例中,一个或多个存储器单元可以采取具有由一个或多个传感器并行访问的共享存储器单元的形式。

在一些实施例中,该电路还包括数据混淆模块,数据混淆模块被配置为混淆源自一个或多个存储器单元的数据。

在实施例中,该电路还包括数据减少模块,数据减少模块被配置为过滤和/或减少源自一个或多个传感器的数据。

优点包括如果减少模块(在空间上)接近传感器,则减少导线,和/或如果减少模块(在空间上)接近存储器单元,则减少门数量。

在实施例中,一个或多个传感器和/或一个或多个存储器单元是可重新编程的。在一些实施例中,一个或多个传感器和/或一个或多个存储器单元可以是可写入的、易失性的(或者如果写入操作可以在一个时钟周期中执行,则不是易失性的)、可重新编程的(尺寸可定制的;如在fpga中)。

在一个实施例中,有效载荷固有地集成一个或多个传感器和/或一个或多个存储器单元和/或一个或多个数据减少模块和/或一个或多个数据混淆模块。

在一个实施例中,一个或多个传感器和/或一个或多个存储器单元和/或一个或多个数据减少模块和/或一个或多个数据混淆模块可以通过fpga电路实施(相比之下,asic电路不能被重新编程)。特别地,通过升级配置,数字传感器可以是ds,其可以被添加在fpga部件中。这暗示puf功能可以在产品生产之后甚至在销售之后添加到产品中。

在一个实施例中,根据本发明的布置可以被添加到现有有效载荷或电路:沉积、胶合、附接、关联等。

附接可以是确定性的或者临时性的,例如,布置可以是可释放或可拆卸的(例如,柔性电子器件)。

在一个实施例中,根据本发明的布置是可重新配置的。重新配置的参数(例如,触发事实或事件)包括攻击的性质、要执行的敏感操作、以及由多个传感器和存储器单元对(可能改变的)有效载荷的“覆盖”的连续优化。

在一个实施例中,传感器和/或存储器单元可以自己移动或者可以被位移到电路或有效载荷上(例如,使用mems或其他类型的致动器),由此连续地优化有效载荷的覆盖或布设。

在一个实施例中,该电路还包括签名电路130,签名电路130被配置为根据传感器测量来确定一个或多个签名。

在一个实施例中,该电路可以构成“自主”物理不可克隆函数。所描述的电路实际上可以提供“自主”系统,其呈现puf的特点和特性。如本文所使用的,术语“自主系统”是指除了由一组传感器测量的激励之外不需要外部特定激励的系统(根据本发明的电路连续地提供可以在唯一签名中确定不变的数据)。应当注意,不必揭示该签名,因为该电路可以输出值流,并且可以不时地激活签名电路130(以验证电路100的签名)。

该电路设计与复杂的质询响应对(cpr)实施例兼容:它可以处理准时的和如此定义的“质询”。例如,在一个实施例中,该电路可以由外部人为质询(例如,经由cpu131中的199提交的质询)来质询。可以有条件地接收并且然后应用这种质询(如果满足预定义条件)。例如,如果检测到扫描(例如,太多尝试、错误范围等),则“类puf”电路可以使伪造响应静音或者返回伪造响应。

换句话说,不是直接揭示它自己的pufid,而是可以在电路100/1000/10000的所述实施例顶部上定义质询-响应协议,以便防止(或抑制或防止或禁止)该id(秘密id)的公共泄露。例如,协议可以包括从远程服务器识别给定设备(嵌入根据本发明的电路)的步骤。

在另一示例中,可以实施零知识协议(例如,可以由根据本发明的电路识别服务器,服务器和设备两者保留秘密)。此外,可以允许或拒绝数据通信。在一个实施例中,pufid可以是向量vi。质询可以对应于值的向量vc和标量sc,而响应可以对应于标量rs。响应可以使用中间值d和pc来产生rs。d可以是d=d(vc-vi)之间的距离,其中,d是向量之间的距离。在这样的实施例中,pc=f(d)-sc,其中,f是将向量变换为标量的函数,并且rs=g(d,pc),其中,g是将向量变换为标量的非线性函数(g可以是由标量pc修改的参数函数)。对于相互认证,两个连续的质询可以由pc值联系。例如,服务器可以发送具有相同pc的两个质询,,由此证明其知道整个向量vi。可以设计很多其他方案或协议。

如图1中所示,该电路还可以包括电路140,电路140被配置为根据传感器测量确定一个或多个攻击。

攻击方案可以是已知的或者预定义的。值(异常值或过大值)的各种比较或者攻击模式的其他检测(例如,使用一个或多个阈值、统计或概率方法)可以导致在多个预定义攻击中的确定一个攻击。可以使用机器学习。

还提供了一种用于确定签名或者监视电路有效载荷的方法,该电路包括:多个传感器(101、102、103),多个传感器(101、102、103)分布在电路中,靠近预定义电路有效载荷(1、2);与一个或多个传感器相关联的一个或多个存储器单元(111、112、113),一个或多个存储器单元(111、112、113)被配置为每p个时钟周期存储由所述一个或多个相关联的传感器进行的传感器测量。该方法包括以下步骤:

-读取存储在存储器单元中的传感器测量;以及

-根据传感器测量确定签名;和/或

-根据传感器测量确定对有效载荷的一个或多个攻击。

还提供了一种包括指令的计算机程序产品,当在计算机设备上执行该计算机程序时,该指令用于实行这种方法的步骤。

图1更具体地示出了要保护的或者以其他方式监视的有效载荷1。其他有效载荷(例如,2)可以存在并且可以类似地被监视(例如,由未示出的编排或决定逻辑单元)。

监视电路100可以包括分布在该电路中的,在电路有效载荷中、上、周围或与电路有效载荷相邻的多个传感器(例如,101、102、103)以及与一个或多个传感器相关联的一个或多个存储器单元(例如,111、112、113)。监视电路100可以被配置为每p个时钟周期输出存储在存储器单元中的传感器测量(“测量”)。

传感器的集合全局地对环境中的(局部和/或全局的)应力或改变(例如,温度、静电放电、电压的变化、时钟周期的修改、电磁环境条件、激光束、来自声子(高频声波粒子)的晶体收缩、压电效应、施加到电路的子部分的背侧自由电子注入等)做出反应。结果,如果执行攻击,则至少传感器的子集将做出“反应”,这意味着它们的测量或值将漂移或者以其他方式被修改。这种集体行为可以是机器学习(本发明的下游)的对象。在这种后验分析之前,源自传感器/探针的数据流可以用于导出一个签名和/或实现计算机安全攻击。

取决于实施例,存储器单元与传感器之间的关联的拓扑或形貌可以变化。一般地,1到u个存储器单元可以与1到t个传感器相关联(即,1-t、u-1、u-t)。在一些实施例中,存储器单元可以位于其相关联的传感器的附近(优点包括硅表面的减少、更难窃听和优化的能耗)。

在实施例中,可以使用fifo存储器单元,其中,每个传感器与其自己的fifo存储器单元相关联。在实施例中,一个或多个传感器可以共享一个或多个存储器单元。在一些实施例中,可以共享存储器单元。替代地,可以使用单个存储器单元。

在一个特定实施例中,为了节约硅表面(或者为了获得更好的包括表面/能耗),可以以不同方式放置不同模块(即电路)。

一种类型的模块可以在传感器与存储器单元之间执行数据减少。例如,数据减少模块(或块或单元)121可以减少或压缩或以其他方式过滤传感器101输出的位流。这样做,存储器单元(或块或模块)111可以处理更少的但更重要的数据。

数据减少模块和存储器单元可以根据三种主要方法来放置。实际上,根据本发明的“传感器模块”可以包括三个块:“感测块”(或“传感器”)、可选的数据减少块以及存储器块或单元。取决于放置约束和硅面积成本(布线成本),可以使用三种放置模式来将这三个块放置在布局规划上。

感测部分可以有利地被放置为接近敏感模块以保护有效载荷。然而,应当注意,数据减少块和存储器块不需要接近感测块。

三种放置模式包括:

1、“一体化”实施例:三个块被聚集在一个单个块中。尽管根据该第一放置模式的设计过程看起来更容易,但是这可能会在接近有效载荷的地方占据很大位置。

2、“减少布线”实施例:感测块和数据减少块被聚集在一起,而存储器块可以以较少的约束被放置,例如,被放置在某个距离处。

3、“紧凑型”实施例,只有感测块被放置为接近有效载荷,而数据减少块和存储器块可以被放置在其他位置。由于感测块与其他块分离并且一般地比其他块小,所以可以容易地将其放置为更接近有效载荷或者甚至在有效载荷内部。剩余成本是路由到数据减少块和存储器块的全部信号导线。

另一种类型的模块可以包括数据混淆模块122。如本文所使用的,“混淆”是指通过置换、重新排序数据或以其他方式重新排列数据来(一般地为有意地)使之模糊或混淆的操作。混淆机制可以包括一个或多个布尔类型的逻辑门。对称的去混淆模块1314可以执行(一个或多个)反向操作并且使数据清楚。这种混淆/去混淆可以有利地击败对在电路中传输的数据的窃听。由于它们没有加密/解密复杂和错杂,因此这样的操作可以有助于提高监视电路100的安全性。

周期时间

p(整数)可以在1到p之间配置。攻击或扰动可以在1个时钟周期内发生。因此,在全分辨率下,p可以被设置为1。在高值下,例如,p=100,监视可以变慢(待机,休眠)。

变量p指定“扫描分辨率”,其范围可以从1到p。“p”表示两个“测量”之间的时钟周期的数量。在p=1时,检测系统以“全分辨率”工作,即,一些存储器单元将不存储任何数据,而一些其他存储器单元将存储任何数据。可以以最精细的粒度使用任何可用的数据。在不需要以全分辨率监视敏感操作(即,跟随环境演变)时,可以使用空闲监视状态(在p>1时)。在攻击者准备用于注入攻击的建立条件时,这种监视对于缓慢的环境修改的早期检测是有利的。在p为高时(通常为100或更大),所提出的布置消耗很少的能量(“低分辨率”或“心跳”或“睡眠模式”或“休眠模式”等)。

q可以在(m+2*m/p)+1到q之间配置。“q”以“p”个时钟周期计数。配置(p乘以q)规定或确定监视时间模式将如何。例如,如果p=5,q=30,则每个p*q=5*30=150个时钟周期,对记录和读取序列进行迭代。在aes128(m=10)的情况下,使用p*m=50个时钟周期进行记录,使用2*m=20个时钟周期读取存储器,并且其保持80个时钟周期用于等待下一迭代序列(记录和读取)。

可以选择p和q数量,以便在实现全分辨率监视的同时节约能量。例如,aes加密针对aes128位执行10个时钟周期,因此要求传感器的反应快速(例如,p=1,q=30)。

数据拉取和/或推送/触发器

术语“接收”暗示拉取和/或推送,其意味着取决于实施例,数据可以被主动地收集或请求(拉取)和/或数据可以被被动地发射或接收(推送)。在一些实施例中,数据可以从传感器(被动地)通过存储器单元被推送:传感器是不可控制的,而且不被控制。在一些其他实施例中,一个或多个传感器可以是可控制的或者被控制。

在实施例中,“测量”(传感器测量的集合)可以由有限状态机(fsm)(例如,1001)触发。fsm可以触发从存储器单元(例如,111、112、113)的读取操作,由此规定p。在没有fsm1001的情况下,电路100可以与fsm或其他机制操作地耦合,以填充(写入)存储器单元。利用fsm1001,电路1000可以写入存储器单元。

在实施例中,测量(传感器测量的集合)可以由软件(api、操作系统、应用程序等)触发,从而规定p。

在实施例中,事件可以触发测量。例如,可以知道aes加密操作即将开始。该操作可以以全分辨率触发根据本发明的监视,并且持续至少10个周期,例如,aes128,该周期数量取决于m、记录存储器深度。

在一个实施例中,第二fsm1311可以使电路或逻辑单元130和/或140读取存储器单元中的写入数据。第二fsm1311可以规定参数q。

根据本发明的监视电路100或1000可以具有各种下游用途。特别地,图1示出了两种不同用途,它们可以是独立的或者耦合的,例如,它们可以被并行或串行地执行:数据输出可以用于确定签名(签名生成电路130)和/或检测攻击(攻击检测电路140)。在一些实施例中,签名电路130和攻击检测电路140可以并行操作。

用途1-签名生成130“类puf”

在本发明的实施例中,签名生成电路(或块或模块)可以接收由软件或者由签名硬件加速(sigha)电路130拉取/请求的数据。这种电路可以是独立的、专用的(协处理器)或者可以对应于通用计算单元(例如,中央处理单元131(或gpu))的子部分。在一些实施例(如所示)中,签名生成电路的硬件可以使用cpu131的部分和一些其他专用部分或扩展两者。

签名硬件加速131可以与fsm1311耦合,其进而可以控制q参数。

在一个实施例中,n个传感器中的每个传感器可以提供其状态的mi个连续的基本测量。可以使用fifo存储器单元;替代地,元数据或时间戳数据或排队顺序信息可以与测量相关联。签名对应于根据测量组计算的一组统计值。签名可以是1-d向量或者2-d高斯统计图:平均值和标准偏差(或方差)。

对于单个测量,每个传感器提供m个基本测量(其状态的值、“fifo深度”或缓冲器尺寸)的向量。基本测量的周期可以是1或p个时钟周期。n个传感器的集合因此提供用于一个单个测量的n×m个基本测量。由于签名过程使用集合的k个测量,所以其使用k×n×m个基本测量。

换句话说,存储器(例如,fifo存储器)的“深度”为m。数量m对应于可以存储在存储器fifo中的测量或值的数量。每p个时钟周期,可以触发抵达时传感器的基本测量。一旦抵达传感器的深度,所考虑的传感器可以停止“记录”。

换句话说,在fifo中记录m个值的序列可以是每q个时钟周期规则的(自动监视),或者其可以根据需要(通过出发)进行处理,例如,在诸如敏感计算(例如,加密操作或者敏感数据的传递)的事件之前。

例如,在待机模式中,p可以等于5,并且q可以等于100,其中,m等于20。深度20的fifo存储器每5个时钟周期接收(或读取)传感器的一个测量值。其采用5*20(p*m)=100个时钟周期填充fifo存储器。然后,2*m=40个时钟周期以读取存储器。记录/读取过程在每p*q=500个时钟周期(q)之上开始,留下360个周期没有任何监视。这降低了能耗。可以生成用以开始记录/监视的触发:或者自动地每p个时钟周期的q个周期,或者根据需要(通过计算来保护)。

参数q和p可以定义时间模式和监视分辨率。

在一些实施例中,所有fifo存储器单元的所有深度m可以是相同的。在一些实施例中,至少一个深度m可以是可配置的。例如,给定要保护的计算的性质,相应深度可以是可配置的和被配置。在一个实施例中,深度可以对应于有效载荷的感兴趣操作的持续时间。例如,对于aes128,深度m1可以等于11;对于aes256,深度m2可以等于15;对于sha-1,深度m3可以等于80;等等。这种优化可以有利地获得或节约硅表面(门数量或硅面积)。

签名构建过程基于从3-d(k×n×m)到2-d(n×[a,b])或1-d(n)的高斯概率分布(平均值μ和标准偏差σ)值的降维。[a,b]是来自m个基本测量的值的子集。

由于该id是由芯片的动态行为的统计而产生的,因此攻击者不能通过对示意图的逆向工程或通过打开物理芯片来检索该id。

在实施例中,签名硬件加速(sigha)131可以与存储器单元1312(例如,以存储指令或者要监视的传感器的列表1313)相关联。在一些实施例中,列表可以是静态的(简单化可以导致快速计算)。在一些实施例中,列表可以随时间而改变(动态的,以测试和其他参数为条件的,遵循预定义场景的,通过机器学习丰富的,等等)。可以询问传感器的群组或子群组。

电路100(与存储器单元一起布置的传感器的集合)和签名生成电路的组合提供puf的功能:输出的唯一性,以及因此的(确定性)签名的唯一性;由于构成传感器、存储器单元和签名电路的组件的部分内部的固有和随机缺陷而导致的不可克隆性。对于给定的一组传感器,有且仅有一个签名。由于所考虑的传感器可以改变,因此可以提供多个签名。

本发明的显著特征在于,以常规的质询-响应系统(crp或puf)相反,不需要这样“质询”。根据本发明的组合“连续地”或“自发地”或“被动地”发射测量流,其可以被用作“质询”以计算一个或多个签名(或多或少稳定的等等)。因此,不需要具有独占访问的特定测量,也不需要触发动作。ds-puf可以检索用于传感器的正常使用的流上签名的信息。“puf”评估不隐含地暗示特定测量过程:其从传感器收集(或窥探)测量数据。所有其他puf需要具有独占传感器访问和特定环境调节的特定测量过程。秘密访问也不同于其他puf(除了ram-puf、经由puf)。不需要进行乘法质询测试来提取多段秘密以验证puf值。ds-puf可以在一个单个内部评估(k个传感器测量)中提取整个秘密值(签名)。没有可识别的“质询”(导致假冒、欺骗等),但是数据流没有及时的特权。

顺便提及,另一个显著特征在于,所提出的布置的功能在“质询”和/或签名生成期间不被禁用。在传统的puf系统中(或者在当前开发的“合成puf”中),puf硬件被调动来产生响应,并且硬件不能履行其功能(如果有的话)。例如,cmoss-puf必须在黑暗中获取图像,以便进一步挖掘活动像素的统计特性,并且确定其签名。在图像获取时间期间,成像设备不能用于其他目的。相反,本发明允许与电路的正常功能(例如,加密等)并行地执行该方法的步骤(例如,测量、存储、收集和生成密钥)。换句话说,本发明的实施例在所考虑的电路中不导致或者引入扰动。这意味着,常规的puf或spuf的质询暗示在质询(即响应的输出)期间,所考虑的硬件不能发挥其功能或作用。例如,cmosspuf必须被放置在均匀黑暗条件下并且在cpr期间不能获取图像。在当前情况下,数据流可以用于基于电路动态确定电路的唯一性,而同时提供可以用作检测攻击(简档、“签名”等)、触发对策等的基础的数据。

根据数据(流),可以启用各种下游任务:认证、识别等。

传感器之间的数据流和在签名生成电路130中执行的算术操作可能受到不利地攻击(物理探测),但是如果不知道,则能够从中提取的很少。传感器集合与处理单元(用于检测、初始用途;并且用于puf签名构建)之间的通信链路可以是专用的或者受到保护(物理的和/或逻辑的)。物理保护可以包括但不限于以下中的一个或多个:自己专用的导线、模制到电路中、制成为不能达到的、检测攻击并使下层失活的导线的(一个或多个)屏蔽。逻辑保护可以包括以下中的一个或多个:偏移或制造商已知的预定义表,以在存储器块之后移位或以其他方式修改值或传感器。

在一些实施例中,签名硬件加速电路可以加速计算。

用途2-攻击检测140

例如由fsm触发的由电路100或者传感器和存储器单元的集合输出的数据流可以被复制(或者分叉或导出),以执行计算机攻击检测140。

有利地,所提出的布置使得能够检测通过故障注入的攻击。所提出的布置可以被称为“物理攻击检测系统(pads)”或“部件的安全入侵检测器和测距”(sicdar)。

可以使用各种机器学习技术对攻击进行分类或者以其他方式进行归类(被监督的或者不被监督的、(旋转)随机森林、支持向量机等)。

在一个实施例中,攻击检测操作140可以对签名生成130进行回溯。尽管签名生成130可以与攻击检测功能并行地开始,但是在一些实施例中,可以响应于从攻击检测操作块140接收到指示数据可以用于签名生成(即,没有检测到攻击)的消息,来执行签名的生成。

如果执行攻击检测,则首先可以禁止、审查或者以其他方式管理签名计算。

图2示出了监视有效载荷的传感器的分布的示例。

传感器可以以各种方式分布,以观测或者观察或者监视或者以其他方式测量电路有效载荷。特别地,图2示出了与空间的最佳布设有关的检测区(1011、1021、1031)和方面。

数字传感器可以被放置为“靠近”硬件的特定部分(即有效载荷)(例如,“在其中”、“贴近”、“到其中”、“与其混合”、“在其下方”、“在顶部上”、“在其之下”、“邻近”、“与其相邻”)。传感器可以在给定有效载荷“中”或者“内”或者“上”或者“下方”或者“上方”:给定电路有效载荷的制造商可以在代工厂直接在其中集成一个或多个传感器。例如,传感器103可以被固有地集成到有效载荷1上。

数字传感器可以永久性地与电路或有效载荷相关联。数字传感器可以是可移动的、可重新移动的、可释放的或者以其他方式可配置的。在一些实施例中,传感器是可移动的(永久性地或者暂时地),并且特别地可以被“放置”(即之后或者后验地)在包括所考虑的有效载荷的电路上。可以沿着3d中的电路考虑2d电路(传感器可以被放置在特定层内)。可以使用柔性电子器件。

目标电路中的传感器的分布可以变化:传感器可以用作探针。电路的关键部件可以被特别地保护或监视:例如,可以调动更多数量的传感器。相反,电路的非关键部分可以不受保护。在其中不需要硬件修改的实施例(没有传感器被添加到电路)中,可以利用现有传感器(如果可直接访问或者例如经由api或操作系统可间接访问)。

可以以几种方式(参见下文)来优化传感器及其检测区的拓扑(逻辑)或形貌(物理)或布置。

由于可以使用各种传感器,因此检测区可以变化。例如,与传感器101相关联,检测区1011可以由导电元件(例如,导线)引导/约束,并且被监视的区的形状可以是不规则的(然而可以通过模型预测和/或测量)。检测区的其他示例是可以重叠的区1031和1021。因此,可以以多种方式来优化有效载荷的覆盖。例如,激光束(照射攻击)可以触发传感器102和103两者,并且被如此检测。

可以以不同方式处理“未覆盖”的空间或者“未被监视的布局规划”或者“洞”。在一个实施例中,可以在不执行监测的地方放置附加传感器。在一个实施例中,可以改变由数字传感器处理的一个或多个阈值(例如,从1031到1032),尽管这可能影响误报。

图3示出了用于一个传感器的记录的示例。

如本文所使用的,术语“记录”指定在相应的存储器单元中写入各个传感器测量的操作。

“测量”指定在fifo中的写入记录以及对130和140的读回。其包括fifo存储器单元中的m个基本记录(m是fifo深度)。

n指定传感器(101、102、103等)的数量。mi指定用于传感器i的fifo的深度。pi是fifo中的两个连续记录之间的周期的数量。q指定两个连续测量之间的周期的数量。

在所示的示例中,m是常数。时钟周期由标记300指示。可以被看作“记录间”延迟的p可以包括几个时钟周期(例如,310中的1个、320中的3个、330中的5个)。获取m个基本(单独)测量(这里可能需要更多的时钟周期来获得组成第三测量的记录,而对于第一传感器,第一测量将被更快地确定)。

在一个实施例中,(中央)fsm1001可以处理记录(或记录内容)。在一个实施例中,与每个存储器单元相关联的多个fsm电路可以处理记录(fsm可以被编码为硬件电路)。

然后,电路100准备好从位于下游的另一fsm1311读取(出于不同目的,例如,130和/或140)。

图4示出了用n个传感器记录的示例。

所示的示例现在针对多个(n个)传感器,多个(n个)传感器可以与不同的存储器单元(即具有不同的深度)相关联。在所示的示例中,mi、mj和mk是不同的存储器深度,其中,mi<mj<mk。mi、mj和mk的值不随时间而改变。然后,该示例示出了用于在存储器中写入的不同周期p。在一个时钟周期(p=1)之后,确定三个测量。然后,在三个时钟周期(p=3)之后,获取三个其他测量。在所示的示例中,可能发生:具有更多个(单一)时钟周期,对于p=3,存储器单元填充有一些更多的数据,这些数据将响应于抵达深度/缓冲器尺寸而被先进先出地应用。传感器在同一时间同时(脉冲或时钟周期i)开始记录的事实是重要的。这在可比较的持续时间内并且同时开始“捕获”电路中发生了什么。

图5示出了包括用n个传感器的记录和读取步骤的测量的示例。

该示图稍微改变了视角,从电路1000到电路10000改变了周界。在周界1000处,并行处理电路100中的所有n个传感器:fsm1001同时将数据写入在深度为m1到mn的存储器单元中(记录步骤510)。因此,在电路100中同时捕获数据。在周界1000处,响应于写入,fsm1311可以以顺序方式调用或检索数据(读取步骤520):可以出于各种下游目的一个接一个地访问和读取不同缓冲器或存储器单元内容。在一些其他实施例中,也仍可以并行处理读取。

图6示出了包括用n个传感器的记录和读取步骤的多个连续测量的示例。

参数q可以以p个周期(以基本时钟周期表示)的数量来规定测量(记录然后读取)之间的延迟。q可以用硬件和/或软件来控制。

对于给定的qi周期,总记录时间(并行)是(pixmi)的最大值,并且总读取时间(顺序)是mi的读取时间的从i=1到n的总和。因此,qi时间大于或等于总记录时间(并行)加上总读取时间(顺序)。

本文所述的方法可以由供给到任何类型的计算机的处理器的计算机程序指令来实施,以产生具有执行指令以实施本文指定的功能/动作的处理器的机器。这些计算机程序指令也可以存储在计算机可读介质中,其可指导计算机以特定方式运行。为此,计算机程序指令可以被加载到计算机上以使得执行一系列操作步骤,并且由此产生计算机实施的过程,使得所执行的指令提供用于实施本文指定的功能/动作的过程。

体现本文描述的本发明的任何实施例的程序代码能够作为程序产品以各种不同的形式单独地或共同地分发。特别地,程序代码可以使用计算机可读介质来分发,计算机可读介质可以包括计算机可读存储介质和通信介质。

虽然已经通过各种示例的描述示出了本发明的实施例,并且虽然已经相当详细地描述了这些实施例,但是申请人的意图不是将所附权利要求的范围约束或以任何方式限制到这样的细节。本领域技术人员将容易地想到附加的优点和修改。因此,本发明在其更广泛的方面不限于所示出和描述的具体细节、代表性方法和说明性示例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1