CN111565189A - 基于深度学习的侧信道分析方法 - Google Patents

基于深度学习的侧信道分析方法 Download PDF

Info

Publication number
CN111565189A
CN111565189A CN202010368459.2A CN202010368459A CN111565189A CN 111565189 A CN111565189 A CN 111565189A CN 202010368459 A CN202010368459 A CN 202010368459A CN 111565189 A CN111565189 A CN 111565189A
Authority
CN
China
Prior art keywords
layer
dimension
convolution
sub
dimensional
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
Application number
CN202010368459.2A
Other languages
English (en)
Other versions
CN111565189B (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.)
Hengyang Normal University
Original Assignee
Hengyang Normal University
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 Hengyang Normal University filed Critical Hengyang Normal University
Priority to CN202010368459.2A priority Critical patent/CN111565189B/zh
Publication of CN111565189A publication Critical patent/CN111565189A/zh
Application granted granted Critical
Publication of CN111565189B publication Critical patent/CN111565189B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种基于深度学习的侧信道分析方法,整体分为两个阶段:一、建模阶段;二、分析阶段。其中,建模阶段又分为四个步骤:步骤一、功耗采集与数据预处理;步骤二、功耗数据集的构建;步骤三、深度学习模型设计;步骤四、模型训练。分析阶段则主要分为两个步骤:步骤五、建立模型与分析结果评估准则;步骤六、在攻击集上利用阶段一训练的模型进行侧信道分析与评估。本发明结合侧信道分析技术中的模板攻击技术,将传统分析中的数理统计技术转化为深度学习模型,并且结合功耗特性进行网络模型设计,同时结合监督训练与非监督训练,既降低了模板攻击的实施难度,又提高了攻击的效率。

Description

基于深度学习的侧信道分析方法
技术领域
本发明属于侧信道分析领域,更进一步涉及模板攻击及嵌入式密码设备领域中的一种基于深度学习的侧信道分析方法。本发明可以用于模板攻击中建模及攻击阶段,可提高攻击效率及准确率,并有一定对抗掩码技术的能力。
背景技术
传统密码分析中常用黑盒的方式来对一个密码算法进行分析,黑盒模型将密码算法当成一个黑色的盒子,内部的元件不可探查,攻击者只能通过输入与输出来攻击密码,典型的分析方法有如差分分析,代数分析等等。与黑模式不同,侧信道分析通过利用密码算法在物理设备上运行时泄露如时间、功耗、电磁等信息与算法本身的部件结合来攻击算法,即所谓的灰盒模式,相比传统的密码分析方法,侧信道分析拥有更大破坏性,能高效的攻击密算法,许多算法本身在数学特性上已经十分安全,几乎能抵御任何被黑盒攻击,但仍然会被侧信息分析的所破解。
近年来,随着机器学习和深度学习的发展,这些技术已经得到广泛应用,如气象,图形识别,自动驾驶等等领域,在侧信道分析领域,已经有一些结合机器学习和深度学习的方法被提出,2011年,论文“Machine learning in side-channel analysis:a firststudy”中将机器学习最小二乘支持向量机(LS-SVM)应用于模板攻击中,并与模板攻击进行了比较,探讨了机器学习的参数在攻击中的影响。2012年,论文“Intelligent machinehomicide-breakingcryptographic devices using support vector machines”则进一步提出了基于SVM的侧信道攻击技术,2015年,论文“Template attacks vs.machinelearning revisited(and the curse of dimensionality in side-channel analysis)”则提出了基于随机森林的模板攻击应用于高噪声场景的方法。2016年,“Profiling poweranalysis attack based on MLP in DPA contest V4.2”则将模板攻击与深度学习的多层感知机技术相结合,改进了RSM的攻击方法。2017年“Convolutional neuralnetworks withdata augmentation against jitter-basedcountermeasures–profilingattackswithout pre-processing”则将卷积神经网络运用于侧信道分析中。2018年“Study ofDeep Learning Techniques forSide-Channel Analysis and Introduction toASCADDatabase”中,对侧信道分析与深度学习进步作了细致介绍,并比较了多层感知机与卷积神经网络的攻击效率,详细介绍了在深度学习中,超参数对结果的影响,开放了一个基于AES算法的功耗数据库ASCAD Database。
以上论文都旨在将传统密码分析方法与机器学习或深度学习相结合,以提高传统方法的效率和成功率,但也存在一些不足之处。文章都开创性的提出了许多基于深度学习的侧信道分析方法,同时对比了各种模型的攻击结果,但也忽视了功耗本身的特性以及这种特性对攻击结果的影响
发明内容
本发明的目的在于克服上述已有方法的不足,针对功耗本身与算法结构的特征,提出一种基于深度学习的侧信道分析方法,并针对该特征设计了一种网络模型PAFDCnet网络,该网络由F、D、C三层子网络构成,分别对功耗轨迹进行特征提取与进一步降维,并对该特征进行进一步的深度学习及分类,经过实验验证与评估,该模型能的性能与结果得较大提高。
为了实现上述技术目的,本发明的技术方案是,
一种基于深度学习的侧信道分析方法,包括如下步骤:
一、建模:
1)功耗采集与数据预处理:
从密码设备上采集功耗泄露信息并进行主成分分析与数据降维,形成原始数据;
2)构建数据集:
将原始数据分为建模集与攻击集,并将建模集划分为训练集与测试集;
3)建立侧信道分析深度学习模型:
构建由功耗信息特征提取子网络作为F层、深度学习子网络作为D层、分类子网络作为C层的三层子网络组成的深度学习网络PAFDCnet,其中F层的网络参数预先训练并加载至网络,初始化D层与C层的网络参数;
4)训练PAFDCnet:
4a)对PAFDCnet中F层进行非监督预训练,取训练集和测试集中的样本,采用K-Fold交叉验证的方法进行对F层进行训练,采用梯度下降方法对F层中的权重参数进行更新,取其中平均损失最小的F层网络模型,保存其权重参数;
4b)对整个PAFDCnet进行监督训练,取所有训练集与测试集,采用K-Fold交叉验证的方法进行训练,取其中平均损失最小的网络模型,保存模型;
二、分析,实施攻击集上的侧信道攻击:
5)建立对模型输出结果的三种评估准则:rank、acc和汉明重量;
6)使用保存的模型基于攻击集进行侧信道分析,并基于评估准则评估结果,当结果满足要求时,采用所保存的模型进行实际侧信道分析,否则返回步骤一。
所述的基于深度学习的侧信道分析方法,步骤1)中从密码设备上采集功耗泄露信息包括如下步骤:
1、指定密钥和掩码并循环产生随机明文,同时对明文、密钥和掩码分别按顺序进行编号,向密码设备发送随机明文、密钥与掩码,密码设备运行算法得到密文,并同时采集功耗信息,且赋予密文和功耗信息与对应明文相同的编号;
2、重复步骤1,直到获得预设数量的功耗泄露信息;
3、对所有功耗泄露信息使用主成份分析方法进行降维,降维后每一条功耗维度为700;步骤1)中形成原始数据包括如下步骤:
从降维后的功耗泄露信息中提取功耗信息和控制信息,并将功耗信息保存为二维数组,二维维度分别为条目总数和单条信息的维度,再将控制信息保存为三维数组,三维维度分别为条目总数、控制信息种类数和每条信息的字节数,其中控制信息种类包括明文、密钥、密文与掩码信息4种。
所述的基于深度学习的侧信道分析方法,步骤2)中将原始数据分为建模集与攻击集包括以下步骤:
将原始数据按5:1的比例划分为建模集与攻击集,同时对攻击集从0开始重新编号;
步骤2)中训练集与测试集构建方法如下:
以建模集中原始数据的功耗信息作为功耗样本,然后基于对应的控制信息来计算每个功耗样本的标签值label={labeli}:
Figure BDA0002477305280000031
其中,Sbox表示AES密码算法的S盒替换操作,plaintexti[2]表编号为i的明文中第三个字节,keyi[2]表示编号为i的密钥中第三个字节,N为建模集中原始数据的数量;
将功耗样本与相应的label一一对应,然后按9:1的比例对数据进行划分来构成训练集Dtrain和测试集Dtest,并对测试集从0开始重新编号;
步骤2)中攻击集的构建方法如下:
从被划分为攻击集的原始数据中选取相应的功耗信息以及控制信息中的密钥信息,作为攻击集。
所述的基于深度学习的侧信道分析方法,步骤3)所述网络模型PAFDCnet的设计如下:
所述功耗信息特征提取子网络F层设计的层次结构依次为:
第一卷积层的卷积种类为一维卷积,输入维度为1,输出维度为36,卷积核大小为11,步长为7,填充长度为5;第一激活层,激活函数为ReLU函数;第二卷积层的卷积种类为一维卷积,输入维度为36,输出维度为13,卷积核大小为11,步长为3,填充长度为5;第三卷积层的卷积种类为一维转置矩阵,输入维度为13,输出维度为36,卷积核大小为11,步长为3,填充长度为5;第二激活层,激活函数为ReLU函数;第四卷积层,卷积种类为一维转置矩阵,输入维度为36,输出维度为1,卷积核大小为11,步长为7,填充长度为2;
所述深度学习子网络D层结构依次如下:
第一卷积层种类为一维卷积,输入维度13,输出维度64,卷积核大小11,步长为2,填充长度5;第一规范层种类为一维BatchNorm,维度为64;第一激活层,激活函数为ReLU;第一池化层,种类为最大值池化层,核心大小为3,步长为2,填充长度为1;接下来为第一子块;第一过渡层;第二子块;第二过渡层;第三子块;第二规范层,种类为一维BatchNorm,维度为448;
所述第一子块包含六个子层,且每个子层结构类似,依次为:规范层A,激活层A,卷积层A,规范层B,激活层B和卷积层B;其中,激活层A与激活层B的参数为ReLU函数;每个子层的规范层B的参数一致,种类为一维BatchNorm,维度为32;每个子层的卷积层B的参数也一致,种类为一维卷积,输入为32维,输出为32维,卷积核大小为3,步长为1,填充长度为1;第一个子层的规范层A种类为一维BatchNorm,维度为64;卷积层A的种类为一维卷积,输入维度为64,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第二个子层的规范层A种类为一维BatchNorm,维度为96;卷积层A的种类为一维卷积,输入维度为96,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第三个子层的规范层A种类为一维BatchNorm,维度为128;卷积层A的种类为一维卷积,输入维度为128,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第四个子层的规范层A种类为一维BatchNorm,维度为160;卷积层A的种类为一维卷积,输入维度为160,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第五个子层的规范层A种类为一维BatchNorm,维度为192;卷积层A的种类为一维卷积,输入维度为196,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第六个子层的规范层A种类为一维BatchNorm,维度为224;卷积层A的种类为一维卷积,输入维度为224,输出维度为32,卷积核大小为1,步长为1,填充长度为0;
所述第一过渡层的结构依次为:规范层C、激活层C、卷积层C和池化层C;其中规范层C的种类为一维BatchNorm,维度为256;激活层C的激活函数为ReLU;卷积层C的种类为一维卷积,输入维度为256,输出维度为128,卷积核大小为1,步长为1,填充长度为0;池化层种类为平均值池化,核心大小为2,步长为2,填充长度为0;
所述第二子块结构包含12个子层,每个子层结构与第一子块的子层结构一致,其中规范层A的维度与卷积层A的输入维度均为128、160、192、224、256、288、320、352、384、416、448、480,其他参数与第一子块相同;
所述第二过渡层结构与第一过渡层一致,参数变化如下:规范层C的种类为一维BatchNorm,维度为512;卷积层C的种类为一维卷积,输入维度为512,输出维度为256,卷积核大小为1,步长为1,填充长度为0;其他相同;
所述第三子块与第一子块结构一致,子层数为6,其中规范层A的维度与卷积层A的输入维度均为256、288、320、352、384、416,其他参数与第一子块相同;
步骤3)中所述C层分类子网络结构如下:
第一规范层,种类为一维BatchNorm,维度为448;第二池化层,种类为一维自适应平均值池化层,维度为(1,448,1);第三线性层,维度为(448,256);
将F、D、C三层依次连接起来,得到PAFDCnet网络,其中F层加载预训练参数,并锁定参数不变。
所述的基于深度学习的侧信道分析方法,步骤4)中,所述的步骤4a)包括:
对F层进行非监督训练:
1)取训练集中α条功耗样本做为非监督训练集,取测试集中β条明文做为非监督测试集;
2)初始化F层的权重参数,参数满足高斯分布:即权重参数均值为0方差为1,设定迭代次数epoch和学习速率lr;
3)将非监督训练集均分为任意组,每组为bs个,然后取其中一组功耗样本的功耗信息,输入到F层子网络中,同时以该输入作为label与F层的输出进行损失计算;
4)利用下述损失函数计算公式,计算该组样本的损失;
Figure BDA0002477305280000051
其中,lossk表示第k组样本中所选取的bs个样本的损失平均值,i表示所选样本的序号,i=1,2,3,...,bs;f(xi,w)表示F层子网络权重参数为w时的输出,xi表示选取的样本;
5)按照下式进行权重更新:
Figure BDA0002477305280000061
其中,wj *表示F层网络权重本次迭代后的更新值,
Figure BDA0002477305280000062
表示本次迭代中第k组样本损失对权重的偏导,w表示当前权重,j表示当前epoch的序号,j=1,2,3,...,epoch;
6)重复步骤3、4、5,直到非监督训练集中样本全部参与损失计算与权重更新操作,即完成一次非监督训练迭代,并记录网络的权重为
Figure BDA0002477305280000063
同时计算第j个非监督训练迭代中所有样本的平均损失lossj m:
Figure BDA0002477305280000064
7)从非监督测试集中任选cs个样本,输入到F层子网络中,并将F层的权重参数设置为
Figure BDA0002477305280000065
8)计算损失
Figure BDA0002477305280000066
其中i表示所选样本序号,i=1,2,3,...,cs f(xi,w)表示F层子网络权重参数为wj *时的输出,j为epoch的序号;
9)重复步骤7、8,直到非监督测试集中所有样本全部参与损失计算与权重更新操作,即完成一次非监督测试迭代,同时计算第j个非监督测试迭代中所有样本的平均损失lossj m':
Figure BDA0002477305280000067
10)返回步骤3重新执行,直到达到迭代次数epoch;记录训练集平均损失lossj m中最小损失lossj m_min与该损失所对应的权重
Figure BDA0002477305280000068
与网络;记录测试集最小平均损失lossj m',保存与之对应的网络;最终得到一个权重矩阵,两个网络;
完成上述步骤后,即得到功耗信息特征提取子网络F层的权重参数并保存。
所述的基于深度学习的侧信道分析方法,步骤4)中,所述的步骤4b)包括:
1)、修改PAFDCnet网络F层的连接,将F层中第一卷积层与第二卷积层直接与D层相连,其他结构不变。设置权重参数为步骤4a)训练出来的
Figure BDA0002477305280000071
2)、进行监督训练,取训练集中除去非监督训练集之外的γ条功耗样本为监督训练集,取测试集中除去非监督测试集之外的δ条明文为监督测试集;设定迭代次数epoch和学习速率lr;
3)将监督训练集均分为任意组,每组为bs个,然后取其中一组样本的功耗信息,输入到PAFDCnet网络中,同时以该输入作为label与F层的输出进行损失计算;
4)利用下述损失函数计算公式,计算该组样本的损失;
Figure BDA0002477305280000072
5)更新权重:
Figure BDA0002477305280000073
6)重复步骤3、4、5,直到监督训练集中所有样本全部参与损失计算与权重更新操作,即完成一次监督训练迭代,并记录网络的权重为
Figure BDA0002477305280000074
同时计算第j个监督训练迭代中所有样本的平均损失lossj m:
Figure BDA0002477305280000075
7)从监督测试集中任选cs个样本,输入到PAFDCnet网络中,并将权重参数设置为
Figure BDA0002477305280000076
8)计算损失
Figure BDA0002477305280000077
其中i表示所选样本序号,i=1,2,3,...,cs f(xi,w)表示F层子网络权重参数为wj *时的输出,j为epoch的序号;
9)重复步骤7、8,直到监督测试集中全部个样本全部参与损失计算与权重更新操作,即完成一次监督测试迭代,同时计算第j个监督测试迭代中所有样本的平均损失lossj m':
Figure BDA0002477305280000078
10)返回步骤3重新执行,直到达到迭代次数epoch;记录监督训练集平均损失lossj m中最小损失lossj m_min与该损失所对应的权重
Figure BDA0002477305280000081
与网络;记录监督测试集最小平均损失lossj m',保存与之对应的网络。
所述的基于深度学习的侧信道分析方法,步骤(5)建立对模型输出结果的三种评估准则为:
建立rank评估准则:
1)设PAFDCnet的输入集为Dattact={power,key},输出结果为f(Dattact,wj *),其中Dattact表示攻击集,评估准则为:
设中间值
Figure BDA0002477305280000082
其中f表示PAFDCnet模型,w*为训练好的权重参数,
Figure BDA0002477305280000083
表示AES算法中第一个S盒输出中的第4个字节,由明文中第4个字节和候选密钥k计算得出,Sbox表示盒,plaintext表示明文;
对key_proba进行从大到小排序,排序后为sorted_proba,利用numpy数组的where函数,计算key_proba与控制信息集中密钥的平均rank值:
Figure BDA0002477305280000084
其中np.where表示输出满足括号内条件的元素的坐标,即如果sorted_proba中有一个元素与key_proba[key]相等,则输出它在sorted_proba中的坐标;
2)建立acc即准确率评估准则:
Figure BDA0002477305280000085
其中arg max表示最大值函数的反函数,将f(poweri,w*)的结果沿x轴坐标0-255绘制曲线,以该曲线的最高值所对应的坐标x即为keyi
3)建立汉明重量评估准则:
计算结果与标签的汉明重量,并将其分为两大类:汉明重量大于等于4和小于4;汉明重量的计算方式为统计该值的二进制中1的个数,即:
Hanmingweight=count1(bin(argmax(f(poweri,w*))))
Figure BDA0002477305280000091
其中count1表示统计1的个数,bin表示将数字二进制化。
本发明的技术效果在于:
第一,本发明针对功耗轨迹与算法具体部件相关特征,设计了三层子网络结构,结构基础部件采用一维卷积操作来进行特征提取与参数学习,首先设计了功耗特征提取子网络F层,然后在表层特征层的基础上进一步构建了基于残差模型深层特征学习子网络D层,最后,针对密钥空间进行分类器构造;并且,在训练时将F层进行非监督预训练,将其参数作为整体PAFDCnet网络的不变参数,再进行第二监督训练,将其他参数训练出来,最终保存平均损失最小的网络。克服了现有技术没有针对性网络设计的问题。
第二,本发明相比现有技术,在结果上有了较大的进步,即提高了侧信道分析的成功率,又大量降低了分析所需样本数量,同时,在结果评估上,拥有更高的准确率和更好的rank值,同时也在算法被掩码保护时进行攻击。
第三,本发明在构建数据集上对原始数据进行简洁化组织,摈弃冗余数据,构建更高效,读取速度更快的数据集,有效减少了训练所需时间,提高模型训练效率。
下面结合附图对本发明做进一步的描述。
附图说明
图1是本发明的流程图;
图2是本发明的结果图。
具体实施方式
参照图1,本实施例的步骤包括:
步骤(1a),数据集的构建。
将密码算法如AES算法下载至嵌入式密码设备中。
通过控制软件指定密钥和掩码并能循环产生随机明文,向密码设备发送随机明文、密钥与掩码,密码设备运行算法后将密文传回控制软件,分别按序数对明文、密钥、掩码与密文进行编号。
设置示波器按照一定的采样频率对功耗信息如电压进行采集,并对该信息进行与2中相同的编号处理。
重复以上两个操作,获得6万条功耗泄露信息。
对这6万条使用主成份分析方法进行降维,降维后每一条功耗维度为700,编号从0至59999。
步骤(1b)具体如下:
取步骤(1a)中编号的数据得到五个集合。
第一个集合为功耗信息集,编号为0-59999,每条功耗信息的维度为700。
第二个集合为明文信息集,编号为0-59999,每条明文的维度为16,表示组成每条明文的16个字节。
第三个集合为密钥信息集,其编号和维度与明文一致。
每四个集合为密文信息集,其编号和维度与明文一致。
第五个集合为掩码信息集,编号与维度与前者同样一致。
将第一个集合单独保存为一个二维数组,维度为60000,700。将第二至第四个集合在一维上进行合并,得到一个三维数组,维度分别为60000,4,16。其第一维表示编号,第二维表示明文、密文、密钥、掩码4种种类的信息,第三维表示16个字节。这样,得到两个数组:功耗信息集(包含60000条功耗信息)、控制信息集(包含60000条明文plaintext、密钥key、密文ciphertext与掩码mask信息)。
步骤(2)中所述三种数据集的构造具体方法如下:
步骤(2a)中将原始数据分成两个部分方法如下:
将编号为0-49999的功耗信息集与控制信息集划分为建模集,编号为50000-59999的功耗信息集与控制信息集划分为攻击集,同时对攻击集进行重新编号,使其编号为0-9999。
步骤(2b)训练集与测试集构建方法如下:
首先,在建模集中选取编号为0-44999的功功耗信息集作为训练集的功耗样本,然后,同样选取编号为0-44999的控制信息集,按照下述公式来计算训练集label:
Figure BDA0002477305280000101
其中,Sbox表示AES密码算法的S盒替换操作,plaintexti[2]表编号为i的明文中第三个字节,keyi[2]表示编号为i的密钥中第三个字节。
将功耗样本与相同编号的label一一对应,构成训练集,记为Dtrain
测试集的构建方法与训练集基本一致,首先在建模集中选取编号为45000-49999的功耗样本,与训练集相似,使用上述公式来计算label,不同的是,公式中i的取值范围为45000-49999。整理功耗样本和label得到测试集Dtest,并将测试集的编号修改为0-9999。
步骤(2c)中所述攻击数据集的构建方法如下:
从上述编号为0-9999的攻击集中选取所有的功耗信息集,作为攻击数据集,该数据集只需要功耗信息集与控制信息集中的密钥信息,不需要其他控制信息集以及计算label。
步骤(3)所述网络模型PAFDCnet的具体设计如下:
功耗信息特征提取子网络(F层)设计的层次结构依次为:
第一卷积层的卷积种类为一维卷积,输入维度为1,输出维度为36,卷积核大小为11,步长为7,填充长度为5;第一激活层,激活函数为ReLU函数;第二卷积层的卷积种类为一维卷积,输入维度为36,输出维度为13,卷积核大小为11,步长为3,填充长度为5;第三卷积层的卷积种类为一维转置矩阵,输入维度为13,输出维度为36,卷积核大小为11,步长为3,填充长度为5;第二激活层,激活函数为ReLU函数;第四卷积层,卷积种类为一维转置矩阵,输入维度为36,输出维度为1,卷积核大小为11,步长为7,填充长度为2。
深度学习子网络(D层)结构依次如下:
第一层卷积层种类为一维卷积,输入维度13,输出维度64,卷积核大小11,步长为2,填充长度5;第一规范层种类为一维BatchNorm,维度为64;第一激活层,激活函数为ReLU;第一池化层,种类为最大值池化层,核心大小为3,步长为2,填充长度为1;接下来为第一子块;第一过渡层;第二子块;第二过渡层;第三子块;第二规范层,种类为一维BatchNorm,维度为448。
第一子块包含六个子层,每个子层结构类似,依次为:规范层A,激活层A,卷积层A,规范层B,激活层B,卷积层B。六个子层依次构成第一子块,但每个子层的参数不完全相同,其中:激活层A与激活层B的参数都为ReLU函数;规范层B的参数一致,种类为一维BatchNorm,维度为32;卷积层B的参数也与其他子层一致,种类为一维卷积,输入为32维,输出为32维,卷积核大小为3,步长为1,填充长度为1。而规范层A、卷积层A两个部位的参数不同,其中:第一个子层的规范层A种类为一维BatchNorm,维度为64;卷积层A的种类为一维卷积,输入维度为64,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第二个子层的规范层A种类为一维BatchNorm,维度为96;卷积层A的种类为一维卷积,输入维度为96,输出维度为32,卷积核大小为1,步长为1,填充长度为0。第三个子层的规范层A种类为一维BatchNorm,维度为128;卷积层A的种类为一维卷积,输入维度为128,输出维度为32,卷积核大小为1,步长为1,填充长度为0。第四个子层的规范层A种类为一维BatchNorm,维度为160;卷积层A的种类为一维卷积,输入维度为160,输出维度为32,卷积核大小为1,步长为1,填充长度为0。第五个子层的规范层A种类为一维BatchNorm,维度为192;卷积层A的种类为一维卷积,输入维度为196,输出维度为32,卷积核大小为1,步长为1,填充长度为0。第六个子层的规范层A种类为一维BatchNorm,维度为224;卷积层A的种类为一维卷积,输入维度为224,输出维度为32,卷积核大小为1,步长为1,填充长度为0。
第一过渡层的结构依次为:规范层C、激活层C、卷积层C、池化层C。其中规范层C的种类为一维BatchNorm,维度为256;激活层C的激活函数为ReLU;卷积层C的种类为一维卷积,输入维度为256,输出维度为128,卷积核大小为1,步长为1,填充长度为0;池化层种类为平均值池化,核心大小为2,步长为2,填充长度为0。
第二子块结构与第一子块类似,包含12个子层,每个子层结与第一子块结构一致,除规范层A与卷积层A以外其他部位均与第一子块中子层参数一致,规范层A与卷积层A的变化规则也与第一子块相似,只有规范层A的维度与卷积层A的输入维度发生了变化,且变化数值一致,而其他参数则不变,因此,对第一至第十二个子层,其维度变为分依次为:128、160、192、224、256、288、320、352、384、416、448、480。
第二过渡层结构与第一过渡层一致,参数变为:规范层C的种类为一维BatchNorm,维度为512;激活层C的激活函数为ReLU;卷积层C的种类为一维卷积,输入维度为512,输出维度为256,卷积核大小为1,步长为1,填充长度为0;池化层种类为平均值池化,核心大小为2,步长为2,填充长度为0。
第三子块与第一、第二子块结构一致,子层数为6,参数变化规律与第一、第二子块也类似,具体维度变化为:256、288、320、352、384、416。
分类子网络(C层)结构如下:
第一规范层,种类为一维BatchNorm,维度为448;第二池化层,种类为一维自适应平均值池化层,维度为(1,448,1);第三线性层,维度为(448,256)。
将F、D、C三层依次连接起来,得到步骤(3d)中PAFDCnet网络,其中F层加载预训练参数,并锁定参数不变。
步骤(4a)所述网络模型PAFDCnet的训练方法具体如下:
第1步,取训练集中任意5000条样本做为非监督训练的训练集,取任意测试集中500条明文做为非监督训练的测试集。
第2步,初始化F层的权重参数,参数满足高斯分布,均值为0方差为1,取迭代次数epoch为300,学习速率lr设置为0.0001。
第3步,从非监督训练集中选取10个样本的功耗信息,输入到F层子网络中,同时以该输入作为label与F层的输出进行损失计算。
第4步,利用下述损失函数计算公式,计算所有选取样本的损失值:
Figure BDA0002477305280000131
其中,loss表示所选样本的损失平均值,i表示所选样本的序号,i=1,2,3,...,10;f(xi,w)表示F层子网络权重参数为w时的输出,xi表示选取的样本。
按照下式进行权重更新:
Figure BDA0002477305280000132
其中,wj *表示F层网络权重本次迭代后的更新值,
Figure BDA0002477305280000133
表示本次迭代中平均损失对权重的偏导,w表示当前权重,j表示当前epoch的序号,j=1,2,3,...,epoch。
重复第3-5步,直到5000个样本全部参与损失计算与权重更新操作,并记录网络的权重为
Figure BDA0002477305280000134
同时计算第j个epoch的所有样本平均损失lossj m
从非监督测试集中选取10个样本,输入到F层子网络中,并将F层的权重参数设置为
Figure BDA0002477305280000135
计算损失
Figure BDA0002477305280000136
其中i表示所选样本序号,i=1,2,3,...,10
f(xi,w)表示F层子网络权重参数为wj *时的输出,j为epoch的序号。
重复第7-8步,直到测试集中500个样本全部参与损失计算与权重更新操作,同时计算第j个epoch的所有样本平均损失lossj m'。
重复第3-9步,直到300个epoch完全执行完毕。记录训练集最小平均损失lossj m与该损失对应的权重
Figure BDA0002477305280000137
记录测试集最小平均损失lossj m',保存与之对应的网络。
整个过程执行完成之后,得到功耗信息特征提取子网络F层的权重参数,进行步骤(4b),训练PAFDCnet网络,详细步骤如下:
第1步,修改PAFDCnet网络F层的连接,将F层中第一卷积层与第二卷积层直接与D层相连,其他结构不变。设置权重参数为步骤(4a)训练出来的
Figure BDA0002477305280000141
第2步,进行监督训练,取训练集中剩余45000条样本做为非监督训练的训练集,取测试集中剩余的500条明文做为非监督训练的测试集。
接下来与步骤(4a)中的3-10一致,300个epoch执行完成之后得到PAFDCnet网络的权重,网络训练结束。
步骤(5)所述网络模型PAFDCnet的建立模型结果评估准则具体如下:
一、设PAFDCnet的输入集为Dattact={power,key},输出结果为f(Dattact,wj *),则第一条评估准则rank如下:
设中间值
Figure BDA0002477305280000142
其中f表示PAFDCnet模型,w*为训练好的权重参数。
Figure BDA0002477305280000143
表示AES算法中第一个S盒输出中的第4个字节,由明文中第4个字节和候选密钥k计算得出,Sbox表示盒,plaintext表示明文,其中候选密钥k的值覆盖了0到255中每一个值,即一个字节密钥的值,rank是用来计算当密钥为k(因为k的值不确定,认为它是候选【假设】密钥)时,PAFDCnet输出的结果与k之间的关系,key_proba即表模型输出结果对应候选密钥为k的可能性,根据这个结果再与真实的密钥进行对比,计算rank值。
对key_proba进行从大到小排序,排序后为sorted_proba。利用numpy数组的where函数,计算key_proba与真实密钥的平均rank值,方法如下:
Figure BDA0002477305280000144
二、第二种评估准则为准确率,计算方法如下:
Figure BDA0002477305280000145
三、第三种评估准则为汉明重量,计算结果的与标签的汉明重量,并将其分为两大类,汉明重量大于等于4和小于4。汉明重量的计算方式为统计该值的二进制中1的个数。计算方法如下:
Hanmingweight=count1(bin(argmax(f(poweri,w*))))
Figure BDA0002477305280000146
采用上述三种评估方法对结果进行评估,结果如图2所示,结果图中包含三个子图,分别为result-label、rank与Hanming-Weight。其中,子图result-label中实线为PAFDCnet输出结果,虚线为标签值,即AES中第一轮第四个S-box的输出;子图rank为rank值随样本数的为化,当rank值接近0时,表示需要该值所对应的样本个数可解出密钥;子图Hanming-Weight为PAFDCnet输出结果的汉明重量分类与标签值的汉明重量分类对比图。其中,空心菱形表示标签值的汉明重量分类,坚线表示PAFDCnet输出结果的汉明重量分类。

Claims (7)

1.一种基于深度学习的侧信道分析方法,其特征在于,包括如下步骤:
一、建模:
1)功耗采集与数据预处理:
从密码设备上采集功耗泄露信息并进行主成分分析与数据降维,形成原始数据;
2)构建数据集:
将原始数据分为建模集与攻击集,并将建模集划分为训练集与测试集;
3)建立侧信道分析深度学习模型:
构建由功耗信息特征提取子网络作为F层、深度学习子网络作为D层、分类子网络作为C层的三层子网络组成的深度学习网络PAFDCnet,其中F层的网络参数预先训练并加载至网络,初始化D层与C层的网络参数;
4)训练PAFDCnet:
4a)对PAFDCnet中F层进行非监督预训练,取训练集和测试集中的样本,采用K-Fold交叉验证的方法进行对F层进行训练,采用梯度下降方法对F层中的权重参数进行更新,取其中平均损失最小的F层网络模型,保存其权重参数;
4b)对整个PAFDCnet进行监督训练,取所有训练集与测试集,采用K-Fold交叉验证的方法进行训练,取其中平均损失最小的网络模型,保存模型;
二、分析,实施攻击集上的侧信道攻击:
5)建立对模型输出结果的三种评估准则:rank、acc和汉明重量;
6)使用保存的模型基于攻击集进行侧信道分析,并基于评估准则评估结果,当结果满足要求时,采用所保存的模型进行实际侧信道分析,否则返回步骤一。
2.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于:步骤1)中从密码设备上采集功耗泄露信息包括如下步骤:
1)、指定密钥和掩码并循环产生随机明文,同时对明文、密钥和掩码分别按顺序进行编号,向密码设备发送随机明文、密钥与掩码,密码设备运行算法得到密文,并同时采集功耗信息,且赋予密文和功耗信息与对应明文相同的编号;
2)、重复步骤1,直到获得预设数量的功耗泄露信息;
3)、对所有功耗泄露信息使用主成份分析方法进行降维,降维后每一条功耗维度为700;步骤1)中形成原始数据包括如下步骤:
从降维后的功耗泄露信息中提取功耗信息和控制信息,并将功耗信息保存为二维数组,二维维度分别为条目总数和单条信息的维度,再将控制信息保存为三维数组,三维维度分别为条目总数、控制信息种类数和每条信息的字节数,其中控制信息种类包括明文、密钥、密文与掩码信息4种。
3.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于:步骤2)中将原始数据分为建模集与攻击集包括以下步骤:
将原始数据按5:1的比例划分为建模集与攻击集,同时对攻击集从0开始重新编号;
步骤2)中训练集与测试集构建方法如下:
以建模集中原始数据的功耗信息作为功耗样本,然后基于对应的控制信息来计算每个功耗样本的标签值label={labeli}:
Figure FDA0002477305270000021
其中,Sbox表示AES密码算法的S盒替换操作,plaintexti[2]表编号为i的明文中第三个字节,keyi[2]表示编号为i的密钥中第三个字节,N为建模集中原始数据的数量;
将功耗样本与相应的label一一对应,然后按9:1的比例对数据进行划分来构成训练集Dtrain和测试集Dtest,并对测试集从0开始重新编号;
步骤2)中攻击集的构建方法如下:
从被划分为攻击集的原始数据中选取相应的功耗信息以及控制信息中的密钥信息,作为攻击集。
4.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于:步骤3)所述网络模型PAFDCnet的设计如下:
所述功耗信息特征提取子网络F层设计的层次结构依次为:
第一卷积层的卷积种类为一维卷积,输入维度为1,输出维度为36,卷积核大小为11,步长为7,填充长度为5;第一激活层,激活函数为ReLU函数;第二卷积层的卷积种类为一维卷积,输入维度为36,输出维度为13,卷积核大小为11,步长为3,填充长度为5;第三卷积层的卷积种类为一维转置矩阵,输入维度为13,输出维度为36,卷积核大小为11,步长为3,填充长度为5;第二激活层,激活函数为ReLU函数;第四卷积层,卷积种类为一维转置矩阵,输入维度为36,输出维度为1,卷积核大小为11,步长为7,填充长度为2;
所述深度学习子网络D层结构依次如下:
第一卷积层种类为一维卷积,输入维度13,输出维度64,卷积核大小11,步长为2,填充长度5;第一规范层种类为一维BatchNorm,维度为64;第一激活层,激活函数为ReLU;第一池化层,种类为最大值池化层,核心大小为3,步长为2,填充长度为1;接下来为第一子块;第一过渡层;第二子块;第二过渡层;第三子块;第二规范层,种类为一维BatchNorm,维度为448;
所述第一子块包含六个子层,且每个子层结构类似,依次为:规范层A,激活层A,卷积层A,规范层B,激活层B和卷积层B;其中,激活层A与激活层B的参数为ReLU函数;每个子层的规范层B的参数一致,种类为一维BatchNorm,维度为32;每个子层的卷积层B的参数也一致,种类为一维卷积,输入为32维,输出为32维,卷积核大小为3,步长为1,填充长度为1;第一个子层的规范层A种类为一维BatchNorm,维度为64;卷积层A的种类为一维卷积,输入维度为64,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第二个子层的规范层A种类为一维BatchNorm,维度为96;卷积层A的种类为一维卷积,输入维度为96,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第三个子层的规范层A种类为一维BatchNorm,维度为128;卷积层A的种类为一维卷积,输入维度为128,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第四个子层的规范层A种类为一维BatchNorm,维度为160;卷积层A的种类为一维卷积,输入维度为160,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第五个子层的规范层A种类为一维BatchNorm,维度为192;卷积层A的种类为一维卷积,输入维度为196,输出维度为32,卷积核大小为1,步长为1,填充长度为0;第六个子层的规范层A种类为一维BatchNorm,维度为224;卷积层A的种类为一维卷积,输入维度为224,输出维度为32,卷积核大小为1,步长为1,填充长度为0;
所述第一过渡层的结构依次为:规范层C、激活层C、卷积层C和池化层C;其中规范层C的种类为一维BatchNorm,维度为256;激活层C的激活函数为ReLU;卷积层C的种类为一维卷积,输入维度为256,输出维度为128,卷积核大小为1,步长为1,填充长度为0;池化层种类为平均值池化,核心大小为2,步长为2,填充长度为0;
所述第二子块结构包含12个子层,每个子层结构与第一子块的子层结构一致,其中规范层A的维度与卷积层A的输入维度均为128、160、192、224、256、288、320、352、384、416、448、480,其他参数与第一子块相同;
所述第二过渡层结构与第一过渡层一致,参数变化如下:规范层C的种类为一维BatchNorm,维度为512;卷积层C的种类为一维卷积,输入维度为512,输出维度为256,卷积核大小为1,步长为1,填充长度为0;其他相同;
所述第三子块与第一子块结构一致,子层数为6,其中规范层A的维度与卷积层A的输入维度均为256、288、320、352、384、416,其他参数与第一子块相同;
步骤3)中所述C层分类子网络结构如下:
第一规范层,种类为一维BatchNorm,维度为448;第二池化层,种类为一维自适应平均值池化层,维度为(1,448,1);第三线性层,维度为(448,256);
将F、D、C三层依次连接起来,得到PAFDCnet网络,其中F层加载预训练参数,并锁定参数不变。
5.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于:步骤4)中,所述的步骤4a)包括:
对F层进行非监督训练:
1)取训练集中α条功耗样本做为非监督训练集,取测试集中β条明文做为非监督测试集;
2)初始化F层的权重参数,参数满足高斯分布:即权重参数均值为0方差为1,设定迭代次数epoch和学习速率lr;
3)将非监督训练集均分为任意组,每组为bs个,然后取其中一组功耗样本的功耗信息,输入到F层子网络中,同时以该输入作为label与F层的输出进行损失计算;
4)利用下述损失函数计算公式,计算该组样本的损失;
Figure FDA0002477305270000041
其中,lossk表示第k组样本中所选取的bs个样本的损失平均值,i表示所选样本的序号,i=1,2,3,...,bs;f(xi,w)表示F层子网络权重参数为w时的输出,xi表示选取的样本;
5)按照下式进行权重更新:
Figure FDA0002477305270000042
其中,wj *表示F层网络权重本次迭代后的更新值,
Figure FDA0002477305270000043
表示本次迭代中第k组样本损失对权重的偏导,w表示当前权重,j表示当前epoch的序号,j=1,2,3,...,epoch;
6)重复步骤3、4、5,直到非监督训练集中样本全部参与损失计算与权重更新操作,即完成一次非监督训练迭代,并记录网络的权重为
Figure FDA0002477305270000044
同时计算第j个非监督训练迭代中所有样本的平均损失lossj m:
Figure FDA0002477305270000051
7)从非监督测试集中任选cs个样本,输入到F层子网络中,并将F层的权重参数设置为
Figure FDA0002477305270000052
8)计算损失
Figure FDA0002477305270000053
其中i表示所选样本序号,i=1,2,3,...,csf(xi,w)表示F层子网络权重参数为wj *时的输出,j为epoch的序号;
9)重复步骤7、8,直到非监督测试集中所有样本全部参与损失计算与权重更新操作,即完成一次非监督测试迭代,同时计算第j个非监督测试迭代中所有样本的平均损失lossj m':
Figure FDA0002477305270000054
10)返回步骤3重新执行,直到达到迭代次数epoch;记录训练集平均损失lossj m中最小损失lossj m_min与该损失所对应的权重
Figure FDA0002477305270000055
与网络;记录测试集最小平均损失lossj m',保存与之对应的网络;最终得到一个权重矩阵,两个网络;
完成上述步骤后,即得到功耗信息特征提取子网络F层的权重参数并保存。
6.根据权利要求5所述的基于深度学习的侧信道分析方法,其特征在于:步骤4)中,所述的步骤4b)包括:
1)、修改PAFDCnet网络F层的连接,将F层中第一卷积层与第二卷积层直接与D层相连,其他结构不变。设置权重参数为步骤4a)训练出来的
Figure FDA0002477305270000056
2)、进行监督训练,取训练集中除去非监督训练集之外的γ条功耗样本为监督训练集,取测试集中除去非监督测试集之外的δ条明文为监督测试集;设定迭代次数epoch和学习速率lr;
3)将监督训练集均分为任意组,每组为bs个,然后取其中一组样本的功耗信息,输入到PAFDCnet网络中,同时以该输入作为label与F层的输出进行损失计算;
4)利用下述损失函数计算公式,计算该组样本的损失;
Figure FDA0002477305270000061
5)更新权重:
Figure FDA0002477305270000062
6)重复步骤3、4、5,直到监督训练集中所有样本全部参与损失计算与权重更新操作,即完成一次监督训练迭代,并记录网络的权重为
Figure FDA0002477305270000063
同时计算第j个监督训练迭代中所有样本的平均损失lossj m:
Figure FDA0002477305270000064
7)从监督测试集中任选cs个样本,输入到PAFDCnet网络中,并将权重参数设置为
Figure FDA0002477305270000065
8)计算损失
Figure FDA0002477305270000066
其中i表示所选样本序号,i=1,2,3,...,csf(xi,w)表示F层子网络权重参数为wj *时的输出,j为epoch的序号;
9)重复步骤7、8,直到监督测试集中全部个样本全部参与损失计算与权重更新操作,即完成一次监督测试迭代,同时计算第j个监督测试迭代中所有样本的平均损失lossj m':
Figure FDA0002477305270000067
10)返回步骤3重新执行,直到达到迭代次数epoch;记录监督训练集平均损失lossj m中最小损失lossj m_min与该损失所对应的权重
Figure FDA0002477305270000068
与网络;记录监督测试集最小平均损失lossj m',保存与之对应的网络。
7.根据权利要求6所述的基于深度学习的侧信道分析方法,其特征在于:步骤(5)建立对模型输出结果的三种评估准则为:
建立rank评估准则:
1)设PAFDCnet的输入集为Dattact={power,key},输出结果为f(Dattact,wj *),其中Dattact表示攻击集,评估准则为:
设中间值
Figure FDA0002477305270000071
其中f表示PAFDCnet模型,w*为训练好的权重参数,
Figure FDA0002477305270000072
表示AES算法中第一个S盒输出中的第4个字节,由明文中第4个字节和候选密钥k计算得出,Sbox表示盒,plaintext表示明文;
对key_proba进行从大到小排序,排序后为sorted_proba,利用numpy数组的where函数,计算key_proba与控制信息集中密钥的平均rank值:
Figure FDA0002477305270000073
其中np.where表示输出满足括号内条件的元素的坐标,即如果sorted_proba中有一个元素与key_proba[key]相等,则输出它在sorted_proba中的坐标;
2)建立acc即准确率评估准则:
Figure FDA0002477305270000074
其中arg max表示最大值函数的反函数,将f(poweri,w*)的结果沿x轴坐标0-255绘制曲线,以该曲线的最高值所对应的坐标x即为keyi
3)建立汉明重量评估准则:
计算结果与标签的汉明重量,并将其分为两大类:汉明重量大于等于4和小于4;汉明重量的计算方式为统计该值的二进制中1的个数,即:
Hanmingweight=count1(bin(argmax(f(poweri,w*))))
Figure FDA0002477305270000075
其中count1表示统计1的个数,bin表示将数字二进制化。
CN202010368459.2A 2020-04-30 2020-04-30 基于深度学习的侧信道分析方法 Active CN111565189B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010368459.2A CN111565189B (zh) 2020-04-30 2020-04-30 基于深度学习的侧信道分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010368459.2A CN111565189B (zh) 2020-04-30 2020-04-30 基于深度学习的侧信道分析方法

Publications (2)

Publication Number Publication Date
CN111565189A true CN111565189A (zh) 2020-08-21
CN111565189B CN111565189B (zh) 2022-06-14

Family

ID=72071920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010368459.2A Active CN111565189B (zh) 2020-04-30 2020-04-30 基于深度学习的侧信道分析方法

Country Status (1)

Country Link
CN (1) CN111565189B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016086A (zh) * 2020-08-28 2020-12-01 天津大学 基于卷积神经网络和选择消息方法的功耗攻击方法
CN113128133A (zh) * 2021-05-19 2021-07-16 衡阳师范学院 一种基于遗传算法的功耗攻击高效筛选方法
CN113158181A (zh) * 2021-04-15 2021-07-23 上海交通大学 使用神经网络对原始侧信道数据进行端到端攻击的方法
CN113472515A (zh) * 2021-06-30 2021-10-01 中国科学技术大学 用于侧信道攻击的深度学习模型的评价与训练方法
CN113630235A (zh) * 2021-08-06 2021-11-09 深圳技术大学 一种侧信道分析及其模型构建的方法与装置
CN115484107A (zh) * 2022-09-20 2022-12-16 山东大学 一种基于并行计算的侧信道密钥分析方法及系统
CN116388956A (zh) * 2023-03-16 2023-07-04 中物院成都科学技术发展中心 一种基于深度学习的侧信道分析方法
CN117155531A (zh) * 2023-08-28 2023-12-01 哈尔滨理工大学 一种基于clrm模型的深度学习侧信道攻击方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508678A (zh) * 2017-10-13 2017-12-22 成都信息工程大学 基于机器学习的rsa掩码防御算法的侧信道攻击方法
CN108880781A (zh) * 2018-06-14 2018-11-23 成都信息工程大学 一种对加掩防护加密设备的无掩码神经网络攻击方法
CN109995502A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信道分析方法及装置、终端及计算机可读存储介质
CN110048827A (zh) * 2019-04-15 2019-07-23 电子科技大学 一种基于深度学习卷积神经网络的类模板攻击方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508678A (zh) * 2017-10-13 2017-12-22 成都信息工程大学 基于机器学习的rsa掩码防御算法的侧信道攻击方法
CN109995502A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信道分析方法及装置、终端及计算机可读存储介质
CN108880781A (zh) * 2018-06-14 2018-11-23 成都信息工程大学 一种对加掩防护加密设备的无掩码神经网络攻击方法
CN110048827A (zh) * 2019-04-15 2019-07-23 电子科技大学 一种基于深度学习卷积神经网络的类模板攻击方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DEBAYAN DAS: "Deep Learning Side-Channel Attack Resilient AES-256 using Current Domain Signature Attenuation in 65nm CMOS", 《2020 IEEE CUSTOM INTEGRATED CIRCUITS CONFERENCE (CICC)》 *
TAKAYA KUBOTA: "Deep Learning Side-Channel Attack Against Hardware Implementations of AES", 《2019 22ND EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN (DSD)》 *
李浪等: "一种AES随机变换掩码方案及抗DPA分析", 《密码学报》 *
郭东昕等: "基于卷积神经网络的加密芯片差分攻击新方法", 《计算机工程与应用》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112016086A (zh) * 2020-08-28 2020-12-01 天津大学 基于卷积神经网络和选择消息方法的功耗攻击方法
CN113158181B (zh) * 2021-04-15 2022-04-05 上海交通大学 使用神经网络对原始侧信道数据进行端到端攻击的方法
CN113158181A (zh) * 2021-04-15 2021-07-23 上海交通大学 使用神经网络对原始侧信道数据进行端到端攻击的方法
CN113128133A (zh) * 2021-05-19 2021-07-16 衡阳师范学院 一种基于遗传算法的功耗攻击高效筛选方法
CN113128133B (zh) * 2021-05-19 2022-05-17 衡阳师范学院 一种基于遗传算法的功耗攻击高效筛选方法
CN113472515A (zh) * 2021-06-30 2021-10-01 中国科学技术大学 用于侧信道攻击的深度学习模型的评价与训练方法
CN113472515B (zh) * 2021-06-30 2023-09-01 中国科学技术大学 一种用于检验用户防御侧信道攻击能力的方法
CN113630235A (zh) * 2021-08-06 2021-11-09 深圳技术大学 一种侧信道分析及其模型构建的方法与装置
CN113630235B (zh) * 2021-08-06 2023-07-25 深圳技术大学 一种侧信道分析及其模型构建的方法与装置
CN115484107A (zh) * 2022-09-20 2022-12-16 山东大学 一种基于并行计算的侧信道密钥分析方法及系统
CN115484107B (zh) * 2022-09-20 2024-05-28 山东大学 一种基于并行计算的侧信道密钥分析方法及系统
CN116388956A (zh) * 2023-03-16 2023-07-04 中物院成都科学技术发展中心 一种基于深度学习的侧信道分析方法
CN117155531A (zh) * 2023-08-28 2023-12-01 哈尔滨理工大学 一种基于clrm模型的深度学习侧信道攻击方法及系统

Also Published As

Publication number Publication date
CN111565189B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
CN111565189B (zh) 基于深度学习的侧信道分析方法
CN110048827B (zh) 一种基于深度学习卷积神经网络的类模板攻击方法
CN111753881B (zh) 一种基于概念敏感性量化识别对抗攻击的防御方法
CN112165464B (zh) 一种基于深度学习的工控混合入侵检测方法
CN107070852A (zh) 网络攻击检测方法和装置
CN110263538A (zh) 一种基于系统行为序列的恶意代码检测方法
CN110225030A (zh) 基于rcnn-spp网络的恶意域名检测方法及系统
CN108881192A (zh) 一种基于深度学习的加密型僵尸网络检测系统及方法
Jin et al. Recent advances in deep learning‐based side‐channel analysis
Suzuki et al. Adversarial example generation using evolutionary multi-objective optimization
KR102284356B1 (ko) 컴퓨터 네트워크 시스템의 생성적 대립 네트워크를 이용한 데이터의 불균형 해결방법
CN108268890A (zh) 一种高光谱图像分类方法
CN112801297A (zh) 一种基于条件变分自编码器的机器学习模型对抗性样本生成方法
Bae et al. Performance Metric for Differential Deep Learning Analysis.
Liao et al. Network intrusion detection method based on gan model
CN113283590A (zh) 一种面向后门攻击的防御方法
CN111222583B (zh) 一种基于对抗训练与关键路径提取的图像隐写分析方法
CN113627543A (zh) 一种对抗攻击检测方法
Liu et al. NADS-RA: network anomaly detection scheme based on feature representation and data augmentation
CN116248392A (zh) 一种基于多头注意力机制的网络恶意流量检测系统及方法
Ghandali et al. Deep K-TSVM: A novel profiled power side-channel attack on AES-128
Narvaez et al. Painting authorship and forgery detection challenges with AI image generation algorithms: Rembrandt and 17th century Dutch painters as a case study
CN116260565A (zh) 芯片电磁侧信道分析方法、系统及存储介质
CN116305015A (zh) 抵御鲁棒性攻击的神经网络模型水印嵌入方法
CN114285545B (zh) 一种基于卷积神经网络的侧信道攻击方法及系统

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