CN111914276A - 芯片信息泄露分析方法和装置 - Google Patents

芯片信息泄露分析方法和装置 Download PDF

Info

Publication number
CN111914276A
CN111914276A CN202010783021.0A CN202010783021A CN111914276A CN 111914276 A CN111914276 A CN 111914276A CN 202010783021 A CN202010783021 A CN 202010783021A CN 111914276 A CN111914276 A CN 111914276A
Authority
CN
China
Prior art keywords
energy trace
analysis result
analysis
groups
energy
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.)
Pending
Application number
CN202010783021.0A
Other languages
English (en)
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.)
Communication University of China
Original Assignee
Communication University of China
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 Communication University of China filed Critical Communication University of China
Priority to CN202010783021.0A priority Critical patent/CN111914276A/zh
Publication of CN111914276A publication Critical patent/CN111914276A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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 cryptographic circuits

Abstract

本发明提供芯片信息泄露分析方法和装置。该方法包括:获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵;其中,每一次加密过程均对随机明文进行加密;能量迹矩阵中的每一行向量为在一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值;m、n为正整数;对能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果;第一分析结果用于表征存在信息泄露;第二分析结果用于表征不存在信息泄露;当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。

Description

芯片信息泄露分析方法和装置
技术领域
本发明涉及信息安全领域,特别涉及芯片信息泄露分析方法和装置。
背景技术
随着技术的发展,加密芯片得到了广泛的应用,各种对加密芯片的旁路攻击也随之而来。
旁路攻击(Side Channel Attacks,SCA),密码学中是指绕过对加密算法的繁琐分析,利用密码算法的硬件实现的运算中泄露的信息,如执行时间、功耗、电磁辐射等,结合统计理论快速的破解密码系统。为了保证芯片的安全性,通常芯片会在出厂前对其安全性进行分析。
在密码学中,S盒(Substitution-box)是对称密钥算法执行置换计算的基本结构。例如,AES(Advanced Encryption Standard,高级加密标准)为最常见的对称加密算法,AES加密可以简单看作10轮循环,每轮循环执行“异或”、“S盒变换”、“行移位”、“列混合”四种计算,每个操作的输入值是前一个操作的输出值。
加密中的S盒变换(可参考AES加密算法),就是一个查表操作,做非线性计算,通过一个设计好的S盒,把S盒输入值映射到S盒输出值。S盒变换的目的是避免加密中直接做数字计算。
目前,业界需求是评估加密芯片在S盒变换时是否存在明显的信息泄露,如果信息泄露十分严重,则表明攻击者可以利用侧信道攻击的方式分析出芯片中的密钥。
发明内容
有鉴于此,本发明实施例提供芯片信息泄露分析方法和装置,以评估加密芯片是否存在信息泄露。
为实现上述目的,本发明实施例提供如下技术方案:
一种芯片信息泄露分析方法,
获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵;其中,每一次加密过程均对随机明文进行加密;所述能量迹矩阵中的每一行向量为在一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值;m、n为正整数;
对所述能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果;所述第一分析结果用于表征存在信息泄露;所述第二分析结果用于表征不存在信息泄露;
当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
可选的,所述任一列向量为t向量;所述对所述能量迹矩阵中的每一列向量进行泄露分析包括:将所述t向量中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组;N为正整数;对所述N组能量迹组进行方差分析,得到所述第一分析结果或第二分析结果。
可选的,所述对所述N组能量迹组进行方差分析包括:将输入值的高位和低位作为双因素,对所述N组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响;当判定至少一因素的取值对能量迹组的数值存在影响时,得到所述第一分析结果;当判定两因素的取值对能量迹组的数值均无影响时,得到所述第二分析结果。
可选的,在得到所述第一分析结果后,还包括:对所述N组能量迹组进行多重比较分析,得到均值不同的能量迹组。
可选的,所述高位为第一因素;所述低位为第二因素;所述双因素方差分析对应的第一零假设包括:所述N组能量迹组的均值全部相等;在进行双因素方差分析后,得到的分析数据包括:第一因素对能量迹组的数值存在影响的第一概率;第二因素对能量迹组的数值存在影响的第二概率;第一因素结合第二因素对能量迹组的数值存在影响的第三概率;其中,若第一概率、第二概率和第三概率均大于第一预设门限值,接受所述零假设,得到所述第一分析结果;否则,拒绝所述第一零假设,得到所述第二分析结果。
可选的,所述多重比较分析对应的第二零假设包括:任意两组能量迹组的均值相等;在进行多重比较分析后,得到的分析数据包括:均值不相等的两组能量迹组所对应的第四概率;所述第四概率用于表征均值相等的概率;表征拒绝所述第二零假设的信息。
一种芯片信息泄露分析装置,包括:
获取单元,用于;获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵;其中,每一次加密过程均对随机明文进行加密;所述能量迹矩阵中的每一行向量为在一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值;m、n为正整数;
分析单元,用于:
对所述能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果;所述第一分析结果用于表征存在信息泄露;所述第二分析结果用于表征不存在信息泄露;
当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
可选的,所述任一列向量为t向量;在所述对所述能量迹矩阵中的每一列向量进行泄露分析的方面,所述分析单元具体用于:将所述t向量中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组;N为正整数;
对所述N组能量迹组进行方差分析,得到所述第一分析结果或第二分析结果。
可选的,在所述对所述N组能量迹组进行方差分析的方面,所述分析单元具体用于:将输入值的高位和低位作为双因素,对所述N组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响;当判定任一因素的取值对能量迹组的数值存在影响时,得到所述第一分析结果;当判定两因素的取值对能量迹组的数值无影响时,得到所述第二分析结果。
可选的,在得到所述第一分析结果后,所述分析单元还用于:对所述N组能量迹组进行多重比较分析,得到均值不同的能量迹组。
可见,在本发明实施例中,在获取到能量迹矩阵后,对矩阵中的每一列向量进行泄露分析,得到该列的分析结果,并根据列向量的分析结果,得到芯片是否信息泄露的最终分析结果,从而实现了评估加密芯片是否存在信息泄露的目的。
附图说明
图1为本发明实施例提供的芯片信息泄露方法的一种示例性流程;
图2为本发明实施例提供的能量迹采集示意图;
图3为本发明实施例提供的芯片信息泄露分析方法的另一种示例性流程;
图4为本发明实施例提供的芯片信息泄露分析方法的又一种示例性流程;
图5为本发明实施例提供的芯片信息泄露分析装置的示例性结构。
具体实施方式
本发明实施例提供芯片信息泄露分析方法和装置,以评估加密芯片是否存在信息泄露。
芯片信息泄露分析装置具体可为芯片评估服务器(或服务器集群),用于进行芯片评估的计算机(或计算机集群)。
图1示出了由上述芯片信息泄露分析装置执行的芯片信息泄露方法的一种示例性流程,包括:
S1:获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵。
其中,每一次加密过程均对随机明文进行加密。也即,n次加密过程,可对n个不同的随机明文加密。n为整数,一般可取10万以上。
另外,加密过程中使用的密钥,视具体的加密算法可为随机密钥也可为固定密钥,在此不作限定。
在每一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值,将n次加密过程得到n条能量迹视为n行行向量,则可构成n行m列的能量迹矩阵,记为Tracen,m
能量迹是芯片加密时电磁辐射的数字化表示,是一维向量,比如,一条能量迹可以是(1,3,4,-1,-3,-5,0,2,6....),向量中的数字则表示芯片辐射出的电磁强度。请参见图2,可使用采集设备(示波器和电磁探头)采集芯片加密时芯片表面的电磁辐射。
对于芯片的一次完整加密,上述采集设备采集的能量迹是整个加密过程中芯片的电磁辐射。以AES加密算法为例,其每轮循环执行“异或”、“S盒变换”、“行移位”、“列混合”四种计算。
因此,在本发明其他实施例中,在得到整个加密过程的能量迹后,可由采集设备或者芯片信息泄露分析装置或者独立的其他设备,从整条能量迹中,提取出S盒变换阶段对应的能量迹(可视为预处理操作),进而得到n行m列的能量迹矩阵。
其中一种实现方式如下:
可在加密芯片执行的加密代码中添加触发信号的代码,以加密时,加密芯片所在的单片机(单片机除了加密芯片还有其他电子元件)的GPIO(General-purpose input/output)管脚输出高电平或低电平来标记S盒变换阶段。比如:可设计加密开始阶段,GPIO管脚输出高电平,当进入S盒变换时,触发输出低电平,在S盒变换结束后继续输出高电平。这样,电平信号在S盒变换时是一个类似于“凹”的波形,提取两高电平之间的能量迹可得到S盒变换阶段的能量迹。
需要说明的是,前述提及,ASE有10轮循环,每轮循环涉及四个操作,则每一轮循环电平信号都有一个“凹”的波形。
每一轮的S盒变换都是独立的,可对n次加密过程中每轮的S盒变换进行单独分析。
S2:对能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果。
若要判断在S盒变换阶段的第t个采样周期是否存在信息泄露,可从能量迹矩阵中选择第t列列向量(简称为t向量)进行泄露分析。t可大于等于0,小于等于n-1,或者大于等于1,小于等于n。
在一个示例,可将t向量中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组(N为正整数)。然后对N组能量迹组进行方差分析,得到第一分析结果或第二分析结果。
一般S盒的输入值对应十进制的0-255,即256种非线性变换,所以,可将t向量中的所有能量迹数值根据S盒的这256种变换分为256组,也即,N=256。
上述第一分析结果用于表征存在信息泄露;第二分析结果用于表征不存在信息泄露。
第一分析结果和第二分析结果的表现形式有多种,例如,可为文字信息,也可以不同的数值或字符等表示,在此不作赘述。
S3:当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
举例来讲,如果第1列列向量对应第一分析结果,可得到表征芯片存在信息泄露的最终分析结果。
S4:当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
可见,在本发明实施例中,在获取到能量迹矩阵后,对矩阵中的每一列向量进行泄露分析,得到该列的分析结果,并根据列向量的分析结果,得到芯片是否信息泄露的最终分析结果,从而实现了评估加密芯片是否存在信息泄露的目的。
需要说明的是,现有技术中,使用测试向量泄露评估(Test Vector LeakageAnalysis(TVLA))进行芯片评估。该方案需要评估人员事先根据加密算法为加密芯片设计密钥记为Key,并设计两条明文A和B,假设A的二进制表示为10101010,B的二进制表示为01010101。
用密钥Key对明文A加密10万次,采集芯片对明文A加密时的能量迹,得到10万条能量迹,记为能量迹A组。
用密钥Key对明文B加密10万次,采集芯片对明文B加密时的能量迹,得到10万条能量迹,记为能量迹B组。
对两组能量迹,用Welch's t-test判断两组能量迹的均值是否存在显著性差异,并进而判断加密芯片的安全性。
假定在加密中的某一个时刻,能量迹A组的取值全都在10左右(均值为10),而能量迹B组的取值在-50左右(均值为-50)。这表明由于明文的不同,能量迹取值差异巨大,这样芯片就不安全,攻击者可以根据这一特征从能量迹推断出芯片的密钥。
然而,发明人发现,尽管TVLA使用的明文经过精心设计,还存在如下问题:
一,在加密过程中还可能会有没覆盖到的中间值,造成判断不准确。
一般S盘变换时,其输入值换算为十进制有256个取值(0-255),其输入值和输出值的对应关系示例性如下所示:
S盒输入0,输出99(十六进制0x63);
S盒输入1,输出124(十六进制0x7c);
S盒输入2,输出119(十六进制0x77);
S盒输入3,输出123(十六进制0x7b);
......
S盒输入255,输出22(十六进制0x16)。
TVLA只使用两个明文,那么在S盒变换时,可能只测试到S盒输入0和1两种,其余254种并没有测试到。那么,假设S盒输入13和S盒输入33有信息泄露,则因为没有覆盖到的中间值,而发生误判。
二,Welch's t-test检验只能检验两个总体的均值是否存在显著性差异。
Welch's t-test检验每次只能检测两个总体,而要检测S盒变换的256组能量迹(256个总体)的话,256个总体之间两两比较就需要很多次检验。并且,多次检验会使假设检验中犯第一类错误的概率增加。第一类错误又称Ⅰ型错误、拒真错误,是指拒绝了实际上成立的、正确的假设。
此外,上述由于S盒的输入值有256个,能量迹矩阵的每一列列向量可据此分为256组,不能再用t检验来两两比较总体的均值。
基于上述原因,在本发明其他实施例中,上述方差分析具体可使用双因素方差分析乃至多因素方差分析进行分析。
下面简单介绍双因素方差分析的原理:
S盒的输入值长度为8比特(一个字节是8比特),可以将其分为高4位(高位)和低4位(低位),以二进制数“11001111”为例,其高4位是“1100”,低4位则是“1111”。
可将S盒输入值的高4位和低4位作为双因素方差分析中的两个因素,对256组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响。
假设某一采样时刻,S盒输入值的二进制为“00000000”时,对应的能量迹组中的能量迹数值(观测值)包括:11,11,12(这里以3个取值为例,实际上取值会更多)。
而在同一采样时刻,S盒输入值的二进制为“00001111”时,对应的能量迹组中的能量迹数值包括:20,21,19,而S盒输入值的二进制为“11111111”时,对应的能量迹组中的能量迹数值包括25,26,25。
这些数据如表1所示:
Figure BDA0002620918600000091
表1
可以看出,由于S盒输入值的不同,表1中能量迹数值也随之改变。而在理想条件下,加密芯片无论加密任何数据,能量迹数值都应该相同或者接近,这样可保证无法从能量迹中判断出加密的中间值(中间值可以是S盒的输入值或者输出值,二者可视为等价的,S盒的输入值再和明文做异或能得到一个字节的轮密钥,也可以简单地把中间值等价为密钥)。反之,如果能量迹取值像表1中的数据表现那样,S盒输入值的不同直接造成了能量迹的差异,攻击者就可以利用这一特征从能量迹分析出中间值,进而分析出密钥。
在实际场景中,能量迹之间的差异当然没有表1中这么明显。为了更加客观的判断,就需要用到统计学的双因素方差分析判断256个总体的均值是否存在显著差异。
图3示出了由上述芯片信息泄露分析装置所执行的芯片信息泄露分析方法(双因素方差分析)的另一种示例性流程,包括:
S1:获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵。
具体细节请参见图1所对应实施例中的相关介绍,在此不作赘述。
S21:将t向量(能量迹矩阵中的任一列向量)中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组。
分组的具体细节请参见前述步骤S2的记载,在此不作赘述。
S22:将输入值的高位和低位作为双因素,对上述N组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响。
可将高位称为第一因素,将低位称为第二因素。
方差分析都对应一个零假设。
在本实施例中,双因素方差分析对应的零假设(可称为第一零假设)包括:N组能量迹组的均值全部相等。用公式表示则为:u1=u2=..=u256,u1至u256表示相应组的均值。
SPSS、R语言都有计算双因素方差分析的函数,本申请中不再给出计算过程。在计算时,可以根据对芯片安全要求,设定方差分析中F分布的置信度。
S23:当判定至少一因素的取值对能量迹组的数值存在影响时,可得到第一分析结果。
S24:当判定两因素的取值对能量迹组的数值均无影响时,可得到第二分析结果。
具体的,在进行双因素方差分析后,得到的分析数据包括:
第一因素对能量迹组的数值存在影响的第一概率;
第二因素对能量迹组的数值存在影响的第二概率;
第一因素结合第二因素对能量迹组的数值存在影响的第三概率;
其中,若第一概率、第二概率和第三概率均大于第一预设门限值,接受零假设,得到第一分析结果;
否则,拒绝第一零假设,得到上述第二分析结果。
第一预设门限值的取值可灵活设计,例如可以是:0.05、0.01等等。
S3:当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
举例来讲,如果第1列列向量对应第一分析结果,可得到表征芯片存在信息泄露的最终分析结果。
S4:当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
可见,在本发明实施例中,使用双因素方差分析检验S盒的输入值是否对能量迹取值有影响,进而得到分析结果。使用方差分析,可以检验任意多个总体均值是否相同,不需要控制明文数量,可以使用随机明文乃至随机密钥,对加密过程中的中间值覆盖更全面;此外,在本实施例中,把S盒输入值分为高4位和低4位,可以更准确地判断出是高位数值还是低位数值使能量迹存在差异,从而造成了芯片的信息泄露。
至于多因素方差分析,可将8位输入值分为多段,例如,1-2位一段,3-4位一段,5-6位一段,7-8位一段,每一段为一个因素,这样就可以进行多因素方差分析。多因素方差分析原理与双因素方差分析类似,在此不作赘述。若判断出任一因素的取值,或者因素间的组合对能量迹组的数值存在影响时,可得到第一分析结果,反之得到上述第二分析结果。
在本发明其他实施例中,请参见图4,在得到上述第一分析结果后,还可进一步进行分析,其步骤如下:
S5:对上述N组能量迹组进行多重比较分析,得到均值不同的能量迹组。
有多种多重比较分析方法,例如Tukey法、最小显著差异方法(LSD)等,可对这256个总体均值之间的配对比较,进一步检验哪些S盒输入值的能量迹均值之间存在差异。目前已有计算多重比较分析的函数,本申请中不再给出计算过程。
与方差分析相类似,多重比较分析也对应零假设,在本实施例中,多重比较分析对应的第二零假设包括:任意两组能量迹组的均值相等;
在进行多重比较分析后,得到的分析数据包括:
均值不相等的两组能量迹组(组号),均值不相等的两组能量迹组所对应的第四概率(表征均值相等的概率);以及,表征拒绝第二零假设的信息(该信息可为数值、字符、文字等任意形式,只要可以表达对第二零假设的拒绝即可)。
上述分析数据可令分析结果更加清晰。
本发明实施例还要求保护一种芯片信息泄露分析装置,如图5所示,其示例性的包括:
获取单元1,用于;获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵;
其中,每一次加密过程均对随机明文进行加密;能量迹矩阵中的每一行向量为在一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值;m、n为正整数;
分析单元2,用于:
对能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果;第一分析结果用于表征存在信息泄露;第二分析结果用于表征不存在信息泄露;
当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
获取单元1也可用于执行前述步骤S1中的预处理操作。
相关描述请参见本文前述记载,在此不作赘述。
上述矩阵中的任一列向量可表示为t向量。
在本发明其他实施例中,在对能量迹矩阵中的每一列向量进行泄露分析的方面,上述分析单元2具体可用于:
将t向量中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组;N为正整数;
对N组能量迹组进行方差分析,得到第一分析结果或第二分析结果。
相关描述请参见本文前述记载,在此不作赘述。
上述方差分析具体可为双因素方差分析,或多因素方差分析。
以双因素方差分析为例,在本发明其他实施例中,在对N组能量迹组进行方差分析的方面,上述分析单元2具体可用于:
将输入值的高位和低位作为双因素,对N组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响;
当判定任一因素的取值对能量迹组的数值存在影响时,得到第一分析结果;
当判定两因素的取值对能量迹组的数值无影响时,得到第二分析结果。
在一个示例中,上述高位为第一因素;上述低位为第二因素;
上述双因素方差分析对应的第一零假设包括:上述N组能量迹组的均值全部相等;
在进行双因素方差分析后,得到的分析数据包括:
第一因素对能量迹组的数值存在影响的第一概率;
第二因素对能量迹组的数值存在影响的第二概率;
第一因素结合第二因素对能量迹组的数值存在影响的第三概率;
其中,若第一概率、第二概率和第三概率均大于第一预设门限值,接受上述零假设,得到上述第一分析结果;
否则,拒绝上述第一零假设,得到上述第二分析结果。
相关描述请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,在得到第一分析结果后,上述分析单元1还可用于:
对N组能量迹组进行多重比较分析,得到均值不同的能量迹组。
其中,多重比较分析对应的第二零假设包括:任意两组能量迹组的均值相等;
在进行多重比较分析后,得到的分析数据包括:
均值不相等的两组能量迹组所对应的第四概率(第四概率用于表征均值相等的概率),以及,表征拒绝第二零假设的信息。
相关描述请参见本文前述记载,在此不作赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种芯片信息泄露分析方法,其特征在于,包括:
获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵;其中,每一次加密过程均对随机明文进行加密;所述能量迹矩阵中的每一行向量为在一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值;m、n为正整数;
对所述能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果;所述第一分析结果用于表征存在信息泄露;所述第二分析结果用于表征不存在信息泄露;
当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
2.如权利要求1所述的方法,其特征在于,
所述任一列向量为t向量;
所述对所述能量迹矩阵中的每一列向量进行泄露分析包括:
将所述t向量中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组;N为正整数;
对所述N组能量迹组进行方差分析,得到所述第一分析结果或第二分析结果。
3.如权利要求2所述的方法,其特征在于,所述对所述N组能量迹组进行方差分析包括:
将输入值的高位和低位作为双因素,对所述N组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响;
当判定至少一因素的取值对能量迹组的数值存在影响时,得到所述第一分析结果;
当判定两因素的取值对能量迹组的数值均无影响时,得到所述第二分析结果。
4.如权利要求3所述的方法,其特征在于,在得到所述第一分析结果后,还包括:
对所述N组能量迹组进行多重比较分析,得到均值不同的能量迹组。
5.如权利要求3所述的方法,其特征在于,
所述高位为第一因素;所述低位为第二因素;
所述双因素方差分析对应的第一零假设包括:所述N组能量迹组的均值全部相等;
在进行双因素方差分析后,得到的分析数据包括:
第一因素对能量迹组的数值存在影响的第一概率;
第二因素对能量迹组的数值存在影响的第二概率;
第一因素结合第二因素对能量迹组的数值存在影响的第三概率;
其中,若第一概率、第二概率和第三概率均大于第一预设门限值,接受所述零假设,得到所述第一分析结果;
否则,拒绝所述第一零假设,得到所述第二分析结果。
6.如权利要求4所述的方法,其特征在于,
所述多重比较分析对应的第二零假设包括:任意两组能量迹组的均值相等;
在进行多重比较分析后,得到的分析数据包括:
均值不相等的两组能量迹组所对应的第四概率;所述第四概率用于表征均值相等的概率;
表征拒绝所述第二零假设的信息。
7.一种芯片信息泄露分析装置,其特征在于,包括:
获取单元,用于;获取在使用加密芯片进行的n次加密过程中S盒变换阶段对应的能量迹,得到n行m列的能量迹矩阵;其中,每一次加密过程均对随机明文进行加密;所述能量迹矩阵中的每一行向量为在一次加密过程中获取到的一条能量迹,每一条能量迹包括m个能量迹数值;m、n为正整数;
分析单元,用于:
对所述能量迹矩阵中的每一列向量进行泄露分析,得到第一分析结果或第二分析结果;所述第一分析结果用于表征存在信息泄露;所述第二分析结果用于表征不存在信息泄露;
当至少一列列向量对应第一分析结果时,得到表征芯片存在信息泄露的最终分析结果;
当所有列向量均对应第二分析结果时,得到表征芯片不存在信息泄露的最终分析结果。
8.如权利要求7所述的装置,其特征在于,
所述任一列向量为t向量;
在所述对所述能量迹矩阵中的每一列向量进行泄露分析的方面,所述分析单元具体用于:
将所述t向量中的n个能量迹数值,根据S盒的输入值的不同进行分组,得到N组能量迹组;N为正整数;
对所述N组能量迹组进行方差分析,得到所述第一分析结果或第二分析结果。
9.如权利要求8所述的装置,其特征在于,在所述对所述N组能量迹组进行方差分析的方面,所述分析单元具体用于:
将输入值的高位和低位作为双因素,对所述N组能量迹组进行双因素方差分析,以判断两因素的取值对能量迹组的数值是否有影响;
当判定至少一因素的取值对能量迹组的数值存在影响时,得到所述第一分析结果;
当判定两因素的取值对能量迹组的数值无影响时,得到所述第二分析结果。
10.如权利要求9所述的装置,其特征在于,在得到所述第一分析结果后,所述分析单元还用于:
对所述N组能量迹组进行多重比较分析,得到均值不同的能量迹组。
CN202010783021.0A 2020-08-06 2020-08-06 芯片信息泄露分析方法和装置 Pending CN111914276A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010783021.0A CN111914276A (zh) 2020-08-06 2020-08-06 芯片信息泄露分析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010783021.0A CN111914276A (zh) 2020-08-06 2020-08-06 芯片信息泄露分析方法和装置

Publications (1)

Publication Number Publication Date
CN111914276A true CN111914276A (zh) 2020-11-10

Family

ID=73287243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010783021.0A Pending CN111914276A (zh) 2020-08-06 2020-08-06 芯片信息泄露分析方法和装置

Country Status (1)

Country Link
CN (1) CN111914276A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270204A (zh) * 2022-09-28 2022-11-01 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103199983A (zh) * 2013-01-31 2013-07-10 国家密码管理局商用密码检测中心 侧信道能量分析中的n阶局域能量模型及其应用
US20180365195A1 (en) * 2015-12-11 2018-12-20 Institut Mines-Telecom Methods and devices for estimating secret values
CN110363033A (zh) * 2018-04-09 2019-10-22 国民技术股份有限公司 一种芯片安全性评估方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103199983A (zh) * 2013-01-31 2013-07-10 国家密码管理局商用密码检测中心 侧信道能量分析中的n阶局域能量模型及其应用
US20180365195A1 (en) * 2015-12-11 2018-12-20 Institut Mines-Telecom Methods and devices for estimating secret values
CN110363033A (zh) * 2018-04-09 2019-10-22 国民技术股份有限公司 一种芯片安全性评估方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270204A (zh) * 2022-09-28 2022-11-01 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备
CN115270204B (zh) * 2022-09-28 2023-03-07 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备

Similar Documents

Publication Publication Date Title
CN106778304B (zh) 一种具有明文相关置乱机制的快速混沌图像加密方法
Yildirim Optical color image encryption scheme with a novel DNA encoding algorithm based on a chaotic circuit
Belaïd et al. Side-Channel Analysis of Multiplications in GF (2128) Application to AES-GCM
CN108463968A (zh) 可变长度数据的快速格式保留加密
Shi et al. Improved linear (hull) cryptanalysis of round-reduced versions of SIMON
Elmanfaloty et al. An image encryption scheme using a 1D chaotic double section skew tent map
Maghrebi et al. Comparison between side-channel analysis distinguishers
Awdun et al. Retracted: The Color Image Encryption Technology Based on DNA Encoding & Sine Chaos
CN109831294B (zh) Spn型分组密码抗故障攻击能力评估方法及装置
CN111914276A (zh) 芯片信息泄露分析方法和装置
CN110912672A (zh) 一种检测colm认证加密算法抵御差分故障攻击的方法
CN113158179B (zh) 自动发现泄露模型的有学习的侧信道攻击方法及加密设备
Wang et al. New methods of template attack based on fault sensitivity analysis
Alwan et al. FCNN Model for Diagnosis and Analysis of Symmetric Key Cryptosystem
Toktas et al. Cross-channel color image encryption through 2D hyperchaotic hybrid map of optimization test functions
CN105678083A (zh) 一种具有单比特频数检测和块内频数检测的快速检测方法
CN107016292B (zh) 防止通过功率分析进行窃听的电子电路及防止窃听的方法
Ariffin et al. Randomness analysis on 3D-AES block cipher
Richter et al. A Comparison of-Test and Mutual Information as Distinguisher for Side-Channel Analysis
Marzougui et al. On the feasibility of single-trace attacks on the Gaussian sampler using a CDT
CN113438067B (zh) 一种压缩密钥猜测空间的侧信道攻击方法
Jassim et al. Designing a New Lightweight AES Algorithm to Improve the Security of the IoT Environment
Fu et al. A color image encryption algorithm using a new 1-D chaotic map
Maro et al. Power Analysis of Kuznyechik cipher on Arduino Nano board
Zaheri et al. SMT‐based cube attack on round‐reduced Simeck32/64

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