CN112260818B - 侧信道曲线的增强方法、侧信道攻击方法及装置 - Google Patents
侧信道曲线的增强方法、侧信道攻击方法及装置 Download PDFInfo
- Publication number
- CN112260818B CN112260818B CN202011116618.6A CN202011116618A CN112260818B CN 112260818 B CN112260818 B CN 112260818B CN 202011116618 A CN202011116618 A CN 202011116618A CN 112260818 B CN112260818 B CN 112260818B
- Authority
- CN
- China
- Prior art keywords
- side channel
- channel curve
- curve
- preset
- condition
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了侧信道曲线的增强方法、侧信道攻击方法及装置,其中,增强方法包括:获取原始侧信道曲线、原始侧信道曲线对应的预设约束条件和预设噪声信号;预设约束条件是依据原始侧信道曲线的密码运算中间值生成得到;将预设噪声信号和预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将原始侧信道曲线作为条件生成式对抗网络中判别器的原始数据的取值;将预设约束条件作为判别器的约束条件;依据判别器输出结果为真的情况下生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。本申请通过条件生成式对抗网络实现侧信道曲线的增强。
Description
技术领域
本申请涉及信息安全领域,尤其涉及侧信道曲线的增强方法、侧信道攻击方法及装置。
背景技术
侧信道攻击(Side Channel Attack, SCA)是利用密码算法物理实现过程中泄漏信息,恢复敏感信息的攻击方法。实施侧信道攻击通常包括三个步骤:第一步是从目标加密设备中收集与设备相关的侧信道信息,如功耗曲线或电磁辐射曲线等;第二步是对收集到的曲线进行预处理,如降噪、曲线对齐、降维和特征选择等,以便从收集的信息中提取有意义的信息;第三步是使用预处理后的曲线进行建模、分析和挖掘,以恢复正确的密钥信息。
SCA主要分为两类:非模板类攻击和模板类攻击。其中,模板类攻击是使用一个完全可控的建模设备,通过对模板设备的泄漏信息进行建模,然后使用构建的模板对目标设备进行密钥恢复,主要包括经典的模板攻击(TA)。近年来,随机机器学习和深度学习技术的发展,使用机器学习或深度学习进行攻击得到了广泛应用,该类方法减少了数据预处理阶段的要求,尤其是对未对齐、含噪声或使用防护策略的侧信道曲线具有较好的攻击效果。因此,模板类攻击中的建模可以为采用深度学习方式训练得到的神经网络模型。
但是,在特定的攻击场景下,由于资源、时间等约束条件,在模板类攻击中,无法采集到足够数量的侧信道曲线,导致最终建立的用于侧信道攻击的模型性能低下。因此,需要一种侧信道曲线的增强方案。
发明内容
本申请提供了侧信道曲线的增强方法、侧信道攻击方法及装置,目的在于实现侧信道曲线的增强。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种侧信道曲线的增强方法,包括:
获取原始侧信道曲线、所述原始侧信道曲线对应的预设约束条件和预设噪声信号;所述预设约束条件是依据所述原始侧信道曲线的密码运算中间值生成得到;
将所述预设噪声信号和所述预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将所述原始侧信道曲线作为所述条件生成式对抗网络中判别器的原始数据的取值;将所述预设约束条件作为所述判别器的约束条件;
依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
可选的,所述依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线,包括:
从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线。
可选的,在所述从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线之后,还包括:
将所述增强侧信道曲线与所述原始侧信道曲线组成侧信道曲线集合;
对所述侧信道曲线集合中的侧信道曲线的顺序进行随机化,得到增强后的侧信道曲线集合。
可选的,所述预设的条件生成式对抗网络为事先对预设的初始条件生成式对抗网络训练得到;
对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络的方式,包括:
通过以选择明文进行加解密操作的采集方式,采集侧信道曲线;
将所述侧信道曲线中的至少部分侧信道曲线作为训练集;
采用所述训练集对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络。
可选的,依据所述原始侧信道曲线的密码运算中间值生成所述预设约束条件的方式,包括:
获取所述原始侧信道曲线对应的明文字节和密钥字节;
依据所述明文字节和所述密钥字节,生成汉明距离或汉明重量;
将所述汉明距离或所述汉明重量,作为所述预设约束条件的取值。
本申请还提供了一种侧信道攻击方法,包括:
获取待处理侧信道曲线;所述待处理侧信道曲线包括原始侧信道曲线和增强侧信道曲线;所述增强侧信道曲线为上述任一项生成的增强侧信道曲线;
将所述待处理侧信道曲线,输入预设的神经网络模型,得到恢复后的密钥。
本申请还提供了一种侧信道曲线的增强装置,包括:
第一获取模块,用于获取原始侧信道曲线、所述原始侧信道曲线对应的预设约束条件和预设噪声信号;所述预设约束条件是依据所述原始侧信道曲线的密码运算中间值生成得到;
第一输入模块,用于将所述预设噪声信号和所述预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将所述原始侧信道曲线作为所述条件生成式对抗网络中判别器的原始数据的取值;将所述预设约束条件作为所述判别器的约束条件;
确定模块,用于依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
可选的,所述确定模块,用于依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线,包括:
所述确定模块,具体用于从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线。
可选的,该装置还包括:
执行模块,用于在所述确定模块从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线之后,将所述增强侧信道曲线与所述原始侧信道曲线组成侧信道曲线集合;对所述侧信道曲线集合中的侧信道曲线的顺序进行随机化,得到增强后的侧信道曲线集合。
本申请还提供了一种侧信道攻击装置,包括:
第二获取模块,用于获取待处理侧信道曲线;所述待处理侧信道曲线包括原始侧信道曲线和增强侧信道曲线;所述增强侧信道曲线为上述任一项生成的增强侧信道曲线;
第二输入模块,用于将所述待处理侧信道曲线,输入预设的神经网络模型,得到恢复后的密钥。
本申请所述的侧信道曲线的增强方法、侧信道攻击方法及装置,获取原始侧信道曲线、原始侧信道曲线对应的预设约束条件和预设噪声信号;其中,预设约束条件是依据原始侧信道曲线的密码运算中间值生成得到;
将预设噪声信号和预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将所述原始侧信道曲线作为条件生成式对抗网络中判别器的原始数据的取值;将预设约束条件作为判别器的约束条件;从而,使得条件生成式对抗网络生成模拟侧信道曲线,依据判别器输出结果为真的情况下生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
从而,本申请基于条件生成式对抗网络,生成了新的侧信道曲线(增强侧信道曲线),实现了对侧信道曲线的增强。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种条件生成式对抗网络的结构示意图;
图2为本申请实施例公开的一种条件生成式对抗网络的训练过程的示意图;
图3为本申请实施例公开的一种侧信道曲线的增强方法的流程图;
图4为本申请实施例公开的计算汉明距离或汉明重量的过程示意图;
图5为本申请实施例公开的一种侧信道攻击方法的流程图;
图6为本申请实施例公开的一种多层感知神经网络模型的结构示意图;
图7(a)为本申请实施例公开的多层感知器神经网络模型的训练精度曲线示意图;
图7(b)为本申请实施例公开的多层感知器神经网络模型的损失曲线示意图;
图8(a)为本申请实施例公开的20条原始侧信道曲线示意图;
图8(b)为本申请实施例公开的20条模拟侧信道曲线示意图;
图9为本申请实施例公开的原始侧信道曲线与模拟侧信道曲线示意图;
图10为本申请实施例公开的原始侧信道曲线与模拟侧信道曲线t检验结果对比示意图;
图11为本申请实施例公开的原始侧信道曲线与模拟侧信道曲线各子密钥最大相关系数对比示意图;
图12为本申请实施例公开的原始侧信道曲线与模拟侧信道曲线正确密钥(0x28)相关系数曲线示意图;
图13为本申请实施例公开的一种侧信道曲线的增强装置的结构示意图;
图14为本申请实施例公开的一种侧信道攻击装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种条件生成式对抗网络的结构示意图。从图1可以看出,条件生成式对抗网络包含生成器G和判别器D两部分。其中,生成器的输入为噪声和原始侧信道曲线对应的约束条件,在本实施例中,约束条件依据原始侧信道曲线的密码运算中间值生成得到。生成器的输出为模拟侧信道曲线。并且,模拟侧信道曲线、原始侧信道曲线和对应的约束条件作为判别器的输入,判别器输出用于表示输入的模拟侧信道曲线与输入的约束条件是否对应的结果,即输出表示生成器生成的模拟侧信道曲线真假的结果。
其中,条件生成式对抗网络目标函数的表达式可以表示为公式(1):
式中,D表示判别器模型,G表示生成器模型,E表示期望,x表示原始侧信道曲线,z表示噪声,y表示原始侧信道曲线对应的约束条件,G(z, y)表示生成器模型G在输入噪声为z的情况下生成的模拟侧信道曲线,D(x, y)表示输入为原始侧信道曲线x和约束条件y时的真伪,D(G(z, y), y)表示输入为模拟侧信道曲线G(z, y)和约束条件y时的真伪。
为了使得条件生成式对抗网络具有较优的效果,即依据条件生成式对抗网络,可以得到较优的模拟侧信道曲线。本实施例的生成器G具有以下特点:
(1)输入的噪声可以为高斯噪声,其中,高斯噪声符合(0,1)分布,噪声尺寸可以为1×100。输入的约束条件y为密码运算中间值的汉明重量或汉明距离,共有9种可能取值。(2)生成器G共有4个全连接层,各全连接层输入数据尺寸分别为1×128,1×256,1×512,1×1024,输出层数据尺寸为1×N,其中N为单条侧信道曲线的采样点个数。(3)生成器G使用LeakyReLU激活函数,各全连接层后均使用批量归一化层(BatchNormalization)。
其中,判别器D具有以下特点:
(1)输入为模拟侧信道曲线、原始侧信道曲线和约束条件y,其中,模拟侧信道曲线和原始侧信道曲线的尺寸都可以为1×N,其中,N为单条侧信道曲线的采样点个数。约束条件可以为密码运算中间值的汉明重量或汉明距离,共9种取值可能。(2)判别器D包含4个全连接层,各层均使用LeakyReLU激活函数,全连接层输入数据尺寸可以均为1×512,各全连接层后均可以使用Dropout层,以防止判别器D发生过拟合。(3)输出层数据尺寸可以为1×1,使用Sigmoid激活函数,输出取值为0或1。其中,0代表生成器G输出的模拟侧信道曲线未通过判别,1代表生成器G输出的模拟侧信道曲线通过判别。
在本申请实施例中,需要对条件生成式对抗网络进行训练,具体的训练过程如图2所示,可以包括以下步骤:
S201、通过以选择明文进行加解密操作的采集方式,采集侧信道曲线。
在本实施例中,采集侧信道曲线的过程是对目标数据和目标密钥在芯片加密运算过程中,采集侧信道曲线。其中,目标数据是对明文采用目标密钥加密得到的结果。其中,明文指密钥运算中间值中的明文。目标密钥指密钥运算中间值中的密钥。
在实际中,如果使用随机明文和固定密钥的采集方式,使用汉明重量或汉明距离为约束条件,约束条件y的取值满足二项分布。使得在有限数量的侧信道曲线中,各类标签(侧信道曲线对应的约束条件)分布不均,导致约束条件分布不平衡。为了克服该问题,在本实施例中,使用选择明文的方式进行采集,使密码运算中间值对应的约束条件y的取值范围满足均匀分布。
S202、将采集得到的侧信道曲线中的至少部分侧信道曲线作为训练集。
在本实施例中,可以将采集到的侧信道曲线按照1:1划分为训练集和测试集,当然,在实际中,还可以采用其他比例方式确定训练集,本实施例不对确定训练集的划分比例作限定。
S203、采用训练集对初始条件生成式对抗网络进行训练,得到训练后的条件生成式对抗网络。
在本实施例中,初始条件生成式对抗网络为图1对应的实施例中,介绍的条件生成式对抗网络。
在本步骤中,使用训练集对初始条件生成式对抗网络进行训练,其中,对学习率、批量大小、迭代次数等参数进行选取,确保生成的模拟侧信道曲线达到最优。
可选的,在本实施例中,生成器G和判别器D在训练过程中,可以均使用Adam优化器进行训练,学习率可以设置为0.00001,该优化器是对随机目标函数执行一阶梯度优化的算法,只需要一阶的梯度,并且只需要很小的内存。在生成器G和判别器D的训练过程中,需要根据生成的侧信道曲线的性能,不断调整条件生成式对抗网络的参数,当条件生成式对抗网络收敛时停止训练,最终选择最优参数构建生成器G和判别器D。
具体的,可以使用高斯噪声和约束条件作为生成器的输入,通过训练,直到损失函数值满足损失收敛条件,生成器的输出为模拟侧信道曲线。使用采集到的侧信道曲线和训练后的生成器生成的模拟侧信道曲线作为输入数据进行训练,在训练过程中将约束条件也作为输入数据,直到损失函数值满足损失收敛条件。
在实际场景中,需要根据原始侧信道曲线的信噪比情况,对条件生成式对抗网络输入的噪声尺寸进行调整。
在本步骤中,通过对初始条件生成式对抗网络进行训练,可以得到训练后的条件生成式对抗网络。
图3为本申请实施例提供的一种侧信道曲线的增强方法,可以包括以下步骤:
S301、获取原始侧信道曲线、原始侧信道曲线对应的预设约束条件和预设噪声信号。
在本实施例中,原始侧信道曲线为事先采集得到的侧信道曲线,其中,原始侧信道曲线的数量不足,因此,在本实施例中,基于原始侧信道曲线生成新的侧信道曲线,从而实现对侧信道曲线的增强。
在本实施例中,每个原始侧信道曲线分别对应一个预设约束条件。在本实施例中,对于每个原始侧信道曲线,生成对应的约束条件的方式相同,为了描述方便,以任意一个原始侧信道曲线为例,介绍生成该原始侧信道曲线对应的约束条件的过程。
具体的,在本实施例中,依据该原始侧信道曲线的密码运算中间值生成对应的约束条件。其中,可以依据该原始侧信道曲线的密码运算中间值生成汉明重量或汉明距离,并将生成的汉明距离或汉明重量作为约束条件。在实际中,还可以将该原始侧信道曲线的密码运算中间值中的某个中间值,作为对应的约束条件,当然,在实际中,还可以采用其他的生成方式,依据该原始侧信道曲线的密码运算中间值生成对应的约束条件,本实施例不对具体的生成方式作限定。
以计算任一原始侧信道曲线的约束条件为例,假设该原始侧信道曲线的约束条件内容为密码运算中间值的汉明距离或汉明重量,则计算该原始侧信道曲线的约束条件的过程可以包括:获取原始侧信道曲线对应的明文字节和密钥字节;依据明文字节和密钥字节,生成汉明距离或汉明重量;将汉明距离或汉明重量,作为预设约束条件的取值。其中生成汉明距离或汉明重量的过程可以包括:对明文字节和密钥字节进行或操作,并对或操作的结果进行字节替换,得到汉明距离或汉明重量。可选的,可以以字节(8比特)为单位长度对密码运算的中间值计算汉明重量或汉明距离,该种情况下,计算得到的约束条件y的取值范围为{0, 1, 2,…,8},共9种可能性,即约束条件y的取值具有9种可能性。
以AES分组密码算法为例,计算汉明距离或汉明重量的过程如图4所示,其中,明文字节P和密钥字节K的长度为8比特,因此,取值范围为0至255,共28=256种可能性,经字节替换操作后对应字节的汉明重量或汉明距离取值范围为{0, 1, 2,…,8},因此,将该取值范围中的一个值作为该原始侧信道曲线的约束条件y。
在本实施例中,预设噪声信号可以为高斯噪声信号,当然,在实际中,预设噪声信号还可以为其他噪声信号,本实施例不对预设噪声信号的具体形式作限定。
S302、将预设噪声信号和预设约束条件作为预设的条件生成式对抗网络中生成器的输入,将原始侧信道曲线作为条件生成式对抗网络中判别器的原始数据的取值,将预设约束条件作为判别器的约束条件。
在本实施例中,条件式生成对抗网络的结构如图1所示。
在本步骤中,条件生成式对抗网络可以为对初始条件生成式对抗网络进行训练得到,其中,初始条件生成式对抗网络的结构与本步骤中的预设条件生成式对抗网络的结构相同。其中,具体的训练过程在图2对应的实施例中进行介绍,这里不再赘述。
需要说明的是,在本步骤中的预设的条件生成式对抗网络还可以为未训练的条件生成式对抗网络,即初始条件生成式对抗网络,本实施例不对预设的条件生成式对抗网络的具体形式作限定。
S303、依据判别器输出结果为真的情况下生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
在实际中,如果条件生成式对抗网络中生成器生成的模拟侧信道曲线与约束条件是对应的,则判别器的输出为真,否则,判别器的输出为否。因此,在本步骤中,依据判别器输出结果为真的情况下生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
可选的,具体的确定方式可以包括: 从判别器输出结果为真的情况下生成器输出的模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,为了描述方便,将筛选得到的侧信道曲线称为增强侧信道曲线。其中,筛选的具体实现方式可以包括:使用t检验或相关系数,将不符合预设条件的模拟侧信道曲线删除,得到增强侧信道曲线。当然,在实际中,还可以采用其他的筛选方式,本实施例不对具体的筛选方式作限定。
S304、将增强侧信道曲线与原始侧信道曲线组成侧信道曲线集合。
在本实施例中,增强侧信道曲线与原始侧信道曲线构成的集合,可以作为模板类攻击的侧信道曲线。
S305、对侧信道曲线集合中的侧信道曲线的顺序进行随机化,得到增强后的侧信道曲线集合。
在本步骤中,对侧信道曲线集合中的侧信道曲线的顺序进行随机化,其中,随机化的具体实现方式为现有技术,这里不再赘述。为例描述方便,将随机化得到的侧信道曲线集合,称为增强后的侧信道曲线集合。
需要说明的是,在本实施例中,上述S304~S305是可选步骤,即在实际中,可以不执行。
在本申请实施例中,可以使用增强后的侧信道曲线集合进行侧信道攻击,实现密钥恢复,其中,在攻击过程中,可以使用模板类的攻击方法,如基于机器学习或深度学习模型的攻击方法进行密钥恢复,或使用非模板类的攻击方法,如DPA、CPA或MIA等基于统计学的攻击方法。以采用深度学习模型进行侧信道攻击为例,给出了图5所示的侧信道攻击方法,可以包括以下步骤:
S501、获取待处理侧信道曲线。
在本实施例中,待处理侧信道曲线包括原始侧信道曲线和增强侧信道曲线,其中,增强侧信道曲线为图3对应的实施例生成的增强侧信道曲线。
S502、将待处理侧信道曲线,输入预设的神经网络模型,得到恢复后的密钥。
在本实施例中,神经网络模型可以为训练后的多层感知器(MLP)神经网络模型。其中,多层感知器神经网络模型的结构如图6所示。
在本实施例中,为了使得采用多层感知神经网络模型实现的侧信道攻击达到较好的效果,多层感知神经网络模型可以具有如下特点:
(1)模型包含输入层、输出层和4个隐藏层,输入层节点数为N,输出层节点数为9,对应条件生成式对抗网络中约束条件y的9种取值。(2)使用Softmax激活函数进行概率输出。(3)隐藏层节点数为200,根据输入数据的复杂程度,可以对隐藏层节点数进行相应的增加或减少,使用Tanh激活函数;(4)模型训练过程中,学习率设置范围为0.00001到0.0001,根据实际输入数据进行调整。
在本实施例中,可以构建4类数据用于建模和分析,4类数据的组成如表1所示,训练集和测试集比例为3:1。
表1 4类实验数据构建对比
在本实施例中,使用多层感知器神经网络对表1中的4类数据进行训练和测试,共进行500次迭代,多层感知器神经网络模型的训练精度曲线如图7(a)所示,损失曲线如图7(b)所示。其中,图7(a)和图7(b)的横坐标表示神经网络模型的训练迭代次数。从图7(a)和图7(b)中可以看出,使用类型4数据进行训练时,训练精度上升最快、训练损失下降最快,使用类型1数据进行训练时,训练精度上升最慢、训练损失下降最慢。
使用训练完成的模型后,对测试集数据进行测试,4类实验数据测试精度对比如表2所示,其中类型4测试精度最高,类型1测试精度最低。
表2 4类实验数据测试精度对比
为验证本申请提出的侧信道曲线数据增强方法的有效性,通过实验进行结果验证。使用原始侧信道曲线对条件生成式对抗网络进行训练,其中,训练过程中batch_size可以设置为128,经过60000次迭代后条件生成式对抗网络训练完毕。训练完毕后使用条件生成式对抗网络输出指定数量的侧信道曲线,将输出的曲线称为模拟侧信道曲线。其中,20条原始侧信道曲线如图8(a)所示,生成的20条模拟侧信道曲线如图8(b)所示。可以看出基本轮廓相似。进一步对曲线进行叠加后对比,如图9所示,可以看出模拟侧信道曲线和原始侧信道曲线形状完全一致,因此,可以使用模拟侧信道曲线进行进一步实验。
为了验证本申请实施例生成的模拟侧信道曲线的质量,在本实施例中,分别对原始侧信道曲线和模拟侧信道曲线进行T检验,检验结果如图10所示,在第48个采样点T值达到最大,模拟侧信道曲线的最大T值为114.45,原始侧信道曲线的最大T值为62.70。T值曲线走势基本一致,进一步使用相关能量分析(CPA)方法进行分析。
在本申请实施例中,还分别对原始侧信道曲线和模拟侧信道曲线进行相关能量分析(CPA),各猜测密钥的最大相关系数曲线,如图11所示。其中,密钥为40时,相关系数达到最大值,因此第0个子密钥正确值为。正确密钥的相关系数曲线对比如图12所示,原始侧信道曲线和模拟侧信道曲线分别在第38和第7采样点达到最大值。
图13为本申请实施例提供的一种侧信道曲线的增强装置,可以包括:第一获取模块1301、第一输入模块1302和确定模块1303,其中,
第一获取模块1301,用于获取原始侧信道曲线、所述原始侧信道曲线对应的预设约束条件和预设噪声信号;所述预设约束条件是依据所述原始侧信道曲线的密码运算中间值生成得到;
第一输入模块1302,用于将所述预设噪声信号和所述预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将所述原始侧信道曲线作为所述条件生成式对抗网络中判别器的原始数据的取值;将所述预设约束条件作为所述判别器的约束条件;
确定模块1303,用于依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
可选的,所述确定模块1303,用于依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线,包括:
所述确定模块1303,具体用于从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线。
可选的,该装置还可以包括:
执行模块,用于在所述确定模块1303从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线之后,将所述增强侧信道曲线与所述原始侧信道曲线组成侧信道曲线集合;对所述侧信道曲线集合中的侧信道曲线的顺序进行随机化,得到增强后的侧信道曲线集合。
可选的,该装置还可以包括训练模块,用于对预设的初始条件生成式对抗网络训练,得到所述预设的条件生成式对抗网络;
训练模块,用于对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络的方式,包括:
训练模块,具体用于通过以选择明文进行加解密操作的采集方式,采集侧信道曲线;将所述侧信道曲线中的至少部分侧信道曲线作为训练集;采用所述训练集对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络。
可选的,该装置还可以包括:
生成模块,用于依据所述原始侧信道曲线的密码运算中间值生成所述预设约束条件的方式;
生成模块,用于依据所述原始侧信道曲线的密码运算中间值生成所述预设约束条件的方式,包括:
生成模块,具体用于获取所述原始侧信道曲线对应的明文字节和密钥字节;依据所述明文字节和所述密钥字节,生成汉明距离或汉明重量;将所述汉明距离或所述汉明重量,作为所述预设约束条件的取值。
图14为本申请实施例提供的一种侧信道攻击装置,可以包括:第二获取模块1401和第二输入模块1402,其中,
第二获取模块1401,用于获取待处理侧信道曲线;所述待处理侧信道曲线包括原始侧信道曲线和增强侧信道曲线;所述增强侧信道曲线为图3对应的实施例生成的增强侧信道曲线;
第二输入模块1402,用于将所述待处理侧信道曲线,输入预设的神经网络模型,得到恢复后的密钥。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种侧信道曲线的增强方法,其特征在于,包括:
获取原始侧信道曲线、所述原始侧信道曲线对应的预设约束条件和预设噪声信号;所述预设约束条件是依据所述原始侧信道曲线的密码运算中间值生成得到;
将所述预设噪声信号和所述预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将所述原始侧信道曲线作为所述条件生成式对抗网络中判别器的原始数据的取值;将所述预设约束条件作为所述判别器的约束条件;所述预设的条件生成式对抗网络为事先对预设的初始条件生成式对抗网络训练得到;对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络的方式,包括:通过以选择明文进行加解密操作的采集方式,采集侧信道曲线;将所述侧信道曲线中的至少部分侧信道曲线作为训练集;采用所述训练集对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络;
依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
2.根据权利要求1所述的方法,其特征在于,所述依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线,包括:
从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线。
3.根据权利要求2所述的方法,其特征在于,在所述从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线之后,还包括:
将所述增强侧信道曲线与所述原始侧信道曲线组成侧信道曲线集合;
对所述侧信道曲线集合中的侧信道曲线的顺序进行随机化,得到增强后的侧信道曲线集合。
4.根据权利要求1所述的方法,其特征在于,依据所述原始侧信道曲线的密码运算中间值生成所述预设约束条件的方式,包括:
获取所述原始侧信道曲线对应的明文字节和密钥字节;
依据所述明文字节和所述密钥字节,生成汉明距离或汉明重量;
将所述汉明距离或所述汉明重量,作为所述预设约束条件的取值。
5.一种侧信道攻击方法,其特征在于,包括:
获取待处理侧信道曲线;所述待处理侧信道曲线包括原始侧信道曲线和增强侧信道曲线;所述增强侧信道曲线为权利要求1~4中任一项生成的所述增强侧信道曲线;
将所述待处理侧信道曲线,输入预设的神经网络模型,得到恢复后的密钥。
6.一种侧信道曲线的增强装置,其特征在于,包括:
第一获取模块,用于获取原始侧信道曲线、所述原始侧信道曲线对应的预设约束条件和预设噪声信号;所述预设约束条件是依据所述原始侧信道曲线的密码运算中间值生成得到;
第一输入模块,用于将所述预设噪声信号和所述预设约束条件作为预设的条件生成式对抗网络中生成器的输入;将所述原始侧信道曲线作为所述条件生成式对抗网络中判别器的原始数据的取值;将所述预设约束条件作为所述判别器的约束条件;所述预设的条件生成式对抗网络为事先对预设的初始条件生成式对抗网络训练得到;对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络的方式,包括:通过以选择明文进行加解密操作的采集方式,采集侧信道曲线;将所述侧信道曲线中的至少部分侧信道曲线作为训练集;采用所述训练集对所述初始条件生成式对抗网络进行训练,得到所述预设的条件生成式对抗网络;
确定模块,用于依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,用于依据所述判别器输出结果为真的情况下所述生成器输出的模拟侧信道曲线,确定用于增强侧信道曲线的增强侧信道曲线,包括:
所述确定模块,具体用于从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线。
8.根据权利要求7所述的装置,其特征在于,还包括:
执行模块,用于在所述确定模块从所述模拟侧信道曲线中,筛选满足预设质量条件的预设数量侧信道曲线,得到所述增强侧信道曲线之后,将所述增强侧信道曲线与所述原始侧信道曲线组成侧信道曲线集合;对所述侧信道曲线集合中的侧信道曲线的顺序进行随机化,得到增强后的侧信道曲线集合。
9.一种侧信道攻击装置,其特征在于,包括:
第二获取模块,用于获取待处理侧信道曲线;所述待处理侧信道曲线包括原始侧信道曲线和增强侧信道曲线;所述增强侧信道曲线为权利要求1~4中任一项生成的所述增强侧信道曲线;
第二输入模块,用于将所述待处理侧信道曲线,输入预设的神经网络模型,得到恢复后的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011116618.6A CN112260818B (zh) | 2020-10-19 | 2020-10-19 | 侧信道曲线的增强方法、侧信道攻击方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011116618.6A CN112260818B (zh) | 2020-10-19 | 2020-10-19 | 侧信道曲线的增强方法、侧信道攻击方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112260818A CN112260818A (zh) | 2021-01-22 |
CN112260818B true CN112260818B (zh) | 2022-09-20 |
Family
ID=74244664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011116618.6A Active CN112260818B (zh) | 2020-10-19 | 2020-10-19 | 侧信道曲线的增强方法、侧信道攻击方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112260818B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968760B (zh) * | 2021-01-29 | 2022-03-15 | 北京理工大学 | 一种基于集成学习的侧信道攻击相关能量分析方法 |
CN113051628B (zh) * | 2021-03-22 | 2023-11-03 | 北京计算机技术及应用研究所 | 基于残差学习的芯片侧信道攻击降噪预处理方法 |
CN113158181B (zh) * | 2021-04-15 | 2022-04-05 | 上海交通大学 | 使用神经网络对原始侧信道数据进行端到端攻击的方法 |
CN113407936B (zh) * | 2021-06-30 | 2022-10-28 | 中国科学技术大学 | 基于生成对抗网络的侧信道防护方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979457A (zh) * | 2016-10-25 | 2018-05-01 | 航天信息股份有限公司 | 一种侧信道信号的处理系统、方法及装置 |
CN110111236A (zh) * | 2019-04-19 | 2019-08-09 | 大连理工大学 | 基于渐进式对抗生成网络的多目标草图生成图像的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2523096A1 (en) * | 2011-05-11 | 2012-11-14 | Thomson Licensing | Modular exponentiation and device resistant against side-channel attacks |
US10972256B2 (en) * | 2019-07-18 | 2021-04-06 | Ante Deng | Architectural secure system for digital file in cyberspace |
-
2020
- 2020-10-19 CN CN202011116618.6A patent/CN112260818B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979457A (zh) * | 2016-10-25 | 2018-05-01 | 航天信息股份有限公司 | 一种侧信道信号的处理系统、方法及装置 |
CN110111236A (zh) * | 2019-04-19 | 2019-08-09 | 大连理工大学 | 基于渐进式对抗生成网络的多目标草图生成图像的方法 |
Non-Patent Citations (5)
Title |
---|
David Zooker.Temporal Power Redistribution as a Countermeasure against Side-Channel Attacks.《2020 IEEE International Symposium on Circuits and Systems (ISCAS)》.2020, * |
何卫国等.一种基于短时时域分析的侧信道信号预处理方法.《通信技术》.2020,(第06期), * |
李杰等.基于生成对抗网络的网络流量特征伪装技术.《计算机工程》.2019,(第12期), * |
李西明等.基于生成对抗网络的抗泄露加密算法研究.《计算机工程与应用》.2019,(第10期), * |
谷睿哲等.基于对抗攻击技术的侧信道攻击防护对策.《中国科学技术大学学报》.2020, * |
Also Published As
Publication number | Publication date |
---|---|
CN112260818A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112260818B (zh) | 侧信道曲线的增强方法、侧信道攻击方法及装置 | |
Wu et al. | Remove some noise: On pre-processing of side-channel measurements with autoencoders | |
CN109214973B (zh) | 针对隐写分析神经网络的对抗安全载体生成方法 | |
CN108629193B (zh) | 一种针对人工神经网络模型的加密保护系统及方法 | |
CN108898028B (zh) | 涉及迭代与随机加密的神经网络模型加密保护系统及方法 | |
Hu et al. | Research on plaintext restoration of AES based on neural network | |
Weissbart et al. | Systematic side-channel analysis of curve25519 with machine learning | |
Won et al. | Non-profiled side-channel attack based on deep learning using picture trace | |
CN112787971A (zh) | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 | |
Karawia | Image encryption based on Fisher‐Yates shuffling and three dimensional chaotic economic map | |
CN115913643A (zh) | 一种基于对抗自编码器的网络入侵检测方法、系统及介质 | |
Wang et al. | Enhancing the performance of practical profiling side-channel attacks using conditional generative adversarial networks | |
CN108804931B (zh) | 涉及域变换数据加密的神经网络模型加密保护系统及方法 | |
Paguada et al. | Controlling the deep learning-based side-channel analysis: A way to leverage from heuristics | |
Xu et al. | Using deep learning to combine static and dynamic power analyses of cryptographic circuits | |
CN112615714B (zh) | 侧信道分析方法、装置、设备及存储介质 | |
Alawida | Enhancing logistic chaotic map for improved cryptographic security in random number generation | |
Liu et al. | Machine learning-based similarity attacks for chaos-based cryptosystems | |
CN112598311A (zh) | 一种风险操作识别模型构建方法、风险操作识别方法 | |
Ding et al. | A multiple sieve approach based on artificial intelligent techniques and correlation power analysis | |
Hu et al. | Software implementation of aes-128: Side channel attacks based on power traces decomposition | |
KR101981621B1 (ko) | 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치 및 방법 | |
EP3674884A1 (en) | Device and method for testing a sequence generated by a random number generator | |
US20220121938A1 (en) | Method and apparatus for a neural network | |
Balashunmugaraja et al. | Optimal key generation for data sanitization and restoration of cloud data: Future of financial cyber security |
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 |