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

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

Info

Publication number
CN116388956B
CN116388956B CN202310254737.5A CN202310254737A CN116388956B CN 116388956 B CN116388956 B CN 116388956B CN 202310254737 A CN202310254737 A CN 202310254737A CN 116388956 B CN116388956 B CN 116388956B
Authority
CN
China
Prior art keywords
power consumption
track
key
model
side channel
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
Application number
CN202310254737.5A
Other languages
English (en)
Other versions
CN116388956A (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.)
Chengdu Mingxiang Information Technology Co ltd
Chengdu Science and Technology Development Center of CAEP
Original Assignee
Chengdu Mingxiang Information Technology Co ltd
Chengdu Science and Technology Development Center of CAEP
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 Chengdu Mingxiang Information Technology Co ltd, Chengdu Science and Technology Development Center of CAEP filed Critical Chengdu Mingxiang Information Technology Co ltd
Priority to CN202310254737.5A priority Critical patent/CN116388956B/zh
Publication of CN116388956A publication Critical patent/CN116388956A/zh
Application granted granted Critical
Publication of CN116388956B publication Critical patent/CN116388956B/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
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于深度学习的侧信道分析方法,包括:S1:采集功耗轨迹构建数据集;S2:对采集的功耗轨迹进行正则化和互相关同步预处理;S3:对采集的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;S5:构建神经网络模型并进行训练,获得所有子密钥的分析模型;S6:基于所述子密钥的分析模型,计算获得所有子密钥的候选子密钥概率,并恢复密钥。本发明通过对功耗轨迹进行预处理,提升了数据集质量,还通过逆向相关性功耗分析去除冗余数据,提升了模型训练效率和准确率,提高了侧信道分析的成功率。

Description

一种基于深度学习的侧信道分析方法
技术领域
本发明涉及侧信道分析技术领域,特别涉及一种基于深度学习的侧信道分析方法。
背景技术
传统密码分析以黑盒的方式对密码算法进行分析,通过差分密码分析和代数密码分析等方法恢复密钥。但随着密钥长度的增加和密码算法复杂程度的提高,传统密码分析很难有效地分析密码算法。与传统密码分析不同,侧信道分析以灰盒的方式对密码算法进行分析,通过设备运行时泄露的功耗、电磁辐射等侧信道信息恢复设备中密钥等敏感数据。侧信道攻击并非破解密码算法,而是利用密码算法的物理实现中泄露的侧信道信息来分析密码算法,甚至能破解数学特性上安全的密码算法。
近年来,随着深度学习研究的深入,其也被应用于侧信道分析,以提升侧信道分析的效率,且已经被证明能够攻击多种针对侧信道分析的防御方法,包括掩码和隐藏等。例如,论文“Deep learning for side-channel analysis and introduction to ASCADdatabase”提出ASCAD数据集用于评估基于深度学习侧信道分析方法,并使用卷积神经网络进行侧信道分析,并分析了卷积神经网络中超参数的选择对模型的影响。论文“基于SincNet的侧信道攻击”提出了使用SincNet模型进行侧信道分析,可以使用更少的轨迹条数恢复密钥,并能有效缓解非同步轨迹的影响。论文“基于CBAPD网络的侧信道攻击”提出一种针对侧信道分析的更高效的卷积神经网络,成功恢复密钥使用的功耗轨迹数量少于SincNet。论文“Improving Deep Learning Networks for Profiled Side-channelAnalysis Using Performance Improvement Techniques”通过批正则化、丢弃法和权重衰减三种技术提升卷积神经网络模型的训练效率,提升模型性能。
目前,将深度学习与传统侧信道分析方法相结合,虽然提升了侧信道分析的效率和成功率,但仍存在一些不足。一方面,并未对功耗轨迹进行信号处理相关的预处理,忽略了功耗轨迹本身的特性,不能保证数据质量;另一方面,功耗轨迹样本点较多,含有大量冗余数据,训练时耗费大量计算资源,造成训练效率较低,模型性能不高。
发明内容
为解决上述问题,本发明提供了一种基于深度学习的侧信道分析方法,具体技术方案如下:
S1:采集功耗轨迹构建数据集,包括建模数据集和分析数据集;
S2:对采集的功耗轨迹进行正则化和互相关同步预处理;
S3:对采集的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;
S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;
S5:基于残差网络模型,以建模数据集中的功耗轨迹作为模型输入,以子密钥对应的第一轮S盒输出作为标签,训练模型,获得所有子密钥的分析模型;
S6:基于所述子密钥的分析模型,计算获得所有子密钥的候选子密钥概率,并恢复密钥。
进一步的,通过随机明文和随机密钥采集功耗轨迹,构建所述建模数据集。
进一步的,通过随机明文和固定密钥采集功耗轨迹,构建所述分析数据集。
进一步的,所述建模数据集以及所述分析数据集均包括功耗轨迹、明文、密文以及密钥。
进一步的,步骤S2中,所述互相关同步,过程如下:
设置标准轨迹和窗口,窗口内的轨迹记为参考轨迹;
从左向右滑动参考轨迹,计算参考轨迹与待同步轨迹当前对应位置的轨迹的互相关系数,得到互相关系数数组;
将待同步轨迹偏移量减去参考轨迹的标准偏移量,得到相关偏移量;
若相对偏移量diff大于0,将待同步轨迹向左移动diff个点,若相对偏移量diff小于0,将待同步轨迹向右移动-diff个点。
进一步的,参考轨迹的标准偏移量为窗口的起点,待同步轨迹偏移量为最高互相关系数值对应的索引。
进一步的,步骤S5中,以准确率作为模型训练的评价指标。
进一步的,准确率设定不低于40%。
进一步的,步骤S6中,第k个子密钥的候选子密钥概率,计算如下:
其中,probk为第k个子密钥所有候选子密钥的概率,候选子密钥范围为0到255,为长度为256的数组,N为使用的轨迹条数,wk为第k个子密钥对应模型的模型参数,代表第k个子密钥对应的分析模型,tracen为第n条功耗轨迹,/>为第k个子密钥对应分析模型的第n个模型输出。inter2key将模型输出通过逆S盒,并与明文进行异或将第一轮S盒输出概率转换为候选子密钥的概率。
进一步的,步骤S6中,所述恢复密钥,利用numpy的argmax函数对计算得到的候选子密钥概率进行排序,得到最高候选子密钥概率值对应的候选子密钥。
本发明的有益效果如下:
本发明通过正则化和互相关同步对功耗轨迹进行预处理,提升了数据集质量;还通过逆向相关性功耗分析确定加密窗口,去除冗余数据,大量降低功耗轨迹的样本点数量,提升了模型训练效率和准确率,提高了侧信道分析的成功率。
附图说明
图1是本发明的方法流程示意图;
图2是互相关系数计算过程示意图;
图3是第一轮输入逆向相关性功耗分析示意图;
图4是第二轮输入逆向相关性功耗分析示意图;
图5是残差网络训练与测试准确率示意图;
图6是计算单个子密钥的候选子密钥概率示意图。
具体实施方式
在下面的描述中对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例的描述中,需要说明的是,指示方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接连接,也可以通过中间媒介间接连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
本发明的实施例1公开了一种基于深度学习的侧信道分析方法,如图1所示,具体如下:
S1:采集功耗轨迹构建数据集,包括建模数据集和分析数据集;
本实施例中,密码设备采用型号为STM32F415的芯片板卡,密码设备的AES加密算法实现为TinyAES;
本实施例中,采集建模数据集的功耗轨迹时,采用随机明文和随机密钥,并将功耗轨迹、明文、密文和密钥加入数据集;
采集分析数据集的功耗轨迹时,采用随机明文和固定密钥,并将功耗轨迹、明文、密文和密钥加入数据集。
具体的,建模数据集包括65535条功耗轨迹,每条功耗轨迹包含80000个样本点;
分析数据集分为256个子集,每个子集包含16条功耗轨迹,子集内所有轨迹对应的密钥相同。
S2:对采集的功耗轨迹进行正则化和互相关同步预处理;
互相关同步的过程如下:
设置标准轨迹和窗口,窗口内的轨迹即为参考轨迹;
如图2所示,计算互相关系数和相对偏移量。
从左向右滑动参考轨迹,计算参考轨迹与待同步轨迹当前对应位置的轨迹的互相关系数,得到互相关系数数组。
相对偏移量为待同步轨迹偏移量减去参考轨迹的标准偏移量,参考轨迹的标准偏移量为窗口的起点,待同步轨迹偏移量为最高互相关系数值对应的索引。
若相对偏移量diff大于0,应将待同步轨迹向左移动diff个点,若相对偏移量diff小于0,应将待同步轨迹向右移动-diff个点。
S3:对预处理后得到的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;
如图3所示,灰色曲线为预处理后的功耗轨迹,通过逆向相关性功耗分析确定第一轮加密的位置。
通过第一轮输入和第二轮输入逆向相关性功耗分析,分析结果如图3和图4所示,相关性最高的即为兴趣点。
图3的兴趣点为:514,595,675,743,883,964,1044,1125,1252,1325,1413,1494,1613,1701,1783,1850;
图4的兴趣点为:6813,6887,6953,7046,7173,7253,7334,7415,7542,7616,7705,7777,7897,7991,8072,8152。
S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;
第一轮输入逆向相关性功耗分析结果中,最前面的兴趣点为514,第二轮输入逆向相关性功耗分析结果中,最前面的兴趣点为6813;因此,为使得兴趣区间包裹所有兴趣点,并尽量减少区间的长度,以减小计算时所需要的数据量,确定兴趣区间的起点为0,终点为7000,截取后的功耗轨迹样本点数量为7000。
S5:基于残差网络模型,以建模数据集中预处理后的功耗轨迹作为模型输入,以子密钥对应的第一轮S盒输出作为标签,训练模型,获得所有子密钥的分析模型,其中,以AES128为例,密钥为16字节,每个密钥字节为一个子密钥;
本实施例中,采用准确率为模型评价指标,测试准确率设定不低于40%;
采用Keras深度学习库构建并训练模型,全连接层丢弃率为0.1,损失函数采用交叉熵损失函数,优化器采用Adam优化器,学习率设置为0.001,训练轮次为100,训练后得到单个子密钥的分析模型;
对所有子密钥重复该训练过程,得到所有子密钥的分析模型;
以第1个子密钥为例,其训练过程损失和准确率变化如图5所示。
S6:计算获得所有子密钥的候选子密钥概率,并恢复密钥。
单个子密钥的候选子密钥概率计算方法如图6所示;
模型输出为256个元素的一维浮点数数组,其索引代表候选子密钥,索引处的值代表候选子密钥为正确子密钥的概率。具体的,对于第k个子密钥,公式如下:
其中,probk为第k个子密钥所有候选子密钥的概率,候选子密钥范围为0到255,为长度为256的数组,N为使用的轨迹条数,wk为第k个子密钥对应模型的模型参数,代表第k个子密钥对应的分析模型,tracen为第n条功耗轨迹,/>为第k个子密钥对应分析模型的第n个模型输出。inter2key将模型输出通过逆S盒,并与明文进行异或将第一轮S盒输出概率转换为候选子密钥的概率。
本实施例中,N取4,即以四条功耗轨迹进行说明,将功耗轨迹输入所有子密钥对应的分析模型,计算出所有子密钥的候选子密钥的概率;
对于第k个子密钥,probk为256个候选子密钥的概率数组,数组索引代表候选子密钥,索引对应的概率即为候选子密钥的概率,利用numpy的argmax函数对得到的候选子密钥概率数组进行排序,得到probk中最高概率值对应的候选子密钥,即模型恢复出的第k个子密钥predk,具体表示如下:
predk=np.argmax(probk)
其中,argmax函数的axis参数设置为1,得到形状为(16,256)的数组,即恢复出的所有子密钥,其中,16表示子密钥的个数,256表示候选子密钥的个数,数组中的值表示候选子密钥的概率。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (9)

1.一种基于深度学习的侧信道分析方法,其特征在于,包括:
S1:采集功耗轨迹构建数据集,包括建模数据集和分析数据集;
S2:对采集的功耗轨迹进行正则化和互相关同步预处理;
S3:对预处理后得到的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;
S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;
S5:基于残差网络模型,以建模数据集中兴趣区间的功耗轨迹作为模型输入,以第一轮S盒输出作为标签,训练模型,获得所有子密钥的分析模型;
S6:基于所述子密钥的分析模型,计算获得所有子密钥的候选子密钥概率,并恢复密钥;
第k个子密钥的候选子密钥概率,计算如下:
其中,probk为第k个子密钥所有候选子密钥的概率,候选子密钥范围为0到255,为长度为256的数组,N为使用的功耗轨迹条数,wk为第k个子密钥对应分析模型的模型参数,代表第k个子密钥对应的分析模型,tracen为第n条功耗轨迹,/>为第k个子密钥对应分析模型的第n个模型输出,inter2key用于将模型输出通过逆S盒,并与明文进行异或将第一轮S盒输出概率转换为候选子密钥的概率。
2.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,通过随机明文和随机密钥采集功耗轨迹,构建所述建模数据集。
3.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,通过随机明文和固定密钥采集功耗轨迹,构建所述分析数据集。
4.根据权利要求2-3任一项所述的基于深度学习的侧信道分析方法,其特征在于,所述建模数据集以及所述分析数据集均包括功耗轨迹、明文、密文以及密钥。
5.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,步骤S2中,所述互相关同步过程如下:
设置标准轨迹和窗口,窗口内的轨迹记为参考轨迹;
从左向右滑动参考轨迹,计算参考轨迹与待同步轨迹当前对应位置的轨迹的互相关系数,得到互相关系数数组;
将待同步轨迹偏移量减去参考轨迹的标准偏移量,得到相对偏移量;
若相对偏移量diff大于0,将待同步轨迹向左移动diff个点,若相对偏移量diff小于0,将待同步轨迹向右移动-diff个点。
6.根据权利要求5所述的基于深度学习的侧信道分析方法,其特征在于,参考轨迹的标准偏移量为窗口的起点,待同步轨迹偏移量为最高互相关系数值对应的索引。
7.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,步骤S5中,以准确率作为模型训练的评价指标。
8.根据权利要求7所述的基于深度学习的侧信道分析方法,其特征在于,准确率设定不低于40%。
9.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,步骤S6中,所述恢复密钥,利用numpy的argmax函数对计算得到的候选子密钥概率进行排序,得到最高候选子密钥概率值对应的候选子密钥。
CN202310254737.5A 2023-03-16 2023-03-16 一种基于深度学习的侧信道分析方法 Active CN116388956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310254737.5A CN116388956B (zh) 2023-03-16 2023-03-16 一种基于深度学习的侧信道分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310254737.5A CN116388956B (zh) 2023-03-16 2023-03-16 一种基于深度学习的侧信道分析方法

Publications (2)

Publication Number Publication Date
CN116388956A CN116388956A (zh) 2023-07-04
CN116388956B true CN116388956B (zh) 2024-06-18

Family

ID=86968597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310254737.5A Active CN116388956B (zh) 2023-03-16 2023-03-16 一种基于深度学习的侧信道分析方法

Country Status (1)

Country Link
CN (1) CN116388956B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115051787A (zh) * 2022-08-11 2022-09-13 紫光同芯微电子有限公司 一种侧信道数据对齐方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463603B2 (en) * 2008-09-06 2013-06-11 Huawei Technologies Co., Ltd. Spectral envelope coding of energy attack signal
US20150222421A1 (en) * 2014-02-03 2015-08-06 Qualcomm Incorporated Countermeasures against side-channel attacks on cryptographic algorithms
CN109995502A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信道分析方法及装置、终端及计算机可读存储介质
CN111565189B (zh) * 2020-04-30 2022-06-14 衡阳师范学院 基于深度学习的侧信道分析方法
CN115037437A (zh) * 2022-05-31 2022-09-09 中国科学技术大学 使用SpecAugment技术的基于深度学习的侧信道攻击方法及***
CN115643003B (zh) * 2022-12-23 2023-03-14 飞腾信息技术有限公司 用于侧信道分析的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115051787A (zh) * 2022-08-11 2022-09-13 紫光同芯微电子有限公司 一种侧信道数据对齐方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于树突网络的侧信道攻击;王俊年;《湘潭大学学报(自然科学版)》;第16-29页 *

Also Published As

Publication number Publication date
CN116388956A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
Ramezanpour et al. SCAUL: Power side-channel analysis with unsupervised learning
CN110460425B (zh) 一种面向侧信道密码能量泄漏信号的攻击方法及***
Robyns et al. Improving CEMA using correlation optimization
Shi et al. Improved linear (hull) cryptanalysis of round-reduced versions of SIMON
CN112260818A (zh) 侧信道曲线的增强方法、侧信道攻击方法及装置
CN113051628A (zh) 基于残差学习的芯片侧信道攻击降噪预处理方法
CN116388956B (zh) 一种基于深度学习的侧信道分析方法
Liu et al. Machine learning-based similarity attacks for chaos-based cryptosystems
Zhang et al. A highly effective DPA attack method based on genetic algorithm
Zhao et al. Block cipher identification scheme based on Hamming weight distribution
Hu et al. Software implementation of aes-128: Side channel attacks based on power traces decomposition
CN113705107B (zh) 一种基于均值岭回归的功耗分析方法
Jin et al. Adaptive channel estimation in side channel attacks
Feng et al. MLP and CNN-based classification of points of interest in side-channel attacks
CN112564885B (zh) 基于掩码变量最大概率密度函数分布的侧信道测试分析方法
Jeon et al. Efficient correlation power analysis (CPA) focusing on byte-wise calculation points
Hu et al. Cross-Subkey Deep-Learning Side-Channel Analysis.
CN111211886B (zh) 针对sm2解密算法的能量分析检测方法
CN115037437A (zh) 使用SpecAugment技术的基于深度学习的侧信道攻击方法及***
Sugawara et al. Profiling attack using multivariate regression analysis
Ju et al. MLP-Based Power Analysis Attacks with Two-Point Joint Feature Selection
Nikolova et al. Software Implementation of CRA and TRA to Recover the AES-128 Key using Side-Channel Signals with Python3
CN110661611A (zh) 一种面向侧信道密码能量泄漏信号的检测方法及***
Zou et al. Relation-CNN: Enhancing website fingerprinting attack with relation features and NFS-CNN
Kumari et al. Deep learning-powered multiclass classification of DDoS attacks on 6G-connected IoT devices

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