没有合适的资源?快使用搜索试试~ 我知道了~
加掩是在加密算法的实现中使用随机掩码使敏感信息的泄露能耗随机化,从而防止差分能量攻击的技术手段。目前,对加掩防护加密算法的模板攻击的方法均要求攻击者在学习阶段了解使用的掩码。这一要求不仅提高了攻击的条件,同时也可能导致模板学习阶段使用的加密代码与实际设备的代码有所不同,进而导致对实际设备攻击效果较差。盲掩码模板攻击不需要了解训练能迹使用的掩码,直接学习无掩中间组合值的模板,以此攻击加掩加密设备。实验中分别采用传统的高斯分布和神经网络建立模板。实验结果证明这种方法是可行的,而且基于神经网络的盲掩码模板攻击对加掩加密设备的攻击成功率非常接近于传统模板攻击对无掩加密设备的攻击成功率。
资源推荐
资源详情
资源评论
2019 年 1 月 Journal on Communications January 2019
2019007-1
第 40 卷第 1 期 通 信 学 报 Vol.40
No.1
对加掩加密算法的盲掩码模板攻击
王燚,吴震,蔺冰
(成都信息工程大学网络空间安全学院,四川 成都 610225)
摘 要:加掩是在加密算法的实现中使用随机掩码使敏感信息的泄露能耗随机化,从而防止差分能量攻击的技术手
段。目前,对加掩防护加密算法的模板攻击的方法均要求攻击者在学习阶段了解使用的掩码。这一要求不仅提高了
攻击的条件,同时也可能导致模板学习阶段使用的加密代码与实际设备的代码有所不同,进而导致对实际设备攻击
效果较差。盲掩码模板攻击不需要了解训练能迹使用的掩码,直接学习无掩中间组合值的模板,以此攻击加掩加密
设备。实验中分别采用传统的高斯分布和神经网络建立模板。实验结果证明这种方法是可行的,而且基于神经网络
的盲掩码模板攻击对加掩加密设备的攻击成功率非常接近于传统模板攻击对无掩加密设备的攻击成功率。
关键词:侧信道攻击;模板攻击;盲掩码攻击;加掩防护;神经网络
中图分类号:TP309.1
文献标识码:A
doi: 10.11959/j.issn.1000−436x.2019007
Blind mask template attacks on masked cryptographic algorithm
WANG Yi, WU Zhen, LIN Bing
College of Information Security Engineering, Chengdu University of Information Technology, Chengdu 610225, China
Abstract: Masking is a countermeasure against differential power analysis (DPA) attacks on cryptographic devices by
using random masks to randomize the leaked power of sensitive information. Template attacks (TA) against cryptographic
devices with masking countermeasure by far require attackers have knowledge of masks at the profiling phase. This
requirement not only increase the prerequisite of template attacking, but also lead to some sort of difference between the
experimental encryption codes of the profiling device and the codes of commercial cryptographic devices, which might
degrade performance in real world attacking. Blind mask template attack directly learns templates for the combination of
no mask intermediate values without the need of knowing the masks of training power traces, and then uses these
templates to attack masked cryptographic devices. Both traditional Gaussian distribution and neural network were
adopted as the templates in experiments. Experimental results verified the feasibility of this new approach. The success
rate of neural network based blind mask template attacking against masked cryptographic devices is very close to that of
traditional template attacks against cryptographic devices without masking countermeasure.
Key words: side channel attack, template attack, blind mask template attack, masking countermeasure, neural network
1 引言
能量分析是利用加密设备在加密过程中泄露
能量与敏感信息的相关性来攻击其密钥的一种方
法。能量分析攻击有各种各样的实现方法
[1-4]
,但 大
体可分为无学习和有学习这两类。无学习的能量攻
收稿日期:2018−03−13;修回日期:2018−08−03
通信作者:吴震,wuzheng@cuit.edu.cn
基金项目:“十三五”国家密码发展基金资助项目(No.MMJJ20180224);国家重点研发计划基金资助项目(No.2018YFB0904900,
N
o.2018YFB0904901);四川省教育厅科研基金资助项目(No.17ZB0082)
Foundation Items: The 13th Five-Years National Cryptogram Development Fund (No.MMJJ20180224), The National Key Re-
search and Development Program of China (No.2018YFB0904900, No.2018YFB0904901), Sichuan Provincial Education Department
Scientific Research Projects (No.17ZB0082)
·2· 通 信 学 报 第 40 卷
2019007-2
击包括简单能量分析(SPA, simple power analysis)
[5]
和差分能量分析(DPA, differential power analysis)
[6]
。
DPA 根据某种泄露模型,利用统计方式来识别猜测
密钥的正确性,主要的泄露模型有汉明重量模型
和汉明距离模型
[7]
。DPA 采用的统计识别方法主
要有分组能耗均值差
[8]
、Pearson 相关系数
[9]
和互信
息
[10]
。有学习的能量分析利用一台可控制的、与
目标设备相似或相同的设备(称为实验设备
[11]
),
精确地建立泄露信息的能耗模型(称为模板),以
此对同类设备进行攻击。有学习的能量分析包括
模板攻击(TA, template attack)
[11]
、随机攻击(SA,
stochastic attack)
[12]
等。无学习的能量分析的优势
是攻击者不需要拥有实验设备便直接对目标设
备进行攻击,缺点是在能迹较少时攻击成功率比
较低。有学习的能量分析由于建立了关于泄露信
息的精确能耗模型,攻击时仅需较少的能迹(甚
至只需要一条能迹)就能攻击成功,但缺点也很
明显,即攻击者必须拥有一台可控制的实验设
备。模板攻击是有学习能量分析中最成功、研究
得最深入的一种方法,其中模板最基本的形式是
多元高斯分布,其分布参数在模板训练阶段统计
计算。为提高模板的攻击效果,部分研究着眼于
改进多元高斯分布协方差矩阵,分别采用单位协
方差、共享协方差、池化协方差等方法,在一定
程度上降低计算成本、提高攻击效果
[13-15]
。也 有
一些研究着眼于充分利用多种类型泄露信息的
联合能量攻击,以提高模板攻击的效率
[16]
。其 他
提高模板攻击效率的方法包括:利用相位相关性
消除构架模板中的数据干扰,以构建高质量的模
板
[17]
;采用主成分分析(PCA, principal com-
ponent analysis)对能耗数据进行降维处理,有
效降低协方差矩阵的计算复杂度并在一定程度
上提高攻击效率
[18-19]
。模板攻击的另一种研究思
路是采用机器学习中的分类算法替代传统的多
元高斯分布模板,例如,将贝叶斯分类的算法应
用在模板攻击中
[20]
,利用多类支持向量机作为模
板实施模板攻击
[21-22]
,采用神经网络作为模板进
行模板攻击
[23-24]
等。
为应对能量分析对加密设备造成的显著威胁,
研究人员发展出很多对抗措施,如抖动防护、加掩
防护
[25]
等。加掩防护的原理是使用一个或多个随机
掩码与可能发生泄露的中间值进行异或,从而使其
泄露的能耗随机化,达到防御 DPA 攻击的目的。而
研究人员又发展出高阶 DPA 攻击
[26-27]
的方法来攻
击具有加掩防护的加密设备。高阶 DPA 攻击利用
多个中间值的组合值与它们对应泄露能耗的组合
值具有一定的相关性这一事实实施攻击。高阶
DPA 比一阶 DPA 攻击需要更多的能迹,并且非常
耗时。这是因为攻击者无法通过统计手段发现多
个中间值的能耗泄露的准确位置,只能在猜测的
泄露范围内对能耗进行交叉组合。这种方式极大
地增加了攻击的计算量,降低了攻击的效率。虽
然文献[28]中提出采用 FFT(fast Fourier trans-
form)加速能耗组合计算的方法,但仍不能从根
本上解决高阶 DPA 攻击效率低的问题。
模板攻击也被应用于攻击具有加掩防护的加
密设备(后文中简称为加掩设备)。一种途径是利
用模板辅助对加掩设备实施 DPA 攻击
[29]
,包括几
种具体方法。1) 在训练阶段根据已知掩码和明
文,建立关于带掩中间值的模板,用于识别和计
算攻击能迹的带掩中间组合值,攻击时以此代替
能耗组合值实施高阶 DPA 攻击。2) 在训练阶段
根据已知掩码建立关于掩码的模板,攻击时识别
攻击能迹的掩码并过滤特定的掩码以造成掩码不
平衡,从而可以实施一阶 DPA 攻击。3) 在训练
时根据已知的明文和掩码,发现多个中间值的准
确泄露位置,并计算其能耗组合值,建立无掩中
间组合值关于能耗组合值的模板,用于在攻击时
识别攻击能迹的无掩中间组合值,进而通过计算
与猜测密钥对应的猜测中间组合值的相关系数实
施 DPA 攻击。在不采用 DPA 而完全基于模板攻
击的方法中,一种方法是采用<密钥,掩码>对的
模板实施攻击
[30]
,这种方法需要建立大量的模
板,并同时攻击掩码和密钥;另一种方法是使用
支持向量机(SVM, support vector machine)和神
经网络(NN, neural network)建立攻击掩码的模
板以及攻击带掩中间值的模板,采用先攻击得到
掩码,去掩后攻击带掩中间值的方式获取设备密
钥
[31-32]
。根据了解,所有对加掩设备的模板攻击
均需要攻击者在训练阶段(profiling phase)了解
使用的掩码。这样,在训练阶段使用的加密代码
中必须包含对掩码的输入或输出,这与真实加密
设备的代码必然有所不同。这种差异可能导致习
得的能耗模型与真实设备的能耗模板存在一定差
异,进而可能导致对真实设备的攻击成功率不高。
此外,对硬实现的加密算法,攻击者无法改变加
第 1 期 王燚等:对加掩加密算法的盲掩码模板攻击 ·3·
2019007-3
密的实现,无法获取设备加密时采用的随机掩码,
因而以上方法均无法实施。
本研究的目标是攻击者使用一个仅知道密钥
的加掩设备作为实验设备,不需要了解掩码,直
接学习关于无掩中间组合值的模板,从而可以采
用模板攻击的方法获取同类设备的密钥。这种方
法称为盲掩码模板攻击。本文的主要贡献包括以
下 3 个方面。
1) 提出了对加掩加密算法的盲掩码模板攻
击方法,并从实验上证实了该方法的可行性。盲
掩码模板攻击极大地降低了对加掩防护加密设备
实施模板攻击条件和门槛。
2) 提出采用人工神经网络作为优化的盲掩
码模板。通过大量的训练和攻击的实验,指出了
在使用信噪比极低的能耗特征数据的神经网络训
练中,必须采用全批而不能采用 mini-batch 的训
练策略。
3) 针对实验中神经网络训练极易出现过拟
合的问题,分析并指出了导致这种过拟合的原因,
并提出了有针对性的部分特征 PCA 的数据预处
理方法。该方法与 L2 权重正则化配合,可以有效
地防止神经网络的训练发生过拟合,且不易出现
欠拟合的现象。实验结果表明,基于神经网络的
盲掩码模板攻击的成功率接近对无加掩防护设备
的模板攻击。在对实验数据的攻击中,仅需 8 条
攻击能迹就能够达到 100%的成功率,最少攻击能
迹数仅为一条(成功率为 12%)。
2 对加掩设备的模板攻击研究现状
Oswald 等
[29]
提出了几种对加掩设备的模板攻
击方法。第一种称为预处理前的模板,该方法要求
攻击者了解训练能迹所使用的掩码 r ,从而可以计
算出带掩的 Sbox(substitution-box)的输入
r
u 和输
出
r
v 。训练时建立
r
u 和
r
v 的能耗模型 Pr( | )
r
ue 和
Pr( | )
r
ve 。攻击时使用这些能耗模型识别攻击能迹
的
r
u 和
r
v ,并计算带掩中间组合值 ,
p
re( )
rr
uv 与根
据猜测密钥
k 计算的猜测无掩中间组合值 pre( ),uv
的相关系数,从而实施 CPA( correlation power
analysis
)攻击。其中能迹预处理函数 pre( )i 和中间
值组合函数
comb( )i 采用三角多项式实现组合,以
提高两者的理论相关系数。第二种方法称为预处理
中的模板,该方法同样要求攻击者了解训练能迹所
使用的掩码。攻击者建立关于掩码的能耗模型
Pr( | )re ,用于识别攻击能迹的掩码 r 。攻击时通过
抛弃使用部分特定掩码的能迹,使攻击能迹中的掩
码分布不平衡,导致中间值不能完全被掩码所掩
盖,从而可以使用一阶 DPA 攻击设备密钥。第三种
方法称为预处理后的模板,该方法利用已知的密
钥、明文和掩码,在训练能迹中发现
Sbox 输入和
输出的准确泄露位置,据此计算能耗组合值
pre ,
然后建立无掩中间组合值
comb 与 pre 的能耗模型
Pr(pre | comb) 。攻击时利用该模型识别攻击能迹的
无掩中间组合值
comb ,并据此实施高阶 DPA 攻击。
文献
[29]中指出,由于计算能耗组合值 pre 时丢失了
大量信息,这种攻击方法需要大量攻击能迹,不能
体现模板攻击的优势。
Lemke-Rust 和 Paar
[30]
提出建
立
<中间值 c,掩码 r>对的能耗模型 Pr( | , )cre ,攻
击时需要同时攻击密钥和掩码对
ˆ
ˆ
,kr<>
。由于
,kr
<
> 的组合数非常多,只能实施按位的攻击。而
按位攻击的弱点是,当攻击第
i 位时,其余位的数
据产生的能耗对第
i 位而言就是噪声,这使得攻击
时数据的信噪比更低,需要更多的能迹才能攻击成
功。
Lerman 等
[31]
提出使用概率型支持向量机建立
掩码的能耗模型
SVM( | )re ,用于攻击时识别攻击
能迹的掩码
ˆ
r
,一旦攻击能迹的掩码被获知,加掩
防护也就失去了作用。
Gilmore 等
[32]
采用的思路与
上文基本相同,但使用神经网络建立掩码的能耗模
型
NN( | )re ,获得了更高的掩码识别准确率。
上述对加掩设备的模板攻击均需要在学习阶
段了解训练能迹所使用的随机掩码。因此攻击者必
须能够完全控制加密设备的代码,以便输出每次使
用的掩码,或从外部输入每次使用的掩码。这一要
求不仅不易达到,而且其实验设备使用的代码由于
需要输入或输出随机掩码,与真实加密设备的代码
必然有所不同,对真实设备进行实际攻击时往往成
功率比较低。
3 对加掩设备的盲掩码模板攻击原理
3.1 盲掩码模板攻击的基本思路
盲掩码模板攻击的思路来源于高阶 DPA 攻击。
高阶
DPA 是对加掩设备的无学习攻击方法。高阶
DPA 攻击不需要了解设备的随机掩码,利用多个无
掩中间值的组合值对能迹进行分组,各分组的组合
能耗的均值呈现出差异
[26]
,从而可以采用组间差实
施攻击。高阶
CPA 是高阶 DPA 的一种特殊方式。
Coron 等
[33]
证明了尽管由于随机掩码的作用,无掩
剩余13页未读,继续阅读
资源评论
weixin_38699302
- 粉丝: 2
- 资源: 923
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaFx写的端口检测工具
- (源码)基于SpringBoot和Vue的博客系统.zip
- 精选微信小程序源码:班夫旅游小程序(旅游类)小程序(含源码+源码导入视频教程&文档教程,亲测可用)
- (源码)基于SpringMVC框架的旅游产品管理系统.zip
- ArcGIS Pro ADCore DAML.md
- 16-Flink与Kubernetes Operator集成实践与经验
- 15-Flink from YARN to Kubernetes: 资源优化和容器化实践
- (源码)基于PyTorch的BERT情感二分类系统.zip
- 14-Flink Kubernetes Operator 从1.4.0 升级到1.6.0的技术手册
- (源码)基于RTThread实时操作系统的g1632设备控制项目.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功