用于校准数字传感器的设备以及方法与流程

文档序号:12070910阅读:330来源:国知局
用于校准数字传感器的设备以及方法与流程

本发明总体上涉及数字电路,并且具体而言,涉及用于校准数字传感器的方法、系统以及计算机程序产品,该数字传感器被配置为通过触发警报来保护目标数字电路。

数字电路中的计算的正确性取决于通常被称为“操作条件”的若干物理和环境参数。不合适的操作条件可能导致数字电路部分地或完全地输出虚假结果和/或内部状态。由于这种现象由不合规格的操作条件产生,因此它们常常在设计者的范围之外,并且可能产生不期望的行为。

希望获得对来自目标数字电路(例如,智能卡、微处理器、ASIC(专用集成电路的首字母缩写词)或FPGA(现场可编程门阵列的首字母缩写词))的敏感性资产(sensitive asset)的控制的攻击者可以使用精心设计的不合规格的操作条件来触发或多或少松散地控制的不期望的行为。这种行为可以具有以下特征:诸如密钥之类的敏感性资产的揭露、诸如更新非易失性存储器中的敏感值之类的一个或多个敏感功能的失败、或者例如在没有正确证书的情况下导致授权访问的访问控制策略的失败。

针对这些攻击保护嵌入式系统因此对于需要保护敏感性资产的许多应用而言已经变得至关重要。

如图1中示出的,数字电路1主要包括通过组合标准单元11互连的前一存储器元件10和后一存储器元件12。存储器元件10和12用于储存输入值、中间值和输出值,并且组合标准单元11用于计算将被储存在后一存储器元件12中的值、将被储存在前一存储器元件10中的信号作为输入值。组合标准单元包括内存较少的逻辑门,其可以实现诸如反相器、或、与、异或之类的布尔函数。其它组合标准单元可以包括缓冲器,其功能为放大和/或延迟某个数据路径。

存储器元件10和12可以同步地更新。该同步通常借助于被称为时钟信号的特殊信号(例如,通过使用其上升沿作为触发事件)来实现。

为了使存储器元件10和12正确地对值进行采样,该值必须被设置并且在时钟上升沿之前在存储器元件输入端口处稳定某个延迟(该延迟被称为“建立时间(setup time)”)。此外,存储器元件输入信号也必须在触发事件或时钟上升沿之后保持稳定某个延迟(该延迟被称为“保持时间”)。

存储器元件之间的逻辑标准单元12形成一组数据路径。每个数据路径都显示与将通过标准单元12被传播至数据路径的输出的输入信号的改变所需要的时间相对应的传播延迟。显示最大传播延迟的数据路径表示关键路径。

违反(violation)建立时间是数字电路中的错误计算的常见源,并且是攻击者为执行错误注入而利用的常见技术中的一种。建立时间的违反可能会发生,这是因为数据路径中的传播延迟对于将被传播的修改而言太长,并且在时钟上升沿之前足够早得稳定。

为了解决这一威胁,N.Selmane,S.Bhasin,S.Guilley,T.Graba和J.-L.Danger已经在“WDDL is Protected Against Setup Time Violation Attacks”,FDTC 2009中提出了用于保护数字电路的数字传感器架构,并且还在N.Selmane,S.Bhasin,S.Guilley和J.-L.Danger在IET信息安全2010中的文章“Security evaluation of application-specific integrated circuits and field programmable gate arrays against setup time violation attacks”中改进了这一数字传感器架构。图2例示了这种数字传感器2。数字传感器2包括具有用于储存参考数据的输入存储器元件20、用于传播参考数据的数据路径22以及用于储存通过数据路径22传播的数据的输出存储器元件23的数字电路。如果参考数据从输入存储器元件20及时地正确到达输出存储器元件以用于采样(也就是说,在小于时钟周期的时间内),则计算被认为是成功的。这种数字电路可以被进一步用于检测异常操作条件。这种电路被构建为具有与任何其它数字电路相同的逻辑元件。因此,其对于不合规范的操作条件也是敏感的。例如,如果温度增加到给定阈值以上,则数字传感器数据路径22中的组合门的传播延迟将增加到在时钟上升沿之后的数据到达输出存储器元件23的点。这一延迟到达可能引起关于参考信号的输出存储器元件23中的错误状态。这一错误状态可以通过对存储器元件20中的值和存储器元件23中的值进行比较来检测,并进一步用于生成警报。

为了保护目标数字电路,数字传感器基于在宽泛区间中任意选择的警报阈值来触发警报。因此,目标数字电路以比其真正能够处理的时钟频率低得多的时钟频率来进行操作,这导致低电路性能。



技术实现要素:

为了解决这些问题和其它问题,提供了如所附独立权利要求1中所限定的校准设备、以及如所附权利要求14中所限定的用于校准设备的方法、以及如所附权利要求15中所限定的计算机程序。在从属权利要求中限定了优选实施例。

通过优化警报阈值以便将其限定在保护目标关键路径传播延迟与警报阈值之间的以及警报阈值与时钟周期之间的较小裕度中,获得了较好的性能并保持了较佳的保密性(security)和安全性。

附图说明

附图(其被并入本说明书的部分中并组成本说明书的部分)例示了本发明的各实施例,并且连同上面给出的对本发明的概述、以及下面给出的对实施例的具体描述来解释本发明的实施例。

图1是示例性的数字电路的示意图。

图2是示例性的数字传感器架构的示意图。

图3是用于校准数字传感器的系统的图解视图。

图4是表示应用于保护目标的安全和保密属性的示意图。

图5是描绘了可以被执行以校准数字传感器的过程的流程图。

图6是根据示例性实施例的描绘了代价函数随着警报阈值变化的图。

图7是根据另一个示例性实施例的描绘了代价函数随着警报阈值变化的图。

应当指出,本发明的附图并非必须是按比例的。附图仅仅是示意性表示。这些附图仅旨在描绘本发明的典型实施例,并且因此不应当被认为限制本发明的范围。

此外,用附录A补充具体实施方式。为了阐明具体实施方式并且实现较容易进行参考的目的,将该附录分开放置。然而,它们形成本发明的描述的整体部分。这也适用于附图。

具体实施方式

图3表示根据某些实施例的用于动态地优化数字传感器3的系统300。数字传感器3被配置为通过取决于与时钟周期以及最优警报阈值相关的触发条件而触发警报来保护由具有时钟周期的时钟信号馈送的数字电路或子电路30(也被称为“保护目标”或“受保护目标”)。系统300包括校准设备31,该校准设备31被配置为取决于误报(false positives)出现的概率和漏报(false negatives)出现的概率通过将量最小化来确定最优警报阈值。

这允许动态地优化数字传感器3以调整到不同的操作条件。不同的操作条件可以包括例如由于智能功率管理而引起的时钟频率的变化。本发明的另一个优点在于当不执行临界操作时降低了错误警报的概率,并且允许对另外的更加保密性的严格配置的动态选择。

本发明的各实施例可以允许优化数字传感器的操作,而不论其灵敏度。数字传感器的这种灵敏度可以取决于其架构参数,并且尤其取决于数字传感器数据路径中的标准单元的传播延迟和/或数字传感器数据路径中的单元的数量。

数字传感器3可以用于例如检测对保护目标30的潜在的恶意攻击。目标数字电路30在图3中被示意性地表示。目标数字电路30可以包括用于储存输入数据的输入存储器元件33、用于传播输入数据的数据路径34以及用于储存通过数据路径34传播的数据的输出存储器元件35。数据路径可以包括用于计算将被储存在输出存储器元件35中的值的多个组合标准单元340。应当指出,即使数字传感器3和目标数字电路30在图3中被表示为单独的功能块,但是实际上,它们可以在相同电路上实现。

这样提供的数字传感器3满足安全条件和保密条件。根据安全条件,数字传感器3应当不会发出错误警报。事实上,对于某些安全关键系统,这种警报可能触发保护目标中所有有价值数据的擦除,从而停止保护目标不再起作用。换言之,安全条件定义为没有警报应当被数字传感器发出,除非保护目标处于不合规格的操作条件。根据保密条件,不应当发生漏报。换言之,响应于攻击者将错误计算成功创建到目标数字电路中,数字传感器3也可能受影响并发出警报以防止数字传感器遗漏保密事件。

校准设备31还允许数字传感器3的参数的优化,以便满足安全条件和/或保密条件。数字传感器的参数可以包括例如数字传感器数据路径37中的标准单元370的数量。对标准单元370的数量的优化为使得数字传感器数据路径传播延迟相对于应用于保护目标(待保护的数字电路)上的安全性和保密性条件被优化。

在一些实施例中,数字传感器3的关键路径中的传播延迟可以被设置为大于保护目标30的关键路径34的传播延迟,这允许满足保密条件。因此,如果由于时钟周期缩短而在保护目标的关键路径中发生建立时间的违反,则其也将会发生在数字传感器的数据路径中。

此外,数字传感器3的数据路径传播延迟可以被设置为小于保护目标300所预定义的最小可接受时钟周期(例如,根据保护目标的规格),这允许满足安全条件。因此,如果数字传感器数据路径传播延迟小于如由保护目标预定义的最小可接受时钟周期,则当在“正常”操作条件下操作时在数字传感器中将不会发生建立违反,或者等同地将不会发生错误警报。

这样表达的安全和保密属性考虑了建立时间违反。然而,也可以针对其它类型的违反(例如,保持时间违反)来表达安全和保密属性。在保持时间违反的示例中,保密属性暗示当数字传感器数据路径中的传播延迟小于针对保护目标的最短数据路径传播延迟所定义的给定阈值时发出警报。因此,如果在保护目标数据路径中发生保持时间违反,则其还可能在生成警报的数字传感器中发生。类似地,建立时间违反的安全属性暗示当保护目标中的传播延迟高于与正常操作条件相对应的指定阈值时,将不会发出警报。

在以下具体实施方式中,仅仅为了例示性的目的,将参照与建立时间违反有关的安全和保密属性。

为了便于本发明的各实施例的描述,下面定义了以下符号:

-Tc标识保护目标电路30的关键路径传播延迟;

-Tclk标识保护目标电路30的可接受时钟周期(例如由保护目标的规格所预定义的时钟周期);

-Tcw.c.标识根据最差情形条件(即,最高值)的保护目标电路30的关键路径传播延迟;

-Tclkw.c.标识保护目标电路30的最小可接受时钟周期(例如由保护目标的规格预定义的时钟周期);

-Tcb.c.标识根据最优情形条件(即,最低值)的保护目标电路30的关键路径传播延迟;

-Tclkb.c.标识保护目标电路30的最大可接受时钟周期(例如由保护目标的规格预定义的时钟周期);数字传感器3的关键路径传播延迟在下文中被称为“警报阈值”。

图4例示了应用于保护目标30的安全和保密属性。

校准设备31可以通过确定最优警报阈值来优化数字传感器3的参数,由此优化保密和安全条件,这可以取决于若干参数,例如环境变化(温度、输入电压、输入时钟频率)、由于工艺变化(相关的、不相关的)而导致的噪声或时钟抖动,如图4中所例示的。通过优化地设置警报阈值,由于错误警报和漏报而导致的失败被高度限制。

传统方法可以在于任意地定义警报阈值并使用保护目标关键路径传播延迟与警报阈值之间的以及警报阈值与时钟周期之间的大裕度,其提供了低电路性能。校准设备31在较小的裕度内优化警报阈值,这在设计上提供了更多的置信度和较好的性能,而同时保持最优的保密性和安全性。

为了通过使取决于误报出现的概率和漏报出现的概率的量最小化来确定最优警报阈值,最优警报的生成可以考虑与保护目标30相关的输入数据、硅相关的数据(例如,工艺变化、等等)和最小化问题的物理模型。

此外,最优警报阈值可以通过使取决于误报出现的概率和漏报出现的概率的量最小化来确定。该数量还可以取决于与功耗、传感器门计数和表面、和/或针对老化效应的电阻有关的其它约束。这可以例如通过精心选择用于构建数字传感器数据路径的门来实现。

更具体而言,数字传感器校准单元31可以基于输入参数、取决于以下各项来使与误报出现的概率和漏报出现的概率有关的量最小化:

-由保护目标30预定义的一个或多个可接受的操作条件,和/或

-根据可接受的操作条件的一个或多个保护目标的定时特征,例如关键路径传播延迟,和/或

-至少一个物理模型,和/或

-量化安全和保密条件之间的相对重要性的一个或多个权重。

在某些实施例中,可以根据目标数字电路30的关键路径传播延迟的概率密度和警报阈值的概率密度来确定漏报的概率。此外,可以根据警报阈值30的概率密度和目标数字电路的所述时钟周期的概率密度来确定误报的概率。

事实上,根据给定的一组操作条件(也被称为“拐点”),保护电路30的关键路径传播延迟、数字传感器3的数据路径传播延迟和/或警报阈值可以表现为具有相应的概率密度函数和的随机变量。更具体而言,保护目标30的每个物理实例可以根据其关键路径传播延迟的来运行,并且具有固定参数的给定数字传感器架构的每个物理实例可以根据其警报阈值的来运行。这种现象是由于制造工艺期间的噪声采样而造成的。换言之,可以在制造工艺期间一次确定参数Tc和T警报

类似地,时钟周期可以根据概率密度函数表现为随机变量。时钟周期可以不仅对制造噪声进行采样,而且还对动态噪声进行采样。因此,在某些实施例中,可以在每个时钟周期处确定Tclk

每个概率密度函数和的特征可以在于其分布、分别在于其平均值并且分别在于其标准偏差和

这些概率密度函数和形成物理模型。可以通过制造节点和工艺、通过标准单元库、通过操作条件和/或保护目标定时特征来确定表征物理模型的参数,例如分布的类型、标准偏差(和)以及平均值在以下描述中,术语“特征模型”将用于指代与给定的一组制造节点、工艺、标准单元库、操作条件和/或保护目标定时特征相对应的模型。

给定的特征模型、安全和保密条件可以分别根据等式E1和E2、通过错误警报的概率和漏报的概率来表达:

在某些实施例中,根据由第一权重α加权的误报出现的概率以及由第二权重β加权的漏报出现的概率的总和来确定最优警报阈值。第一权重和第二权重表示安全和保密条件的相对权重α和β。在优选实施例中,第一权重和第二权重是正值。在一个示例性实施例中,第一权重和第二权重可以被选择为使得α=1-β。

在一个实施例中,可以根据E3来确定最优警报阈值

根据E3,因此通过使量最小化来确定最优警报阈值。

当数字传感器3的传感器关键路径包括一组相同类型的基本门(elementary gate)时,校准设备31还可以基于数字传感器数据路径μd中的每个基本逻辑门的理论平均传播延迟并且基于最优警报阈值来计算基本门的离散数量具体而言,可以根据以下等式来确定基本门的离散数量

优化问题E3可以根据附录A中的连续方程来重写。该问题通常对于是凸的,并且可以在特征物理模型允许简化等式的情况下在形式上解决,或者借助于例如梯度下降来数字解决。在该假设下,求出最优配置可以相当于求出最小化问题的代价函数的导数等于0的值,并考虑导数的符号。如通过附录A中的等式E3.7示出的,优化问题相当于求出二阶多项式ax2+bx+c的根,并考虑多项式的符号以识别与代价函数的最小值相对应的根。

作为第一示例,根据等式3.7,如果a=0,也就是说,则优化问题仅具有以下解:

根据另一个示例,如果a≠0,则判别式Δ=b2-4ac的符号可以用于确定最优警报阈值。具体而言:

-如果Δ<0,则根为复数并且求不出解,

-如果Δ≥0,则存在至少一个解。通常,并且因此,在这种情形下,针对求出代价函数的最小值,为多项式的最小根,也就是说,如果Δ>0:

并且如果a>0

-并且如果Δ=0:

取决于目标制造过程,可以获得技术节点、标准单元库和/或保护目标的特征、特征模型。在一个示例中,考虑其中并且α=β的情形。

在这种示例性情形中,由下式给出

在该第一示例中,最优警报阈值位置处于由定义的时间间隔的中间。

在第二示例中,使用模型,由此保护目标关键路径传播延迟和数字传感器警报阈值两者都分别遵循相同方差σ和平均值和μ警报的高斯分布。假设时钟周期不具有抖动,也就是说,其概率密度函数具有零方差也就是说,时钟周期是确定性的在第二示例中,α和β等于

第二示例得到以下序列的等式:

作为示例,对于并且σ=80ps,等式E8.4和等式E8.5分别得到:

因此,最优警报等于

数字传感器警报阈值可以在设计阶段期间静态地确定。或者,其可以由软件在运行时动态地选择,例如以便在预定的一组可能的配置中选择最优配置,每个可能的配置都与预定的特征模型相关联。数字传感器警报阈值也可以由硬件在运行时动态地确定,例如以便根据当前操作条件和/或当前保护目标30来在预定的一组可能的配置中选择最优传感器配置。

例如,这种动态校准功能可以将启用的保护目标模块和当前操作条件(例如,时钟周期和温度)的列表作为输入,并选择最合适的预定配置。

图5是描绘了用于在运行时根据某些实施例动态地校准数字传感器的方法的流程图。

在框500中,通过使与漏报的概率和误报的概率相关的量最小化,例如,通过使由第一权重加权的漏报的概率和由第二权重加权的误报的概率的总和最小化,来确定最优警报阈值。

在框502中,基于最优警报阈值在预定的一组可能的传感器配置中选择传感器配置。

在框504中,基于所选择的配置来动态地调整数字传感器。

图6示出了根据本发明的示例性实施方式的表示与之间的代价函数的图,其中σ=80ps并且α=β。该图生动地展示了结果的正确性。

从图6中表示的代价函数的图可以观察到,在这些约束下,与最优警报阈值的偏差导致迅速增加的代价,从而对警报阈值的任意选择(像在传统方法中)导致差的性能。

图7示出了根据本发明的另一个示例性实施方式的表示与之间的代价函数的图,其中σ=80ps并且α=β。从其中的代价函数的该图中可以观察到,增加的裕度为与最优警报阈值的偏差和误差提供了更多空间。事实上,与最优值的偏差将不会导致代价函数的过于剧烈的增加。然而,在这些条件下,如与图4中的图相比,电路以一半的频率而运行。

尽管已经通过对各示例的描述例示了本发明的实施例,并且尽管已经相当详细地描述了这些实施例,但是申请人的意图并不是将所附权利要求的范围局限或以任何方式限制到这些细节。具体而言,本发明并不限于数字电路和/或数字传感器的具体架构,并且更具体而言,不限于传感器数据路径中的具体类型的示例性门。此外,本发明也可以用于通过考虑时钟周期、警报阈值和保护目标的最短路径传播延迟之间的裕度来校准保持时间违反传感器。

还应当指出,操作条件和/或环境参数可以局部地变化。这种情形可以例如由于诸如局部故障注入(包括例如激光注入、EM注入、体偏置、等等)之类的恶意动作或由于电路操作的副作用(例如,也被称为“IR下降”的局部压降)而发生。本发明的优点在于使得在芯片上方放置多个优化的数字传感器实例以提高相对于这些局部操作条件变化的覆盖范围成为可能。还应当指出,数字传感器的设置会是重要的。事实上,已经确定的是,在FPGA设备上实现的数字传感器阵列上,一些传感器比其它传感器对于局部操作条件变化更灵敏。这可以源于设备的几何结构,包括电源/地网络拓扑结构和/或设备的制造工艺的几何结构。可以实验地表征局部操作条件变化,例如通过执行局部错误注入制图并测量数字传感器阵列的响应,或通过仿真工具。具体而言,仿真工具可以用于预测局部压降(“IR下降”),但还可以用于表征局部错误注入效应。在一些实施例中,局部操作条件变化特征可以用于针对给定的局部操作条件变化覆盖目标来选择优化数量的数字传感器和最优布置。此外,实现动态局部重配置的可编程电路可以用于在制造芯片之后选择最优布置和传感器的数量,以便按照当前在设备上运行的应用的局部操作条件变化覆盖范围来选择最优配置。这种动态局部重配置功能可以在一些FPGA设备族中找到。对最优数字传感器实例的数量和布置的选择也可以考虑设备的目标功耗、以及目标保密等级。

另外的优点和修改将对于本领域技术人员而言是显而易见的。以其较宽泛方面的发明因此不限于所示出和描述的具体细节、代表性方法、和例示性示例。因此,在不脱离申请人的总体创造性概念的精神和范围的情况下,可以对这些细节作出变更。

本发明的实施例可以采用包含硬件元件和软件元件两者的实施例的形式。

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

附录A-最小化问题

最优化问题E3可以被重写为:

通过展开第一积分并假设概率密度函数为高斯,这提供了:

(E3.1)

(E3.2)

通过注释并且则并且这得到E3.3:

(E3.3)

由于并且由于求出最小值,可以从两个积分中去除该常数。

此外,由于对于(为实数部分),因此,可以根据E3.4来重新用公式表示最佳警报阈值:

(E3.4)

由于问题通常是凸的,因此对于求出最优配置可以相当于求出最小化问题的代价函数的导数等于0的值,并考虑导数的符号。因此,将被求出的μ警报的值满足以下性质E3.5:

(E3.5)

其等同于等式E3.6:

(E3.6)

通过严格递增函数x→log(x)来构成E3.6的两项,这得到E3.7:

(E3.7)

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