电力计算装置、电力计算方法、抗侵害性评价装置和抗侵害性评价方法

文档序号:6508346阅读:149来源:国知局
专利名称:电力计算装置、电力计算方法、抗侵害性评价装置和抗侵害性评价方法
技术领域
本发明涉及通过电路的逻辑模拟计算在逻辑电路中消耗的电力的电力计算装置和电力计算方法。另外还涉及根据计算出的逻辑电路的消耗电力检测从逻辑电路的信息泄漏,评价逻辑电路的抗侵害(tamper resistance)性的抗侵害性评价装置和抗侵害性评价方法。
背景技术
实现加密等保密功能的半导体器件进行以下这样的抗侵害性评价,即对是否没有从电路的消耗电力泄漏了加密密钥等秘密信息。
在该抗侵害性评价的方法中,以往存在以下的方法通过使用实际设备测量消耗电力而评价是否没有泄漏秘密信息的方法;在半导体器件的设计阶段,通过进行逻辑电路的模拟而计算消耗电力,评价是否没有泄漏秘密信息的方法。
其中在基于模拟的方法中,存在以下的方法通过基于软件的模拟,根据在加密处理的过程中出现(预见)的中间变量的特定的比特或加重平均权重而计算出消耗电力,由此检测出信息泄漏的方法;通过电路模拟器而进行电路的详细模拟,计算出消耗电力,由此检测出信息泄漏的方法(对于任意一个,例如参考非专利文献1)。
如下这样通过逻辑模拟计算出消耗电力。
现在,虽然主要使用的半导体器件是CMOS,但其消耗电力的大半是用于对负载进行充放电的开关电力P。因此,电路的消耗电力如公式(1)所示那样,可以用补足值表示出每个信号的每个单位时间的变化数f、负载电容C、电压V的平方积。
P=∑fCV2......(1)
在此,f是通过逻辑模拟求出的值,V是固定值。另外,根据记述电路连接的网络列表和库计算出C。在通过逻辑模拟计算出消耗电力时,在计算出该负载电容C时需要花费很多时间。
非专利文献1“TECHNICAL REPORT OF IEICE”,IT2003-60,ISEC2003-100,WBS2003-178(2004年3月)但是,在现有的使用了模拟的抗侵害性性评价方法中,有如下的问题。首先,在基于软件的模拟的情况下,具有模拟无法高精度地近似实际电路的消耗电力的缺点,有不清楚是否进行了正确的评价的问题。进而,还有以下的问题,即对于了解从电路的哪个部分怎样泄漏信息的机制几乎没有作用。
另一方面,在使用电路模拟器进行详细的模拟的方法的情况下,在处理非常花费时间的基础上,还需要电路的详细信息,因此有以下的问题,即无法适用于在电路设计的上层工序中容易地评价抗侵害性的用途中,结果无法有效地进行设计和评价。

发明内容
本发明就是为了解决这些问题而提出的,其目的在于在电路设计中的包含逻辑设计的更上层的工序(以下将其称为上层工序)中,高精度并且高速地评价实际电路的抗侵害性。
为了解决上述课题,电力计算装置根据逻辑电路的信号变化的次数的累加值,计算出消耗电力。
另外,检测从逻辑电路的信息泄漏并评价逻辑电路的抗侵害性的抗侵害性评价装置具备对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数部件;根据由信号变化次数计数部件存储到信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算部件;根据由消耗电力计算部件计算出的逻辑电路的消耗电力,分析从逻辑电路泄漏的信息的泄漏信息分析部件。
根据本发明,电力计算装置能够根据电路的逻辑模拟所输出的逻辑电路的信号变化的次数的累加值,计算出逻辑电路的消耗电力。
另外,抗侵害性评价装置通过由信号变化次数计数部件对逻辑电路的信号变化的次数进行计数并存储到信号变化次数存储部件,由消耗电力计算部件根据存储在信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力,由泄漏信息分析部件根据计算出的逻辑电路的消耗电力,分析从逻辑电路泄漏的信息,从而能够检测出从逻辑电路的信息泄漏,评价逻辑电路的抗侵害性。


图1是表示实施例1的电力计算装置的结构的图。
图2是实施例1中的用于逻辑模拟的测试台的例子的一部分。
图3是实施例1中的测试台所参照的文件的例子。
图4是实施例1中的测试台所参照的文件的例子。
图5是表示实施例1中的电力计算装置的处理的流程图。
图6是实施例1中的根据信号变化次数求出其总和并计算出消耗电力的程序的例子。
图7是表示实施例2中的抗侵害性评价装置的结构的图。
图8是表示实施例2中的抗侵害性评价装置的处理的流程图。
图9是实施例3中的在1时钟周期的期间中信号变化了奇数次的情况下计数为信号变化了1次,对信号变化了偶数次的信号计数为变化了0次的处理的程序的例子。
图10是实施例4中的在大的电路部分中改变电路部分,在各电路部分中计数信号变化的次数,计算出该电路部分的消耗电力的处理的程序的例子。
图11是表示实施例4中的抗侵害性评价装置的处理的流程图。
图12是通过电力差分分析对实施例所示的DES加密电路的抗侵害性进行了评价的结果的例子。
图13是通过电力差分分析对实施例所示的DES加密电路的抗侵害性进行了评价的结果的例子。
图14是通过电力差分分析对实施例所示的DES加密电路的抗侵害性进行了评价的结果的例子。
图15是在逻辑电路的电力差分比较大的动作模式的情况下,(a)是表示对安装在实际设备中的逻辑电路进行抗侵害性评价的结果的图,(b)是使用实施例表示对相同的逻辑电路进行抗侵害性评价的结果的图。
图16是在逻辑电路的电力差分比较小的动作模式的情况下,(a)是表示对安装在实际设备中的逻辑电路进行抗侵害性评价的结果的图,(b)是使用实施例表示对相同的逻辑电路进行抗侵害性评价的结果的图。
符号说明10信号变化次数计数部件,11信号变化次数存储部件,12消耗电力计算部件,21消耗电力存储部件,30逻辑模拟器,31信号变化信息存储部件,40文件数据库,50模拟控制信息生成部件,51模拟控制信息存储部件,60时序电力信息生成部件,61时序电力信息存储部件,70结果显示部件,80泄漏信息分析部件,81分析结果存储部件。
具体实施例方式
在实施例1中,说明根据抗侵害性评价装置的逻辑模拟器输出的逻辑电路信号的变化次数,由抗侵害性评价装置中的电力计算装置计算出逻辑电路的消耗电力的实施例。
抗侵害性评价装置中的电力计算装置根据逻辑电路的信号变化的次数的累加值,计算消耗电力。
图1时表示实施例1中的抗侵害性评价装置的结构的图。如图1所示,电力计算装置构成了抗侵害性评价装置的一部分。
其中,电力计算装置具备对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数部件10;根据由信号变化次数计数部件10存储在信号变化次数存储部件中的逻辑电路的信号变化的次数的累加值,计算出逻辑电路的消耗电力的消耗电力计算部件20。
另外,在电力计算装置以外,抗侵害性评价装置还具备进行逻辑电路的动作的模拟的逻辑模拟器30;存储逻辑模拟器30输出的信号的变化的信号变化信息存储部件31;存储逻辑模拟器30利用的文件的文件数据库40;生成用于控制逻辑模拟器30的模拟控制信息的模拟控制信息生成部件50;存储模拟控制信息生成部件50生成的模拟控制信息的模拟控制信息存储部件51。
进而,抗侵害性评价装置还具备存储消耗电力计算部件20计算出的消耗电力的消耗电力存储部件21;从消耗电力存储部件21读出消耗电力,生成时序地排列的时序电力信息的时序电力信息生成部件60;存储时序电力信息生成部件60生成的时序电力信息的时序电力信息存储部件61;从时序电力信息存储部件61读出并显示时序电力信息的结果显示部件。
信号变化次数计数部件10对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中。消耗电力计算部件20根据信号变化次数计数部件10存储在信号变化次数存储部件中的逻辑电路的信号变化的次数的累加值,计算出逻辑电路的消耗电力。
在此,说明在实施例1中使用的消耗电力的计算方法。
在使用了上述公式(1)的消耗电力的计算方法中,计算负载电容C需要很多时间。但是,在电路设计的上层工序中高精度并且高速地评价逻辑电路的抗侵害性的情况下,计算消耗电力并不需要特别高的精度。因此,通过将信号的负载电容C都看作是大致相同,并用每个信号的每个单位时间的变化数f进行近似,来使用公式(2)计算出消耗电力。由此,能够大幅度缩短处理时间。
P=∑f......(2)返回各部分的功能的说明。
逻辑模拟器30是在数字电路的逻辑设计中使用的通常的逻辑模拟器,生成表示在作为对象的逻辑电路中产生了怎样的信号变化的全部信号。文件数据库40存储逻辑模拟器30所使用的逻辑电路、网络列表、库、输入数据文件和测试台。在逻辑模拟的全部期间中参照它们。
模拟控制信息生成部件50在逻辑模拟器30并不是在模拟的全部期间中只一次地,而是分割为错开了时间的多次模拟(将它们分别称为“单位模拟”)执行的情况下,生成每个单位模拟的控制信息。在控制测试台的模拟开始和结束时,参照所生成的文件。
时序电力信息生成部件60按照时间顺序将消耗电力计算部件20计算出的逻辑电路的规定期间的消耗电力排列起来,生成一个时序电力信息。另外,时序电力信息生成部件60将时序电力信息变换为适合于显示的格式。结果显示部件70显示由时序电力信息生成部件60生成了的时序电力信息。
测试台是记述了逻辑模拟器30的动作全体的文件。例如,记述有指定逻辑模拟器30的文件输入和输出、逻辑模拟的开始和结束的定时的时间信息。
图2是测试台的例子的一部分,是用于抽出每个单位模拟的信号变化信息的记述。在作为对象的逻辑电路进行处理时,使得向不同的文件输出每个时钟周期的信号变化信息。
具体地说,在单位模拟的开始时,从输入数据读出一个输入数据,在进行了作为对象的逻辑电路的逻辑模拟后,计数逻辑模拟器输出的信号变化了的次数,将其结果输出到文件中。
在图2的2个地方参照(include)了文件,图3和图4表示所参照的文件的例子。图3是保存在单位模拟中使用的输入数据的先头编号的文件。在图3的例子中,输入数据的先头编号为“159200”。图4是指定记载在单位模拟中生成的信号变化信息的文件名的文件。在图4的例子中,在输入数据是“159200”(先头编号)的情况下,信号变化信息被记载在“saif/sim_net_159200.saif”中,在输入数据是“159201”的情况下,被记载在“saif/sim_net_159201.saif”中。它们都是模拟控制信息,在启动逻辑模拟器30之前,由模拟控制信息生成部件50生成。
接着,说明实施例1的包含电力计算装置的抗侵害性评价装置的动作。图5是表示在包含电力计算装置的抗侵害性评价装置中的电力计算处理的流程图。
抗侵害性评价装置中的电力计算装置执行以下的步骤对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数步骤;根据信号变化次数计数步骤存储在信号变化次数存储部件中的逻辑电路的信号变化的次数的累加值,计算出逻辑电路的消耗电力的消耗电力计算步骤。
作为计算消耗电力的对象的逻辑电路及其网络列表、在逻辑模拟中使用的库、最初输入到逻辑电路的输入数据、在逻辑模拟中使用的测试台被存储在文件数据库40中。准备多个输入数据,在每次循环进行单位模拟时读出并利用。
由逻辑模拟器30从文件数据库40读出并设置其中的成为对象的逻辑电路。
另外,模拟控制信息生成部件50预先生成模拟控制信息,逻辑模拟器30从控制逻辑模拟的开始/结束的测试台对其进行参照。
首先,说明单位模拟的动作。
逻辑模拟器30从存储在文件数据库40中的输入数据文件中读出一个输入数据(步骤S100)。另外,逻辑模拟器30依照测试台的记述,参照模拟控制信息生成部件50的模拟控制信息(步骤S101)。
逻辑模拟器30根据读出的输入数据,进行成为对象的逻辑电路的逻辑动作的模拟,生成逻辑电路的每个时钟周期的信号,并作为信号变化信息存储到信号变化信息存储部件31中(步骤S102)。
信号变化次数计数部件10从信号变化信息存储部件31中读出信号变化次数,对在逻辑电路中信号变化了的次数(以后简称为“信号变化次数”)进行计数,并存储到信号变化次数存储部件11中(步骤S103)。这是上述的信号变化次数计数步骤。在此,信号变化次数是指在一次单位模拟中评价对象电路动作的期间的每个时钟周期中变化了的次数。
消耗电力计算部件20读出信号变化次数存储部件11的信号变化次数,使用公式(2)计算出消耗电力,并存储到消耗电力存储部件21中(步骤S104)。这是上述的消耗电力计算步骤。
即,步骤S103和步骤S104相当于抗侵害性评价装置中的电力计算装置的处理。
图6表示在消耗电力计算部件20中求出信号变化次数的总和并计算出消耗电力的程序的例子。在该程序中,从记载了由信号变化次数计数部件10所计数的信号变化次数的文件fpr中,由消耗电力计算部件20抽出全部信号的信号变化次数TC,求出抽出的TC的合计sum。将sum输出到由图4所示的测试台指定的文件中。
表1表示文件fpr中的信号变化次数的记载例子(信号变化次数存储部件11的文件格式的例子)。另外,表2表示在文件中记载抽出的TC的合计sum的例子(消耗电力存储部件21的文件格式的例子)。
表1

表2

在每次单位模拟时,作成记载了表1中所示那样的信号变化次数的文件fpr、记载了表2中所示那样的合计sum的文件。
到此为止是1次的单位模拟。即,在单位模拟中,根据读入的数据数据,计算出模拟控制信息所示的时间内的逻辑电路的消耗电力。
接着,逻辑模拟器30判断是否针对在文件数据库40内的输入数据文件中记述的输入数据的全部,执行了逻辑模拟(步骤S105)。在对全部输入数据的逻辑模拟完成了的情况下(步骤S105的Yes的情况),前进到步骤S106。在没有完成的情况下(步骤S105的No的情况),返回到步骤S100。
如果对全部输入数据的单位模拟结束,则时序电力信息生成部件60从消耗电力存储部件21中读出循环进行了单位模拟的次数的所生成的逻辑电路的消耗电力,并在进行单位模拟时,依照根据模拟控制信号参照了的时间信息进行排列,生成一个或多个时序电力信息,存储在时序电力信息存储部件61中(步骤S106)。结果显示部件70从时序电力信息存储部件61读出时序电力信息,例如以示波管等的显示形式,在与实际设备的分析相同的环境下进行显示(步骤S107)。
通过以上步骤,能够通过逻辑模拟计算出成为对象的逻辑电路在某一时间内消耗的消耗电力。
根据本实施例,抗侵害性评价装置中的电力计算装置根据逻辑模拟所输出的逻辑电路的信号变化的次数的累加值,能够计算出消耗电力。由此,不需要计算出负载电容,因此能够以比现有技术短的处理时间计算出逻辑电路的消耗电力。
根据本实施例,由信号变化次数计数部件和消耗电力计算部件构成电力计算装置。其结果是能够由信号变化次数计数部件计数逻辑电路的信号变化的次数,由消耗电力计算部件根据信号变化的次数的累加值,计算出逻辑电路的消耗电力。
另外,抗侵害性评价装置中的电力计算装置的P=∑f的计算意味着只根据逻辑电路的信号变化了的次数计算出消耗电力。
在该情况下,抗侵害性评价装置中的电力计算装置具备对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数部件10;只根据由信号变化次数计数部件10存储在信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算部件20。
另外,电力计算装置执行以下的步骤计数逻辑电路的信号变化的次数,并存储到信号变化次数存储部件中的变化次数计数步骤;只根据信号变化次数计数步骤存储在信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算步骤。
在该情况下,电力计算装置能够只根据逻辑模拟所输出的逻辑电路的信号变化的次数计算出消耗电力。由此,不需要计算出负载电容,因此能够以比现有技术短的处理时间计算出逻辑电路的消耗电力。
另外,可以由信号变化次数计数部件和消耗电力计算部件构成电力计算装置。其结果是在电力计算装置中,可以由信号变化次数计数部件对逻辑电路的信号变化的次数进行计数,由消耗电力计算部件只根据信号的变化的次数计算出逻辑电路的消耗电力。
实施例2在实施例2中,说明以下这样的实施例,即抗侵害性评价装置基于根据逻辑模拟所输出的逻辑电路的信号变化的次数由电力计算装置计算出的逻辑电路的消耗电力,检测从逻辑电路的信息泄漏,评价逻辑电路的抗侵害性。另外,说明其中执行的使用了电路的消耗电力对泄漏信息进行的分析是电力差分分析、单纯电力分析和定时分析的实施例。
图7是表示实施例2的抗侵害性评价装置的结构的图。
检测从逻辑电路的信息泄漏并评价逻辑电路的抗侵害性的抗侵害性评价装置具备对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件11中的信号变化次数计数部件10;根据由信号变化次数计数部件存储到信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算部件20;根据由消耗电力计算部件20计算出的逻辑电路的消耗电力,分析从逻辑电路泄漏的信息的泄漏信息分析部件80。其中,在信号变化次数计数部件10和消耗电力计算部件20中,可以使用上述的电力计算装置。
另外,抗侵害性评价装置还具备进行逻辑电路的动作的模拟的逻辑模拟器30;存储逻辑模拟器30输出的信号的变化的信号变化信息存储部件31;存储逻辑模拟器30利用的文件的文件数据库40;生成用于控制逻辑模拟器30的模拟控制信息的模拟控制信息生成部件50;存储模拟控制信息生成部件50生成的模拟控制信息的模拟控制信息存储部件51。
进而,抗侵害性评价装置还具备存储消耗电力计算部件20计算出的消耗电力的消耗电力存储部件21;从消耗电力存储部件21读出消耗电力,生成时序地排列的时序电力信息的时序电力信息生成部件60;存储时序电力信息生成部件60生成的时序电力信息的时序电力信息存储部件61;存储由泄漏信息分析部件80分析的分析结果的分析结果存储部件81;从分析结果存储部件81读出并显示分析结果的结果显示部件。
另外,抗侵害性评价装置的泄漏信息分析部件80从时序电力信息存储部件61读出时序电力信息,进行分析,并且将分析结果存储到分析结果存储部件81中。
实施例2的抗侵害性评价装置的各部分的功能除了泄漏信息分析部件80以外,与实施例1的电力计算装置的各部分的功能一样。
泄漏信息分析部件80使用消耗电力计算部件20计算出的逻辑电路的消耗电力进行电力分析,分析从逻辑电路泄漏的信息,输出分析结果。
抗侵害性评价装置的消耗电力计算部件根据逻辑电路的信号变化的次数的累加值,计算消耗电力。
或者,抗侵害性评价装置的消耗电力计算部件只根据逻辑电路的信号变化的次数,计算消耗电力。
因此,消耗电力的计算方法与在实施例1中使用的方法一样,另外,测试台也与实施例1一样。
接着,说明在泄漏信息分析部件80中执行的用于分析泄漏信息的电力分析。
在抗侵害性评价装置的泄漏信息分析部件80使用电路的消耗电力对泄漏信息的分析中,使用电力差分分析。
或者,在抗侵害性评价装置的泄漏信息分析部件80使用电路的消耗电力对泄漏信息的分析中,使用单纯电力分析。
或者,在抗侵害性评价装置的泄漏信息分析部件80使用电路的消耗电力对泄漏信息的分析中,使用定时分析。
具体说明上述的各分析的方法。在此,将作为分析对象的半导体器件所实现的保密功能限定为加密进行说明。电子分析是以下这样的技术,即通过对执行加密的半导体器件(以后简称为“加密器件”)的逻辑电路的消耗电力进行分析,来推测加密器件所保存的机密信息,特别是加密密钥。
电力差分分析是电力分析的一种方法,将随机的值的数据输入到加密器件而执行加密的处理,测量或计算出处理中的电路的消耗电力,通过对所得到的数据进行统计处理而推测加密密钥。
电力差分分析的具体方法如下。
(1)向成为对象的电路输入输入数据,测量加密处理中的电力波形。通常需要得到数千至数万个数据的电力波形。
(2)根据公开的加密算法,选择可能攻击的N比特的加密密钥的一部分(部分密钥)K和攻击点PT。PT是只根据输入数据和K唯一地决定的假想的中间变量的1比特,并且与K的全部比特有关。例如DES(Data Encryption Standard)的S盒子(S Box)与之相当。
(3)计算在对2N那样的部分密钥K的全部候选赋予了在(1)中使用了的输入数据时,PT的值为1还是0。
(4)根据PT的值将测量数据分类为2个组,计算各个组的平均电力的差分。平均电力的差分为最大的候选就是所求的部分密钥K。
(5)直到得到充分量的加密密钥的信息为止,循环进行(2)~(4)。
单纯电力分析是电力分析的另一种方法,它根据执行了加密的电路的电力波形,推测与加密密钥相关联的信息。
例如单纯的幂乘剩余计算是从高位的位开始顺序地读出幂指数,在其值为“1”时,一边进行乘法一边循环进行平方计算。在乘法和平方计算分别消耗不同的电力的情况下,能够根据电力波形得到与幂指数有关的信息。
定时分析是与电力分析不同的分析方法。该方法是以下这样的方法,即在加密的处理时间因加密密钥而不同时,通过对其时间的差进行统计处理,而推测加密密钥。
接着,依照图8所示的抗侵害性评价装置的处理的流程图,说明实施例2的抗侵害性评价装置的动作。
抗侵害性评价装置中的对从逻辑电路的信息泄漏进行评价的抗侵害性评价方法执行以下的步骤对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数步骤;根据信号变化次数计数步骤存储在信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出电路的消耗电力的消耗电力计算步骤;根据消耗电力计算步骤计算出的电路的消耗电力,分析从电路泄漏的信息的泄漏信息分析步骤。
所进行的准备,即向文件数据库40输入成为对象的逻辑电路、由模拟控制信息生成部件50生成模拟控制信息的动作与实施例1一样。
另外,从由输入数据文件读入一个输入数据的步骤S200,到时序电力信息生成部件60生成时序电力信息的步骤S206的处理与实施例1中的从步骤S100到步骤S106的处理一样。其中,在步骤S206中,时序电力信息生成部件60所生成的时序电力信息被存储在时序电力信息存储部件61中。
泄漏信息分析部件80使用从时序电力信息存储部件61读出的时序电力信息进行电力分析,将分析结果存储到分析结果存储部件81中(步骤S207)。在电力分析中,可以使用电力差分分析、或单纯电力分析、或定时分析。
结果显示部件70从分析结果存储部件81读出分析结果,例如以示波管等的显示形式,在与对实际设备的分析一样的环境下进行显示(步骤S208)。
通过以上的步骤,能够通过逻辑模拟计算出成为对象的逻辑电路在某一时间内消耗的消耗电力。
根据本实施例,抗侵害性评价装置能够对逻辑电路的信号变化的次数进行计数,根据计数的信号的变化计算出逻辑电路的消耗电力,根据计算出的消耗电力分析从逻辑电路泄漏的信息。其结果是抗侵害性评价装置能够对成为对象的逻辑电路的抗侵害性进行评价。
根据本实施例,能够由抗侵害性评价装置使用电力差分分析对电路的抗侵害性进行评价。
根据本实施例,能够由抗侵害性评价装置使用单纯电力分析对电路的抗侵害性进行评价。
根据本实施例,能够由抗侵害性评价装置使用定时分析对电路的抗侵害性进行评价。
根据本实施例,抗侵害性评价装置能够根据逻辑电路的信号变化的次数的累加值,计算出消耗电力。由此,抗侵害性评价装置不需要计算出负载电容,因此能够以比现有技术短的处理时间计算出逻辑电路的消耗电力。
根据本实施例,抗侵害性评价装置能够只根据逻辑电路的信号变化的次数计算出消耗电力。由此,抗侵害性评价装置不需要计算出负载电容,因此能够以比现有技术短的处理时间计算出逻辑电路的消耗电力。
根据本实施例,由于根据通过逻辑模拟得到的信号变化信息评价抗侵害性,所以与基于软件的模拟相比能够进行正确的评价。另外,与使用电路模拟的情况相比,能够在设计的上层工序中进行高速的评价。
根据本实施例,与现有技术相比能够高速地计算出消耗电力。其结果是在电路设计的上层工序中,能够通过逻辑模拟在短时间内容易地评价成为对象的电路的抗侵害性。
实施例3在实施例3中,说明排除由于对象逻辑电路中的信号的延迟而造成的过渡转移的影响,在不依存于半导体器件和配置布线的理想的状态下对逻辑电路的抗侵害性进行评价的实施例。
实施例3的抗侵害性评价装置的结构和各部分的功能和消耗电力的计算方法与实施例2一样。
其中,信号变化次数计数部件10在规定时间内的信号变化次数为奇数次的情况下,看作是1次的信号变化,在规定时间内的信号变化次数为偶数次的情况下,看作是0次的信号变化,对在电路中信号变化了的次数进行计数。
在此,说明逻辑模拟中的信号变化次数。
实施例3中的抗侵害性评价装置的信号变化次数计数部件10对逻辑电路中产生的全部信号变化进行计数,将其作为信号变化次数。该信号变化次数也包含由于信号的过渡转移而在逻辑电路中产生的信号变化。即,本来只有经过了1个时钟周期后信号变化还是不变化才应该是信号变化的结果。但是,实际上,在经过1个时钟周期的过渡转移的期间中,也产生信号的变化。其结果是信号变化次数计数部件10所计数的信号变化次数是也包含该在经过1个时钟周期的期间中产生的信号变化的次数的值。
为了正确地检测从逻辑电路的信息泄漏,必须正确地计算出逻辑电路的消耗电力,为此,需要对排除了在过渡转移中信号变化的次数后的信号变化次数进行计数。由于半导体器件的特性和因配置布线而产生的信号延迟,而产生作为其原因的过渡转移中的信号变化。因此,为了正确地检测出信息泄漏,必须在没有延迟的理想的电路中进行信号变化次数的计数,计算出正确的电路的消耗电力。
实际的延迟因配置布线和晶体管的特性等原因而变动,在逻辑模拟时,不可能与实际设备完全相同地预测各瞬间的延迟。但是,通过逻辑模拟得到的信号变化次数有依存于很小的延迟差就有很大的变化的情况。另外,该延迟也有很多是依存于器件的。即,对于在设计的上层工序中逻辑地评价抗侵害性的目的而言,要引入配置布线等的不确定要素和器件的依存性。
为了解决该问题,尽可能地排除器件依存性和配置布线依存性,纯粹地在逻辑上评价抗侵害性,可以对设想了没有信号的传输延迟的理想器件时的信号变化次数进行计数。
作为用于实现它的手段,例如可以考虑将逻辑模拟中的延迟量设置为0延迟的情况。但是,在该方法中,在希望进行考虑到某种程度的延迟的评价的情况下,需要改变延迟量重新进行逻辑模拟。
因此,在本实施例中,为了更高效地实现考虑到延迟的情况和不考虑延迟的情况下的评价,而考虑延迟地只进行1次逻辑模拟,在考虑延迟的情况下,原样地使用从逻辑模拟得到的信号变化次数,在不考虑延迟的情况下,在1个时钟周期的期间中信号变化了奇数次的情况下,计数为信号变化了1次,对于信号变化了偶数次的信号,计数为变化了0次。当然,也可以组合双方。
由此,能够进行以下这样的评价的双方,即在1次逻辑模拟中考虑到延迟的评价,以及不考虑延迟的情况,即设想了没有延迟的理想的器件的情况下的评价。
图9表示在由此计数了信号变化次数的情况下计算出消耗电力的程序的例子。在该程序中,从记载了由信号变化次数计数部件10计数的信号变化次数的文件fpr中,消耗电力计算部件20抽出全部的信号的变化次数TC,在求出抽出的TC的合计tc后,根据“tc%=2”求出将tc除以2后的余数,由此在信号变化的次数为偶数次的情况下,将信号变化次数的合计sum设置为0次,在奇数次的情况下设置为1次。另外,记载了信号变化次数的文件fpr与实施例1的表1相同,记载了合计sum的文件与表2相同。
实施例3的抗侵害性评价装置的动作与实施例2中的动作一样。其中,如上所述,只有信号变化次数计数部件10中的信号变化次数的计数方法不同。
根据本实施例,能够排除过渡转移中的信号变化而计数信号变化次数,由此能够正确地计算出逻辑电路的消耗电力。其结果是能够在不依存于半导体器件和配置布线的理想的状态下评价逻辑电路的抗侵害性。
根据本实施例,能够通过一次逻辑模拟,评价没有延迟而排除了过渡转移的影响的理想的逻辑电路的抗侵害性、以及评价包含反映了过渡延迟的影响的延迟的逻辑电路中的抗侵害性。
实施例4在实施例4中,说明只对逻辑电路的希望的区域进行抗侵害性的评价的实施例。
实施例4中的抗侵害性评价装置的结构和各部分的功能和消耗电力的计算方法与实施例2相同。
其中,在抗侵害性评价装置中,作为由信号变化次数计数部件10计数信号变化次数的逻辑电路,设置希望的区域的逻辑电路。
虽然在实施例1~实施例3中没有明确记载,但消耗电力的计算是设想了针对作为对象的逻辑电路全体而进行的。但是,为了明确了解从逻辑电路的哪个部分怎样泄漏秘密信息的机制,如果能够只计算出作为对象的逻辑电路内的特定电路部分的消耗电力,则是理想的。
作为实现它的方法,有向逻辑模拟器30指定抽出信号变化的电路部分的方法。但是,在该方法中,在计算其他电路部分的消耗电力的情况下,必须改变电路部分的指定,再次进行逻辑模拟。
因此,根据计数哪个电路部分的信号变化次数的指定,逻辑模拟器30输出包含指定了的电路部分的更大的电路部分的信号变化信息。在此基础上,信号变化次数计数部件10在该大电路部分中,改变电路部分,对在该电路部分中信号变化的次数进行计数,消耗电力计算部件20计算该电路部分的消耗电力。
由此,能够通过1次逻辑模拟,计算出多个电路部分的消耗电力。
图10表示由此对信号变化次数进行计数并使用它计算出消耗电力的程序的例子。在该程序中,在实例中读入包含在指定的大逻辑电路的区域中的电路部分,对读入的电路部分进行逻辑模拟,从记载了由信号变化次数计数部件10计数的信号变化次数的文件fpr中,由消耗电力计算部件20抽出全部的信号的信号变化次数TC,求出抽出了的TC的合计sum。
接着,使用图11所示的抗侵害性评价装置的处理的流程图,说明实施例4的抗侵害性评价装置的动作。
首先,与实施例1一样,进行以下的准备,即向文件数据库40输入成为对象的逻辑电路等,并且由模拟控制信息生成部件50生成模拟控制信息。
接着,抗侵害性评价装置输入成为抗侵害性评价的对象的逻辑电路内的特定电路部分(步骤S300)。以后,从步骤S301到步骤S309与实施例3中的抗侵害性评价装置的从步骤S200到步骤S208的动作一样,但在步骤S303中,在逻辑模拟中,对比在步骤S300中输入的逻辑电路内的特定电路部分更广范围的电路部分进行逻辑模拟。
根据本实施例,在抗侵害性评价装置中,逻辑模拟器只进行1次逻辑模拟并改变电路部分,就能够计算出消耗电力。其结果是能够通过1次逻辑模拟对多个电路部分的抗侵害性进行评价,能够高效地执行评价。
以上,说明了以下这样的抗侵害性评价装置的实施例,其特征在于在保密器件的硬件设计的上层工序中,通过逻辑模拟器对该硬件的每一定时间间隔的信号变化次数进行计数,使用根据它预计该每个一定时间间隔的消耗电力而得到的消耗电力,进行电力差分分析。
说明了以下这样的抗侵害性评价装置的实施例,其特征在于使用通过同样的方法得到的消耗电力信息,进行单纯电力分析。
说明了以下这样的抗侵害性评价装置的实施例,其特征在于使用通过同样的方法得到的消耗电力信息,进行定时分析。
说明了以下这样的抗侵害性评价装置的实施例,其特征在于将全部信号的负载电容看作是大致相等,通过近似为“信号电力信号变化的总数”,而显著地缩短电力预计时间。
说明了以下这样的抗侵害性评价装置的实施例,其特征在于对在1个时钟周期的期间中变化了奇数次的信号计数为变化了1次,对变化了偶数次的信号计数为变化了0次,求出设想了没有延迟的理想的器件的情况下的电力,由此排除由于延迟而造成的过渡转移的影响,而对不依存于器件和配置布线的电路的本质特征进行评价。
说明了以下这样的抗侵害性评价装置的实施例,其特征在于通过不是对保密器件全体,而是只对加密核心及其每个内部模块,或特定的信号群预计其电力,并对各个进行分析,来评价每个电路部分对攻击的耐性。
在上述各实施例中,可以通过计算机实现电力计算装置、抗侵害性评价装置。
虽然未图示,但电力计算装置、抗侵害性评价装置具备执行程序的CPU(中央处理单元)。CPU例如经由总线与ROM(只读存储器)、RAM(随机访问存储器)、通信端口、显示装置、键盘、鼠标、FDD(软盘驱动器)、CDD(光盘驱动器)、磁盘装置、光盘装置、打印机装置、扫描仪装置等连接。
RAM是易失性存储器的一个例子。ROM、FDD、CDD、磁盘装置、光盘装置是非易失性存储器的一个例子。它们是存储装置或存储部件的一个例子。
由存储装置或存储部件记录和读出上述各实施例的电力计算装置、抗侵害性评价装置所处理的信息。
通信端口例如与LAN(局域网)、因特网、或ISDN(Integrated Services Digital Network)等连接。
在磁盘装置中存储有操作系统(OS)、窗口系统、程序群、文件群。由CPU、OS、窗口系统执行程序群。
电力计算装置、抗侵害性评价装置也可以由能够在计算机上动作的程序构成构成其一部分或全部。或者,也可以由存储在ROM中的固件实现。或者也可以通过软件和硬件、或软件和硬件和固件的组合来实施。
在程序群中,包含使CPU执行在各实施例的说明中作为“~部件”说明了的处理的程序。例如用C语言、HTML(Hyper TextMarkup Language)、SGML(Standard Generalized MarkupLanguage)、XML(eXtensible Markup Language)等计算机语言作成这些程序。
上述程序被存储在磁盘装置、FD(软件)、光盘、CD(Compact Disk)、MD(Mini Disk)、DVD(Digital VersatileDisk)等记录介质中,由CPU读出并执行。
实施例在本实施例中,图12、图13、图14表示利用电力差分分析对DES加密电路的抗侵害性进行评价的例子。这些图针对若干个中间变量,将其分解为每1比特,并将根据该1比特是0还是1而求出了电力差分的结果总结为一览图的形式。对于每1比特,横轴表示时间,纵轴表示电力差分。图中所示的特征部分与秘密信息有关。
另外,图15和图16表示使用实际设备进行逻辑电路的抗侵害性评价的结果、利用上述实施例对与安装在实际设备中的电路相同的逻辑电路的抗侵害性进行了评价的结果。图15是作为评价对象的逻辑电路的电力差分比较大的动作模式的情况,图16是作为评价对象的逻辑电路的电力差分比较小的动作模式的情况。各自的(a)表示使用实际设备进行抗侵害性评价的结果,(b)表示基于在实施例中说明了的逻辑模拟进行了抗侵害性评价的结果。分析方法都是电力差分分析。图中的纵轴(电力差分)和横轴(时间)的尺度是相对的,并没有什么意义。另外,可以通过从外部向逻辑电路输入信号,来选择上述的动作模式。
从信息泄漏的有无的观点看,进行了本实施例所示的抗侵害性评价的结果与使用实际设备进行了抗侵害性评价的结果高精度地一致。可知能够通过逻辑模拟预测因动作模式产生的电力差分的不同。
权利要求
1.一种电力计算装置,其特征在于根据逻辑电路的信号变化的次数的累加值,计算出消耗电力。
2.根据权利要求1所述的电力计算装置,其特征在于上述电力计算装置具备对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数部件;根据由上述信号变化次数计数部件存储在上述信号变化次数存储部件中的逻辑电路的信号变化的次数的累加值,计算出逻辑电路的消耗电力的消耗电力计算部件。
3.根据权利要求1所述的电力计算装置,其特征在于只根据逻辑电路的信号变化的次数,计算逻辑电路的消耗电力。
4.根据权利要求1所述的电力计算装置,其特征在于上述电力计算装置具备对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数部件;只根据由上述信号变化次数计数部件存储在上述信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算部件。
5.一种电力计算方法,其特征在于根据逻辑电路的信号变化的次数的累加值,计算出消耗电力。
6.根据权利要求5所述的电力计算方法,其特征在于上述电力计算方法包括对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数步骤;根据上述信号变化次数计数步骤存储在信号变化次数存储部件中的逻辑电路的信号变化的次数的累加值,计算出逻辑电路的消耗电力的消耗电力计算步骤。
7.根据权利要求5所述的电力计算方法,其特征在于只根据逻辑电路的信号变化的次数,计算逻辑电路的消耗电力。
8.根据权利要求7所述的电力计算方法,其特征在于上述电力计算方法包括对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数步骤;只根据上述信号变化次数计数步骤存储在上述信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算步骤。
9.一种抗侵害性评价装置,检测从逻辑电路的信息泄漏并对逻辑电路的抗侵害性进行评价,其特征在于包括对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数部件;根据由上述信号变化次数计数部件存储在上述信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算部件;根据上述消耗电力计算部件计算出的逻辑电路的消耗电力,分析从逻辑电路泄漏的信息的泄漏信息分析部件。
10.根据权利要求9所述的抗侵害性评价装置,其特征在于由上述泄漏信息分析部件根据逻辑电路的消耗电力对泄漏信息的分析是电力差分分析。
11.根据权利要求9所述的抗侵害性评价装置,其特征在于由上述泄漏信息分析部件根据逻辑电路的消耗电力对泄漏信息的分析是单纯电力分析。
12.根据权利要求9所述的抗侵害性评价装置,其特征在于由上述泄漏信息分析部件根据逻辑电路的消耗电力对泄漏信息的分析是定时分析。
13.根据权利要求9所述的抗侵害性评价装置,其特征在于上述消耗电力计算部件根据逻辑电路的信号变化的次数的累加值,计算消耗电力。
14.根据权利要求9所述的抗侵害性评价装置,其特征在于上述消耗电力计算部件只根据逻辑电路的信号变化的次数,计算消耗电力。
15.根据权利要求9所述的抗侵害性评价装置,其特征在于在上述信号变化次数计数部件中,在规定时间内的信号变化次数是奇数次的情况下,看作为1次信号变化,在规定时间内的信号变化次数是偶数次的情况下,看作为0次信号变化,由此对在电路中信号变化的次数进行计数。
16.根据权利要求9所述的抗侵害性评价装置,其特征在于作为上述信号变化次数计数部件计数信号变化的次数的逻辑电路,而设置规定区域的逻辑电路。
17.一种信息泄漏评价方法,对从电路的信息泄漏进行评价,其特征在于包括对逻辑电路的信号变化的次数进行计数,并存储到信号变化次数存储部件中的信号变化次数计数步骤;根据上述信号变化次数计数步骤存储在上述信号变化次数存储部件中的逻辑电路的信号变化的次数,计算出电路的消耗电力的消耗电力计算步骤;根据上述消耗电力计算步骤计算出的电路的消耗电力,分析从电路泄漏的信息的泄漏信息分析步骤。
全文摘要
本发明的目的在于在电路设计的上层工序中,高精度并且高速地评价实际的电路的抗侵害性。抗侵害性评价装置具备对逻辑电路的信号变化的次数进行计数的信号变化次数计数部件(10);根据由信号变化次数计数部件计数了的信号变化的次数,计算出逻辑电路的消耗电力的消耗电力计算部件(20);根据由消耗电力计算部件计算出的逻辑电路的消耗电力,分析从逻辑电路泄漏的信息的泄漏信息分析部件(80);存储逻辑模拟器(30)所利用的文件的文件数据库(40);生成用于控制逻辑模拟器(30)的模拟控制信息的模拟控制信息生成部件(50);生成时序地排列了由消耗电力计算部件(20)计算出的消耗电力的时序电力信息的时序电力信息生成部件(60);显示时序电力信息的结果显示部件(70)。
文档编号G06F17/50GK1969277SQ20048004325
公开日2007年5月23日 申请日期2004年7月7日 优先权日2004年7月7日
发明者佐伯稔, 铃木大辅 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1