CN109347613A - 用于旁路攻击的gpu加速方法 - Google Patents

用于旁路攻击的gpu加速方法 Download PDF

Info

Publication number
CN109347613A
CN109347613A CN201811086395.6A CN201811086395A CN109347613A CN 109347613 A CN109347613 A CN 109347613A CN 201811086395 A CN201811086395 A CN 201811086395A CN 109347613 A CN109347613 A CN 109347613A
Authority
CN
China
Prior art keywords
curve
calculating
gpu
matrix
cumulative
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
CN201811086395.6A
Other languages
English (en)
Other versions
CN109347613B (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.)
Shanghai Guanyuan Information Technology Co Ltd
Original Assignee
Shanghai Guanyuan Information Technology Co Ltd
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 Shanghai Guanyuan Information Technology Co Ltd filed Critical Shanghai Guanyuan Information Technology Co Ltd
Priority to CN201811086395.6A priority Critical patent/CN109347613B/zh
Publication of CN109347613A publication Critical patent/CN109347613A/zh
Application granted granted Critical
Publication of CN109347613B publication Critical patent/CN109347613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于旁路攻击的GPU加速处理方法,采用神经网络将所有旁路攻击中所需的对曲线点和相应明文的计算转换为计算图,即通过两个卷积层实现低通滤波操作转化、通过一个卷积层实现曲线快速对齐操作转化,再通过加法和乘法计算图计算皮尔森相关性系数,得到的每个计算图一次对一组曲线进行操作并得到累加数组,最后由GPU进行计算图处理得到相应的密钥。本发明将常规CPU计算的旁路攻击过程中的低通、对齐、计算相关性等操作转化为可在GPU上快速计算的计算图,通过GPU快速完成旁路攻击计算。

Description

用于旁路攻击的GPU加速方法
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种用于旁路攻击的(图形处理器)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_vjkey=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 (11)

1.一种用于旁路攻击的GPU加速处理方法,其特征在于,采用神经网络将所有旁路攻击中所需的对曲线点和相应明文的计算转换为计算图,即通过两个卷积层实现低通滤波操作转化、通过一个卷积层实现曲线快速对齐操作转化,再通过加法和乘法计算图计算皮尔森相关性系数,得到的每个计算图一次对一组曲线进行操作并得到累加数组,最后由GPU进行计算图处理得到相应的密钥;
所述的每个计算图,一次从队列获得一组曲线数据,经计算后的结果累加进累加数组。
2.根据权利要求1所述的方法,其特征是,所述的神经网络,采用Tensor Flow完成,该神经网络包括三层卷积层和由五个计算子图构成的相关性计算层。
3.根据权利要求1所述的方法,其特征是,所述的低通滤波是指: 其中:i代表曲线中的第i个功耗点,i∈(1,n),n是单条曲线总点数,input是低通处理的输入曲线,output1是中间输出曲线,output2是最终输出曲线,weight为权重值。
4.根据权利要求1或3所述的方法,其特征是,所述的低通滤波操作转化是指:采用具有大小为2、权重分别为weight和1的卷积核的第一卷积层以及具有大小为2,权重分别为1和weight的卷积核的第二卷积层用于搭建计算图以实现在GPU上的并行计算。
5.根据权利要求1所述的方法,其特征是,所述的曲线快速对齐操作转化是指:通过卷积层实现离散函数的互相关计算从而实现曲线快速对齐,具体为:其中:p为标兵曲线中其他曲线要对齐的模式,其在标兵曲线中的位置为ip,t为一条待对齐曲线,i∈(1,n),k∈(1,kernel_size),kernel_size为一维卷积核大小,即模式p的长度;互相关计算的结果最大值的位置为imax,当ip-imax为正数时将待对齐曲线t向右移动ip-imax个点完成对齐,为负数时则向左移动,从而实现快速对齐。
6.根据权利要求1所述的方法,其特征是,所述的通过加法和乘法计算图计算皮尔森相关性系数是指:根据皮尔森相关性系数公式,两个一维变量X和Y的相关性通过一次计算m条曲线,并将计算后的结果累加进累加数组,所述的相关性中的X为n*m的功耗曲线矩阵,分别对应m条功耗曲线上的n个点,Y为中间值矩阵,当待处理明文存在l个字节,每个字节存在256个假设中间值输出,则中间值矩阵Y共有l*256列;功耗曲线矩阵X中的曲线上每点可表示为tij,其中i∈(1,n),j∈(1,m),i作为功耗点位置索引,j作为曲线位置索引。
7.根据权利要求1或6所述的方法,其特征是,所述的累加数组包括:功耗曲线矩阵X中每行的累加和,功耗曲线矩阵X中每行各元素平方的累加和,中间值矩阵Y中每列的累加和,中间值矩阵Y中每列各元素平方的累加和,XY乘积的累加和;使用计算图由输入曲线和相应明文计算上述数组并累加保存,最终得到皮尔森相关性系数矩阵,每256列作为一组,对应一个字节的相关性系数。每一组的矩阵绝对值最大的位置(a,b),b为该组正确密钥,a为相关性系数最大的点在曲线中的位置。
8.根据权利要求6所述的方法,其特征是,所述的加法和乘法计算图包括若干子图,每个子图的计算结果分别累加到对应的数组,由所述的数组中的累加值计算得到皮尔森相关性系数。
9.根据权利要求1所述的方法,其特征是,所述的GPU进行计算图处理是指:使用上述计算图构建的GPU内计算逻辑,处理待攻击曲线的功耗点和相应明文得到皮尔森相关性系数矩阵,排序并输出对应的密钥。
10.根据权利要求1或9所述的方法,其特征是,所述的GPU进行计算图处理,多个相同计算图可实现对多组曲线的批处理,使用队列以进一步缩减攻击过程中不同任务间的等待时间。
11.一种实现上述任一权利要求所述方法的系统,其特征在于,包括:数据加载模块、神经网络模块和密钥输出显示模块,其中:数据加载模块和神经网络模块相连,并通过数据队列并行的传输神经网络模块所需的曲线功耗点和明文信息,神经网络模块和密钥输出显示模块相连,并向密钥输出显示模块传输最终猜测密钥和皮尔森相关性系数矩阵用于显示。
CN201811086395.6A 2018-09-18 2018-09-18 用于旁路攻击的gpu加速方法 Active CN109347613B (zh)

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 true CN109347613A (zh) 2019-02-15
CN109347613B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329025A (zh) * 2020-11-18 2021-02-05 北京智芯微电子科技有限公司 电力终端旁路安全分析方法及电力终端旁路安全分析系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150373036A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Methods and Systems for Side Channel Analysis Detection and Protection
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掩码防御算法的侧信道攻击方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150373036A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Methods and Systems for Side Channel Analysis Detection and Protection
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掩码防御算法的侧信道攻击方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329025A (zh) * 2020-11-18 2021-02-05 北京智芯微电子科技有限公司 电力终端旁路安全分析方法及电力终端旁路安全分析系统
CN112329025B (zh) * 2020-11-18 2022-02-01 北京智芯微电子科技有限公司 电力终端旁路安全分析方法及电力终端旁路安全分析系统

Also Published As

Publication number Publication date
CN109347613B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
Wang et al. Defensive dropout for hardening deep neural networks under adversarial attacks
Mansouri et al. A novel one-dimensional sine powered chaotic map and its application in a new image encryption scheme
Ye et al. An efficient chaotic image encryption algorithm based on a generalized Arnold map
CN102360488B (zh) 一种基于混沌轨道扰动的数字图像加密方法
CN108880781A (zh) 一种对加掩防护加密设备的无掩码神经网络攻击方法
CN103905462B (zh) 可抵御差分功耗分析攻击的加密处理装置及方法
CN103167213A (zh) 基于Cat映射与超混沌Lorenz系统的数字图像加密方法
CN106980641A (zh) 基于卷积神经网络的无监督哈希快速图片检索系统及方法
CN101853392A (zh) 基于条件互信息的遥感高光谱图像波段选择方法
CN106980791B (zh) 云环境下扩展加权门限海洋遥感影像秘密共享方法
CN110046513A (zh) 基于Hopfield混沌神经网络的明文关联图像加密方法
CN103258312A (zh) 具有快速密钥流生成机制的数字图像加密方法
CN103778593A (zh) 基于图像关联分解的量子图像加密方法
CN106022360A (zh) 一种统计学习中基于密文的数据二分类方法
CN101872339A (zh) 一种基于复杂动态网络的Hash算法
CN105846814A (zh) 针对加密技术领域乘法运算的量子逻辑电路的构造方法
CN109347613A (zh) 用于旁路攻击的gpu加速方法
CN112132577A (zh) 一种基于区块链的多重监管的交易处理方法及装置
CN105117653B (zh) 一种近红外光谱数据加密方法
CN108804933A (zh) 一种用于大数据的进制转换方法
Chen et al. Data-efficient double-win lottery tickets from robust pre-training
CN103546277B (zh) 一种智能卡sm4算法的dpa攻击与密钥还原方法及系统
CN106502627B (zh) 一种伪随机数种子生成方法
CN114978466A (zh) 类分形模型和希尔伯特同步置乱扩散的加密方法
CN109547194A (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