CN112787971B - 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 - Google Patents
侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112787971B CN112787971B CN201911063522.5A CN201911063522A CN112787971B CN 112787971 B CN112787971 B CN 112787971B CN 201911063522 A CN201911063522 A CN 201911063522A CN 112787971 B CN112787971 B CN 112787971B
- Authority
- CN
- China
- Prior art keywords
- side channel
- waveform
- waveforms
- neural networks
- attack model
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种侧信道攻击模型的构建方法、密码攻击设备及存储介质,所述方法包括:获取第一明文和第一密钥,并对第一明文和第一密钥进行多次加密运算以得到多个第一侧信道波形;将多个第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个第一侧信道波形在多个神经网络中隐藏层的输出值;将输出值进行拼接,得到每个第一侧信道波形对应的拼接值,并将多个拼接值输入多层感知器进行预测,以得到每个第一侧信道波形的预测结果;根据每个第一侧信道波形的预测结果对多层感知器和多个神经网络进行参数调整以完成侧信道攻击模型的构建。通过组合多个神经网络提高了训练得到的侧信道攻击模型的泛化性和预测准确度。
Description
技术领域
本申请涉及密码攻击领域,尤其涉及一种侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质。
背景技术
侧信道攻击是针对密码硬件的一种有效攻击方式,其攻击效果在不同芯片平台以及密码算法上均已得到验证。其中,模板攻击被认为是一种效果较好的攻击方法。近年来,伴随人工智能技术的发展,模板攻击也引进了深度学习方法来作为统计建模攻击,增强其攻击效果。然而深度学习需要对神经网络进行调参和训练,但不同种类的网络不仅在同一数据集上的性能表现可能会有较大的波动,并且不同种类的网络对不同类型信息的学习能力差异导致了可能有部分类型的网络能学习到某一特征,而另一类型的网络无法学习到该特征,导致训练得到的神经网络不仅泛化性较差,预测准确度也较低。
因此,如何提高用于侧信道攻击的神经网络的泛化性和预测准确度成为亟待解决的问题。
发明内容
本申请提供了一种侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质,以提高用于侧信道攻击的神经网络的泛化性和预测准确度。
第一方面,本申请提供了一种侧信道攻击模型的构建方法,所述侧信道攻击模型包括多个神经网络和多层感知器,所述方法包括:
获取第一明文和第一密钥,并对所述第一明文和第一密钥进行多次加密运算以得到多个第一侧信道波形;
计算多个所述第一侧信道波形对应的中间值,并将所述中间值作为所述第一侧信道波形的分类标签;
将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值;
将所述输出值进行拼接,得到每个所述第一侧信道波形对应的拼接值,并将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,以得到每个所述第一侧信道波形的预测结果;
根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建。
第二方面,本申请还提供了一种密码攻击设备,所述密码攻击设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的侧信道攻击模型的构建方法。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的侧信道攻击模型的构建方法。
本申请公开了一种侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质,通过获取第一明文和第一密钥,从而进行多次加密运算得到多个第一侧信道波形,然后计算多个第一侧信道波形对应的中间值,并将中间值作为第一侧信道波形的分类标签,随后将多个第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个第一侧信道波形在多个神经网络中隐藏层的输出值,再将输出值进行拼接,得到每个第一侧信道波形对应的拼接值,最终将拼接值输入多层感知器进行预测,以得到每个第一侧信道波形的预测结果,根据每个预测结果和对应的分类标签对多层感知器进行参数调整以完成侧信道攻击模型的构建。利用多个神经网络,提高了侧信道攻击模型的泛化性和预测准确度。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种侧信道攻击模型的构建方法的步骤示意流程图;
图2是单隐层神经网络的基本结构示意图;
图3是本申请实施例提供的侧信道攻击模型的结构示意图;
图4是图1中提供的侧信道攻击模型的构建方法的子步骤示意流程图;
图5是本申请实施例提供的另一种侧信道攻击模型的构建方法的步骤示意流程图;
图6是图5中提供的侧信道攻击模型的构建方法的子步骤示意流程图;
图7是利用侧信道攻击模型对第二侧信道波形进行攻击的步骤示意流程图;
图8是本申请实施例提供的一种密码攻击设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质。其中,该侧信道攻击模型是基于多个不同类型的子神经网络进行训练,并与多层感知器进行合并,由合并后的神经网络对各子神经网络隐藏层的输出值进行选择得到的。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种侧信道攻击模型的构建方法的示意流程图。侧信道攻击模型的构建方法用于训练出泛化性较高和预测准确度较高的侧信道攻击模型,其中,该侧信道攻击模型包括多个神经网络和多层感知器。
如图1所示,该侧信道攻击模型的构建方法,包括:步骤S101至步骤S105。
S101、获取第一明文和第一密钥,并对所述第一明文和第一密钥进行多次加密运算以得到多个第一侧信道波形。
具体地,可以分别获取m条已知的随机第一明文Pi(0≤i<m)和m条对应的已知第一密钥Ki(0≤i<m),并将获取到的第一明文和第一密钥输入可控的建模设备,进行多次加密运算,并对每次运算采集侧信道泄露曲线Ti(0≤i<m),并将采集到的侧信道泄露曲线作为第一侧信道波形。
在具体实施过程中,在进行加密运算时,采用的加密算法可以是AES加密算法,还可以是Serpent算法或DES算法等其他类型的加密算法。所述第一侧信道波形既可以是功耗波形,也可以是电磁泄露波形,还可以是功耗波形与电磁泄露波形的组合。
S102、计算多个所述第一侧信道波形对应的中间值,并将所述中间值作为所述第一侧信道波形的分类标签。
需要说明的是,所述中间值既可以为第一明文Pi第0字节P[0]与第0轮子密钥k[0]异或运算后的汉明重量,还可以为S盒输出、S盒输入输出异或等其他中间值,在实际攻击过程中可按照具体场景需求选择其他中间值进行训练,在本实施例中不做限定。但为了便于理解,本申请以中间值为第一明文Pi第0字节P[0]与第0轮子密钥k[0]进行异或运算后的汉明重量为例进行详细说明。
具体地,可以根据中间值计算公式计算得到多个所述第一侧信道波形对应的中间值,在计算得到第一侧信道波形对应的中间值后,将得到的中间值作为分类标签。由于一个字节的汉明重量有0~8共9种可能性,因此分类标签共有0~8共九类。
S103、将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值。
具体地,将多个第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,其中,对于每个神经网络而言,既可以向其输入相同类型的第一侧信道波形以进行模型训练。例如向神经网络D1和神经网络D2均输入功耗波形或均输入电磁泄露波形,也可以向其输入不同类型的侧信道波形以进行模型训练,例如向神经网络D1输入的侧信道波形为功耗波形,向神经网络D2输入的侧信道波形为电磁泄露波形。
其中,所述多个不同类型的神经网络既可以是不同的神经网络,也可以是使用不同参数的同一神经网络。例如,所述多个不同类型的神经网络,既可以为使用不同参数的VGG网络,还可以是使用ResNet结构的神经网络。
在具体实施过程中,多个不同类型的神经网络的基本结构包括输入层和隐藏层。其中,隐藏层的数量可以为一个,也可以为多个,在获取多个所述神经网络中隐藏层的输出值时,选择获取神经网络中最后一个隐藏层的输出值作为获取得到的输出值。
具体地,在获取隐藏层的输出值时,将多个第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,通过神经网络中各层所使用到的函数和公式分别计算多个神经网络中隐藏层的输出值。
示例性的,以单隐层神经网络为例进行举例说明,请参考图2,图2为单隐层神经网络的基本结构示意图。
将单隐层神经网络输入层的输入记为X0,其中,X0表示m条第一侧信道波形的特征维度;
则输入层的输出值Y0=X0×W0,其中,W0表示X0对应的权重;
那么,单隐层神经网络隐藏层的输出值h1=tanh(Y0),其中,tanh(f)表示隐层的激励函数。
在一些实施例中,所述神经网络既可以是单个的神经网络,也可以是多个的神经网络,例如,所述神经网络为多个神经网络时,将第一侧信道波形输入第一个神经网络D1,第一个神经网络D1的输出值再输入第二个神经网络D11,获取第二个神经网络D11的隐藏层的输出值。
在一些实施例中,为了降低对构建的侧信道攻击模型的调试难度,所述将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练的步骤,包括:
将多个所述第一侧信道波形分别输入多个不同类型的神经网络,以分别得到多个所述第一侧信道波形的输出值;将多个所述第一侧信道波形的输出值分别输入多个多层感知器进行模型训练。
其中,在将多个第一侧信道波形分别输入多个不同类型的神经网络后,分别得到多个第一侧信道波形的输出值,然后将多个第一侧信道波形的输出值分别输入多个多层感知器进行模型训练。也即,在每一个子通道神经网络后均可以连接一个多层感知器,并将第一侧信道波形在多层感知器中隐藏层的输出值作为获得的输出值。
S104、将所述输出值进行拼接,得到每个所述第一侧信道波形对应的拼接值,并将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,以得到每个所述第一侧信道波形的预测结果。
具体地,请参考图3,图3是本申请实施例提供的侧信道攻击模型的结构示意图。对于一个第一侧信道波形而言,在获取到多个神经网络“D1,D2,D3,.......,Dn”各自的输出值“h1,h2,h3,......,hn”后,将获取到的输出值输入融合层C,由融合层C对多个输出值进行拼接,从而得到拼接值H,其中H=h1||h2||h3||......||hn。将拼接值H输入多层感知器M,由多层感知器M对拼接值H进行选择,最终输出各第一侧信道波形被预测为对应的分类标签的概率,并将该概率作为每个第一侧信道波形的预测结果。
在一些实施例中,为了提高侧信道攻击模型预测的准确度,请参考图4,步骤S104具体地包括:步骤S104a和步骤S104b。
S104a、将多个所述神经网络与多层感知器合并,以得到合并神经网络,并训练所述合并神经网络的权重矩阵。
具体地,对于一个第一侧信道波形而言,在获取到融合层C输出的拼接值H后,将拼接值H输入一个多层感知器M,并使多层感知器M与多个神经网络“D1,D2,D3,......,Dn”合并为一个神经网络,也即将“D1,D2,D3,......,Dn”共n个神经网络作为合并后神经网络的子通道神经网络。然后通过反向传播算法迭代计算出合并后神经网络的权重参数,并得到合并后神经网络的权重矩阵。
S104b、根据所述权重矩阵对所述每个所述第一侧信道波形对应的拼接值进行预测。
由合并后的神经网络根据权重矩阵对拼接值H进行选择,从而输出第一侧信道波形T所对应属于各分类标签的概率,从而对每个第一侧信道波形对应的拼接值进行预测。
由于拼接值是由多个不同的神经网络的隐藏层的输出值拼接而成的,对于不同的神经网络而言,其使用的权重矩阵以及隐藏层的激励函数均可能有所不同,因此得到的隐藏层的输出值也各不相同。
因此对合并神经网络的权重矩阵进行训练,从而对拼接后的输出值进行选择,使得合并神经网络能够综合各个不同的神经网络的隐藏层的输出值,提高合并神经网络的预测准确度和泛化性。
需要说明的是,各子通道神经网络及其输入数据的形式可以根据具体的应用场景进行替换,并且,对拼接后的输出值进行处理的多层感知器也可以视具体情况进行变换,例如变换为其他神经网络等,在本实施例中不做限定。
S105、根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建。
具体地,在得到一个第一侧信道波形的预测结果后,该预测结果和其实际所对应的分类标签之间可能存在误差,因此,根据该第一侧信道波形的预测结果和其实际所对应的分类标签,对多层感知器和多个神经网络进行参数调整,根据调整后的多层感知器和多个神经网络再循环对第一侧信道波形进行预测,最终得到预测效果较好的侧信道攻击模型。
通过根据每个所述第一侧信道波形的预测结果和对应的所述分类标签,对多层感知器和多个神经网络进行参数调整,优化了侧信道攻击模型的参数,提高其预测准确度。
在一些实施例中,当子通道神经网络后连接有多层感知器时,在根据第一侧信道波形的预测结果和第一侧信道波形对应的分类标签对多层感知器和多个神经网络进行参数调整时,可以不调整连接有多层感知器的子通道神经网络的神经网络参数,以降低调试难度。
上述实施例提供的侧信道攻击模型的构建方法,通过获取第一明文和第一密钥,从而进行多次加密运算得到多个第一侧信道波形,然后计算多个第一侧信道波形对应的中间值,并将中间值作为第一侧信道波形的分类标签,随后将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值,再将所述输出值进行拼接,得到每个所述第一侧信道波形对应的拼接值,并将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,以得到每个所述第一侧信道波形的预测结果,最终根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建。该方案采用多个神经网络对第一侧信道波形进行模型训练,最后将各个神经网络隐藏层的输出值进行拼接并将拼接值输入多层感知器进行选择,再根据预测结果对多层感知器和多个神经网络进行参数调整以完成侧信道攻击模型的构建,提高了侧信道攻击模型的泛化性、训练结果的稳定性和预测准确度。
请参阅图5,图5是本申请的实施例提供的另一种侧信道攻击模型的构建方法的步骤示意流程图。其中,该侧信道攻击模型是采用多种不同类型的神经网络进行模型训练得到的。
如图5所示,该侧信道攻击模型的构建方法,包括步骤S201至步骤S209。
S201、获取第一明文和第一密钥,并对所述第一明文和第一密钥进行多次加密运算以得到多个第一侧信道波形。
具体地,可以分别获取m条已知的随机第一明文Pi(0≤i<m)和m条对应的已知第一密钥Ki(0≤i<m),并将获取到的第一明文和第一密钥输入可控的建模设备,进行多次加密运算,并对每次运算采集侧信道泄露曲线Ti(0≤i<m),并将采集到的侧信道泄露曲线作为第一侧信道波形。
S202、计算多个所述第一侧信道波形对应的中间值,并将所述中间值作为所述第一侧信道波形的分类标签。
具体地,当中间值为第一明文Pi第0字节P[0]与第0轮子密钥k[0]进行异或运算后的汉明重量时,中间值计算公式为:其中,Si表示第i条第一侧信道波形所对应的中间值,Pi[0]表示第i条第一明文第0字节,ki[0]表示第i条第一密钥的第0轮子密钥。
可以根据中间值计算公式计算得到多个所述第一侧信道波形对应的中间值,在计算得到第一侧信道波形对应的中间值后,将得到的中间值作为与第一侧信道波形对应的分类标签。由于一个字节的汉明重量有0~8共9种可能性,因此分类标签共有0~8共九类。
S203、对所述第一侧信道波形进行预处理。
其中,所述预处理包括降维、对齐、降噪和频域变换中的至少一种。
具体地,为了减少神经网络的输入以降低神经网络训练的时间复杂度和空间复杂度,需要对第一侧信道波形进行预处理,以提高神经网络训练的效率。
例如,在对第一侧信道波形进行降维处理时,可以采用PCA降维技术其思路是将非正交的协方差矩阵转换为正交的特征矩阵,再选择其中特征值最大的N维作为研究数据。其主要步骤可以为:
(1)特征值分解
(2)将第一侧信道波形转换为特征向量
(3)计算主成分的贡献率
将M个特征值λi进行排序,并选择前N个较大的特征值,记为“λ′1,λ′2,λ′3,λ′4,......,λ′n”,使得该N个主成分的累计贡献率达到80%以上,即那么“λ′1,λ′2,λ′3,λ′4,......,λ′n”对应的特征向量“μ′1,μ′2,μ′3,μ′4,......,μ′n”即为能量迹数据的主成分。
PCA不仅起到维度缩减的功能,由于其前面几个特征向量包含最多的信息,从而具有最大的信噪比,因此,PCA也有提高信噪比的作用。
S204、将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值。
具体地,将预处理后的第一侧信道波形分别输入多个不同类型的神经网络,利用神经网络中各层所使用到的函数和公式计算分别多个神经网络中隐藏层的输出值。
需要说明的是,在将对多个不同类型的神经网络进行输入时,即可以输入经过相同的预处理得到的预处理后的第一侧信道波形,还可以输入经过不同的预处理得到的预处理后的第一侧信道波形,所述不同的预处理可以是不同的预处理方式,也可以是同一个预处理方式里采用了不同的预处理参数。例如,既可以向多个神经网络输入均进行频域变换得到的预处理后的第一侧信道波形,也可以向多个神经网络分别输入进行频域变换、经过两次不同参数的下采样得到的预处理后的第一侧信道波形。
在一些实施例中,请参考图6,步骤S204具体包括:步骤S204a和步骤S204b。
S204a、对多个所述第一侧信道波形进行多次不同形式的预处理,并分别获得预处理后的多个第一侧信道波形。
具体地,对第一侧信道波形进行多次不同形式的预处理,例如可以是,对第一侧信道波形进行两次频率不同的下采样,并对第一侧信道波形进行频域变换,从而获取三种不同的预处理结果,得到三种预处理后的第一侧信道波形。
S204b、将所述预处理后的多个第一侧信道波形分别输入多个使用不同参数训练的同一神经网络中进行模型训练。
具体地,使用多种不同的预处理后的第一侧信道波形对神经网络进行模型训练,提高了得到的侧信道攻击模型的泛化性。
例如,将上述两种经过下采样预处理后的第一侧信道波形分别输入D1和D2两个子通道神经网络,其中,D1和D2分别接受不同的下采样结果作为输入,使用参数不同的VGG网络进行训练。
需要说明的是,也可以将预处理后的第一侧信道波形分别输入不同结构的神经网络中进行模型训练。
例如,将上述三种预处理后的第一侧信道波形分别输入D1,D2和D3三个子通道神经网络,其中,D1和D2分别接受不同的下采样结果作为输入,使用参数不同的VGG网络进行训练,D3使用ResNet结构进行训练。
对第一侧信道波形进行不同形式的预处理,并将得到的预处理后的第一侧信道波形输入多个不同的神经网络中进行训练,提高最终得到的侧信道攻击模型的泛化性,使其能够在输入多种不同形式的第一侧信道波形时,也能够输出准确的预测结果。
S205、将所述输出值进行拼接,得到每个所述第一侧信道波形对应的拼接值,并将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,以得到每个所述第一侧信道波形的预测结果。
具体地,对于一个第一侧信道波形而言,在获取到多个神经网络“D1,D2,D3,......,Dn”各自的输出值“h1,h2,h3,......,hn”后,将获取到的输出值输入融合层C,由融合层C对多个输出值进行拼接,从而得到拼接值H,其中H=h1||h2||h3||......||hn。将拼接值H输入多层感知器M,由多层感知器M对拼接值H进行选择,最终输出各第一侧信道波形被预测为对应的分类标签的概率,并将该概率作为每个第一侧信道波形的预测结果。
S206、根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建。
具体地,在得到一个第一侧信道波形的预测结果后,该预测结果和其实际所对应的分类标签之间可能存在误差,因此,根据该第一侧信道波形的预测结果和其实际所对应的分类标签,对多层感知器和多个神经网络进行参数调整,根据调整后的多层感知器和多个神经网络再循环对第一侧信道波形进行预测,最终得到预测效果较好的侧信道攻击模型。
S207、获取第二明文,并将所述第二明文输入包含第二密钥的目标设备上进行多次加密运算,以得到多个第二侧信道波形。
具体地,使用随机已知第二明文输入P′i(0≤i<m′)在包含有第二密钥K的目标设备上进行加密运算,并对每次运算采集功耗或电磁泄露波形T′i(0≤i<m′),并将采集到的功耗或电磁泄露波形作为第二侧信道波形。
需要说明的是,采集到的第二侧信道波形的类型与第一侧信道波形的类型相同,使用的加密算法也应当相同。也即,当进行模型训练的第一侧信道波形的类型为功耗波形时,第二侧信道波形的类型也为功耗波形;当进行模型训练的第一侧信道波形的类型为电磁泄露波形时,第二侧信道波形的类型也为电磁泄露波形;进行模型训练的第一侧信道波形的类型为功耗波形和电磁泄露波形的组合时,第二侧信道波形的类型也为功耗波形和电磁泄露波形的组合。
此外,第二明文P′i(0≤i<m′)与第一明文Pi(0≤i<m)可以相同,也可以不同,在此不做限定。
S208、对所述第二侧信道波形进行预处理。
具体地,为了提高对侧信道攻击模型的验证效率,需要对第二侧信道波形进行预处理。其中,所述预处理包括降维、对齐、降噪和频域变换中的至少一种。
S209、利用所述侧信道攻击模型对多个预处理后的所述第二侧信道波形进行攻击,以对所述侧信道攻击模型进行验证。
具体地,利用侧信道攻击模型对第二侧信道波形进行模板攻击,从而对训练得到的侧信道攻击模型进行验证,以提高侧信道攻击模型的预测准确率。
在一些实施例中,请参考图7,利用侧信道攻击模型对第二侧信道波形进行攻击具体地包括:步骤S209a至步骤S209e。
S209a、获取所述第二密钥的字节猜测值。
具体地,以AES加密算法为例,由于在对AES第0轮子密钥中的第0字节攻击时,该子密钥与AES算法加密的主密钥K相同,因此使用分治法将第0轮子密钥中每个字节单独还原出来即可获得完整密钥该字节共有256种可能性(0~255)。因此,首先获取第二密钥的字节猜测值。
S209b、将预处理后的所述第二侧信道波形输入所述侧信道攻击模型,以生成概率矩阵。
具体地,将预处理后的所述第二侧信道波形输入所述侧信道攻击模型,从而获得概率矩阵。其中,概率矩阵的每一行表示每一个输入的波形,每一列表示分类标签,概率矩阵中的每一个点即表示第i个波形被预测为分类标签s′i的概率。
S209c、计算所述字节猜测值在所述概率矩阵中的总似然度。
具体地,由于针对一个字节猜测值k′i[0],S′i都有一个对应的结果。即对每一个第二明文P′i[0]来说,S′i有与k′[0]各种可能性相对应的共256个计算结果。
因此,首先利用总似然度计算公式计算所述字节猜测值在所述概率矩阵中的总似然度,其中,总似然度计算公式为:
S209d、获取所述总似然度中的最大值,并将所述最大值对应的字节猜测值作为字节破解值。
具体地,对于第二密钥中字节的正确猜测,应当使得所述字节猜测值的总似然度为最大。
S209e、若所述字节破解值与所述第二密钥相同,则攻击成功。
上述实施例公开的侧信道攻击模型的构建方法,利用多类型神经网络对样本数据进行模型训练,获取到多个神经网络中隐藏层的输出值,并将多个输出值进行拼接,最终将拼接值输入多层感知器进行预测,并根据预测结果对多层感知器和多个神经网络进行参数调整以完成侧信道攻击模型的构建,提高了训练得到的侧信道攻击模型的泛化性。并且在完成侧信道攻击模型的构建后,获取用于验证的第二侧信道波形,并利用侧信道攻击模型对第二侧信道波形进行攻击,以对侧信道攻击模型进行验证,提高了侧信道攻击模型的预测准确度。
请参阅图8,图8是本申请实施例提供的一种密码攻击设备的结构示意性框图。该密码攻击设备可以是安全芯片、服务器或终端。
参阅图8,该密码攻击设备包括通过***总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种侧信道攻击模型的构建方法。
处理器用于提供计算和控制能力,支撑整个密码攻击设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种侧信道攻击模型的构建方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的密码攻击设备的限定,具体的密码攻击设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取第一明文和第一密钥,并对所述第一明文和第一密钥进行多次加密运算以得到多个第一侧信道波形;计算多个所述第一侧信道波形对应的中间值,并将所述中间值作为所述第一侧信道波形的分类标签;将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值;将所述输出值进行拼接,得到每个所述第一侧信道波形对应的拼接值,并将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,以得到每个所述第一侧信道波形的预测结果;根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建。
在一个实施例中,所述处理器还用于实现:
获取第二明文,并将所述第二明文输入包含第二密钥的目标设备上进行多次加密运算,以得到多个第二侧信道波形;利用所述侧信道攻击模型对多个所述第二侧信道波形进行攻击,以对所述侧信道攻击模型进行验证。
在一个实施例中,所述处理器在实现所述利用所述侧信道攻击模型对所述第二侧信道波形进行攻击时,用于实现:
获取所述第二密钥的字节猜测值;将所述第二侧信道波形输入所述侧信道攻击模型,以生成概率矩阵;计算所述字节猜测值在所述概率矩阵中的总似然度;获取所述总似然度中的最大值,并将所述最大值对应的字节猜测值作为字节破解值;若所述字节破解值与所述第二密钥相同,则攻击成功。
在一个实施例中,所述处理器在实现所述计算所述字节猜测值在所述概率矩阵中的总似然度时,用于实现:
根据总似然度计算公式计算所述字节猜测值在所述概率矩阵中的总似然度;
所述总似然度计算公式为:
在一个实施例中,所述第一侧信道波形和所述第二侧信道波形的类型相同,包括功耗波形、电磁泄露波形或者所述功耗波形与所述电磁泄露波形的组合。
在一个实施例中,所述处理器在实现所述将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测时,用于实现:
将多个所述神经网络与多层感知器合并,以得到合并神经网络,并训练所述合并神经网络的权重矩阵;根据所述权重矩阵对所述每个所述第一侧信道波形对应的拼接值进行预测。
在一个实施例中,所述处理器在实现所述将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练时,用于实现:
将多个所述第一侧信道波形分别输入多个不同类型的神经网络,以分别得到多个所述第一侧信道波形的输出值;将多个所述第一侧信道波形的输出值分别输入多个多层感知器进行模型训练;
所述处理器在实现所述分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值时,用于实现:
分别得到每个所述第一侧信道波形在多个所述多层感知器中隐藏层的输出值。
在一个实施例中,所述处理器在实现根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建时,用于实现:
根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器进行参数调整以完成侧信道攻击模型的构建。
在一个实施例中,所述处理器在实现所述将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练时,用于实现:
对多个所述第一侧信道波形进行多次不同形式的预处理,并分别获得预处理后的多个第一侧信道波形;将所述预处理后的多个第一侧信道波形分别输入多个使用不同参数训练的同一神经网络中进行模型训练。
在一个实施例中,所述处理器还用于实现:
对所述第一侧信道波形和/或所述第二侧信道波形进行预处理,所述预处理包括降维、对齐、降噪和频域变换中的至少一种。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项侧信道攻击模型的构建方法。
其中,所述计算机可读存储介质可以是前述实施例所述的密码攻击设备的内部存储单元,例如所述密码攻击设备的硬盘或内存。所述计算机可读存储介质也可以是所述密码攻击设备的外部存储设备,例如所述密码攻击设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种侧信道攻击模型的构建方法,其特征在于,所述侧信道攻击模型包括多个神经网络和多层感知器,所述方法包括:
获取第一明文和第一密钥,并对所述第一明文和第一密钥进行多次加密运算以得到多个第一侧信道波形;
计算多个所述第一侧信道波形对应的中间值,并将所述中间值作为所述第一侧信道波形的分类标签;
将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,以分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值;
将所述输出值进行拼接,得到每个所述第一侧信道波形对应的拼接值,并将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,以得到每个所述第一侧信道波形的预测结果;
根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建。
2.根据权利要求1所述的侧信道攻击模型的构建方法,其特征在于,还包括:
获取第二明文,并将所述第二明文输入包含第二密钥的目标设备上进行多次加密运算,以得到多个第二侧信道波形;
利用所述侧信道攻击模型对多个所述第二侧信道波形进行攻击,以对所述侧信道攻击模型进行验证。
3.根据权利要求2所述的侧信道攻击模型的构建方法,其特征在于,所述利用所述侧信道攻击模型对多个所述第二侧信道波形进行攻击,包括:
获取所述第二密钥的字节猜测值;
将所述第二侧信道波形输入所述侧信道攻击模型,以生成概率矩阵;
计算所述字节猜测值在所述概率矩阵中的总似然度;
获取所述总似然度中的最大值,并将所述最大值对应的字节猜测值作为字节破解值;
若所述字节破解值与所述第二密钥相同,则攻击成功。
5.根据权利要求2所述的侧信道攻击模型的构建方法,其特征在于,所述第一侧信道波形和所述第二侧信道波形的类型相同,包括功耗波形、电磁泄露波形或者所述功耗波形与所述电磁泄露波形的组合。
6.根据权利要求1所述的侧信道攻击模型的构建方法,其特征在于,所述将多个所述第一侧信道波形对应的拼接值输入多层感知器进行预测,包括:
将多个所述神经网络与多层感知器合并,以得到合并神经网络,并训练所述合并神经网络的权重矩阵;
根据所述权重矩阵对所述每个所述第一侧信道波形对应的拼接值进行预测。
7.根据权利要求1所述的侧信道攻击模型的构建方法,其特征在于,所述将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,包括:
将多个所述第一侧信道波形分别输入多个不同类型的神经网络,以分别得到多个所述第一侧信道波形的输出值;
将多个所述第一侧信道波形的输出值分别输入多个多层感知器进行模型训练;
所述分别得到每个所述第一侧信道波形在多个所述神经网络中隐藏层的输出值,包括:
分别得到每个所述第一侧信道波形在多个所述多层感知器中隐藏层的输出值。
8.根据权利要求7所述的侧信道攻击模型的构建方法,其特征在于,所述根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器和多个所述神经网络进行参数调整以完成侧信道攻击模型的构建,包括:
根据所述每个所述第一侧信道波形的预测结果和对应的所述分类标签对所述多层感知器进行参数调整以完成侧信道攻击模型的构建。
9.根据权利要求1所述的侧信道攻击模型的构建方法,其特征在于,所述将多个所述第一侧信道波形分别输入多个不同类型的神经网络进行模型训练,包括:
对多个所述第一侧信道波形进行多次不同形式的预处理,并分别获得预处理后的多个第一侧信道波形;
将所述预处理后的多个第一侧信道波形分别输入多个使用不同参数训练的同一神经网络中进行模型训练。
10.根据权利要求2所述的侧信道攻击模型的构建方法,其特征在于,所述构建方法还包括:
对所述第一侧信道波形和/或所述第二侧信道波形进行预处理,所述预处理包括降维、对齐、降噪和频域变换中的至少一种。
11.一种密码攻击设备,其特征在于,所述密码攻击设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至10中任一项所述的侧信道攻击模型的构建方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至10中任一项所述的侧信道攻击模型的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911063522.5A CN112787971B (zh) | 2019-11-01 | 2019-11-01 | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911063522.5A CN112787971B (zh) | 2019-11-01 | 2019-11-01 | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112787971A CN112787971A (zh) | 2021-05-11 |
CN112787971B true CN112787971B (zh) | 2023-02-28 |
Family
ID=75748624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911063522.5A Active CN112787971B (zh) | 2019-11-01 | 2019-11-01 | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112787971B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019217811A1 (de) * | 2019-11-19 | 2021-05-20 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Verarbeiten von Daten eines technischen Systems |
CN113378894B (zh) * | 2021-05-21 | 2024-04-19 | 浙江工业大学 | 基于侧信道功耗分析的非侵入式应用程序离线攻击方法 |
CN113630235B (zh) * | 2021-08-06 | 2023-07-25 | 深圳技术大学 | 一种侧信道分析及其模型构建的方法与装置 |
CN114531232B (zh) * | 2021-12-31 | 2024-03-19 | 南京理工大学 | 多信道旁路信号安全分析与检测*** |
CN115801412B (zh) * | 2022-11-18 | 2023-05-02 | 国网河北省电力有限公司电力科学研究院 | 一种电力物联信息网络攻击行为特征的提取方法 |
CN118174845A (zh) * | 2024-05-09 | 2024-06-11 | 深圳市纽创信安科技开发有限公司 | 模型训练方法及数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783023A (zh) * | 2016-08-31 | 2018-03-09 | 国民技术股份有限公司 | 基于芯片的侧信道泄露分析***及方法 |
CN109525384A (zh) * | 2018-11-16 | 2019-03-26 | 成都信息工程大学 | 利用神经网络进行拟合的dpa攻击方法及***、终端 |
CN109995501A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN109995502A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN110048827A (zh) * | 2019-04-15 | 2019-07-23 | 电子科技大学 | 一种基于深度学习卷积神经网络的类模板攻击方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646219B (zh) * | 2013-11-29 | 2016-03-30 | 东南大学 | 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法 |
-
2019
- 2019-11-01 CN CN201911063522.5A patent/CN112787971B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783023A (zh) * | 2016-08-31 | 2018-03-09 | 国民技术股份有限公司 | 基于芯片的侧信道泄露分析***及方法 |
CN109995501A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN109995502A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN109525384A (zh) * | 2018-11-16 | 2019-03-26 | 成都信息工程大学 | 利用神经网络进行拟合的dpa攻击方法及***、终端 |
CN110048827A (zh) * | 2019-04-15 | 2019-07-23 | 电子科技大学 | 一种基于深度学习卷积神经网络的类模板攻击方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112787971A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112787971B (zh) | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 | |
Wisiol et al. | Splitting the interpose PUF: A novel modeling attack strategy | |
US11301571B2 (en) | Neural-network training using secure data processing | |
Aseeri et al. | A machine learning-based security vulnerability study on xor pufs for resource-constraint internet of things | |
EP3627759B1 (en) | Method and apparatus for encrypting data, method and apparatus for training machine learning model, and electronic device | |
CN110490128B (zh) | 一种基于加密神经网络的手写识别方法 | |
Lam | High‐dimensional covariance matrix estimation | |
Wang et al. | Multi-source training deep-learning side-channel attacks | |
Choudary et al. | Efficient stochastic methods: Profiled attacks beyond 8 bits | |
Park et al. | PQC-SEP: Power Side-channel Evaluation Platform for Post-Quantum Cryptography Algorithms. | |
CN113630235B (zh) | 一种侧信道分析及其模型构建的方法与装置 | |
Maghrebi | Deep learning based side-channel attack: a new profiling methodology based on multi-label classification | |
Lerman et al. | A time series approach for profiling attack | |
Labaca-Castro et al. | Poster: Attacking malware classifiers by crafting gradient-attacks that preserve functionality | |
Ou et al. | Side-channel analysis attacks based on deep learning network | |
Yin et al. | Neural network fragile watermarking with no model performance degradation | |
Do et al. | A novel non-profiled side channel attack based on multi-output regression neural network | |
Xu et al. | Using deep learning to combine static and dynamic power analyses of cryptographic circuits | |
Do et al. | MO-DLSCA: deep learning based non-profiled side channel analysis using multi-output neural networks | |
US20240048354A1 (en) | Electronic device using homomorphic encryption and encrypted data processing method thereof | |
Wisiol et al. | Why attackers lose: Design and security analysis of arbitrarily large XOR arbiter PUFs | |
Saeedi et al. | Feed-forward back-propagation neural networks in side-channel information characterization | |
Li et al. | A deep learning-based side channel attack model for different block ciphers | |
Li et al. | Fuzzy matching template attacks on multivariate cryptography: a case study | |
Ouladj et al. | Chosen message strategy to improve the correlation power analysis |
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 |