CN109347613B - 用于旁路攻击的gpu加速方法 - Google Patents
用于旁路攻击的gpu加速方法 Download PDFInfo
- Publication number
- CN109347613B CN109347613B CN201811086395.6A CN201811086395A CN109347613B CN 109347613 B CN109347613 B CN 109347613B CN 201811086395 A CN201811086395 A CN 201811086395A CN 109347613 B CN109347613 B CN 109347613B
- Authority
- CN
- China
- Prior art keywords
- curve
- calculation
- matrix
- gpu
- power consumption
- 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
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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Abstract
一种用于旁路攻击的GPU加速处理方法,采用神经网络将所有旁路攻击中所需的对曲线点和相应明文的计算转换为计算图,即通过两个卷积层实现低通滤波操作转化、通过一个卷积层实现曲线快速对齐操作转化,再通过加法和乘法计算图计算皮尔森相关性系数,得到的每个计算图一次对一组曲线进行操作并得到累加数组,最后由GPU进行计算图处理得到相应的密钥。本发明将常规CPU计算的旁路攻击过程中的低通、对齐、计算相关性等操作转化为可在GPU上快速计算的计算图,通过GPU快速完成旁路攻击计算。
Description
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种用于旁路攻击的(图形处理器)GPU加速处理方法。
背景技术
在密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译,即旁路攻击(Side Channel Attack),其包括简单功耗分析(SPA)和差分功耗分析(DPA),其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥。
发明内容
本发明针对现有传统旁路攻击全过程运行在CPU上并行度有限的缺陷,提出一种用于旁路攻击的GPU加速处理方法,该方法将常规CPU计算的旁路攻击过程中的低通、对齐、计算相关性等操作转化为可在GPU上快速计算的计算图,通过GPU快速完成旁路攻击计算获得密钥。
本发明是通过以下技术方案实现的:
本发明涉及一种用于旁路攻击的GPU加速处理方法,采用神经网络将所有旁路攻击中所需的对曲线点和相应明文的计算转换为计算图,即通过两个卷积层实现低通滤波操作转化、通过一个卷积层实现曲线快速对齐操作转化,再通过加法和乘法计算图计算皮尔森相关性系数,得到的每个计算图一次对一组曲线进行操作并得到累加数组,最后由GPU进行计算图处理得到相应的密钥。
所述的每个计算图,一次从队列获得一组曲线数据,经计算后的结果累加进累加数组。
所述的神经网络,采用但不限于Tensor Flow完成,该神经网络包括三层卷积层和由五个计算子图构成的相关性计算层。
所述的低通滤波是指: 其中:i代表曲线中的第i个功耗点,i∈(1,n),n是单条曲线总点数,input是低通处理的输入曲线,output1是中间输出曲线,output2是最终输出曲线,weight为权重值。
所述的低通滤波操作转化是指:采用具有大小为2、权重分别为weight和1的卷积核的第一卷积层以及具有大小为2,权重分别为1和weight的卷积核的第二卷积层用于搭建计算图以实现在GPU上的并行计算。
所述的曲线快速对齐操作转化是指:通过卷积层实现离散函数的互相关计算从而实现曲线快速对齐,具体为:其中:p为标兵曲线,即其他曲线向该曲线对齐,中其他曲线要对齐的模式,即卷积核,其在标兵曲线中的位置为ip,t为一条待对齐曲线,i∈(1,n),k∈(1,kernel_size),kernel_size为一维卷积核大小,即模式p的长度;互相关计算的结果最大值的位置为imax,当ip-imax为正数时将待对齐曲线t向右,即当把t视作列向量时向下,移动ip-imax个点完成对齐,为负数时则向左,即当把t视作列向量时向上,移动,从而实现快速对齐。
所述的通过加法和乘法计算图计算皮尔森相关性系数是指:根据皮尔森相关性系数公式,两个一维变量X和Y的相关性该相关性可自然推广到高维变量,其中平方、开根号和除法为按元素操作。
在实际分析中,曲线数量一般达到百万级,无法直接计算,必须分批求和最后求期望,因此本发明中一次计算m条曲线,并将计算后的结果累加进累加数组,所述的相关性中的X为n*m的功耗曲线矩阵,分别对应m条功耗曲线上的n个点,Y为中间值矩阵,当待处理明文存在l个字节,每个字节存在256个假设中间值输出,则中间值矩阵Y共有l*256列。
所述的累加数组包括:功耗曲线矩阵X中每行的累加和(n维向量),功耗曲线矩阵X中每行各元素平方的累加和(n维向量),中间值矩阵Y中每列的累加和(l*256维向量),中间值矩阵Y中每列各元素平方的累加和(l*256维向量),XY乘积的累加和(n*[l*256]矩阵);使用计算图由输入曲线和相应明文计算上述数组并累加保存,最终得到皮尔森相关性系数ρ为n*[l*256]矩阵,每256列作为一组,对应一个字节的相关性系数。每一组的矩阵绝对值最大的位置(a,b),b为该组正确密钥,a为相关性系数最大的点在曲线中的位置。
所述的功耗曲线矩阵X中的曲线上每点表示为ti,j,其中i∈(1,n),j∈(1,m),i作为功耗点位置索引,j作为曲线位置索引。
所述的加法和乘法计算图包括若干子图,每个子图的计算结果分别累加到对应的数组,由所述的数组中的累加值计算得到皮尔森相关性系数。
所述的GPU进行计算图处理是指:使用上述计算图构建的GPU内计算逻辑,处理待攻击曲线的功耗点和相应明文得到皮尔森相关性系数矩阵,排序并输出对应的密钥。
所述的GPU进行计算图处理,优选多个相同计算图可实现对多组曲线的批处理,使用队列以进一步缩减攻击过程中不同任务间的等待时间。
本发明涉及一种实现上述方法的系统,包括:数据加载模块、神经网络模块和密钥输出显示模块,其中:数据加载模块和神经网络模块相连,并通过数据队列并行的传输神经网络模块所需的曲线功耗点和明文信息,神经网络模块和密钥输出显示模块相连,并向密钥输出显示模块传输最终猜测密钥和皮尔森相关性系数矩阵用于显示。
技术效果
与现有技术相比,本发明通过将原有的旁路攻击操作转换成计算图,全攻击流程可以于GPU上完成,利用计算图实现比CPU更高效的并行计算。相较于只使用CPU,使用一块980TiGPU加速计算可减少攻击时间90%以上。
同时可将原始曲线集分割成多段矩阵,分配到多个GPU进一步提升效率,理论上,有r块GPU就提升处理速度为一块GPU的r倍。
附图说明
图1为基于GPU的旁路攻击流程图;
图2为由传统攻击过程转化的计算图计算流程图。
具体实施方式
如图1所示,为本实施例涉及的一种用于旁路攻击的GPU加速处理方法,具体包括以下步骤:
步骤1、使用线程1从硬盘读取曲线数据(数据格式中包含明文信息),将要分析的曲线功耗点和明文加入数据队列1。使用线程2从队列1中读取m条曲线(每条n个功耗点),组成n*m矩阵,加入数据队列2。
步骤2、使用线程3管理数据队列2和计算图之间的通讯,当有GPU空闲时从数据队列2读取矩阵数据进行任务分配。
步骤3、GPU中的每个计算图由输入数据按照计算图定义的计算逻辑进行计算,每输入一个n*m矩阵,对计算相关性矩阵的5个缓存数组更新一次,直到数据队列1和2都为空时,由5个缓存数组计算相关性矩阵。如有多个计算图并行,需要将所有的缓存数组对应求和,再计算相关性矩阵。最终分析结果,打印报告。
所述的步骤3中计算图流程如图2所示,优选实施例的计算过程如下:
①选择权重参数weight=50,赋值给低通计算图中的卷积核,第一层卷积层卷积核为(50,1)第二层卷积核为(1,50)。两层卷积后,输出功耗点值为仍是n*m矩阵。
②使用预先选定的模式p赋值给对齐计算图中的卷积核,对新的功耗点t′i,j做卷积操作。卷积输出值从中选出每列最大值位移/>个点,新功耗点值为/>
③通过加法和乘法计算图计算皮尔森相关性系数:中间值矩阵中每条曲线有l*256个,本优选实施例为AES-128算法,明文共16字节,故l=16。为简化下标,本实施例中使用单字节为例,多字节攻击仅为单字节的简单拼接。计算明文y对应不同的密钥假设相应的中间值inter_vj,key=F(yj,key),F是由攻击者设置的映射函数,本优选例中使用 其中HW为汉明重量函数,Sbox_out为AES的S盒输出函数,⊕代表异或操作。
用于计算皮尔森相关性系数矩阵的5个缓存数组此处使用sum_x,sum_y,sum_x2,sum_y2和sum_xy表示,并对其赋初始值全0。对应于sum_x的计算子图完成计算 对应于sum_y的计算子图完成计算对应于sum_x2的计算子图完成计算对应于sum_y2的计算子图完成计算对应于sum_xy的计算子图完成计算
所述的计算皮尔森相关性系数为:
其中:total是攻击所用的曲线总数,/>表示按元素开根号,·代表按元素相乘。
本实施例在CPU i5-3470@3.2GHz,GPU980Ti,RAM16GB环境下,对10000条AES-128曲线(每条10000个功耗点)全部16字节进行旁路攻击,CPU的多线程(4线程)攻击共用时6小时8分22秒47,使用本实施例的计算图加速后,攻击共用时3分3秒61,用时减少99.1%。GPU的计算图加速运算最终可以获得和CPU运算相同的皮尔森相关性系数矩阵和相同的猜测密钥。
采用相同的方式在CPU i5-3470@3.2GHz,GPU1080Ti,RAM16GB的环境下,使用相同曲线集,使用本实施例的计算图加速后,攻击共用时2分17秒10,相较只使用CPU用时减少99.4%,相较使用GPU 980Ti用时减少25.3%。
更换攻击平台硬件为CPU i7-4790@4GHz,只使用CPU多线程(4线程)攻击相同曲线集,用时4小时54分09秒82,相较i5-3470@3.2GHz,用时减少20.2%。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (10)
1.一种用于旁路攻击的GPU加速处理方法,其特征在于,采用神经网络将所有旁路攻击中所需的对曲线点和相应明文的计算转换为计算图,通过两个卷积层实现低通滤波操作转化、通过一个卷积层实现曲线对齐操作转化,再通过加法和乘法计算图计算皮尔森相关性系数,得到的每个计算图一次对一组曲线进行操作并得到累加数组,最后由GPU进行计算图处理得到相应的密钥;
所述的每个计算图,一次从队列获得一组曲线数据,经计算后的结果累加进累加数组。
2.根据权利要求1所述的方法,其特征是,所述的神经网络,采用Tensor Flow完成,该神经网络包括三层卷积层和由五个计算子图构成的相关性计算层。
3.根据权利要求1所述的方法,其特征是,所述的低通滤波是指: 其中:i代表曲线中的第i个功耗点,i∈(1,n),n是单条曲线总点数,input是低通处理的输入曲线,output1是中间输出曲线,output2是最终输出曲线,weight为权重值。
4.根据权利要求1所述的方法,其特征是,所述的曲线对齐操作转化是指:通过卷积层实现离散函数的互相关计算从而实现曲线对齐,具体为:其中:p为标兵曲线中其他曲线要对齐的模式,其在标兵曲线中的位置为ip,其他曲线都要向标兵曲线对齐,t为一条待对齐曲线,i∈(1,n),n是单条曲线总点数,k∈(1,kernel_size),kernel_size为一维卷积核大小,即模式p的长度;互相关计算的结果最大值的位置为imax,当ip-imax为正数时将待对齐曲线t向右移动ip-imax个点完成对齐,为负数时则向左移动,从而实现对齐。
5.根据权利要求1所述的方法,其特征是,所述的通过加法和乘法计算图计算皮尔森相关性系数是指:根据皮尔森相关性系数公式,两个一维变量X和Y的相关性 通过一次计算m条曲线,并将计算后的结果累加进累加数组,所述的相关性中的X为n*m的功耗曲线矩阵,分别对应m条功耗曲线上的n个点,Y为中间值矩阵,待处理明文存在l个字节,每个字节存在256个假设中间值输出,则中间值矩阵Y共有l*256列;功耗曲线矩阵X中的曲线上每点可表示为ti,j,其中i∈(1,n),n是单条曲线总点数,j∈(1,m),i作为功耗点位置索引,j作为曲线位置索引。
6.根据权利要求5所述的方法,其特征是,所述的累加数组包括:功耗曲线矩阵X中每行的累加和,功耗曲线矩阵X中每行各元素平方的累加和,中间值矩阵Y中每列的累加和,中间值矩阵Y中每列各元素平方的累加和,XY乘积的累加和;
使用计算图由输入曲线和相应明文计算上述累加数组并累加保存,最终得到皮尔森相关性系数矩阵,每256列作为一组,对应一个字节的相关性系数,每一组的矩阵绝对值最大的位置(a,b),其中:b为该组正确密钥,a为相关性系数最大的点在曲线中的位置。
7.根据权利要求5所述的方法,其特征是,所述的加法和乘法计算图包括若干子图,每个子图的计算结果分别累加到对应的累加数组,由所述的累加数组中的累加值计算得到皮尔森相关性系数。
8.根据权利要求1所述的方法,其特征是,所述的GPU进行计算图处理是指:使用上述计算图构建GPU内计算逻辑,处理待攻击曲线的功耗点和相应明文得到皮尔森相关性系数矩阵,排序并输出对应的密钥。
9.根据权利要求1或8所述的方法,其特征是,在所述的GPU进行计算图处理时,多个相同计算图可实现对多组曲线的批处理,使用队列以进一步缩减攻击过程中不同任务间的等待时间。
10.一种实现上述任一权利要求所述方法的系统,其特征在于,包括:数据加载模块、神经网络模块和密钥输出显示模块,其中:数据加载模块和神经网络模块相连,数据加载模块通过数据队列并行地传输神经网络模块所需的曲线功耗点和明文信息,神经网络模块和密钥输出显示模块相连,神经网络模块向密钥输出显示模块传输最终猜测密钥和皮尔森相关性系数矩阵用于显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811086395.6A CN109347613B (zh) | 2018-09-18 | 2018-09-18 | 用于旁路攻击的gpu加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811086395.6A CN109347613B (zh) | 2018-09-18 | 2018-09-18 | 用于旁路攻击的gpu加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347613A CN109347613A (zh) | 2019-02-15 |
CN109347613B true CN109347613B (zh) | 2023-08-01 |
Family
ID=65305432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811086395.6A Active CN109347613B (zh) | 2018-09-18 | 2018-09-18 | 用于旁路攻击的gpu加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347613B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329025B (zh) * | 2020-11-18 | 2022-02-01 | 北京智芯微电子科技有限公司 | 电力终端旁路安全分析方法及电力终端旁路安全分析系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105281889A (zh) * | 2015-11-16 | 2016-01-27 | 中国电子科技集团公司第三十研究所 | 一种基于侧信道泄漏的算法还原方法和系统 |
CN106778682A (zh) * | 2017-01-11 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 一种卷积神经网络模型的训练方法及其设备 |
CN107241324A (zh) * | 2017-06-01 | 2017-10-10 | 东南大学 | 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 |
CN107508678A (zh) * | 2017-10-13 | 2017-12-22 | 成都信息工程大学 | 基于机器学习的rsa掩码防御算法的侧信道攻击方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9774614B2 (en) * | 2014-06-24 | 2017-09-26 | Qualcomm Incorporated | Methods and systems for side channel analysis detection and protection |
-
2018
- 2018-09-18 CN CN201811086395.6A patent/CN109347613B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105281889A (zh) * | 2015-11-16 | 2016-01-27 | 中国电子科技集团公司第三十研究所 | 一种基于侧信道泄漏的算法还原方法和系统 |
CN106778682A (zh) * | 2017-01-11 | 2017-05-31 | 厦门中控生物识别信息技术有限公司 | 一种卷积神经网络模型的训练方法及其设备 |
CN107241324A (zh) * | 2017-06-01 | 2017-10-10 | 东南大学 | 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 |
CN107508678A (zh) * | 2017-10-13 | 2017-12-22 | 成都信息工程大学 | 基于机器学习的rsa掩码防御算法的侧信道攻击方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109347613A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dalskov et al. | Secure evaluation of quantized neural networks | |
Man et al. | Double image encryption algorithm based on neural network and chaos | |
CN109948663B (zh) | 一种基于模型抽取的步长自适应的对抗攻击方法 | |
Alexan et al. | Multiple-layer image encryption utilizing fractional-order chen hyperchaotic map and cryptographically secure prngs | |
US9281940B2 (en) | Information processing apparatus, information processing method, and program | |
Ahmad et al. | An image encryption algorithm based on new generalized fusion fractal structure | |
CN101834717B (zh) | 可扩展精度Logistic混沌序列的并行计算方法 | |
Keller et al. | Secure quantized training for deep learning | |
Liu et al. | A multidimensional chaotic image encryption algorithm based on the region of interest | |
CN107885700B (zh) | 一种大规模矩阵卷积的多核实现方法 | |
CN103167213A (zh) | 基于Cat映射与超混沌Lorenz系统的数字图像加密方法 | |
AU2021200063B2 (en) | Systems and computer-implemented methods for generating pseudo random numbers | |
Kumar et al. | Novel pseudo random key & cosine transformed chaotic maps based satellite image encryption | |
Wang | Side-channel analysis of AES based on deep learning | |
CN109347613B (zh) | 用于旁路攻击的gpu加速方法 | |
Alexan et al. | A 3-layer psn for image encryption utilizing fractional-order chen hyperchaotic map and cryptographically-secure prngs | |
Zhou et al. | LEGO: A hybrid toolkit for efficient 2PC-based privacy-preserving machine learning | |
Ikbal et al. | Image block generation from block-based SMRT in colour image encryption and its performance analysis | |
Ding et al. | Signal-sensing dynamic S-box image encryption with 2D Griewank–sin map | |
CN113973161B (zh) | 基于深度学习的压缩感知与混沌系统的图像加密方法 | |
CN114465728B (zh) | 攻击椭圆曲线签名算法的方法、装置、设备及存储介质 | |
CN102915520B (zh) | 一种基于Kirkman女生问题解决方案的图像置乱方法 | |
CN107220702B (zh) | 一种低计算能力处理设备的计算机视觉处理方法及装置 | |
CN106502627B (zh) | 一种伪随机数种子生成方法 | |
JP7387017B2 (ja) | アドレス生成方法及びユニット、深層学習処理器、チップ、電子機器並びにコンピュータプログラム |
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 |