CN113630235A - 一种侧信道分析及其模型构建的方法与装置 - Google Patents
一种侧信道分析及其模型构建的方法与装置 Download PDFInfo
- Publication number
- CN113630235A CN113630235A CN202110902532.4A CN202110902532A CN113630235A CN 113630235 A CN113630235 A CN 113630235A CN 202110902532 A CN202110902532 A CN 202110902532A CN 113630235 A CN113630235 A CN 113630235A
- Authority
- CN
- China
- Prior art keywords
- target
- energy consumption
- consumption curve
- data
- curve data
- 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.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000010276 construction Methods 0.000 title abstract description 9
- 238000005265 energy consumption Methods 0.000 claims abstract description 124
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 88
- 238000013528 artificial neural network Methods 0.000 claims abstract description 53
- 238000012549 training Methods 0.000 claims abstract description 37
- 238000007781 pre-processing Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000012952 Resampling Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000007123 defense Effects 0.000 abstract description 9
- 239000010410 layer Substances 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
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
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种侧信道分析及其模型构建的方法与装置,其中该模型构建的方法包括:获取目标密码设备对应的目标训练数据集和目标密钥,目标数据集包括从目标密码设备上采集的第一目标能耗曲线数据;对第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;获取目标密码设备对应的目标密码算法类型,并根据目标密码算法类型对第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;将第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的初始神经网络对应的目标网络结构与目标参数数值。本发明可通过一阶侧信道分析方法对具有防御策略的密码算法进行有效分析,提高分析准确度。
Description
技术领域
本发明涉及侧信道分析的技术领域,尤其涉及一种侧信道分析及其模型构建的方法与装置。
背景技术
侧信道分析主要是针对密码算法的非侵入式分析,通过加密电子设备在运行过程中的边信道信息泄露破解密码算法,主要包括针对密码算法的计时攻击、能量分析攻击、电磁分析攻击等等,这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带来了严重的威胁。目前,主流的侧信道分析技术还是以传统的分析方法为主,即相关功耗分析、差分功耗分析、模板分析等等。传统侧信道分析技术,在数据采集后,需要对功耗曲线进行专业地特征观察、预处理及后续分析,该过程需要有不同密码算法的背景知识和较强的专业处理能力,其专业性强、难度较大、普适性不高;另外,传统侧信道分析技术针对不同的密码算法,有相应处理的分析方法,例如对称密码AES与非对称密码RSA算法,前者被常用于相关功耗分析、差分功耗分析,而后者常被用于简单功耗分析,因此传统侧信道分析方法未对不同密码算法结构进行理论抽象,未具有一个简单的统一分析模型。
另一方面,目前商业上现有的密码设备,大多已添加防御策略以抵御侧信道攻击,主流的侧信道防御策略有添加随机掩码、抖动等等。已添加防御策略的密码算法,可防御一阶侧信道安全分析。若要对该密码算法继续进行分析,需要采用二阶侧信道分析方法,其操作难度大、专业性强、复杂性高。因此,主流的侧信道一阶分析方法,几乎难以分析已添加防御策略的密码算法。
发明内容
基于此,有必要针对上述问题,提出一种侧信道分析及其模型构建的方法与装置,以解决现有技术的以下问题:目前,主流的侧信道分析技术还是以传统的分析方法为主,其专业性强、难度较大、普适性不高;另外,主流的侧信道一阶分析方法,几乎难以分析已添加防御策略的密码算法。
本发明实施例的第一技术方案为:
一种侧信道分析模型的构建方法,其包括:获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据;对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值。
本发明实施例的第二技术方案为:
一种侧信道分析的方法,其基于上述任一项所述的侧信道分析模型的构建方法所构建的所述目标侧信道分析模型来实现,其包括以下步骤:接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理;将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
本发明实施例的第三技术方案为:
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据;对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值;
或使得所述处理器执行以下步骤:接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理;将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
本发明实施例的第四技术方案为:
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据;对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值;
或使得所述处理器执行以下步骤:接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理;将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
采用本发明实施例,具有如下有益效果:
本发明首先通过对从目标密码设备上采集的第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;然后根据所述目标密码设备对应的目标密码算法类型对第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;最后将所述第三目标能耗曲线数据输入初始神经网络进行训练,得到对应的目标网络结构与目标参数数值,可对不同密码算法结构进行理论抽象,形成统一的目标侧信道分析模型,所述目标侧信道分析模型可通过一阶侧信道分析方法对具有防御策略的密码算法进行有效分析,提高分析准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中侧信道分析模型的构建方法一实施方式的实施流程图;
图2为一个实施例中侧信道分析的方法一实施方式的实施流程图;
图3为一个实施例中计算机设备一实施方式的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,结合图1可以得到,本发明实施例的一种侧信道分析模型的构建方法,包括以下几个步骤:
步骤S101:获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据。
其中,功耗曲线与密钥之间的关系为:常见芯片中的内部电路基本都是基于CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)工艺的,而逻辑门电路是其基础元件,该基础元件在物理上体现为电流变化,从而消耗功率。当同一台设备使用相同的数据进行多次相同的操作时,电路中的电流会发生变化,产生一个动态瞬时的能量消耗,导致从示波器上获取的功耗曲线之间会有微小的区别。因此,该分析攻击利用了这样一个事实:密码设备的瞬时能量消耗依赖于设备所处理的数据以及设备所进行的操作。基于这种依赖关系,攻击者可以获得密码设备中的密钥。
步骤S102:对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据。
步骤S103:获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据。
步骤S104:将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值。
其中,初始神经网络是一种人工神经网络,人工神经网络分为网络结构和参数数值两部分。网络结构定义了人工神经网络中人工神经元的类型、数目以及相互连接方式,每个神经元都由特定数量的参数来表示,当网络结构设计好后,整个人工神经网络的参数数目就不再发生变化。参数数值指的是人工神经网络参数的具体取值,只有当这些参数取值满足一定条件时,才能使得人工神经网络完成某种特定的功能。
在本实施例中,可选地,可采用的人工神经网络(模型)包括多层感知器MLP、卷积神经网络CNN、和循环神经网络RNN等。其中,多层感知器MLP为一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看做是一个有向图,由多个节点层组成,每一层全连接到下一层,除了输入节点,每个节点都是一个带有非线性激活函数的神经元。其中,可以使用反向传播BP算法的监督学习方法来训练多层感知器MLP。多层感知器MLP是单层感知器的推广,是基于反向传播学习的是典型的前馈网络,其信息处理方向从输入层到各隐层再到输出层,如此逐层进行。隐藏层实现对输入空间的非线性映射,输出层实现线性分类,非线性映射方式和线性判别函数可以同时学习,克服了感知器不能对线性不可分数据进行识别的弱点。
其中,卷积神经网络仿造生物的视知觉机制构建,是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习技术的代表算法之一。其具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,可以进行监督学习和非监督学习;其隐含层内的卷积核参数共享和层间连接的稀疏性,使得卷积神经网络能够以较小的计算量进行格点化特征,例如对像素、音频等数据进行学习、输出稳定的效果且对数据没有额外的特征工程要求,适合在有特征建模需求的相关领域内使用。
以卷积神经网络CNN为例,将已标记数据分为训练集和交叉验证集两部分,初始化(超)参数,输入训练集数据,通过梯度下降算法和遗传算法更新参数及超参数,使用Adam优化器,迭代优化神经网络模型,迭代次数根据具体分析案例确定,比如可设置为30-50次,达到迭代次数后,神经网络训练停止,迭代期间更新优化系统(超)参数。通过计算F1-Score指标大小来判断网络训练效果,输出密钥排名顺序,神经网络模型输出的结果为预测的密钥值。
其中,分析准确率(Precision)是指对于给定的数据集,预测正确的样本数与总样本数之比,也就是预测正确的概率;召回率(Recall)是指对于给定的数据集,预测正确的样本数与实际为正确的样本数之比。因此,F1-Score指标计算方式为准确率Precision与召回率Recall的调和平均数,该指标顾及了准确率与召回率,能够较为准确地评估判断神经网络的输出效果,其中F1-Score的计算公式如下:
在本实施例中,可选地,所述将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值,包括:
第一,将所述第三目标能耗曲线数据分为目标训练集数据和目标验证集数据。
第二,使用所述目标训练集数据对所述初始神经网络进行训练,从所述初始神经网络输出的第一目标输出数据,所述第一目标输出数据为目标密钥排名数据。
第三,判断所述第一目标输出数据中与所述目标密钥相同的数量比例是否大于或等于目标预设比例。
第四,若所述第一目标输出数据中与所述目标密钥相同的数量比例大于或等于目标预设比例,则记录并保存此时的所述初始神经网络对应的第一网络结构与第一参数数值,并进一步使用所述目标验证集数据对所述初始神经网络进行训练,从所述初始神经网络输出的第二目标输出数据。
第五,判断所述第二目标输出数据中与所述目标密钥相同的数量比例是否大于或等于所述目标预设比例。
第六,若所述第二目标输出数据中与所述目标密钥相同的数量比例大于或等于所述目标预设比例,则判定训练已经达到所述预设目标,记录并保存此时的所述初始神经网络对应的所述目标网络结构与所述目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为所述目标侧信道分析模型的网络结构与参数数值。
其中,从同一设备上生成随机密钥来采集一组同规格的功耗曲线,该功耗曲线在明密文可知、密钥未知的情况下进行采集,以此作为测试集数据。
测试集数据输入到训练集迭代(epochs)训练结束后的神经网络模型中,根据不同密码算法的不同标记方式,对应输出不同的分类结果,其中每一个输出的分类结果即为对应算法密钥中的每一个字节或者比特。
最终,根据256个输出结果,形成对应不同算法在该网络模型输出下的预测密钥,验证预测密钥是否与测试集上随机生成的原始密钥相同,对比预测密钥与原始密钥中相同字节或者比特数量的占比,计算输出该密码算法在此网络模型中的分析准确率,若预测密钥中的全部字节或者比特与原始密钥完全一致,则分析准确率为100%。
在本实施例中,可选地,所述对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据,包括:
对所述第一目标能耗曲线数据分别进行对齐操作、低通滤波操作和重采样操作,得到所述第二目标能耗曲线数据。
其中,对齐操作包括:设置左右平移阈值为100个采样点,相关性大小为0.8,对所述第一目标能耗曲线数据重复进行该操作;
其中,低通滤波操作包括:参数权重设置一般为2-5之间;
其中,重采样操作包括:根据原采样频率进行调整,重采样后所述第一目标能耗曲线数据采样点不超过5000。
在本实施例中,可选地,所述获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据,包括:
第一,根据所述目标密码设备对应的所述第一目标能耗曲线数据,获取所述目标密码设备对应的所述目标密码算法类型。
第二,当所述目标密码算法类型为对称密码算法时,按照第一数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据。
第三,当所述目标密码算法类型为非对称密码算法时,按照第二数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据。
在本实施例中,可选地,所述当所述目标密码算法类型为对称密码算法时,按照第一数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据,包括:
通过明密文输入输出,以0-255字节的id形式标记从对称密码算法中采集到的所述第二目标能耗曲线数据,重复采集并逐一标记256个字节相对应的功耗曲线信息,得到所述第三目标能耗曲线数据。
在本实施例中,可选地,所述当所述目标密码算法类型为非对称密码算法时,按照第二数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据,包括:
根据不同的非对称密码算法,通过0-1比特标记非对称密码算法的所述第二目标能耗曲线数据,得到所述第三目标能耗曲线数据。
其中,不同的密码算法具有特定的标记方法,通过选择明文方法输入和白盒测试方法,即明密文与对应算法的密钥已知的情况下,来采集不同密码算法在加解密过程中所泄露的功耗信息,以此采用256个字节的id形式或0-1比特形式来标记数据,以作为训练集数据。例如:RSA算法通过模幂和模乘运算区分0-1比特,ECC算法通过点加和点倍运算区分0-1比特。
在本实施例中,可选地,举例说明如下:
针对ECC算法实现基于深度学习的侧信道分析整体流程如:
通过EM探头获取分析对象的功耗曲线数据并进行预处理操作,对功耗曲线数据特征部分进行标记,以此输入到神经网络模型中进行训练,并验证模型输出的分类结果。
通过上述操作后,采集到ECC算法加密过程中的功耗曲线。其中,例如ECC算法执行一次加密过程耗时28ms,单条EM功耗曲线采样点数量为70M,共采集了50条该算法加密过程中的功耗曲线。为了后续进行数据标记操作,其中前49条EM功耗曲线采用选择明文方法输入和白盒测试方法,即明密文与密钥已知,以作为训练集与验证集数据;最后1条功耗曲线在随机生成密钥下进行采集,即明密文可知、密钥未知,以作为测试集数据。
通过放大观察EM功耗曲线并定位该算法在单步操作时,结合选择明文方法和已知的输出密文,从输入数据字段中读取密钥信息,根据输入的二进制标量值k中不同的0或1,并基于密钥计算ECC算法中单步执行ECA与ECD的平方和乘法运算中的预期数目和顺序,则可以分别对应到该算法在执行过程中Cswap函数的发生位置和该函数的输入参数。当对应的交换位为0时,则标记该EM功耗曲线为标签0;同理,当对应交换位为1时,则标记该EM功耗曲线为标签1。
根据不同的输入标量为0或1,则对应不同的交换位值为0或1的差异,以此方式截取每一条功耗曲线中每一单步同一位置上的5500个采样点为一条新的EM功耗曲线数据,并以此标记0或1作为后续分析数据的标签。
根据256个输出结果,形成对应不同算法在该网络模型输出下的预测密钥,验证预测密钥是否与测试集上随机生成的原始密钥相同,对比预测密钥与原始密钥中相同字节或者比特数量的占比,计算输出该密码算法在此网络模型中的分析准确率。
请参阅图2,结合图2可以得到,本发明实施例的一种侧信道分析的方法,其基于上述任一项所述的侧信道分析模型的构建方法所构建的所述目标侧信道分析模型来实现,其包括以下步骤:
第一,接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理。
第二,将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
在本实施例中,可选地,对所述第四能耗曲线数据进行预处理的方式和对所述第一目标能耗曲线数据进行预处理的方式相同。
图3示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述的侧信道分析模型的构建方法,或实现上述的侧信道分析的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述的火灾报警的方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在另一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据;对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值;
或使得所述处理器执行以下步骤:接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理;将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
在另一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据;对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值;
或使得所述处理器执行以下步骤:接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理;将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种侧信道分析模型的构建方法,其特征在于,包括:
获取目标密码设备对应的目标训练数据集和目标密钥,所述目标数据集包括从所述目标密码设备上采集的第一目标能耗曲线数据;
对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据;
获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据;
将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值。
2.根据权利要求1所述的侧信道分析模型的构建方法,其特征在于,所述将所述第三目标能耗曲线数据输入初始神经网络进行训练,直至达到预设目标后记录并保存此时的所述初始神经网络对应的目标网络结构与目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为目标侧信道分析模型的网络结构与参数数值,包括:
将所述第三目标能耗曲线数据分为目标训练集数据和目标验证集数据;
使用所述目标训练集数据对所述初始神经网络进行训练,从所述初始神经网络输出的第一目标输出数据,所述第一目标输出数据为目标密钥排名数据;
判断所述第一目标输出数据中与所述目标密钥相同的数量比例是否大于或等于目标预设比例;
若是,则记录并保存此时的所述初始神经网络对应的第一网络结构与第一参数数值,并进一步使用所述目标验证集数据对所述初始神经网络进行训练,从所述初始神经网络输出的第二目标输出数据;
判断所述第二目标输出数据中与所述目标密钥相同的数量比例是否大于或等于所述目标预设比例;
若是,则判定训练已经达到所述预设目标,记录并保存此时的所述初始神经网络对应的所述目标网络结构与所述目标参数数值,并分别将所述目标网络结构与所述目标参数数值作为所述目标侧信道分析模型的网络结构与参数数值。
3.根据权利要求1所述的侧信道分析模型的构建方法,其特征在于,所述对所述第一目标能耗曲线数据进行预处理,得到第二目标能耗曲线数据,包括:
对所述第一目标能耗曲线数据分别进行对齐操作、低通滤波操作和重采样操作,得到所述第二目标能耗曲线数据。
4.根据权利要求1所述的侧信道分析模型的构建方法,其特征在于,所述获取所述目标密码设备对应的目标密码算法类型,并根据所述目标密码算法类型对所述第二目标能耗曲线数据进行标记操作,得到第三目标能耗曲线数据,包括:
根据所述目标密码设备对应的所述第一目标能耗曲线数据,获取所述目标密码设备对应的所述目标密码算法类型;
当所述目标密码算法类型为对称密码算法时,按照第一数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据;
当所述目标密码算法类型为非对称密码算法时,按照第二数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据。
5.根据权利要求4所述的侧信道分析模型的构建方法,其特征在于,所述当所述目标密码算法类型为对称密码算法时,按照第一数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据,包括:
通过明密文输入输出,以0-255字节的id形式标记从对称密码算法中采集到的所述第二目标能耗曲线数据,重复采集并逐一标记256个字节相对应的功耗曲线信息,得到所述第三目标能耗曲线数据。
6.根据权利要求4所述的侧信道分析模型的构建方法,其特征在于,所述当所述目标密码算法类型为非对称密码算法时,按照第二数据标记方式对所述第二目标能耗曲线数据进行标记,得到所述第三目标能耗曲线数据,包括:
根据不同的非对称密码算法,通过0-1比特标记非对称密码算法的所述第二目标能耗曲线数据,得到所述第三目标能耗曲线数据。
7.一种侧信道分析的方法,其特征在于,其基于权利要求1~6任一项所述的侧信道分析模型的构建方法所构建的所述目标侧信道分析模型来实现,其包括以下步骤:
接收从所述目标密码设备上采集的第四能耗曲线数据,并对所述第四能耗曲线数据进行预处理;
将经过预处理的所述第四能耗曲线数据输入所述目标侧信道分析模型进行处理,以输出所述目标密码设备对应的密钥数据。
8.根据权利要求7所述的侧信道分析的方法,其特征在于,对所述第四能耗曲线数据进行预处理的方式和对所述第一目标能耗曲线数据进行预处理的方式相同。
9.一种终端设备,其特征在于,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~6所述的侧信道分析模型的构建方法,或实现如权利要求7~8所述的侧信道分析的方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时实现如权利要求1~6所述的侧信道分析模型的构建方法,或实现如权利要求7~8所述的侧信道分析的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902532.4A CN113630235B (zh) | 2021-08-06 | 2021-08-06 | 一种侧信道分析及其模型构建的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902532.4A CN113630235B (zh) | 2021-08-06 | 2021-08-06 | 一种侧信道分析及其模型构建的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113630235A true CN113630235A (zh) | 2021-11-09 |
CN113630235B CN113630235B (zh) | 2023-07-25 |
Family
ID=78383191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110902532.4A Active CN113630235B (zh) | 2021-08-06 | 2021-08-06 | 一种侧信道分析及其模型构建的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630235B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500022A (zh) * | 2022-01-18 | 2022-05-13 | 深圳模微半导体有限公司 | 侧信道防护能力检测系统 |
CN116961792A (zh) * | 2023-04-24 | 2023-10-27 | 浙江大学 | 一种基于电磁侧信道的设备数字取证装置和取证方法 |
CN117527190A (zh) * | 2024-01-04 | 2024-02-06 | 西安尚易安华信息科技有限责任公司 | 一种基于人工智能的密码安全性评测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995502A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
WO2019168167A1 (ja) * | 2018-03-02 | 2019-09-06 | 学校法人立命館 | 検証方法、検証装置、コンピュータプログラム、及び、検証システム |
CN111565189A (zh) * | 2020-04-30 | 2020-08-21 | 衡阳师范学院 | 基于深度学习的侧信道分析方法 |
CN111680787A (zh) * | 2020-06-12 | 2020-09-18 | 中国人民解放军战略支援部队信息工程大学 | 一种侧信道曲线的处理方法、装置及电子设备 |
CN112787971A (zh) * | 2019-11-01 | 2021-05-11 | 国民技术股份有限公司 | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 |
CN113158179A (zh) * | 2021-03-17 | 2021-07-23 | 成都信息工程大学 | 自动发现泄露模型的有学习的侧信道攻击方法及加密设备 |
-
2021
- 2021-08-06 CN CN202110902532.4A patent/CN113630235B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995502A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
WO2019168167A1 (ja) * | 2018-03-02 | 2019-09-06 | 学校法人立命館 | 検証方法、検証装置、コンピュータプログラム、及び、検証システム |
CN112787971A (zh) * | 2019-11-01 | 2021-05-11 | 国民技术股份有限公司 | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 |
CN111565189A (zh) * | 2020-04-30 | 2020-08-21 | 衡阳师范学院 | 基于深度学习的侧信道分析方法 |
CN111680787A (zh) * | 2020-06-12 | 2020-09-18 | 中国人民解放军战略支援部队信息工程大学 | 一种侧信道曲线的处理方法、装置及电子设备 |
CN113158179A (zh) * | 2021-03-17 | 2021-07-23 | 成都信息工程大学 | 自动发现泄露模型的有学习的侧信道攻击方法及加密设备 |
Non-Patent Citations (2)
Title |
---|
HUANYU WANG等: "Tandem Deep Learning Side-Channel Attack Against FPGA Implementation of AES", 2020 IEEE INTERNATIONAL SYMPOSIUM ON SMART ELECTRONIC SYSTEMS(ISES)(FORMERLY INIS) * |
陈华;习伟;范丽敏;焦志鹏;冯婧怡;: "密码产品的侧信道分析与评估", 电子与信息学报 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500022A (zh) * | 2022-01-18 | 2022-05-13 | 深圳模微半导体有限公司 | 侧信道防护能力检测系统 |
CN116961792A (zh) * | 2023-04-24 | 2023-10-27 | 浙江大学 | 一种基于电磁侧信道的设备数字取证装置和取证方法 |
CN116961792B (zh) * | 2023-04-24 | 2024-04-09 | 浙江大学 | 一种基于电磁侧信道的设备数字取证装置和取证方法 |
CN117527190A (zh) * | 2024-01-04 | 2024-02-06 | 西安尚易安华信息科技有限责任公司 | 一种基于人工智能的密码安全性评测方法 |
CN117527190B (zh) * | 2024-01-04 | 2024-03-08 | 西安尚易安华信息科技有限责任公司 | 一种基于人工智能的密码安全性评测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113630235B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113630235B (zh) | 一种侧信道分析及其模型构建的方法与装置 | |
Weissbart et al. | One trace is all it takes: Machine learning-based side-channel attack on eddsa | |
CN112787971B (zh) | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 | |
Gupta et al. | HiSA-SMFM: historical and sentiment analysis based stock market forecasting model | |
He et al. | MTAD‐TF: Multivariate Time Series Anomaly Detection Using the Combination of Temporal Pattern and Feature Pattern | |
Lerman et al. | A time series approach for profiling attack | |
Weissbart et al. | Systematic side-channel analysis of curve25519 with machine learning | |
Do et al. | A novel non-profiled side channel attack based on multi-output regression neural network | |
Arunan et al. | A federated learning-based industrial health prognostics for heterogeneous edge devices using matched feature extraction | |
Xu et al. | Using deep learning to combine static and dynamic power analyses of cryptographic circuits | |
Paguada et al. | Controlling the deep learning-based side-channel analysis: A way to leverage from heuristics | |
Huang et al. | testrnn: Coverage-guided testing on recurrent neural networks | |
CN114285545A (zh) | 一种基于卷积神经网络的侧信道攻击方法及系统 | |
Ly et al. | T-shape data and probabilistic remaining useful life prediction for Li-ion batteries using multiple non-crossing quantile long short-term memory | |
Avvaru et al. | Predicting hard and soft-responses and identifying stable challenges of MUX PUFs using ANNs | |
Baur et al. | Predicting high-dimensional heterogeneous time series employing generalized local states | |
Jovic et al. | Traditional machine learning methods for side-channel analysis | |
Krček et al. | Deep learning on side-channel analysis | |
Li et al. | A deep learning-based side channel attack model for different block ciphers | |
Tolba et al. | Machine learning based cryptanalysis techniques: perspectives, challenges and future directions | |
Hernández-Álvarez et al. | How to attack a galaxy: from Star Wars to Star Trek | |
Li et al. | Blockchain abnormal transaction detection method based on weighted sampling neighborhood nodes | |
CN113269246B (zh) | 基于事务逻辑的设备状态检测方法、装置、设备和介质 | |
CN114157411B (zh) | 一种基于LeNet5-SVM的分组加密识别方法 | |
Ahmed et al. | Deep Learning Method for Power Side-Channel Analysis on Chip Leakages |
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 |