翻转计数模型构建的方法和装置与流程

文档序号:17643842发布日期:2019-05-11 00:51阅读:235来源:国知局
翻转计数模型构建的方法和装置与流程

本发明涉及信息安全领域,尤其涉及一种翻转计数模型构建的方法和装置。



背景技术:

随着信息科技的迅速发展,信息安全的作用变得愈发重要。然而不论是加密算法的硬件实现或是软件实现,都会受到各种安全性威胁,其中侧信道分析是现有的威胁加密设备安全性的重要手段之一。

为了提高侧信息分析的高效性,学者们提出了各种泄露模型,如:现有技术方案一:汉明重模型,适用于描述总线功耗或是描述加密设备初始状态恒定时的功耗。在攻击者无法获得完整的网表文件或无法判断数据总线前后的数据变化状态时,可以使用汉明重模型。

其缺点是:在使用汉明重模型时,认为加密设备产生的功耗与所处理数据的汉明重相关。但是在大多数情况下,该功耗的大小还与当前取值的前一状态相关,即与数据的变化量相关。若数据初态恒定时,此时数据的当前态与变化量成正比,此时汉明重模型有效。然而当初态不定时,数据的当前态与变化量无关,此时使用汉明重模型是无效的,因此汉明重模型适用的条件有限。

现有技术方案二:2004年提出的汉明距模型。汉明距模型适用于刻画总线上的功耗,包括地址总线与数据总线等。

其缺点是:在攻击者已知原始设计或网表中一部分连续处理的数据时,可以使用汉明距模型对该部分的功耗泄漏信息进行刻画。组合电路中存在大量的毛刺,即使攻击者提前获取了网表文件,往往也无法获取正确的中间值,因此汉明距模型不适用于对组合电路上的功耗泄漏进行刻画。

因此,如何找到一种不仅适用于寄存器或总线,而且适用于硬件加密电路的功耗泄露模型,对提高侧信道功耗泄露分析的准确性和高效性至关重要。



技术实现要素:

侧信道分析主要利用加密设备在运行时候,产生的侧信道信息泄漏,进而对加密设备进行攻击。这些侧信道信息包括功耗信息、电磁辐射信息等。针对不同的适用场景,可将功耗泄漏模型分为理论泄漏模型与仿真泄漏模型,两者的不同在于构建泄漏模型时是否使用加密算法的原始设计并对其进行仿真。构建理论泄漏模型时,仅需对待攻击设备的分类有初步了解。而构建仿真泄漏模型时,在了解加密设备的分类之后,还需要使用仿真工具对加密算法进行仿真。仿真泄漏模型相对于理论泄漏模型的优点在于,与实际加密设备的功耗泄漏特征更加接近,并且使用仿真泄漏模型进行侧信道分析时有效性更高。

因此为了简易且高效地构建仿真功耗泄露模型,本发明提供了一种翻转计数模型构建的方法和装置。

第一方面,本发明提供了一种翻转计数模型构建的方法,所述方法包括:

对用于分析加密设备中功耗泄露的逻辑仿真工具进行仿真层次模型分类;

将所述仿真层次模型分为无毛刺模型和含毛刺模型;

确定所述仿真层次模型为无毛刺模型,则根据加密设备的电路类型对应的仿真层次模型,得到最终的仿真层次模型;

将所述最终的仿真层次模型中的仿真数据导出为vcd文件;

对所述vcd文件中翻转信号进行分析,获得翻转计数模型。

第二方面,本发明提供了一种翻转计数模型构建的装置,所述装置包括:

模型分类模块,用于对用于分析加密设备中功耗泄露的逻辑仿真工具进行仿真层次模型分类;

毛刺模型确定模块,用于将所述仿真层次模型分为无毛刺模型和含毛刺模型;

电路类型选择模块,用于确定所述仿真层次模型为无毛刺模型,则根据加密设备的电路类型对应的仿真层次模型,得到最终的仿真层次模型;

vcd文件获得模块,用于将所述最终的仿真层次模型中的仿真数据导出为vcd文件;

翻转计数模型确定模块,用于对所述vcd文件中翻转信号进行分析,获得翻转计数模型。

本发明提供的一种翻转计数模型构建的方法和装置,通过仿真所需的模型层次、对毛刺信息进行刻画以及结合实际加密设备电路的类型,构建得到的翻转计数泄漏模型,使得在实施实际侧信道功耗分析时针对性更强且效率更高。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的翻转计数模型构建的方法流程示意图;

图2为本发明实施例提供的翻转计数模型构建的装置框图;

图3为本发明实施例提供的翻转计数模型构建的整体结构示意图;

图4为图3的模型分类阶段示意图;

图5为图3的模型选择阶段示意图;

图6为图3的模型构建阶段示意图;

图7为图3的模型实施阶段示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着信息科技的迅速发展,信息安全的作用变得愈发重要。现有的信息安全领域中的核心技术之一是密码学。上至计算机网络应用层的各种协议,下至通信系统中的各种硬件设备,密码学都发挥着非常重要的作用。现有的加密算法主要分为对称密码与公钥密码两类,其中对称密码包括aes、3-des与sms4等加密算法。对称加密由于其较高的安全性与简洁的实现流程,广泛应用于各类设备中。密码算法的实现方式包括软件与硬件实现,软件实现由于其良好的可定制性,应用于智能卡、嵌入式等设备中;而硬件实现由于其快速的加解密速度,应用于各类专用加密芯片中,包括fpga、asic等。然而不论是加密算法的硬件实现或是软件实现,都会受到各种安全性威胁,其中侧信道分析是现有的威胁加密设备安全性的重要手段之一。

攻击者在使用侧信道分析技术对加密设备实施攻击时,首先需要使用电磁探头等专用设备对加密设备的侧信道信息进行探测,并使用示波器将侧信道信息采集与保存,之后使用多种侧信道分析方法对这些信息进行分析,最终达到恢复加密设备中正确秘钥的目的。当攻击者获取了加密设备的正确秘钥,加密设备的所有秘密信息都会遭到泄漏,彻底破坏加密设备的安全性。之后为了提高侧信息分析的高效性,学者们提出了各种泄露模型,但是现有的泄露模型存在适用于寄存器或总线的功耗泄露分析,对于组合电路部分的功耗侧信道分析数据并不准确。为了解决上述问题,本发明提供的一种翻转计数模型构建的方法和装置。如图所示,图1为本发明实施例提供的翻转计数模型构建的方法流程示意图。图1中,该方法包括:

步骤101,对用于分析加密设备中功耗泄露的逻辑仿真工具进行仿真层次模型分类。

具体为,构建功耗泄露模型所需的逻辑仿真工具包括isim、modelsim等。根据分析者所选的仿真工具的不同,仿真分类有所不同。

步骤102,将仿真层次模型分为无毛刺模型和含毛刺模型。

具体为,判断是否对电路信号中的毛刺信息进行统计,以此将仿真层次模型分为无毛刺模型和含毛刺模型,其中,毛刺信息指电路中由于信号传递时延产生的非目的性跳变,毛刺信息对于电路的正常运行来说为无用信息,但是在对电路做侧信道分析时可作为有用信息被利用。

步骤103,确定仿真层次模型为无毛刺模型,则根据加密设备的电路类型对应的仿真层次模型,得到最终的仿真层次模型。

具体为,当判断后确定仿真层次模型为无毛刺模型,再根据加密设备的电路类型,将仿真层次模型进一步划分,得到最终确定的仿真层次模型。其中,加密设备的电路类型包括:slcd(simplelogicalcircuitdesign,简单逻辑电路设计)或clcd(complexlogicalcircuitdesign,复杂逻辑电路设计),slcd对应无毛刺模型中的翻译后仿真模型类型,clcd对应无毛刺模型中的行为仿真模型类型。

步骤104,将最终的仿真层次模型中的仿真数据导出为vcd文件。

具体为,将最终仿真层次模型中有关电路数据,毛刺信息数据,信号翻转等仿真数据作为仿真结果,导出为vcd文件。其中,vcd文件用于描述电路中所有信号变化。根据电路输入不同,不同数量的信号翻转情况会在vcd文件中体现,通过统计输入不同时的信号翻转数量,可以获取到电路输入与信号翻转数量之间的对应关系。

步骤105,对vcd文件中翻转信息进行分析,获得翻转计数模型。

具体为,对vcd文件中翻转跳变的信号进行分析,得到翻转计数模型,该翻转计数模型就是本发明实施例最终的功耗泄露模型。

本发明实施例通过仿真所需的模型层次、对毛刺信息进行刻画以及结合实际加密设备电路的类型,构建得到的翻转计数泄漏模型,使得在实施实际侧信道功耗分析时针对性更强且效率更高。

基于上述实施例的内容,作为一种可选实施例:仿真层次模型包括:行为仿真模型、翻译后仿真模型、映射后仿真模型和布线后仿真模型。

具体为,在对verilog设计进行实施时,需要经过三个关键步骤:翻译、映射、布线,这些步骤为业内通用方法。需要说明的是,在本发明实施例中行为仿真在verilog设计中的翻译前执行。翻译后仿真、映射后仿真、布线后仿真分别在翻译、映射、布线步骤后执行。

本发明实施例通过对仿真层次模型进行分类,使得后续得到的泄露模型更加准确。

基于上述实施例的内容,作为一种可选实施例:还包括:

确定仿真层次模型为含毛刺模型,则将布线后仿真模型作为最终的仿真层次模型。

具体为,在本发明实施例中,映射后仿真模型和布线后仿真模型属于含毛刺模型。当判断后确定仿真层次模型为含毛刺模型,则直接选定布线后仿真模型作为最终的仿真层次模型。因为虽然布线后仿真模型构建模型所需时间比较长,但是布线后仿真所得的模型精度最高。

本发明实施例根据对毛刺信息的统计情况,对于含毛刺模型选用布线后仿真模型作为最终的仿真层次模型,使得构造的模型精度达到最高。

基于上述实施例的内容,作为一种可选实施例:电路类型包括:slcd或clcd。

具体为,在verilog设计中,将线上信号、输入信号与输出信号作为跳变计算的基本单元。原始设计的中每个元件表示为blu,且blu的输入数量是有限的。如果某一个信号无法通过一个blu的输出表示,则需要多个blu和额外的输出信号来表示。

定义clcd电路与slcd电路:令blu(in,o)表示一个带有n位输入与一位输出的blu。其中,i表示input,o表示output,n为自然数。y(y∈y)表示verilog设计中位于assign语句后的变量,且y为包含所有y的集合。此时,其中表示任意逻辑操作x与y均为一位二元变量。此时slcd与clcd可表示如下:

若加密设备的电路属于slcd,则选择翻译后仿真模型作为无毛刺模型;若加密设备的电路属于clcd,则选择行为仿真模型作为无毛刺模型。

本发明实施例通过对加密设备电路类型的确认,选择出相对应的仿真层次模型,进而确定该次侧信道分析所用的翻转计数模型,提高获取的翻转计数模型的高效性和准确性。

基于上述实施例的内容,作为一种可选实施例:对vcd文件中翻转信号进行分析,获得翻转计数模型,之后还包括:

根据翻转计模型对实测功耗曲线进行功耗的侧信道分析。

具体为,在得到用于功耗泄露分析的翻转计数模型后,使用相关性功耗分析或互信息功耗分析等方法对实测功耗曲线进行功耗的侧信道分析。本发明实施例不对功耗的侧信道分析的方法作具体限定。

本发明实施例在得到翻转计数模型后,将该模型用于对实测功耗曲线的功耗分析,使得在实际侧信道分析时针对性更强且效率更高。

根据本发明的另一个方面,本发明实施例还提供一种翻转计数模型构建的装置,参见图2,图2为本发明实施例提供的翻转计数模型构建的装置框图。该装置用于在前述各实施例中进行翻转计数模型构建的形成。因此,在前述各实施例中翻转计数模型构建的方法中的描述和定义,可以用于本发明实施例中各执行模块的理解。

如图所示,该装置包括:

模型分类模块201,用于对用于分析加密设备中功耗泄露的逻辑仿真工具进行仿真层次模型分类;

毛刺模型确定模块202,用于将仿真层次模型分为无毛刺模型和含毛刺模型;

电路类型选择模块203,用于确定仿真层次模型为无毛刺模型,则根据加密设备的电路类型对应的仿真层次模型,得到最终的仿真层次模型;

vcd文件获得模块204,用于将最终的仿真层次模型中的仿真数据导出为vcd文件;

翻转计数模型确定模块205,用于对vcd文件中翻转信号进行分析,获得翻转计数模型。

本发明实施例通过仿真所需的模型层次、对毛刺信息进行刻画以及结合实际加密设备电路的类型,构建得到的翻转计数泄漏模型,使得在实施实际侧信道功耗分析时针对性更强且效率更高。

基于上述实施例的内容,作为一种可选实施例:仿真层次模型包括:行为仿真模型、翻译后仿真模型、映射后仿真模型和布线后仿真模型。

本发明实施例通过对仿真层次模型进行分类,使得后续得到的泄露模型更加准确

基于上述实施例的内容,作为一种可选实施例:还包括:

布线后仿真模型确定模块,用于确定仿真层次模型为含毛刺模型,则将布线后仿真模型作为最终的仿真层次模型。

本发明实施例根据对毛刺信息的统计情况,对于含毛刺模型选用布线后仿真模型作为最终的仿真层次模型,使得构造的模型精度达到最高。

基于上述实施例的内容,作为一种可选实施例:电路类型包括:slcd或clcd。

本发明实施例通过对加密设备电路类型的确认,选择出相对应的仿真层次模型,进而确定该次侧信道分析所用的翻转计数模型,提高获取的翻转计数模型的高效性和准确性。

基于上述实施例的内容,作为一种可选实施例:还包括:

功耗分析模块,用于根据翻转计模型对实测功耗曲线进行功耗的侧信道分析。

本发明实施例在得到翻转计数模型后,将该模型用于对实测功耗曲线的功耗分析,使得在实际侧信道分析时针对性更强且效率更高。

基于上述实施例的内容,作为一种可选实施例:本发明实施例提供一种翻转计数模型构建的结构方案,如图3所示,图3为本发明实施例提供的翻转计数模型构建的整体结构示意图。

在本发明实施例的整体设计图中,主要包含了四大部分:模型分类阶段、模型选择阶段、模型构建阶段和模型实施阶段。其中,模型分类阶段将分类后的模型传入模型选择阶段,模型选择阶段将选择后的模型传入模型构建阶段,模型构建阶段通过计算获得翻转计数模型,之后在模型实施阶段通过翻转计数模型进行侧信道功耗分析。

图4给出了模型分类阶段基本流程,图中包含两个部分:仿真层次确认阶段与毛刺信息需求确认阶段。运作过程如下:

构建模型所需工具为逻辑仿真常用工具,包括:isim、modelsim等。根据分析者所选的仿真工具的不同,仿真分类有所不同。例如isim可分为行为仿真、翻译后仿真、映射后仿真与布线后仿真四种。若分析者需要对毛刺信息进行统计,可继续将仿真层次分为无毛刺仿真与含毛刺仿真。模型分类阶段输出仿真工具支持的仿真层次模型分类。

图5给出了模型选择阶段基本流程,图中包含两个部分:电路类型确认阶段与模型确认阶段。运作过程如下:

模型选择阶段传入可用的模型分类之后,电路类型确认阶段确认加密设备电路属于slcd或clcd。模型确认阶段根据加密设备电路的类型选择该次侧信道分析所需的翻转计数模型类型。若加密设备电路属于slcd,则选择翻译后翻转计数模型作为无毛刺模型,若加密设备电路属于clcd,则选择行为翻转计数模型作为无毛刺模型。模型选择阶段最终输出该次侧信道分析所用的翻转计数模型。

图6给出了模型构建阶段基本流程,图中包含三个部分:逻辑仿真阶段、仿真数据导出阶段与模型计算阶段。运作过程如下:

1)逻辑仿真阶段根据使用逻辑仿真工具对原始电路设计进行逻辑仿真。

2)仿真数据导出阶段将仿真结果导出为vcd文件。

3)模型计算阶段对vcd文件进行分析,并获得通过计算所得的翻转计数模型。

完成上述三个步骤之后,即可获得该电路设计所对应的精确的翻转计数模型,供后续模型实施阶段使用。

图7给出了模型实施阶段的基本流程。运作过程如下:

模型实施阶段使用构建阶段所得的翻转计数模型,通过相关性功耗分析或互信息功耗分析等方法对实测功耗曲线进行侧信道分析。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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