CN114095395B - 对故障注入产生的错误数据进行分析的方法、装置及介质 - Google Patents

对故障注入产生的错误数据进行分析的方法、装置及介质 Download PDF

Info

Publication number
CN114095395B
CN114095395B CN202111300623.7A CN202111300623A CN114095395B CN 114095395 B CN114095395 B CN 114095395B CN 202111300623 A CN202111300623 A CN 202111300623A CN 114095395 B CN114095395 B CN 114095395B
Authority
CN
China
Prior art keywords
round
error
output data
data
fault injection
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
Application number
CN202111300623.7A
Other languages
English (en)
Other versions
CN114095395A (zh
Inventor
韩绪仓
王慧平
胡莹
贾靖靖
王飞宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Financial Certification Authority Co ltd
Original Assignee
China Financial Certification Authority Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Financial Certification Authority Co ltd filed Critical China Financial Certification Authority Co ltd
Priority to CN202111300623.7A priority Critical patent/CN114095395B/zh
Publication of CN114095395A publication Critical patent/CN114095395A/zh
Application granted granted Critical
Publication of CN114095395B publication Critical patent/CN114095395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种对故障注入产生的错误数据进行分析的方法及计算机产品。所述方法包括:从故障注入攻击产生的数据中提取出错误数据;根据第一运算的第一输入数据,运行第二运算,得到包含每轮运算结果在内的第二输出数据;以第一输出数据为输入运行第二运算得到包含每轮运算结果在内的第三输出数据;将第二输出数据与第三输出数据中相对应轮运算的结果进行异或运算后计算汉明重量,得到各个轮次对应的汉明重量;以最小的汉明重量对应的轮次为出错轮次,输出所述出错轮次。本发明能够找出出错轮次,进而可以客观准确地对系统进行评测,为后续的故障注入攻击的实施提供了便利条件。

Description

对故障注入产生的错误数据进行分析的方法、装置及介质
技术领域
本发明涉及用于密码设备的密码模块评测技术领域,更具体地,本发明涉及一种对故障注入产生的错误数据进行分析的方法、装置及介质。
背景技术
对于密码芯片等密码设备中的密码算法模块的测试,采用故障注入的攻击方式时,其产生的故障会可干扰密码芯片的正常运行,使密码算法输出非预期数据(或者说异常数据、错误数据)。对于特定参数下的故障注入攻击测试,其产生的非预期输出的结果中包含了大量的密钥信息,可以用于破解加密算法。例如,利用RSA-CRT模幂运算中一次出错所产生的错误输出可以破解其密钥;对于DES算法,基于DFA攻击可由其错误输出恢复出其密钥。由于故障注入攻击对密码设备中运行的密码算法产生了严重威胁,因此故障注入已成为密码设备测评的重要内容。
故障注入攻击的实施分为故障产生阶段和结果分析阶段。在故障产生阶段,需要通过某种手段,改变密码设备的运行环境,然后诱发芯片发生故障,发生某种特定类型的错误。常见的引发芯片故障的方式有时钟突变、电压毛刺、激光注入及电磁注入等。在结果分析阶段,对错误输出进行分析获取密钥信息。典型的分析方法包括差分故障分析、safe-error攻击分析、故障灵敏度分析等方法。通过结果分析,可以对密码设备中的密码算法模块进行测评,以评判系统的安全性。
然而,在结果分析阶段,不同的分析方法得出的结论不同,某些方法甚至可能产生错误的结果,因此有必要对现有技术的分析方法进行改进以得到更加可信的评测结果。
发明内容
基于此,有必要针对上述存在的问题,提供一种对故障注入产生的错误数据进行分析的方法;同时,本发明还提供了基于上述方法的计算机设备和计算机可读存储介质。
根据本发明的第一方面,本发明实施例提供了一种用于对故障注入错误数据进行分析的方法,利用故障注入的方式攻击第一运算(f),所述第一运算(f)根据第一输入数据(in)得到第一输出数据(out),第一运算(f)的逆运算为第二运算(g),所述方法包括:从所述攻击产生的数据中提取出错误数据;以所述第一输入数据(in)重新运行第一运算(f),并以其结果(f(in))为输入,运行第二运算(g),得到包含每轮运算结果在内的第二输出数据(
Figure SMS_1
);以第一输出数据(out)为输入,运行第二运算(g),得到包含每轮运算结果在内的第三输出数据(g(out));将第二输出数据(/>
Figure SMS_2
)与第三输出数据(g(out))中相对应轮运算的结果(/>
Figure SMS_3
)进行异或运算后计算汉明重量,得到各个轮次对应的汉明重量;以最小的汉明重量对应的轮次为出错轮次,输出所述出错轮次。
在一个实施例中,还对所述出错轮次的异或运算结果进行检测,以查找值为1的比特;进而检测出错轮运算结果(
Figure SMS_4
或/>
Figure SMS_5
)的相应比特的值;响应于所述相应比特的值全为0或全为1,并且所述相应比特的数量在M以上,则输出出错类型为数据置位错误,所述M为预设值;否则输出错误类型为局部性错误。
在一个实施例中,增加轮次,重新运行第一运算(f),得到包含每轮运算结果在内的第四输出数据;将所述第一输出数据(out)与所述第四输出数据的各轮运算结果分别进行比较;响应于所述第一输出数据(out)与第四输出数据中一轮运算结果相等,输出该轮运算对应的轮次,并且记录错误类型为轮运算次数错误。
在一个实施例中,响应于所述第一输出数据(out)与第四输出数据中任一轮运算结果均不相等,则记录错误类型不属于轮运算次数错误。
在一个实施例中,所述增加轮次包括:增加为所述第一运算(f)原有运算轮次的2-5倍。
在一个实施例中,所述第一运算(f)为加密运算,第二运算(g)为解密运算,或者:所述第一运算(f)为解密运算,第二运算(g)为加密运算。
在一个实施例中,所述第一运算为对称加密算法。
根据本发明的第二方面,本发明实施例还提供了一种用于对故障注入错误数据进行分析的装置,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序以实现如上述任一项方法实施例所述的步骤。
根据本发明的第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上述任一方法实施例所述的步骤。
本发明的技术效果包括:一方面,对于结果分析的意义在于:可用于对异常输出的错误数据进行分析,还原故障发生过程,深入了解故障运行方式,客观准确地对系统进行评测;另一方面,对于故障产生的意义在于:由于本发明可以区分出错误类型,因此测试人员可以相应地筛选出与这些错误类型对应的故障注入参数,从而为后续的故障注入攻击的实施提供便利条件;例如在后续测试过程中,若希望产生某一类错误,则选择该类错误的对应故障注入参数即可,从而对攻击模块的选取和实施提供支持,进而提升了攻击效率,显著降低了攻击难度。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1示出了根据本发明一个实施例的对故障注入错误数据进行分析的方法的流程示意图;
图2示出了图1中步骤S1的详细流程图;
图3示出了根据本发明另一个实施例的对故障注入错误数据进行分析的方法的流程示意图;
图4示出了根据本发明又一个实施例的对故障注入错误数据进行分析的方法的流程示意图;
图5示出了一个基于计算机程序的实验例;
图6示出了实施本发明实施例的一种计算机设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细地说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
对于加密解密算法,通过对不同故障注入错误的深入研究发现,并非所有的错误输出都可以用于恢复密钥,只有特定的错误才能够用于恢复密钥。例如:对于经典的针对DES的差分故障分析,需要在第14、15轮运算时注入故障,并且故障只会影响R部分运算结果,并不会干扰L部分运算。根据统计分析结果发现,为了确定整个DES密钥,平均需要40个错误数据。
错误的类型与故障注入参数(注入时机、故障注入的强度和持续时间等)有关。若故障注入参数设置不当,那么产生的错误数据就无法用于密钥恢复;从结果分析的角度来看,这使得算法“看起来”足够安全。但实际上,故障注入参数设置不当的攻击实际上是失败的,从而高估了算法实现的安全性。因此实施故障注入攻击,首先需要确定出合适的故障注入参数,以保证生成的异常输出可用于后续的故障分析;其次需要对异常输出进行识别,以筛选出适合用于结果分析的数据。
基于此,本发明的基本构思在于,基于对称算法中的轮运算结构特性,以及加密和解密的相互关系,对各轮运算的结果进行比较,从而确定错误位置,甚至是错误类型,既有利于深入了解故障运行方式,客观准确地对系统进行评测,也有利于后续的故障注入攻击的实施。
方法实施例
图1示出了根据本发明一个实施例的对故障注入错误数据进行分析的方法的流程示意图。如图1所示的分析方法包括如下步骤:
步骤S1,对故障注入攻击所产生的数据进行预处理,提取出错误数据。
进行故障注入攻击时,算法产生的输出数据既包括未受到攻击干扰的正确数据,也包括受到攻击影响而产生的错误数据,因此本发明的方法首先需要将这些错误数据提取出来,作为后续步骤之用。
步骤S2-步骤S6的作用是在提取出错误数据后,定位出错轮位置,即定位出错轮次。由于对称加密算法包括多轮运算,前一轮运算的输出作为后一轮运算的输入。例如DES算法包括16轮运算,若第12轮运算出错,则出错轮次为12;若第13轮运算出错,则出错轮次为13。
举例来说,当前分析的算法称为正运算
Figure SMS_6
(加密或解密运算),与之相应的逆运算称为逆运算/>
Figure SMS_7
。受到故障注入攻击的正运算/>
Figure SMS_8
,其输入数据表示为in,即第一输入数据in,输出表示为out,即第一输出数据out。显然,在受到故障注入攻击的情况下,/>
Figure SMS_9
例如,f(in)的各轮运算的结果包括:R0,R1,R2,R3,R4,R5,R6,R7,R8。前一轮运算的输出作为后一轮运算的输入。即第一轮运算,输入R0,输出R1;第二轮运算,输入R1,输出R2,第三轮运算,输入R2,输出R3……第八轮运算,输入R7,输出R8。假设在第二轮运算注入故障,则out的各轮运算的结果包括:R0,R1,R2’,R3’,R4’,R5’,R6’,R7’,R8’。由此可见,第一轮运算结果相同,第二轮到第八轮运算结果不同,即注入故障影响了第二轮到第八轮的结果。
具体地,在步骤S2中,根据第一输入数据in首先重新进行正运算f,得到未受到故障注入攻击的
Figure SMS_10
。/>
Figure SMS_11
各轮运算的结果为/>
Figure SMS_12
n表示运算轮数。第/>
Figure SMS_13
轮正运算为:/>
Figure SMS_14
然后根据
Figure SMS_15
进行逆运算,得到第二输出数据/>
Figure SMS_16
,其各轮运算的结果分别为/>
Figure SMS_17
。第j轮逆运算为:/>
Figure SMS_18
;在本实施例中,对应正运算f,其轮次用i表示,由于逆运算的轮次顺序是与正运算相反的,因此逆运算的轮次用j表示,j=n-i
在步骤S3中,根据第一输出数据out,进行逆运算g,得到第三输出数据
Figure SMS_19
,其各轮运算的结果分别为/>
Figure SMS_20
在步骤S4中,将第二输出数据g(f(in))与第三输出数据g(out)中相对应轮运算的结果进行异或运算,表示为
Figure SMS_21
,并且计算其汉明重量,表示为/>
Figure SMS_22
异或运算的结果是,如果两个值不相同,则异或结果为1;如果两个值相同,异或结果为0,对于二进制数据,对应位进行异或。汉明重量是一串符号中非零符号的个数。
在步骤S5中,以最小的汉明重量对应的轮次为出错轮次。
例如,f(in)的各轮运算的结果包括:R0,R1,R2,R3,R4,R5,R6,R7,R8。第二轮运算注入故障,前一轮运算的输出作为后一轮运算的输入,则out的各轮运算的结果包括:R0, R1,R2’,R3’,R4’,R5’,R6’,R7’,R8’。由于对f(in)进行逆运算是从R8开始,对out进行逆运算是从R8’开始。根据对称算法轮运算所具有的混淆和扩散性,被故障干扰后的轮输出将会影响其后续轮的输出,因此out将与正确运算结果f(in)有明显的不同。因此,第三输出数据g(out)的对应轮运算的结果与正确轮运算结果并不相同。只有在故障注入实施的第二轮,即逆运算的六轮(共八轮,八减二得六)得到的异或运算结果
Figure SMS_23
只有少部分比特翻转,其它轮运算结果近似于两个随机数异或。因此,第六轮运算结果异或后的汉明重量远小于两个随机数异或后的汉明重量。
用公式表示为:
Figure SMS_24
。计算/>
Figure SMS_25
hw表示求汉明重量,id表示求序号。根据上面的例子,其中n=8,将第二输出数据/>
Figure SMS_26
与第三输出数据g(out)中相对应轮运算的结果(/>
Figure SMS_27
)进行异或运算后计算汉明重量,得到/>
Figure SMS_28
。其中/>
Figure SMS_29
的汉明重量最小,从而得到j=6,那么从正运算的角度来看,i=n-j=8-6=2,即故障注入的轮次为i=2(表示第二轮),即出错轮次为i=2
上述技术方案的原理是,对于局部性故障,注入的故障只会作用到部分区域,并且也只会使得轮运算中的部分比特出错,而不会使得整个输出变为随机数,因此在故障注入实施的第
Figure SMS_30
轮,其对应轮逆运算输出只有少部分比特翻转,导致/>
Figure SMS_31
远小于其他轮逆运算异或后的汉明重量。
最后,在步骤S6中,输出出错轮次。例如根据上面的例子,输出i=2
进一步地,图2展示了图1中步骤S1的详细流程,包括步骤S201,步骤S202和步骤S203。
在步骤S201中,获取故障注入攻击产生的输出数据。产生的输出数据既包括未受干扰的正确数据,也包括受到攻击影响而产生的错误数据。
在步骤S202中,获取外部输入密钥
Figure SMS_32
在步骤S203中,根据输入密钥
Figure SMS_33
验证明文。可以表示为:验证等式/>
Figure SMS_34
是否成立,其中/>
Figure SMS_35
为明文,/>
Figure SMS_36
为密文。根据分析的运算是加密运算或解密运算,将步骤S201的输出数据带入到等式中进行验证。例如分析的运算是加密运算,则步骤S201的输出数据带入c,若分析的运算是解密运算,则步骤S201的输出数据带入m
若等式成立则该输出数据为正确结果,无法用于攻击,丢弃该数据;若等式不成立,则提取该输出数据为错误输出,用于步骤S2,即步骤S2中的第一输出数据out。需要注意的是,若分析的运算是加密运算,结合步骤S2,第一输入数据in为明文数据,第一输出数据out为密文数据;若分析的运算是解密运算,第一输入数据in为密文数据,out为明文数据。
在其他实施例中,也可以选择其他类型的方式来筛选和提取错误数据,对此本发明不做限制。
以上详细说明了本发明实施例的分析方法,从结果分析的角度来看,本发明的方法可用于对异常输出的错误数据进行分析,从而找出对称运算中的出错轮次,从而为深入了解故障运行方式提供了条件,使得测试人员可以更加客观准确地对系统进行评测。从故障产生的角度来看,由于可以通过错误数据找出出错轮次,因此测试人员可以反向确定哪些故障注入参数能够产生对应的出错轮次,例如测试人员可以通过测试掌握以下信息:故障注入参数A对应出错轮次a,故障注入参数B对应出错轮次b……从而为后续的故障注入攻击的实施提供便利条件。
下面进一步介绍本发明的其他实施例。图3展示了根据本发明另一种实施例的分析方法。其中包括步骤S301-S306。
其中在步骤S301中提取分析所需要的错误数据,在步骤S302中定位出错轮次。步骤S301与图1实施例的步骤S1相同,步骤S302与图1实施例的步骤S2-S5相同,故而不再重复叙述。与图1实施例的区别在于,还包括步骤S303-步骤S306。其中步骤S303-步骤S305用于进一步判断错误类型。
在步骤S303中,对所述出错轮次的异或运算结果
Figure SMS_37
进行检测,以查找值为1的比特。
在步骤S304中,检测出错轮运算结果
Figure SMS_38
或/>
Figure SMS_39
的相应比特的值。例如/>
Figure SMS_40
的某些比特为1,那么进一步查看/>
Figure SMS_41
或/>
Figure SMS_42
的相应的比特。
在步骤S305中,若
Figure SMS_43
或/>
Figure SMS_44
相应比特的值全为0或全为1,并且这些比特的数量在M以上,则输出出错类型为数据置位错误;M为预设值。若没有发现/>
Figure SMS_45
或/>
Figure SMS_46
出现连续翻转超过M个比特的情况,则判断出错类型为局部性错误。
举例来说,对于IR=0101010101010101和IR’=0000000000000001,异或运算后为0101010101010100,对于第2/4/6/8/10/12/14位的1,是由于IR’ 的第2/4/6/8/10/12/14位翻转使
Figure SMS_47
前14位全为0。对应IR’ 2/4/6/8/10/12/14比特的值全为0(IR对应比特的值全为1),假设预设值M设定为7或7以下,则可以判断出错类型为数据置位错误。其中,M的大小可以根据不同的项目由操作人员设定。
最后,在步骤S306中,输出出错轮次以及出错类型。例如可以输出“出错轮次:i=5;出错类型:局部性错误”,又如可以输出“出错轮次:i=5;出错类型:数据置位错误”。
在本实施例中,不仅能够定位出错轮次,还能够输出对应的出错类型,进一步为测试人员提供了有价值的参考信息。
图4展示了根据本发明实施例的又一种分析方法。该方法用于另一种错误类型:轮运算次数错误。轮运算次数错误是指轮运算次数被干扰,导致对称算法的运算次数小于或大于规定次数。例如DES算法具有16轮运算,而受到干扰后的运算次数可能小于16轮或者大于16轮。
采用图1和图3实施例的方法,轮运算次数错误难以被发现,因此在一个实施例中,图4所展示的方法步骤可以在经过图1或图2实施例的方法后再实施,具体的步骤如下。
步骤S401,增加轮次,重新进行第一运算f,得到包括每轮运算结果在内的第四输出数据。例如,对于第一输入数据in运行正运算f,得到
Figure SMS_48
中对应的每一轮运算的结果为/>
Figure SMS_49
。正运算的规定轮次为n,那么将轮次n翻倍为2n,依次计算出
Figure SMS_50
,记为第四输出数据。
步骤S402,将第一输出数据out与所述第四输出数据的各轮运算结果分别进行比较。即将第一输出数据out
Figure SMS_51
依次进行比较,以判断是否出现相同的情况。
步骤S403,响应于第一输出数据out与第四输出数据中某一轮运算结果相等,例如第一输出数据out=Ri,则说明第一输出输出out实际上是第i轮运算的结果,若i大于n或者小于n,均说明out并不是规定的运算轮次n。上述方法的原理是:out必然为第四输出数据
Figure SMS_52
中的某一个。例如对于DES算法,轮运算次数为16,i=16,若受到干扰后导致轮运算次数为15,那么out=R15i=15),若受到干扰后导致轮运算次数为30,那么out=R30i=30)。
以上例子中将轮运算次数扩大为原有算法的两倍(2n),在其他应用场景中,可以自由地增加轮运算的次数,以保证输出的数据能够覆盖错误情况。例如扩大为原算法的三倍、四倍乃至五倍,甚至更大的倍数;结合算法效率,优选为2-5倍。
另外,若第一输出数据out与第四输出数据中任一轮运算结果均不相等,则表示错误类型不属于轮运算次数错误。
最后,在步骤S404中,输出错误类型为“轮运算次数错误”或者“非轮运算次数错误”,并且还可以输出实际的运算轮次,例如i=15i=30
计算机设备实施例
在一个实施例中,本发明提供了一种计算机设备,其内部结构可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力,可以选择CPU、单片机、DSP或者FPGA等各种品种。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。当计算机程序被执行时,可以完成上述方法实施例中所描述的步骤,例如S1-步骤S6。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种多传感数据融合方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
计算机可读存储介质实施例
在一个实施例中,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中所描述的步骤,例如图1的步骤S1-S6,图2的步骤S201-步骤S203,图3的步骤S302-步骤S306,图4的步骤S401-S404。
在一种应用场景中,上述计算机程序的运行结果如图5所示,其中展示了模拟攻击的计算机工具和得到的输出数据,其中汉明重1为第0轮运运算结果的异或汉明重量;汉明重2为第1轮运行结果的异或汉明重量;汉明重3为第2轮运行结果的异或汉明重量;汉明重4为第3轮运行结果的异或汉明重量;汉明重5为第4轮运行结果的异或汉明重量;汉明重6为第5轮运行结果的异或汉明重量;汉明重7为第6轮运行结果的异或汉明重量……由于汉明重6=5是最小值(汉明重1=69,汉明重2=53,汉明重3=58,汉明重4=71……),因此表明在第5轮发生了故障注入攻击。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种用于对故障注入产生的错误数据进行分析的方法,利用故障注入的方式攻击第一运算,所述第一运算根据第一输入数据得到第一输出数据,第一运算的逆运算为第二运算,所述第一运算和所述第二运算为对称算法,其特征在于,所述方法包括:
从利用故障注入的方式对所述第一运算进行攻击所产生的数据中提取出错误数据;其中,所述故障注入的实施轮次为一轮;
在未受到故障注入攻击的情况下,以所述第一输入数据重新运行第一运算,并以其结果为输入,运行第二运算,得到包含每轮运算结果在内的第二输出数据;
以第一输出数据为输入,运行第二运算,得到包含每轮运算结果在内的第三输出数据;
将第二输出数据与第三输出数据中相对应轮运算的结果进行异或运算后计算汉明重量,得到各个轮次对应的汉明重量;
以最小的汉明重量对应的轮次为出错轮次,输出所述出错轮次。
2.根据权利要求1所述的方法,其特征在于,
还对所述出错轮次的异或运算结果进行检测,以查找值为1的比特;
进而检测出错轮运算结果中的相应比特的值;其中,所述相应比特为所述出错轮运算结果中与所述异或运算结果中比特值为1的比特位位置相同的比特;所述出错轮运算结果为所述第二输出数据中的第j轮逆运算结果或者所述第三输出数据中的第j轮逆运算结果;
响应于所述相应比特的值全为0或全为1,并且所述相应比特的数量在M以上,则输出出错类型为数据置位错误,所述M为预设值;
否则输出出错类型为局部性错误。
3.根据权利要求1或2所述的方法,其特征在于,
增加轮次,在未受到故障注入攻击的情况下重新运行第一运算,得到包含每轮运算结果在内的第四输出数据;
将所述第一输出数据与所述第四输出数据的各轮运算结果分别进行比较;
响应于所述第一输出数据与第四输出数据中一轮运算结果相等,输出该轮运算对应的轮次,并且输出出错类型为轮运算次数错误。
4.根据权利要求3所述的方法,其特征在于,
响应于所述第一输出数据与第四输出数据中任一轮运算结果均不相等,则输出出错类型不属于轮运算次数错误。
5.根据权利要求3所述的方法,其特征在于,
所述增加轮次包括:增加为所述第一运算原有运算轮次的2-5倍。
6.根据权利要求1所述的方法,其特征在于,
所述第一运算为加密运算,第二运算为解密运算,或者:
所述第一运算为解密运算,第二运算为加密运算。
7.根据权利要求6所述的方法,其特征在于,所述第一运算为对称加密算法。
8.一种用于对故障注入产生的错误数据进行分析的装置,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至7任一项方法所述的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1至7中任一项方法所述的步骤。
CN202111300623.7A 2021-11-04 2021-11-04 对故障注入产生的错误数据进行分析的方法、装置及介质 Active CN114095395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111300623.7A CN114095395B (zh) 2021-11-04 2021-11-04 对故障注入产生的错误数据进行分析的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111300623.7A CN114095395B (zh) 2021-11-04 2021-11-04 对故障注入产生的错误数据进行分析的方法、装置及介质

Publications (2)

Publication Number Publication Date
CN114095395A CN114095395A (zh) 2022-02-25
CN114095395B true CN114095395B (zh) 2023-06-16

Family

ID=80298884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111300623.7A Active CN114095395B (zh) 2021-11-04 2021-11-04 对故障注入产生的错误数据进行分析的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN114095395B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5198526B2 (ja) * 2010-09-21 2013-05-15 株式会社東芝 暗号化装置および復号装置
CN105610568A (zh) * 2014-11-21 2016-05-25 南方电网科学研究院有限责任公司 一种分组密码算法的故障检测方法和装置
CN110401627B (zh) * 2019-01-31 2020-07-10 中国科学院软件研究所 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和系统
CN110601818B (zh) * 2019-09-25 2022-12-06 东华大学 一种检测sms4密码算法抵御统计故障攻击的方法
CN111414618B (zh) * 2020-03-16 2022-09-02 福州大学 基于海明距离的微流控生物芯片现场级硬件木马检测方法

Also Published As

Publication number Publication date
CN114095395A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN108028757B (zh) 用于物理不可克隆功能的嵌入式测试电路
Tavallaee et al. Toward credible evaluation of anomaly-based intrusion-detection methods
US8370787B2 (en) Testing security of mapping functions
Chothia et al. A statistical test for information leaks using continuous mutual information
CN109417466B (zh) 机密密钥估算方法与装置
Shen et al. A comparative investigation of approximate attacks on logic encryptions
CN111835518A (zh) 椭圆曲线公钥密码算法安全性测评中的错误注入方法及系统
Tunstall Smart card security
Javaheripi et al. Hashtag: Hash signatures for online detection of fault-injection attacks on deep neural networks
CN108959980B (zh) 安全芯片的公钥防护方法及公钥防护系统
Feiten et al. # SAT-based vulnerability analysis of security components—A case study
CN110912672A (zh) 一种检测colm认证加密算法抵御差分故障攻击的方法
CN110299988A (zh) 轻量级分组密码算法抗攻击能力的检测方法及检测装置
CN114095395B (zh) 对故障注入产生的错误数据进行分析的方法、装置及介质
Kasarabada et al. Deep state encryption for sequential logic circuits
CN106203100A (zh) 一种完整性校验方法和装置
CN112532374A (zh) 一种检测silc认证加密算法抵御差分故障攻击的方法
Sharma et al. A state-of-the-art reverse engineering approach for combating hardware security vulnerabilities at the system and pcb level in iot devices
Basu et al. Testing cache side-channel leakage
Hogenboom et al. Principal component analysis and side-channel attacks-master thesis
Moratelli et al. A cryptography core tolerant to DFA fault attacks
Joffe et al. Directing a search towards execution properties with a learned fitness function
CN112511291A (zh) 一种检测ocb认证加密算法抵御差分故障攻击的方法
Yan et al. SPIDER: Speeding up Side-Channel Vulnerability Detection via Test Suite Reduction
Köylü et al. Exploiting PUF Variation to Detect Fault Injection Attacks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant