CN104484627B - 面向可重构阵列架构的随机化抗故障攻击措施的设计方法 - Google Patents
面向可重构阵列架构的随机化抗故障攻击措施的设计方法 Download PDFInfo
- Publication number
- CN104484627B CN104484627B CN201410854494.XA CN201410854494A CN104484627B CN 104484627 B CN104484627 B CN 104484627B CN 201410854494 A CN201410854494 A CN 201410854494A CN 104484627 B CN104484627 B CN 104484627B
- Authority
- CN
- China
- Prior art keywords
- fault
- resistant
- attack
- randomness
- randomization
- 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.)
- Active
Links
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/76—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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种面向可重构阵列架构的随机化抗故障攻击措施的设计方法,包括如下步骤:步骤一、提供可重构阵列架构,得到加密算法的具体映射数据流图;步骤二、给定开销比例约束条件以及抗故障攻击能力;步骤三、计算执行加密算法时的开销;步骤四、确定加密算法中的敏感点分布、时间搜索范围以及空间搜索范围;步骤五、给定时间随机度以及空间随机度,确定相对应的敏感点分布以及时间搜索范围与空间搜索范围;步骤六、计算抗故障攻击能力并匹配给定的抗故障攻击能力;步骤七、确定实际额外开销比例,调整给定时间随机度以及空间随机度,以匹配给定的开销比例约束条件。本发明能为随机化抗故障攻击措施的设计提供依据,能有效提高安全性。
Description
技术领域
本发明涉及一种设计方法,尤其是一种面向可重构阵列架构的随机化抗故障攻击措施的设计方法,属于集成电路安全的技术领域。
背景技术
随着社会信息化程度的不断加深,人们对信息的安全性要求也不断提升,信息安全已成为一件必不可少的事情。密码处理器是保证信息安全的关键部件,加密算法的不断改进,使密码算法在数学层面上的安全性得到保证,但近年来出现的包括故障注入攻击、旁路攻击等方法的物理攻击手段使密码处理器的安全性受到很大的考验,其中故障注入攻击能主动控制密文的产生,对信息安全产生很大威胁。
故障注入(扰乱)攻击是指在芯片进行加密操作时,对芯片加密路径上的元件进行扰动(激光或是电磁),产生瞬时故障,获得错误的输出密文。通过不断的注入故障获取不同的密文,再加上一定的数学分析,就有可能破译出正确的密钥或是降低数学层面破译密钥的难度。
抵抗故障攻击的方法可以实施在两个阶段,即在故障成功注入电路之后,或者是在注入故障阶段。传统的对策关注故障注入后的故障检测,检测的核心思想是引入冗余,大致可以归类为信息冗余、时间冗余以及硬件冗余。信息冗余指的是在硬件中增加一部分实现故障校验码等线性或非线性函数的电路以在一定范围内检测错误;时间冗余指的是在时间上对整个或部分加密过程重复执行,两次结果相同才输出,用执行时间上的开销换来安全性的提升;硬件冗余是指将原有电路的全部或者部分进行复制,并比较二者的结果以此提高输出密文的安全性。由上述抗故障攻击采用的对策衍生出评估指标——故障检测率,即检测出的注入故障数与成功注入故障数的比值。
由于以激光为代表的故障注入精度逐渐提高,使得双故障或多故障攻击成为可能,传统的冗余对策无法抵抗这种攻击。以硬件冗余类对策为例,如果攻击者同时对两组运算电路(正常执行电路与冗余电路)注入相同的故障,故障检测机制就会失灵,对硬件安全性造成威胁。在这种情况下,可以考虑通过在故障注入阶段引入抗故障攻击措施,降低故障成功注入的概率,这样不仅可以抵抗单故障攻击,还可以抵抗双故障或多故障的攻击,例如通过硬件重构在注入阶段引入随机性的方法。
可重构性是可重构结构的一种属性。可重构阵列结构指的是在一种在程序执行时仍然可以配置逻辑阵列功能、互联方式的结构,其主要的特点在于其能对硬件资源进行时分复用,这样就提供了充足的硬件资源并且具有动态可重构特性。可重构阵列动态可重构特性使得其在故障注入阶段引入抗故障攻击措施成为可能。例如,在执行某些加密过程时,随机的插入空拍,引入时间随机性提升注入难度;再者将敏感点随机的分布到几个运算单元,这种在空间上的随机分布也能够降低故障成功注入的几率。
抗故障攻击措施的实施必然给密码处理器带来额外的开销,为此在设计密码处理器实施的抗故障攻击措施时,设计者需要在密码处理器的安全性以及额外开销之间做出权衡,这也是密码处理器设计的重要依据。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种面向可重构阵列架构的随机化抗故障攻击措施的设计方法,其能为随机化抗故障攻击措施的设计提供依据,能有效提高集成电路的安全性。
按照本发明提供的技术方案,一种面向可重构阵列架构的随机化抗故障攻击措施的设计方法,所述随机化抗故障攻击措施的设计方法包括如下步骤:
步骤一、提供需要实施抗故障攻击措施的可重构阵列架构,并确定所述可重构阵列架构的设计参数以及运行于所述可重构阵列架构内的加密算法,且根据所述可重构阵列架构的设计参数得到加密算法在可重构阵列架构上的具体映射数据流图;
步骤二、根据可重构阵列架构的应用需求,给定所述可重构阵列架构在实施随机化抗故障攻击措施后的开销比例约束条件以及抗故障攻击能力,所述开销比例约束条件包括采用抗故障攻击措施后的吞吐率额外开销比例约束条件、实际占用的硬件资源开销比例约束条件以及能量额外开销比例约束条件;
步骤三、在未采用随机化抗故障随机措施下,得到可重构阵列架构执行加密算法时的吞吐率、实际采用硬件资源所占的晶体管门数以及所消耗的电路总能量数值;
步骤四、根据上述的具体映射数据流图以及加密算法,确定在未采用随机化抗故障攻击措施前加密算法中的敏感点分布、时间搜索范围φt以及空间搜索范围φs;
步骤五、给定时间随机度γs以及空间随机度γt,并在所述时间随机度γs以及空间随机度γt下,根据上述的具体映射数据流图确定相对应的敏感点分布以及时间搜索范围φt′与空间搜索范围φs′;
步骤六、根据Rinject=Ai,u确定在给定时间随机度γs以及空间随机度γt下的抗故障攻击能力,若所述抗故障攻击能力与步骤二中给定的抗故障攻击能力匹配,则跳转步骤七,否则调整给定时间随机度γs以及空间随机度γt,直至所述抗故障攻击能力匹配步骤二中给定的抗故障攻击能力;
其中,χ为在施加随机化抗攻击方法前的攻击实体数量,χ′是在施加随机化抗攻击方法后的攻击实体数量,σ为在施加随机化抗攻击方法前敏感点分布的攻击实体的数量,σ′为在施加抗随机化攻击方法后敏感点分布的攻击实体的数量。As,u、Ai,u分别代表在搜索阶段和持续注入阶段单位尝试增益系数;
步骤七、在采用上述时间随机度γs以及空间随机度γt下,得到可重构阵列架构执行加密算法时的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量,并将所得到的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量与步骤三中得到结果进行比较,以确定在所述随机化下抗故障攻击措施的实际额外开销比例;
步骤八、若上述确定的随机化抗故障攻击措施的实际额外开销比例与步骤二给定的在实施随机化抗故障攻击措施后的开销比例约束条件不匹配,则重新确定调整给定时间随机度γs以及空间随机度γt,以使得确定的随机化故障攻击措施的实际额外开销比例与给定的开销比例约束条件匹配。
所述步骤一中,可重构阵列架构的设计参数包括时钟频率以及可重构阵列架构中各部分硬件资源所占用的电路晶体管门数。
步骤六中,在单故障攻击下,则有
As,u=Ai,u=γs×γt;
χ′=φs′×φt′,σ′=Λ×γs×γt;
χ=φ×φt,σ=Λ。
步骤六中,在双故障攻击下,时间随机度γs包括γs,0以及γs,1,空间随机度γt包括γt,0以及γt,1,则有
As,u=Ai,u=(γs,0×γt,0)×(γs,1×γt,1);
σ′=Λ×(γs,0×γt,0)×(γs,1×γt,1)
σ=Λ。
本发明的优点:通过给定开销比例约束条件以及抗故障攻击能力,来调整时间随机度以及空间随机度,实施操作方便,能为随机化抗故障攻击措施的设计提供依据,能有效提高集成电路的安全性。
附图说明
图1为现有故障注入的流程图。
图2为单故障注入敏感点的搜索过程示意图。
图3为单故障注入持续注入过程的示意图。
图4为双故障敏感点搜索过程的示意图。
图5为双故障注入持续注入过程的示意图。
图6为现有常用的加密过程配置示意图。
图7为采用时间随机性的抗故障攻击措施的配置示意图。
图8为采用空间随机性的抗故障攻击措施的配置示意图。
附图标记说明:1-故障注入器、2-故障注入路径、3-加密路径、4-搜索路径、5-空闲单元、6-工作单元以及7-随机分布敏感点单元。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
为了能为随机化抗故障攻击措施的设计提供依据,能有效提高集成电路的安全性。本发明的随机化抗故障攻击措施的设计方法包括如下步骤:
步骤一、提供需要实施抗故障攻击措施的可重构阵列架构,并确定所述可重构阵列架构的设计参数以及运行于所述可重构阵列架构内的加密算法,且根据所述可重构阵列架构的设计参数得到加密算法在可重构阵列架构上的具体映射数据流图;
具体地,可重构处理器主要部件包括主控制器、数据存储器、配置存储器以及可重构计算阵列。可重构计算阵列中包括了多个计算单元(PE)以及连接各个单元的互联线。在每个计算单元(PE)内包含有多路选择器(MUX)、算数逻辑单元(ALU)以及寄存器(Register)。
在可重构处理器中,主控制器是整个系统的控制单元,管理整个系统的运行。数据存储器负责存储与运算相关的数据,包括运算变量、运算中间数据以及运算结果数据等。配置存储器用于存储配置信息,在系统运行时,系统可根据需要读取配置存储器中的配置信息对可重构计算阵列上的计算单元和互联方式进行配置,用于完成指定的功能。
可重构阵列架构的设计参数包括时钟频率以及可重构阵列架构中各部分硬件资源所占用的电路晶体管门数。其中,各部分硬件资源所占用的电路晶体管门数是指包括主控制器所占用的晶体管门数、数据存储器所占用的晶体管门数、配置存储器所占用的晶体管门数以及可重构计算阵列所占用的晶体管门数。在具体实施时,当所提供的可重构阵列架构还包括其他电路结构时,还可以知道相对应部分电路所占用的晶体管门数。
根据可重构阵列架构的设计参数能给出所运行加密算法在可重构阵列架构上的具体映射数据流图,得到具体映射数据流图的过程为本技术领域人员所熟知,此处不再赘述。当得到具体映射数据流图后,能确定加密算法在可重构阵列架构上执行时各个计算单元(PE)所执行的具体功能以及各个计算单元(PE)之间的连接关系。
步骤二、根据可重构阵列架构的应用需求,给定所述可重构阵列架构在实施随机化抗故障攻击措施后的开销比例约束条件以及抗故障攻击能力,所述开销比例约束条件包括采用抗故障攻击措施后的吞吐率额外开销比例约束条件、实际占用的硬件资源开销比例约束条件以及能量额外开销比例约束条件;
本发明实施例中,可重构阵列架构的应用需求包括可重构阵列架构的使用场景,如使用的环境等,不同的使用需求,对可重构阵列架构在实施随机化抗故障攻击措施后的开销比例约束条件以及抗故障攻击能力的要求不同。具体地,额外开销比例可以定义为:
;其中,公式中的实际数值可以分别吞吐率、实际占用硬件资源的晶体管门数或所消耗的电路总能量,即当为采用抗故障攻击措施后的吞吐率额外开销时,实际数值对应的为采用抗故障攻击措施后的吞吐率以及未采用抗故障攻击措施前的吞吐率,对于实际占用硬件资源的晶体管门数以及所消耗的电路总能量类同,此处不再一一列举。
步骤三、在未采用随机化抗故障随机措施下,得到可重构阵列架构执行加密算法时的吞吐率、实际采用硬件资源所占的晶体管门数以及所消耗的电路总能量数值;
例如AES-128(密钥长度为128比特的AES算法)的分组长度为128比特,若每处理128比特所用的时钟周期平均数目为50个时钟周期,电路运行频率为100MHz,则实际采用硬件资源所占用的晶体管门数则通过累加具体映射数据流图所占用的各部分硬件资源的晶体管数目得到,如可以分别统计算法占用的PE(计算单元)及邻近互联的数目,特殊功能模块的数目(如基于LUT的替换盒等),并结合已知的各个模块及单元的实际晶体管数目(可重构电路设计完成后就已经确定,如步骤一中的说明)而得到。所消耗的电路总能量则通过实际测量电路在执行算法的时间内所消耗的焦耳能量得到,在没有实际流片的情形下,此能量数值可以通过各种功耗仿真软件得到,诸如HSPICE或者PrimeTime PowerExtension(PTPX)。
步骤四、根据上述的具体映射数据流图以及加密算法,确定在未采用随机化抗故障攻击措施前加密算法中的敏感点分布、时间搜索范围φt以及空间搜索范围φs;
具体地,敏感点(SP)为能够对输出密文产生某种可被攻击者利用的特定影响的一些特定步骤中某一比特/字节为。为了进行故障注入,攻击者需要找到这些能激活敏感点得到特定错误密文的注入点,包括它准确的时间和空间位置。寻找上述注入点准确位置的过程称之为搜索阶段。持续注入阶段指的是为获得足够多的(能够最终破解算法密钥)可用错误密文,对敏感点持续注入故障的过程。
攻击实体(attack object)为攻击者需要寻找、攻击的单位目标为。例如:对于阵列式的集成电路而言,称在某一时钟周期(或执行过程中的其他基本时间单位)下,每一个相同的阵列单元处理部件加上其相邻的互连线称之为一个单元(unit)。则在单故障注入攻击的情形下,其攻击实体为一个单元,而在双故障注入攻击情况下,攻击实体变为一个单元对
在未施加抗故障攻击措施前,敏感点的分布由加密算法,具体映射数据流图所唯一确定。以在比特随机故障模型下AES-128算法对差分故障攻击的敏感点分布为例,由于此种攻击方式下需要在AES第十轮(最后一轮)的字节替换操作输入处产生一比特的故障,那么敏感点就对应于加密算法的具体映射数据流图中所有能够产生这种结果的操作,这些操作全部分布在第九轮(第九轮之前产生的一比特故障会被算法中的操作扩散到多个比特中),而具体第九轮中那些操作对应于敏感点,与具体映射数据流图中算法各个步骤的实际实现方式(各个PE执行的功能)有关,可以逐一分析各个操作,并假设一比特故障可以发生于此操作中,通过判定其是否可以在AES第十轮的字节替换操作输入处产生一比特的故障来判定。
需要注意的是,分析敏感点时,一个数据分组中的多个相同的敏感点仅能最终代表一个敏感点。例如AES-128的处理数据的分组为128比特,若每个PE(计算单元)单元为8比特,则对分组128比特数据的异或操作要由16个PE单元同时执行异或操作来完成。若假设此异或操作对应于敏感点,由于比特故障中只需要在这16个PE的任意一个PE中注入故障即可,那么其整体上实际只相当于一个敏感点。空间搜索范围φs由可重构阵列架构中可重构计算阵列的空间维度(PE单元的总数目),以及攻击实体在空间上的大小所决定。攻击实体的空间大小由PE(计算单元)的数据处理粒度(PE所能处理数据的最大数据宽度),以及加密算法的数据宽度决定。例如就AES-128而言,由于算法的数据处理的各个步骤是针对128比特分组数据进行,那么各个步骤在阵列上的映射都对应于16个PE(8比特×16=128比特),那么攻击实体在空间上的大小就对应于16个PE。若阵列维度为16行×32列PE,那么
时间搜索范围φt是根据加密算法所实际执行的时钟周期数(或执行过程中的其他基本时间单位,下文中均以时钟周期代替以简化叙述)及加密算法中敏感点的分布所确定的。由于敏感点一般分布于加密算法的末尾几轮,且攻击者可以通过监测加密算法的执行时间大概确定末尾几轮的执行时刻。那么不应将时间搜索范围φt取为整个加密算法执行所用的总时钟周期数,而是应取为包含所有敏感点分布时刻的末尾几轮的执行时钟周期数。例如,比特故障模型下对AES-128算法进行差分故障攻击时,敏感点仅存在于第九轮(倒数第二轮),那么应取时间搜索范围φt为算法末尾两轮(从第九轮开始到算法执行结束)所占用的时钟周期数目。
步骤五、给定时间随机度γs以及空间随机度γt,并在所述时间随机度γs以及空间随机度γt下,根据上述的具体映射数据流图确定相对应的敏感点分布以及时间搜索范围φt′与空间搜索范围φs′;
本发明实施例中,时间、空间随机化措施:时间随机化抗故障攻击措施指当可重构阵列架构执行到敏感点时,插入随机个冗余计算周期,这样使得密码处理器执行敏感点处操作的具体时间具有随机性,而空间随机化过程指执行敏感点操作的攻击实体并不固定,可以随机选择某个攻击实体执行含有敏感点的操作,这样可使密码处理器执行敏感点处操作的空间位置随机。
下以在故障注入阶段引入时间、空间随机性的抗攻击方式为例,如图1所示,故障注入攻击方法首先需调整注入参数,指向一未判定的攻击实体,之后向该攻击实体进行大量的注入,以确定该攻击实体是否为敏感点,若该攻击实体为敏感点则结束搜索过程,若不是,继续对电路进行搜索。攻击者需要小心的调整注入位置的时间和空间参数并且观察是否出现所希望的错误密文。搜索到敏感点之后,进入持续注入阶段。在这个阶段,攻击者需要利用搜索阶段获得的时间和空间参数对攻击实体进行持续注入来获得可用的错误密文。为了破译出密钥,持续注入工作需要不断地重复,直到获得足够多的错误密文来支持破译工作。
如图2所示,为单故障注入下敏感点搜索过程示意图。图中展示了一个4×4的运算阵列,其中工作单元6表示该单元参与了数据加密,如果空闲单元5则没有参与数据的加密。图中故障注入方式为光学注入或电磁注入等能精确控制注入时间与空间参量的方法,故障注入由故障注入器1沿注入路径2进行。搜索敏感点时,攻击者需要一个接一个的搜索单元(工作单元6和空闲单元5),并注入故障判定该单元是否为敏感点。上述步骤需要一直重复,直到找到敏感点。
如图3所示,为单故障注入下持续注入过程示意图。在图2获得时间与空间注入参数基础之上,需要利用注入技术对找到的敏感点进行持续的故障注入,以获得足够多的错误密文来支持破译工作。
如图4所示,为双故障注入下敏感点搜索过程示意图。如图5所示,为双故障注入下持续注入过程示意图。双故障注入主要针对冗余对策时使用,图4、5中以硬件冗余类对策为例。输出OUT1,OUT2需相同才能绕过检测机制成功注入故障,故在搜索和注入阶段都要以单元对作为攻击实体。
如图6、图7和图8所示,为时间、空间随机性对抗方式示意图,其中,图6为原始加密过程配置,图7为时间随机性对抗方式,图8为空间随机性对抗方式。时间随机性对抗方式就是在加密路径中插入空拍,改变敏感点的时间参量,加大成功注入故障的难度。空间随机性对抗方式,就是让敏感点在不同执行过程中随机分布在不同的单元中,降低故障成功注入的概率
对于给定时间随机度γs以及空间随机度γt,在单故障攻击以及双故障攻击方式下有所不同,对于双故障攻击下,时间随机度包括γs,0以及γs,1,空间随机度γt包括γt,0以及γt,1,但一般地,γs,0=γs,1,γt,0=γt,1。根据之前的具体映射数据流图确定在给定的时间随机度γs以及空间随机度γt下,加密算法的敏感点分布以及空间搜索范围φs′,时间搜索范围φt′的数值。具体实施时,按照经验,可以先确定一个较大的随机度,例如可以先在10-20之间选取时间随机度γs以及空间随机度γt的数值。此外,时间随机度γs以及空间随机度γt是两个独立可调的变量,即设计者可以独立调节二者的大小以满足最终的额外开销比例约束以及抗故障攻击能力。由于空间随机化不会改变阵列总的空间维度,空间搜索范围φs′的值与未采用抗攻击措施前的值相等,即φs′=φs。采用时间随机化措施后,由于插入额外的周期,故φt′变大,且φt′=φt+(γt-1)。
步骤六、根据Rinject=Ai,u确定在给定时间随机度γs以及空间随机度γt下的抗故障攻击能力,若所述抗故障攻击能力与步骤二中给定的抗故障攻击能力匹配,则跳转步骤七,否则调整给定时间随机度γs以及空间随机度γt,直至所述抗故障攻击能力匹配步骤二中给定的抗故障攻击能力;
其中,χ为在施加随机化抗攻击方法前的攻击实体数量,χ′是在施加随机化抗攻击方法后的攻击实体数量,σ为在施加随机化抗攻击方法前敏感点分布的攻击实体的数量,σ′为在施加抗随机化攻击方法后敏感点分布的攻击实体的数量,As,u、Ai,u分别代表在搜索阶段和持续注入阶段单位尝试增益系数;
一般情形下,各个敏感点在算法的不同执行过程中不会出现在同一个攻击实体中。此情形下:
1)、在单故障攻击下,则有
As,u=Ai,u=γs×γt;
χ′=φs′×φt′,σ′=Λ×γs×γt;
χ=φ×φt,σ=Λ。
2)、在双故障攻击下,时间随机度γs包括γs,0以及γs,1,空间随机度γt包括γt,0以及γt,1,则有
As,u=Ai,u=(γs,0×γt,0)×(γs,1×γt,1);
σ′=Λ×(γs,0×γt,0)×(γs,1×γt,1)
σ=Λ。
若当时间、空间随机性联合作用时,不同的敏感点可能在加密算法的不同执行过程中出现在同一个攻击实体中,此时在计算在施加抗随机化抗故障攻击后敏感点分布的攻击实体的数量σ′时,就需要考虑敏感点重叠的情况,即需根据具体映射数据流图得到在施加抗随机化攻击方法后有敏感点分布的攻击实体的数量,而不是简单地采用Λ(Λ为敏感点数目,敏感点数目与实施的抗故障攻击措施无关,与抗故障攻击措施所针对的故障攻击方式有关,所以采不采取抗攻击措施,敏感点数目是不变化的,即使由加密算法、具体映射数据流图以及故障攻击方法所唯一确定。)
与随机度乘积的形式。As,u,Ai,u也不再是随机性的简单乘积,因为每个敏感攻击实体的单位尝试增益系数可能会不同,As,u,Ai,u变为这些值的数学期望。
步骤七、在采用上述时间随机度γs以及空间随机度γt下,得到可重构阵列架构执行加密算法时的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量,并将所得到的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量与步骤三中得到结果进行比较,以确定在所述随机化下抗故障攻击措施的实际额外开销比例;
具体地,在采用随机化抗故障攻击措施后,可重构阵列架构执行加密算法是的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量获取方式可以参照步骤三中的描述,在得到随机化抗故障措施后的吞吐率、实际采用硬件资源占用的晶体管门数以及所消耗的电路中能量后,与步骤三得到未采用随机化抗故障攻击措施前相对应的结果相比较并作差,得到在采用随机化抗故障攻击措施后的实际额外开销比例。
步骤八、若上述确定的随机化抗故障攻击措施的实际额外开销比例与步骤二给定的在实施随机化抗故障攻击措施后的开销比例约束条件不匹配,则重新确定调整给定时间随机度γs以及空间随机度γt,以使得确定的随机化故障攻击措施的实际额外开销比例与给定的开销比例约束条件匹配。
本发明实施例中,随机化抗故障攻击措施后的实际额外开销比例与步骤二中给定的开销比例约束条件不匹配是指随机化抗故障攻击措施后的实际额外开销比例不满足给定的开销比例约束条件,当且仅当采用随机化抗故障攻击措施后的吞吐率额外开销比例、实际占用的硬件资源额外开销比例以及能量额外开销比例均满足给定开销比例约束条件中的相对应值时,才能将此时的时间随机度γs以及空间随机度γt采纳为追踪的随机度参数。
具体地,Rsearch与Rinject的值即为可重构阵列架构在采取随机化抗故障攻击措施后所能达到的抗故障攻击能力。故障注入攻击可分为两个阶段:搜索阶段以及持续注入阶段,Rsearch即为在搜索阶段在采取随机化抗故障攻击措施后能达到的抗故障攻击能力,Rinject为在持续注入阶段在采取随机化抗故障攻击措施后能达到的抗故障攻击能力。
Claims (4)
1.一种面向可重构阵列架构的随机化抗故障攻击措施的设计方法,其特征是,所述随机化抗故障攻击措施的设计方法包括如下步骤:
步骤一、提供需要实施抗故障攻击措施的可重构阵列架构,并确定所述可重构阵列架构的设计参数以及运行于所述可重构阵列架构内的加密算法,且根据所述可重构阵列架构的设计参数得到加密算法在可重构阵列架构上的具体映射数据流图;
步骤二、根据可重构阵列架构的应用需求,给定所述可重构阵列架构在实施随机化抗故障攻击措施后的开销比例约束条件以及抗故障攻击能力,所述开销比例约束条件包括采用抗故障攻击措施后的吞吐率额外开销比例约束条件、实际占用的硬件资源开销比例约束条件以及能量额外开销比例约束条件;
步骤三、在未采用随机化抗故障随机措施下,得到可重构阵列架构执行加密算法时的吞吐率、实际采用硬件资源所占的晶体管门数以及所消耗的电路总能量数值;
步骤四、根据上述的具体映射数据流图以及加密算法,确定在未采用随机化抗故障攻击措施前加密算法中的敏感点分布、时间搜索范围φt以及空间搜索范围φs;
步骤五、给定时间随机度γs以及空间随机度γt,并在所述时间随机度γs以及空间随机度γt下,根据上述的具体映射数据流图确定相对应的敏感点分布以及时间搜索范围φ′t与空间搜索范围φ′s;
步骤六、根据Rinject=Ai,u确定在给定时间随机度γs以及空间随机度γt下的抗故障攻击能力,若所述抗故障攻击能力与步骤二中给定的抗故障攻击能力匹配,则跳转步骤七,否则调整给定时间随机度γs以及空间随机度γt,直至所述抗故障攻击能力匹配步骤二中给定的抗故障攻击能力;
其中,χ为在施加随机化抗攻击方法前的攻击实体数量,χ′是在施加随机化抗攻击方法后的攻击实体数量,σ为在施加随机化抗攻击方法前敏感点分布的攻击实体的数量,σ′为在施加抗随机化攻击方法后敏感点分布的攻击实体的数量,As,u、Ai,u分别代表在搜索阶段和持续注入阶段单位尝试增益系数;
Rsearch即为在搜索阶段在采取随机化抗故障攻击措施后能达到的抗故障攻击能力,Rinject为在持续注入阶段在采取随机化抗故障攻击措施后能达到的抗故障攻击能力;
步骤七、在采用上述时间随机度γs以及空间随机度γt下,得到可重构阵列架构执行加密算法时的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量,并将所得到的吞吐率、实际采用硬件资源所占用的晶体管门数以及所消耗的电路中能量与步骤三中得到结果进行比较,以确定在所述随机化下抗故障攻击措施的实际额外开销比例;
步骤八、若上述确定的随机化抗故障攻击措施的实际额外开销比例与步骤二给定的在实施随机化抗故障攻击措施后的开销比例约束条件不匹配,则重新调整给定时间随机度γs以及空间随机度γt,以使得确定的随机化故障攻击措施的实际额外开销比例与给定的开销比例约束条件匹配。
2.根据权利要求1所述的面向可重构阵列架构的随机化抗故障攻击措施的设计方法,其特征是:所述步骤一中,可重构阵列架构的设计参数包括时钟频率以及可重构阵列架构中各部分硬件资源所占用的电路晶体管门数。
3.根据权利要求1所述的面向可重构阵列架构的随机化抗故障攻击措施的设计方法,其特征是,步骤六中,在单故障攻击下,则有
As,u=Ai,u=γs×γt;
χ′=φ′s×φ′t,σ′=Λ×γs×γt;
χ=φ×φt,σ=Λ;
其中,Λ为敏感点数目。
4.根据权利要求1所述的面向可重构阵列架构的随机化抗故障攻击措施的设计方法,其特征是,步骤六中,在双故障攻击下,时间随机度γs包括γs,0以及γs,1,空间随机度γt包括γt,0以及γt,1,则有
As,u=Ai,u=(γs,0×γt,0)×(γs,1×γt,1);
σ′=Λ×(γs,0×γt,0)×(γs,1×γt,1)
σ=Λ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854494.XA CN104484627B (zh) | 2014-12-31 | 2014-12-31 | 面向可重构阵列架构的随机化抗故障攻击措施的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854494.XA CN104484627B (zh) | 2014-12-31 | 2014-12-31 | 面向可重构阵列架构的随机化抗故障攻击措施的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484627A CN104484627A (zh) | 2015-04-01 |
CN104484627B true CN104484627B (zh) | 2017-04-26 |
Family
ID=52759168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410854494.XA Active CN104484627B (zh) | 2014-12-31 | 2014-12-31 | 面向可重构阵列架构的随机化抗故障攻击措施的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484627B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391542B (zh) * | 2015-10-22 | 2019-01-18 | 天津大学 | 用于集成电路检测电磁故障注入攻击探测方法及探测器 |
CN106326053B (zh) * | 2016-08-25 | 2022-02-01 | 深圳先进技术研究院 | 基于故障注入的芯片安全测试方法及系统 |
CN108566393B (zh) * | 2018-04-13 | 2019-04-12 | 清华大学无锡应用技术研究院 | 数据加密的方法、装置和系统 |
US11797615B2 (en) | 2019-07-02 | 2023-10-24 | International Business Machines Corporation | Random sampling from a search engine |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5561762A (en) * | 1995-06-06 | 1996-10-01 | Union Switch & Signal Inc. | Malicious fault list generation method |
CN104158650A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余检错机制的aes加/解密电路 |
-
2014
- 2014-12-31 CN CN201410854494.XA patent/CN104484627B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5561762A (en) * | 1995-06-06 | 1996-10-01 | Union Switch & Signal Inc. | Malicious fault list generation method |
CN104158650A (zh) * | 2014-07-15 | 2014-11-19 | 南京航空航天大学 | 基于数据冗余检错机制的aes加/解密电路 |
Also Published As
Publication number | Publication date |
---|---|
CN104484627A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10397328B2 (en) | Method and system for providing a robust blockchain with an integrated proof of storage | |
CN104484627B (zh) | 面向可重构阵列架构的随机化抗故障攻击措施的设计方法 | |
De Meyer et al. | M&M: Masks and macs against physical attacks | |
US20180018147A1 (en) | Random number expanding device, random number expanding method, and non-transitory computer readable recording medium storing random number expanding program | |
CN103650407A (zh) | 用于检查n中取m码的方法 | |
US20180167196A1 (en) | Determining cryptographic operation masks for improving resistance to external monitoring attacks | |
CN106712968B (zh) | 密钥获取方法、数字签名方法和装置 | |
US11757617B2 (en) | Performing cryptographic data processing operations in a manner resistant to external monitoring attacks | |
US9563729B2 (en) | Signal transition analysis of a circuit | |
Canto et al. | Error detection schemes assessed on FPGA for multipliers in lattice-based key encapsulation mechanisms in post-quantum cryptography | |
Burchard et al. | Autofault: towards automatic construction of algebraic fault attacks | |
Campos et al. | Trouble at the CSIDH: protecting CSIDH with dummy-operations against fault injection attacks | |
Aamir et al. | ChaCha20-in-Memory for Side-Channel Resistance in IoT Edge-Node Devices | |
CN104992126B (zh) | 一种抗错误注入攻击的安全芯片加固方法及装置 | |
Hong et al. | A cost-effective tag design for memory data authentication in embedded systems | |
CN104700044B (zh) | 寄存器输入输出互换的抗故障注入攻击方法和装置 | |
Zhu et al. | Temperature-Triggered Hardware Trojan Based Algebraic Fault Analysis of SKINNY-64-64 Lightweight Block Cipher. | |
KR101889243B1 (ko) | 다수의 상이하고 독립적인 분기를 사용하여 민감한 계산을 실행하는 방법 | |
Bhatta et al. | Enhancing Hardware Security: An Analysis of SRAM-PUFs | |
CN103049688B (zh) | 身份认证设备及其认证处理方法和处理装置 | |
Polian et al. | Fault-based attacks on cryptographic hardware | |
Wong et al. | Fair watermarking using combinatorial isolation lemmas | |
Zhang | Statistics in side channel analysis-modeling, metric, leakage detection testing | |
MEng | Intrinsic PUFs for Commodity Devices | |
Aljuffri | Securing Power Side Channels by Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |